/* Public release interface: compact, deliberate, and responsive. */
:root{--control:color-mix(in srgb,var(--surface) 90%,transparent);--control-hover:color-mix(in srgb,var(--surface2) 86%,var(--surface));--hairline:color-mix(in srgb,var(--line) 74%,transparent);--soft-shadow:0 10px 30px rgba(17,17,15,.08);--button-shadow:0 3px 0 color-mix(in srgb,var(--text) 14%,transparent)}
:root[data-theme=midnight],:root[data-theme=ember]{--soft-shadow:0 16px 40px rgba(0,0,0,.34);--button-shadow:0 3px 0 rgba(0,0,0,.4)}
html{scrollbar-color:var(--line) transparent}body{background:radial-gradient(circle at 50% 36%,color-mix(in srgb,var(--surface) 55%,transparent),transparent 44%),var(--bg)}
button{font-weight:750}button,input,select{transition:border-color .16s,background-color .16s,color .16s,box-shadow .16s,transform .16s}button:not(:disabled):active{transform:translateY(1px)}
button:focus-visible,a:focus-visible,select:focus-visible{outline:2px solid var(--focus);outline-offset:3px}input:focus,input:focus-visible{outline:0}.input-shell:focus-within{border-color:var(--focus)!important;box-shadow:0 0 0 4px color-mix(in srgb,var(--focus) 18%,transparent)!important;transform:none!important}
.app-shell{background:transparent}.topbar{height:64px;padding:0 max(76px,calc(env(safe-area-inset-right) + 58px)) 0 max(18px,env(safe-area-inset-left));border-color:var(--hairline);background:color-mix(in srgb,var(--bg) 86%,transparent);backdrop-filter:blur(18px);position:sticky;top:0}.wordmark{font-size:15px;letter-spacing:-.02em;padding:9px 10px;border-radius:11px}.wordmark:hover{background:var(--control-hover)}.brand-mark{display:grid;place-items:center;width:21px;height:21px;border-radius:7px;background:var(--text);color:var(--bg);font-size:9px;transform:none}.score{padding:7px 12px;border:1px solid var(--hairline);border-radius:999px;background:var(--control);gap:7px}.score strong{font-size:19px}.score span{font-size:8px}.top-actions{gap:7px}.icon-btn{height:38px;width:38px;min-width:38px;border:1px solid var(--hairline);background:var(--control);border-radius:12px;font-size:15px;box-shadow:none}.icon-btn:hover{background:var(--control-hover);border-color:color-mix(in srgb,var(--text) 22%,var(--line))}.icon-btn.labeled{width:auto;padding:0 13px;gap:7px}.icon-btn.labeled span{font-size:14px}.icon-btn.labeled b{font-size:11px;letter-spacing:.01em}
.game-main{padding:58px 20px 82px;min-height:calc(100svh - 132px)}.question-zone{max-width:660px}.session-strip{top:16px;left:20px;right:20px;font-size:9px;letter-spacing:.07em}.session-strip span{padding:6px 9px;border:1px solid var(--hairline);border-radius:999px;background:color-mix(in srgb,var(--surface) 65%,transparent)}.target-emoji{font-size:60px;margin-bottom:19px;filter:drop-shadow(0 8px 18px rgba(0,0,0,.1))}.question-kicker{font-size:10px;margin-bottom:7px;letter-spacing:.25em}.target-title{font-size:clamp(48px,7vw,78px);line-height:.94}.answer-form{margin-top:28px;max-width:560px}.input-shell{height:58px;grid-template-columns:1fr auto;border:1px solid color-mix(in srgb,var(--text) 48%,var(--line));border-radius:16px;box-shadow:var(--button-shadow);background:var(--surface);overflow:visible}.input-shell input{font-size:18px;padding:0 18px}.input-shell button{height:44px;min-width:92px;margin:0 7px 0 0;border-radius:12px;background:var(--text);color:var(--bg);font-size:11px;letter-spacing:.08em;box-shadow:none}.input-shell button:not(:disabled):hover{transform:translateY(-1px);filter:brightness(1.08)}
.suggestions{max-width:560px;gap:7px;margin-top:11px;min-height:40px}.suggestion{min-height:38px;border:1px solid var(--hairline);background:var(--control);border-radius:11px;padding:8px 10px;font-size:11px;box-shadow:none}.suggestion:hover{background:var(--control-hover);transform:translateY(-1px)}.ruling{max-width:560px;margin-top:16px;padding:10px 13px;border:1px solid var(--hairline);border-radius:12px;background:var(--control);font-size:12px;text-align:left}.ruling .text-btn{margin-left:auto;flex:none}.game-links{display:grid;grid-template-columns:repeat(4,auto);gap:7px;margin-top:22px;padding:7px;border:1px solid var(--hairline);border-radius:15px;background:color-mix(in srgb,var(--surface) 67%,transparent)}.game-link{min-height:36px;padding:0 10px;border-radius:9px;font-size:10px}.game-link:hover{background:var(--control-hover);color:var(--text)}.game-link span{margin-right:4px}.chain-area{height:68px;background:color-mix(in srgb,var(--bg) 88%,transparent);backdrop-filter:blur(16px);border-color:var(--hairline)}.chain-label{padding:8px;border-radius:9px}.chain-label:hover{background:var(--control-hover)}.chain-piece{font-size:11px}.chain-label span{border-radius:999px}.primary-btn,.secondary-btn,.small-btn{border-radius:11px;box-shadow:none;font-weight:800}.primary-btn{border-color:var(--text);background:var(--text);color:var(--bg)}.primary-btn:not(:disabled):hover{box-shadow:0 5px 16px color-mix(in srgb,var(--text) 18%,transparent);transform:translateY(-1px)}.secondary-btn,.small-btn{background:var(--control);border-color:var(--hairline)}.secondary-btn:hover,.small-btn:hover{background:var(--control-hover);border-color:color-mix(in srgb,var(--text) 24%,var(--line))}.text-btn{text-decoration:none;border-radius:8px}.text-btn:hover{background:var(--control-hover)}
.modal-backdrop{background:rgba(5,6,8,.54);backdrop-filter:blur(5px)}.modal{border-color:var(--hairline);border-radius:18px;box-shadow:0 30px 90px rgba(0,0,0,.25)}.modal-head{height:58px;padding:0 10px 0 19px}.modal-close{font-size:22px;border:1px solid transparent}.modal-close:hover{border-color:var(--hairline)}.modal-body{padding:18px}.setting-row,.setting-block{border-color:var(--hairline);background:var(--control);border-radius:12px}.theme-choice,.segmented{border-color:var(--hairline)}.theme-choice.selected{outline:2px solid var(--focus)}
.mode-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px}.mode-card{min-height:118px;padding:15px;border:1px solid var(--hairline);border-radius:14px;background:var(--control);text-align:left}.mode-card:hover{background:var(--control-hover);border-color:color-mix(in srgb,var(--text) 25%,var(--line));transform:translateY(-2px)}.mode-card span{font-size:8px;color:var(--muted);letter-spacing:.14em}.mode-card strong{display:block;font-size:15px;margin:19px 0 5px}.mode-card small{font-size:9px;line-height:1.45;color:var(--muted)}.mode-card.featured{background:var(--text);color:var(--bg);border-color:var(--text)}.mode-card.featured small,.mode-card.featured span{color:color-mix(in srgb,var(--bg) 68%,transparent)}

/* Compact soundtrack */
.music-dock{right:max(14px,env(safe-area-inset-right));top:max(9px,env(safe-area-inset-top));z-index:13}.music-toggle{width:44px;height:44px;border-radius:13px;border:1px solid var(--hairline);background:var(--control);box-shadow:none;overflow:hidden;padding:0}.music-toggle:hover{background:var(--control-hover)}.music-toggle-art{position:absolute;inset:4px;width:34px;height:34px;border-radius:9px;object-fit:cover;opacity:0;transform:scale(.86)}.music-toggle.has-art .music-toggle-art{opacity:1;transform:none}.music-toggle.has-art .music-toggle-icon{opacity:0}.music-toggle-icon{display:grid;place-items:center}.music-toggle i{position:absolute;right:3px;bottom:3px;width:8px;height:8px;border-radius:50%;background:var(--muted);border:2px solid var(--bg)}.music-toggle.playing i{background:#4de19a}.music-toggle.playing .music-toggle-art{animation:coverPulse 3s ease-in-out infinite}.music-notice{top:51px;width:260px;height:58px;padding:7px;gap:10px;border:1px solid color-mix(in srgb,var(--text) 22%,transparent);border-radius:14px;background:var(--text);color:var(--bg);box-shadow:0 16px 42px rgba(0,0,0,.24);transform:translate(4px,-46px) scale(.16)}.music-notice.visible{transform:none}.music-notice img{width:44px;height:44px;border-radius:9px;object-fit:cover}.music-notice small{font-size:7px;margin-bottom:2px}.music-notice strong{font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:185px}.music-notice em{font-size:9px;margin-top:1px}.music-panel{top:51px;width:310px;max-height:min(570px,calc(100dvh - 70px));padding:12px;border:1px solid var(--hairline);border-radius:16px;background:color-mix(in srgb,var(--surface) 96%,transparent);backdrop-filter:blur(22px);box-shadow:0 24px 70px rgba(0,0,0,.23);overflow:hidden;display:flex;flex-direction:column}.music-heading{height:34px;margin:0 0 8px;padding-left:3px}.music-heading>span{font-size:12px;letter-spacing:0;font-weight:850}.music-heading .music-icon{width:32px;height:32px}.music-current{gap:11px;margin:0 0 12px;padding:0 3px}.music-current img{width:52px;height:52px;border-radius:10px;object-fit:cover}.music-current>div{min-width:0}.music-current h2{font-size:14px;line-height:1.2;margin:0 0 3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.music-current p{font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.music-current #music-state{font-size:8px;margin-top:4px}.music-progress{padding:0 3px}.music-progress input{display:block;width:100%;height:18px;margin:0;cursor:pointer;accent-color:var(--text);touch-action:none}.music-progress>div{display:flex;justify-content:space-between;font-size:8px;color:var(--muted);font-variant-numeric:tabular-nums}.music-controls{margin:7px 0 4px;gap:5px}.music-icon{width:36px;height:36px;border:1px solid transparent;border-radius:11px}.music-icon:hover{background:var(--control-hover);border-color:var(--hairline)}.music-icon svg{width:18px;height:18px}.music-play{width:42px;height:42px;border-radius:13px;background:var(--text);color:var(--bg);box-shadow:none}.music-play svg{width:20px;height:20px}.music-tools{display:grid;grid-template-columns:34px 1fr 34px;align-items:center;gap:7px;border-top:1px solid var(--hairline);padding:8px 0 0}.music-tools .music-icon{width:34px;height:34px}.music-tools input{width:100%;height:20px;margin:0;accent-color:var(--text)}.music-track-list{margin:10px -4px -3px;padding:5px 4px 0;border-top:1px solid var(--hairline);list-style:none;overflow:auto;max-height:260px}.music-track-list button{display:grid;grid-template-columns:38px 1fr 24px;gap:9px;align-items:center;width:100%;padding:6px;border:0;border-radius:10px;background:transparent;text-align:left}.music-track-list button:hover,.music-track-list button.active{background:var(--control-hover)}.music-track-list img{width:38px;height:38px;border-radius:8px;object-fit:cover}.music-track-list span{min-width:0}.music-track-list strong,.music-track-list small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.music-track-list strong{font-size:10px}.music-track-list small{font-size:8px;color:var(--muted);margin-top:2px}.music-track-list b{display:grid;place-items:center;color:var(--muted);opacity:0}.music-track-list b svg{width:14px}.music-track-list .active b{opacity:1}.music-error{margin:7px 3px 0;font-size:9px}.modal-open #music-root{visibility:hidden}

/* Multiplayer and player cards */
.multi-poster{border-radius:16px;min-height:180px;padding:22px;background:linear-gradient(145deg,var(--text),color-mix(in srgb,var(--text) 78%,#5367ff));box-shadow:var(--soft-shadow)}.multi-poster h3{font-size:32px;margin:20px 0 10px}.multi-big{border-radius:12px}.room-players{gap:8px;background:transparent;margin:14px 0}.room-player{border:1px solid var(--hairline);border-radius:12px;background:var(--control);padding:9px;text-align:left;width:100%}.room-player:hover{background:var(--control-hover);transform:translateY(-1px)}.room-player.active:after{border:2px solid var(--focus);border-radius:12px}.room-code{padding-bottom:13px}.room-code strong{font-size:23px}.multi-target{padding:20px 0 15px}.multi-target>span{font-size:38px}.multi-target h3{font-size:clamp(34px,5vw,50px)}.room-mode-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.room-mode{padding:12px;border:1px solid var(--hairline);border-radius:12px;background:var(--control);text-align:left}.room-mode.active{border-color:var(--focus);box-shadow:0 0 0 2px color-mix(in srgb,var(--focus) 18%,transparent)}.room-mode strong{display:block;font-size:11px}.room-mode small{display:block;margin-top:4px;color:var(--muted);font-size:8px;line-height:1.35}.player-sheet{position:absolute;inset:58px 0 0;background:color-mix(in srgb,var(--surface) 98%,transparent);z-index:5;padding:22px;overflow:auto}.player-sheet-head{display:flex;align-items:center;gap:13px}.player-sheet-head .player-avatar{width:72px;height:72px}.player-sheet-head h3{margin:0;font-size:22px}.player-sheet-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;margin:20px 0}.player-sheet-stats span{padding:12px 6px;border:1px solid var(--hairline);border-radius:11px;text-align:center;background:var(--control)}.player-sheet-stats b{display:block;font-size:20px}.player-sheet-stats small{font-size:7px;color:var(--muted);letter-spacing:.08em}.friends-list{display:grid;gap:7px}.friend-row{display:flex;align-items:center;gap:9px;padding:8px;border:1px solid var(--hairline);border-radius:11px}.friend-row .player-avatar{width:36px;height:36px}.friend-row span{flex:1;min-width:0}.friend-row strong{font-size:11px;display:block}.friend-row small{font-size:8px;color:var(--muted)}
@keyframes coverPulse{50%{transform:scale(.94)}}
@media(max-width:760px){.topbar{padding-right:67px}.icon-btn.labeled b,.top-actions .action-label{display:none}.icon-btn.labeled{width:38px;padding:0}.game-main{padding:50px 14px 75px}.session-strip{left:14px;right:14px}.target-emoji{font-size:52px}.target-title{font-size:clamp(44px,13vw,66px)}.game-links{grid-template-columns:1fr 1fr;width:min(420px,100%)}.game-link{justify-content:center}.music-dock{right:12px;top:10px}.music-panel{width:min(310px,calc(100vw - 24px));max-height:calc(100dvh - 70px)}.music-notice{width:min(260px,calc(100vw - 24px))}.room-mode-cards{grid-template-columns:1fr}.player-sheet-stats{grid-template-columns:1fr 1fr}}
@media(max-width:470px){.score{padding:6px 9px}.score span{display:none}.top-actions{gap:4px}.top-actions .icon-btn{width:34px;min-width:34px}.game-main{padding-top:46px}.session-strip span{padding:5px 7px}.session-strip span:last-child{display:none}.answer-form{margin-top:24px}.input-shell{height:56px}.input-shell button{min-width:78px}.suggestions{grid-template-columns:1fr}.game-links{gap:5px;padding:5px}.game-link{font-size:9px;padding:0 6px}.chain-area{height:62px}.modal-body{padding:15px}.room-players{grid-template-columns:1fr}.mode-grid{grid-template-columns:1fr}.mode-card{min-height:94px}.mode-card strong{margin-top:11px}}
@media(prefers-reduced-motion:reduce){.music-toggle.playing .music-toggle-art{animation:none}}
.modal{position:relative}.rescue-banner{display:flex;gap:9px;align-items:center;text-align:left;margin:14px 0 0;padding:10px 12px;border:1px solid color-mix(in srgb,var(--warn) 44%,var(--line));border-radius:12px;background:color-mix(in srgb,var(--warn) 9%,var(--surface))}.rescue-banner strong{font-size:8px;letter-spacing:.12em;color:var(--warn);flex:none}.rescue-banner span{font-size:10px;line-height:1.4}.friends-home{display:grid;gap:8px}
