.activityHub{display:grid;grid-template-columns:1.2fr 1fr;gap:22px;margin:36px auto}.activityHub button{text-align:left;padding:32px;border:1px solid #8c9b9e;border-radius:12px;background:linear-gradient(125deg,#233c46,#172831);color:#fff}.activityHub button:last-child{background:linear-gradient(125deg,#493c32,#292727)}.activityHub strong{display:block;font-size:28px;margin:12px 0}.activityHub span{display:block;color:#e4e9e6;line-height:1.7;font-size:16px}.activityHub small{color:#e7c992;letter-spacing:2px}.expansion{width:min(1440px,98vw);height:94dvh;max-height:96dvh;padding:44px 48px;background:#15212d;color:#f2f4f5;border-color:#8a9ba7}.expansion h2{font-size:clamp(25px,3vw,40px);margin:8px 0 14px;line-height:1.3}.expansion h3{font-size:24px}.expansion p,.expansion label{font-size:17px;line-height:1.8;color:#e0e7ec}.expansion .infoNote{font-size:14px;color:#c1ced7;line-height:1.8}.expansion .outline{color:#f5f2e9;border-color:#8195a5;background:#243647;min-height:46px}.expansion .primary{font-size:17px;min-height:50px;padding:14px 25px;color:#17212a;background:#ebcc91}.modalClose{position:sticky;float:right;top:0;background:#253b4d;border:1px solid #8393a2;border-radius:50%;width:42px;height:42px;z-index:20;margin:-24px -26px 0 0}.expansionHeading{display:flex;gap:20px;align-items:center;justify-content:space-between;clear:both}.walletBar{padding:0;gap:16px;background:none;border:0;margin:28px 0}.walletBar span{display:flex;align-items:center;gap:12px;justify-content:space-between;padding:20px 24px;background:#253949;border:1px solid #697f90;border-radius:10px;color:#f0f4f6;font-size:17px}.walletBar b{font-size:29px;color:#ffe0a9}.realmGrid{gap:24px}.realmGrid article{padding:30px;border-color:#6d8794}.realmGrid h3{font-size:26px}.realmGrid p{font-size:18px;color:#edf0ef}.realmGrid button{width:100%;margin:20px 0 0}.shopSteps{display:flex;gap:30px;flex-wrap:wrap;padding:16px 0 30px}.shopSteps span{color:#e4eaf0;font-size:16px}.shopSteps b{color:#e9c991;margin-right:8px;font-size:21px}.gachaLayout{display:grid;grid-template-columns:minmax(300px,.9fr) minmax(350px,1.2fr);gap:28px}.drawPanel,.giftDetective{padding:28px;border:1px solid #6d8293;border-radius:14px;background:#1e3040}.drawPanel{background:radial-gradient(ellipse at center,#3f4b51,#1d2c3a)}.realmTabs{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.realmTabs button{padding:13px 10px;font-size:16px;background:#172633;border:1px solid #61798a;color:#dae3e8;border-radius:6px}.realmTabs .active{background:#e9c98f;color:#17212c}.giftChest{text-align:center;min-height:260px;display:flex;align-items:center;justify-content:center;flex-direction:column;padding:25px}.giftChest>img{width:130px;height:130px;image-rendering:pixelated;filter:drop-shadow(0 12px 18px #0006)}.giftChest>span{color:#d6d7d3;font-size:15px}.giftChest .chestSymbol{font-size:100px}.drawButton{width:100%;font-size:21px!important}.itemHeading{display:flex;align-items:center;gap:18px}.itemHeading img{width:90px;height:90px;image-rendering:pixelated;background:#172531;border-radius:12px;padding:9px}.itemHeading span{color:#c4d5df}.giftDetective blockquote{font-size:20px;line-height:1.9;margin:24px 0;padding:18px 22px;border-left:3px solid #e8ca92;color:#f4dfb7;background:#172633;border-radius:0 8px 8px 0}.giftDetective select{font-size:17px;height:54px}.deductionActions{display:flex;gap:10px;flex-wrap:wrap;margin:20px 0}.giftReaction{padding:18px;background:#354251;border-radius:8px;margin-top:20px;border:1px solid #768b9a}.giftReaction.matched{background:#24473f;border-color:#8bc6ab}.giftReaction strong{font-size:19px;color:#f5e2b9}.giftCollection{margin-top:36px}.giftCollection h3 small{color:#d4b47d}.giftTiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(165px,1fr));gap:14px}.giftTile{padding:18px 12px;border:1px solid #708697;background:#263a4b;border-radius:10px;color:#eef4f6;display:flex;flex-direction:column;align-items:center;gap:10px}.giftTile.selected{border:2px solid #edca8d;background:#35454e}.giftTile img{width:76px;height:76px;image-rendering:pixelated}.giftTile b{font-size:16px}.giftTile span{font-size:13px;color:#c7d7df}.legacyGifts{padding:22px 0;color:#d8e2e9}.legacyGifts button{margin:10px}.sequenceHeader{display:flex;gap:20px;align-items:center;justify-content:space-between}.sequenceRounds{display:flex;gap:10px}.sequenceRounds span{padding:14px;border:1px solid #6e8495;border-radius:8px;color:#d1dde5}.sequenceRounds b{display:block;font-size:23px;margin-top:6px}.sequenceRounds .active{border-color:#f2d69d;background:#4e4b3c;color:#ffebbf}.sequenceRounds .cleared{border-color:#83c8ac;background:#284b42}.sequenceBoard{text-align:center;padding:28px 36px;background:#0e1c28;border:1px solid #7791a3;border-radius:14px;margin:26px 0;outline:none}.sequenceClock{display:flex;align-items:baseline;justify-content:center;gap:12px;color:#f7d393}.sequenceClock strong{font-variant-numeric:tabular-nums;font-size:48px}.sequenceClock span{font-size:16px;color:#d4e0e8}#sequenceTime{display:block;width:100%;height:8px;accent-color:#e9c582;margin:18px 0 30px}.sequenceKeys{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;min-height:90px}.sequenceKeys span{display:flex;align-items:center;justify-content:center;width:70px;height:80px;background:#293e50;border:2px solid #9badba;border-bottom:6px solid #8198a9;border-radius:8px;font-size:38px;font-weight:800;color:#fff}.sequenceKeys .next{border-color:#ffe1a6;box-shadow:0 0 22px #e2b56666;color:#ffdf9f}.sequenceKeys .correct{background:#24644c;border-color:#81d0a9;color:#ccffe5}.touchKeyboard{margin:25px auto 0;max-width:430px}.touchKeyboard>div{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:10px 0}.touchKeyboard button{height:56px;font-size:23px;font-weight:700;background:#344f62;border:1px solid #9db3bf;border-bottom:4px solid #6d8595;color:#fff;border-radius:6px;touch-action:manipulation}.touchKeyboard button:active{background:#af9462}.sequenceReady{padding:5px 0 20px}.briefingCards{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:0 0 24px}.briefingCards article{padding:14px 16px;background:#172533;border:1px solid #557083;border-radius:8px}.briefingCards small{display:block;color:#e0c18c;margin-bottom:6px;font-size:12px;letter-spacing:.5px}.briefingCards p{font-size:15px;line-height:1.7;margin:0;color:#e7edf1}.briefingCards .wide{grid-column:1/-1}.briefingHeading{font-size:22px;color:#f0d5a0;margin:0 0 18px}.choiceTone{display:block;font-size:12px;color:#e1c28d;margin-bottom:5px}.choice[data-tone="bold"]{border-color:#ad7f84}.choice[data-tone="charming"]{border-color:#9eae88}.choice[data-tone="steady"]{border-color:#819aae}.stagePanel .dialogueText{line-height:1.9}.voiceReward{margin:24px 0;padding:22px;border:1px solid #bd9e6c;border-radius:12px;background:linear-gradient(125deg,#3d3934,#202c38)}.voiceReward blockquote{margin:14px 0;font-size:21px;line-height:1.8;color:#f4dfbd}.voiceReward audio{width:100%;margin:12px 0}.voiceReward small{color:#c7d1db}.variantFork{display:grid;grid-template-columns:repeat(3,minmax(220px,1fr));gap:18px;min-width:740px}.variantFork .flowScene{min-width:0}.variantFork .flowBranches{display:flex;flex-direction:column;gap:14px;padding:24px 0}.variantFork .branchNode:before,.variantFork .branchNode:after,.variantFork .flowBranches:before,.variantFork .flowBranches:after{display:none}.variantFork .sceneNode{min-width:0;width:100%;font-size:14px}.voiceAvailability{font-size:13px;color:#d3dce3}.stageReading{overflow-y:auto}.stagePanel{padding-top:16px}@media(max-width:780px){.activityHub{grid-template-columns:1fr;margin:20px 16px}.activityHub button{padding:24px}.activityHub strong{font-size:24px}.expansion{padding:32px 18px;height:96dvh;width:100vw;max-height:100dvh;border-radius:10px}.modalClose{margin:-18px -5px 0 0}.expansionHeading,.sequenceHeader{flex-direction:column;align-items:flex-start}.walletBar{display:grid;grid-template-columns:1fr;gap:8px}.walletBar span{padding:12px 16px;font-size:15px}.walletBar b{font-size:25px}.gachaLayout{grid-template-columns:1fr}.drawPanel,.giftDetective{padding:20px}.shopSteps{gap:12px;flex-direction:column}.giftChest{min-height:200px}.sequenceBoard{padding:18px 10px}.sequenceKeys{gap:6px}.sequenceKeys span{width:45px;height:60px;font-size:28px}.sequenceClock strong{font-size:38px}.sequenceRounds{width:100%;justify-content:space-between}.sequenceRounds span{flex:1;font-size:13px}.briefingCards{grid-template-columns:1fr}.briefingCards .wide{grid-column:auto}.giftDetective blockquote{font-size:18px}.realmGrid{grid-template-columns:1fr}.shopPortrait{display:none}}

@media(max-width:780px){.stageReading .dialogueText{font-size:16px}.stage .choice{font-size:15px}.stageReading{overflow:visible}.stageTop button{font-size:12px;padding:8px}.stageTop strong{font-size:14px}}

.inlineNotice{position:sticky;top:0;z-index:30;padding:14px 20px;margin:0 45px 15px 0;border:1px solid #e7bd7e;background:#4b3d2b;color:#fff3d7;border-radius:8px;font-size:16px;box-shadow:0 8px 25px #0005}

.newPrologue{padding:15px;background:#263844;border:1px solid #748a91;border-radius:8px;margin:18px 0}.newPrologue b{color:#ebd09f}.newPrologue p{font-size:13px;line-height:1.7;color:#d4dfe5}
.voiceFile{display:grid;gap:12px;margin-top:20px}.voiceFile audio{width:100%;min-height:46px}.voiceFile small{color:#b5b0ca;font-size:13px}.voiceFile .primary{min-height:54px;font-size:17px}.voiceFile a{text-align:center}
/* Read conversation before choosing; hidden beats never reserve empty space. */
.conversation [hidden],.dialogueBox [hidden]{display:none!important}
.conversationControls{position:sticky;bottom:0;display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:10px 0;background:#10162ef2;z-index:2}
.conversationControls button{padding:8px 12px;border:1px solid #d5c3e65c;border-radius:20px;color:#f0e6ff;background:#262341;font:inherit;font-size:12px;cursor:pointer}
.typingStatus{font-size:12px;color:#cbb8e2;margin-right:auto}
.conversation .revealing p:after{content:'▍';color:#f0bcdf;animation:dialogueCursor .8s steps(2) infinite}
@keyframes dialogueCursor{50%{opacity:0}}
.conversation .spoken{margin:16px 0}.conversation .playerSpeech{margin-left:clamp(12px,4vw,48px)}
.conversation .narrationTurn{margin:18px 0}.conversation p{line-height:1.85;overflow-wrap:anywhere}
@media(prefers-reduced-motion:reduce){.conversation .revealing p:after{animation:none;content:''}}
