/* Reference-derived layout with local game adaptations; see ASSET-INVENTORY.md. */
.ds-root{--stage-bottom:0px;--stage-side:0px;--keyboard-lift:0px}
.ds-stage{left:var(--stage-side);right:var(--stage-side);bottom:var(--stage-bottom);overflow:clip}
.ds-root{overflow:clip}.ds-sea{pointer-events:none}.ds-world{pointer-events:none}.ds-title{white-space:nowrap}.ds-surface{top:-336px}
.ds-dim{background:linear-gradient(to bottom,transparent var(--surface-y,510px),rgba(5,10,20,.92) calc(var(--surface-y,510px) + 70px),rgba(5,10,20,.96));bottom:calc(-1 * var(--stage-bottom))}
.ds-root:not([data-phase=answering]) .ds-dock{visibility:hidden;pointer-events:none}
.party-heading{overflow:visible}.party-heading img{max-width:none;transform:scale(1.625)}
.ds-vignette,.ds-crt,.ds-flash,.ds-edge{bottom:calc(-1 * var(--stage-bottom))}
.ds-hud.show{opacity:1;transform:none}.ds-hud .label{letter-spacing:.3em;color:#7d93b8;font-size:10px}.ds-pod{background:linear-gradient(#101d33eb,#0b1526eb);min-width:86px;padding:5px 10px 7px;box-shadow:0 0 0 2px #050a14,0 0 0 4px #1b3050,inset 0 2px #e8f1ff0f}
.ds-hud{position:absolute;top:0;left:0;right:0;display:flex;padding:8px 10px 0;transform:translateY(-80px)}
.utility-button{position:absolute;z-index:20;width:34px;height:26px;display:grid;place-items:center;background:#0b1526bf;color:#7d93b8;opacity:.85;box-shadow:0 0 0 2px #060d1ae6}.utility-button:hover{color:#4de3ff;box-shadow:0 0 0 2px #4de3ff}.utility-button svg{width:18px;height:18px}.menu-button{left:10px;top:70px}.menu-button::before{content:"";position:absolute;inset:-9px -5px}.ds-root[data-phase=intro] .menu-button{top:17px}.settings-button{right:10px;top:102px}.wardrobe-button{right:10px;top:134px}.ds-root:not([data-phase=intro]):not([data-phase=done]) .settings-button,.ds-root:not([data-phase=intro]):not([data-phase=done]) .wardrobe-button{display:none}.ds-mute{z-index:20}.ds-mascot{background:transparent;border:0;padding:0;pointer-events:auto}.ds-mascot:focus-visible{outline-offset:1px}
.privacy-row{display:flex;align-items:center;gap:14px;min-height:56px;color:#a8bad2;font-size:14px;line-height:18px}.privacy-row>a{text-decoration:underline;text-underline-offset:3px}.privacy-row button{font-size:12px;font-weight:400;padding:12px 24px;text-align:left}.party-link{position:relative;align-self:flex-start;display:flex;align-items:center;justify-content:space-between;gap:18px;width:340px;max-width:100%;background:#101d33;padding:13px 8px 11px;margin:6px 0 12px;color:#e8f1ff;box-shadow:0 0 0 3px #050a14,0 0 0 6px #4de3ff,0 2px 0 6px #123048}.party-heading{display:flex;align-items:center;gap:8px;white-space:nowrap;font-size:28px;letter-spacing:.14em;line-height:42px}.party-heading img{width:32px;height:26px;object-fit:contain}.party-badge{position:absolute;top:-13px;left:14px;background:#4de3ff;color:#050a14;box-shadow:0 0 0 3px #050a14;padding:0 7px;font-size:12px;line-height:15px;letter-spacing:.1em;white-space:nowrap}.party-activity{font-size:13px;color:#7d93b8;white-space:nowrap;display:flex;align-items:center;gap:5px}.party-activity i{height:5px;width:5px;background:#4de3ff}.party-link:hover{box-shadow:0 0 0 3px #050a14,0 0 0 6px #ff5d8f,0 2px 0 6px #123048}.intro-links{display:flex;gap:10px;align-items:center}.ds-intro-meta{flex-wrap:wrap}.ds-intro-meta a{display:block;white-space:nowrap}.ds-howto summary::-webkit-details-marker{display:none}.ds-intro{transition:opacity .25s}.ds-root:not([data-phase=intro]) .ds-intro{display:none}
.ds-root[data-phase=intro] .ds-mascot{filter:brightness(.3)}.ds-root[data-phase=intro] .ds-hud{visibility:hidden}.ds-dock{bottom:var(--keyboard-lift)}.ds-reject{bottom:calc(84px + var(--keyboard-lift) + env(safe-area-inset-bottom))}.ds-correction{bottom:calc(92px + var(--keyboard-lift) + env(safe-area-inset-bottom))}.ds-dock::after,.ds-next-wrap::after,.ds-intro::after{content:"";position:absolute;top:100%;left:0;right:0;height:var(--stage-bottom);background:var(--ds-wash-end);pointer-events:none}.ds-chip{max-width:calc(100% - 70px);overflow:hidden;text-overflow:ellipsis;pointer-events:none}.ds-landed .tans{overflow-wrap:anywhere}.ds-landed .tname{line-height:1.3}.ds-prompt-count{white-space:nowrap}.ds-reject{padding:0 10px}.ds-done{z-index:15}.ds-root[data-phase=done] .ds-mascot,.ds-root[data-phase=done] .ds-hud{display:none}.ds-root[data-phase=done] .menu-button{top:17px}.ds-root[data-colorblind]{--color-tier-plankton:#b6cbe8;--color-tier-tooclever:#ffb55e;--color-tier-schooler:#8ce6cf;--color-tier-rare:#ff8ab0;--color-tier-deepcut:#d1adff}.ds-root[data-colorblind] .hint,.ds-root[data-colorblind] .ds-subline,.ds-root[data-colorblind] .tsub{color:#b6cbe8}
@media(min-width:700px){.menu-button{top:84px}.settings-button{top:116px}.wardrobe-button{top:148px}.ds-pod{min-width:120px;padding:6px 14px 8px}.ds-hud .label{font-size:12px}}
@media(min-width:1100px){.ds-root{--stage-side:0px;--stage-bottom:0px}}
@media(max-width:699px){.ds-intro-meta{gap:12px;font-size:12px}.intro-links{gap:6px}.ds-intro-meta a{padding:5px 7px 3px;letter-spacing:.09em}.ds-intro-inner{gap:12px}.party-link{width:100%}.party-heading{font-size:24px;letter-spacing:.12em}.party-activity{font-size:12px}.privacy-row{gap:6px;min-height:42px}.privacy-row button{font-size:10px;padding:10px 9px}.ds-subline{max-width:100%}.ds-intro{padding-left:18px;padding-right:18px}.ds-card{max-height:calc(100dvh - 250px);overflow-y:auto}.ds-card .prompt{overflow-wrap:break-word}.ds-next-btn{min-height:52px}.ds-input{min-height:52px}.ds-dive-btn{min-height:50px}.ds-howto ul{font-size:13px}}
@media(max-width:359px){.intro-links{width:100%;justify-content:space-between}.ds-intro-meta{gap:8px}.ds-intro-meta>span{font-size:11px}.party-heading{font-size:21px;gap:5px}.party-activity{font-size:10px}.party-link{gap:5px}.ds-dock-inner{gap:8px}.ds-sonar-wrap{width:44px;height:44px}.ds-time-digits{font-size:23px}.ds-dive-btn{padding-left:11px;padding-right:11px}.ds-begin-btn{padding-left:14px;padding-right:14px}.ds-title{letter-spacing:.025em}.ds-hud{gap:4px}.ds-dots{gap:5px}.ds-dots i{width:8px;height:8px}.ds-pod{min-width:74px;padding-left:8px;padding-right:8px}.ds-prompt-count{font-size:9px}}
@media(max-height:650px){.ds-root{--stage-bottom:0px}.ds-intro-inner{gap:10px}.privacy-row{min-height:24px}.privacy-row button{padding-top:3px;padding-bottom:3px}.party-link{margin-top:6px;margin-bottom:8px;padding-top:5px;padding-bottom:3px}.party-heading{font-size:23px;line-height:36px}.ds-begin-btn{font-size:23px;padding-top:7px;padding-bottom:5px}.ds-surface{top:-240px}.ds-tagline{font-size:20px;line-height:1.1}.ds-title{font-size:clamp(58px,15vw,100px)}.ds-subline{font-size:14px;line-height:1.2}.ds-card .prompt{font-size:clamp(26px,4.5vw,34px)}.ds-landed img.icon{width:52px;height:52px}.ds-landed{margin-top:-80px}.ds-landed .tname{font-size:30px}.ds-landed .tpts{font-size:22px}.ds-landed .tsub{font-size:14px}.ds-intro:has(details[open]){max-height:90%;overflow:auto}}
@media(max-height:450px) and (orientation:landscape){.ds-root{--stage-bottom:0px;--stage-side:0px}.ds-title{font-size:62px}.ds-surface{top:-157px}.ds-tagline{font-size:18px;margin-top:0}.ds-subline{font-size:13px;margin-top:3px}.ds-intro-inner{display:grid;grid-template-columns:1fr 1fr;gap:12px 20px;max-width:660px}.ds-howto{grid-column:1/-1}.privacy-row{display:none}.party-link{margin:0;padding:4px 7px}.party-heading{font-size:21px;line-height:30px}.party-activity{font-size:11px}.party-badge{font-size:10px;top:-10px;line-height:12px}.ds-begin-btn{font-size:22px;padding:6px}.ds-intro-meta{grid-column:1/-1}.ds-howto ul{font-size:12px}.ds-card{padding:9px 18px;max-height:calc(100dvh - 155px)}.ds-card .prompt{font-size:27px;margin:3px 0}.ds-card .rnd,.ds-card .hint{font-size:12px}.ds-pod{min-width:86px;padding:4px 10px}.ds-hud .label{font-size:10px}.ds-depth-num,.ds-score-num{font-size:25px}.ds-mute,.menu-button{top:68px}.settings-button{top:100px}.wardrobe-button{top:132px}.ds-landed{margin-top:-63px}.ds-landed img.icon{width:45px;height:45px}.ds-landed .tname{font-size:26px}.ds-landed .tans{font-size:18px}.ds-landed .tpts{font-size:21px}.ds-landed .tsub{font-size:12px}.ds-next-btn{padding:6px 25px;font-size:20px}.ds-dock{padding-top:7px;padding-bottom:13px}.ds-input{font-size:22px;padding-top:5px;padding-bottom:5px;min-height:42px}.ds-dive-btn{min-height:42px;padding-top:7px;padding-bottom:5px}.ds-sonar-wrap{width:44px;height:44px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
@media(max-width:359px){.ds-subline{max-width:calc(100% - 100px);margin-left:auto;margin-right:auto}}
.party-heading img{height:32px}.party-badge{letter-spacing:.08em}

/* Answer checks keep the dock still while the clock is paused. */
.ds-dive-btn{position:relative;width:86px;min-height:50px;padding-left:0;padding-right:0}
.ds-checking-status{position:absolute;z-index:12;left:50%;bottom:calc(94px + var(--keyboard-lift) + env(safe-area-inset-bottom));transform:translateX(-50%);margin:0;padding:8px 12px;background:#0b1526;color:#a8bad2;box-shadow:0 0 0 2px #1b3050;font-size:13px;letter-spacing:.08em;line-height:1.3;white-space:nowrap;pointer-events:none}
.ds-checking-status:empty{display:none}
.ds-dock[aria-busy=true] .ds-dive-btn{font-size:0;opacity:1;background:#101d33;box-shadow:0 0 0 2px #4de3ff,0 3px 0 2px #123048}
.ds-dock[aria-busy=true] .ds-dive-btn::before{content:"";position:absolute;left:calc(50% - 2px);top:calc(50% - 2px);width:4px;height:4px;background:transparent;box-shadow:0 -12px #4de3ff,8px -8px #4de3ffcc,12px 0 #4de3ff99,8px 8px #4de3ff66,0 12px #4de3ff44,-8px 8px #4de3ff33,-12px 0 #4de3ff22,-8px -8px #4de3ff11;animation:ds-check-spin .85s steps(8,end) infinite}
.ds-dock[aria-busy=true] .ds-input:disabled{opacity:1;color:#e8f1ff;-webkit-text-fill-color:#e8f1ff;border-color:#4de3ff66}
.ds-dock[aria-busy=true] .ds-sweep{animation-play-state:paused}
.ds-dock[aria-busy=true] .ds-time-digits{color:#a8bad2}
.ds-dock[aria-busy=true] .ds-fuse-fill{background:#4de3ff;opacity:.5}
.ds-root:has(.ds-dock[aria-busy=true]) .ds-edge.danger{animation:none;opacity:0}
@keyframes ds-check-spin{to{transform:rotate(360deg)}}
@media(max-width:359px){.ds-dive-btn{width:64px}.ds-checking-status{font-size:12px;padding:7px 10px}}
@media(max-height:450px) and (orientation:landscape){.ds-dive-btn{min-height:42px}.ds-checking-status{bottom:calc(70px + var(--keyboard-lift) + env(safe-area-inset-bottom))}}
@media(prefers-reduced-motion:reduce){.ds-dock[aria-busy=true] .ds-dive-btn::before{animation:none}}
.ds-root[data-low-power] .ds-dock[aria-busy=true] .ds-dive-btn::before{animation:none}

.ds-card{pointer-events:auto}
.ds-card .rnd{white-space:nowrap;letter-spacing:.2em}
.ds-prompt-rules{color:#a8bad2;font-size:14px;line-height:1.4;letter-spacing:.025em;margin-top:10px}
.ds-prompt-rules summary{cursor:pointer;width:fit-content;min-height:30px;display:flex;align-items:center;gap:7px;color:#91acc3;list-style:none}
.ds-prompt-rules summary::-webkit-details-marker{display:none}
.ds-prompt-rules summary::before{content:'+';color:#4de3ff}
.ds-prompt-rules[open] summary::before{content:'−'}
.ds-prompt-rules p{margin:4px 0 0;padding-top:8px;border-top:1px solid #2c435b}
.ds-mascot{--dsm-shadow:#aa8ce880}
.ds-root[data-phase=intro] .ds-mascot{filter:none;z-index:13}
.ds-mascot img{object-fit:contain}
