:root{--bg: #0b1220;--surface: #141d33;--surface-2: #1f2840;--text: #f3f6fc;--muted: #a9b4cc;--border: #33405a;--field-border: #6c7894;--accent: #5b9cff;--accent-text: #06101f;--accent-ink: #5b9cff;--accent-soft: #1d2f55;--success: #4fd69c;--danger: #ff9a8f;--glow: rgba(91, 156, 255, .2);--glow-2: rgba(111, 177, 255, .1);--shadow: 0 8px 24px rgba(0, 0, 0, .28);--opt-0: #ff8a7a;--opt-1: #6fb1ff;--opt-2: #f6c453;--opt-3: #5fd39a;--opt-ink-0: #0b1220;--opt-ink-1: #0b1220;--opt-ink-2: #0b1220;--opt-ink-3: #0b1220;--flame: #ff9a3d;--boss-bg: #170812;--boss-bg-2: #4a0f24;--boss-gold: #ffd36a;--boss-hot: #ff4d6d;--boss-ink: #2a0a14;--font: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif;--font-display: var(--font);--display-weight: 750;--mono: ui-monospace, "SF Mono", SFMono-Regular, Menlo, Consolas, "Roboto Mono", monospace;--radius: 20px;--radius-sm: 14px;--ease: cubic-bezier(.2, .75, .25, 1);color-scheme:dark}:root[data-theme=paper]{--font-display: "Iowan Old Style", "Palatino Linotype", Palatino, "Book Antiqua", Georgia, serif;--display-weight: 700}:root[data-theme=bold]{--display-weight: 850}*,*:before,*:after{box-sizing:border-box}html{background:var(--bg);-webkit-text-size-adjust:100%;text-size-adjust:100%;transition:background-color .4s ease}body{margin:0;min-height:100vh;min-height:100dvh;color:var(--text);font-family:var(--font);font-size:17px;line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-tap-highlight-color:transparent;transition:color .4s ease}body:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;z-index:-1;pointer-events:none;background:radial-gradient(120% 52% at 50% -14%,var(--glow),transparent 64%),radial-gradient(80% 40% at 100% 108%,var(--glow-2),transparent 62%)}#root{isolation:isolate}button,input{font:inherit;color:inherit}button{cursor:pointer;touch-action:manipulation}.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.num{font-variant-numeric:tabular-nums}.app{min-height:100vh;min-height:100dvh;width:100%;max-width:560px;margin:0 auto;display:flex;flex-direction:column;padding-left:max(16px,env(safe-area-inset-left));padding-right:max(16px,env(safe-area-inset-right))}.top{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:60px;padding-top:env(safe-area-inset-top)}.top-title{display:flex;align-items:center;gap:10px;min-width:0;font-size:15px;font-weight:650;color:var(--muted)}.top-title>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.brand-mark{flex:none}.who-chip{display:inline-flex;align-items:center;gap:8px;flex:none;max-width:48%;min-height:44px;padding:0 12px 0 14px;border-radius:999px;background:var(--surface);border:1px solid var(--border);font-size:15px;font-weight:650;transition:border-color .15s,background-color .15s}.who-chip[aria-expanded=true]{border-color:var(--accent)}.who-chip .icon{color:var(--muted);flex:none}.who-chip-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dot{width:8px;height:8px;flex:none;border-radius:50%;background:var(--success);box-shadow:0 0 0 3px color-mix(in srgb,var(--success) 22%,transparent)}.dot-connecting,.dot-reconnecting{background:var(--opt-2);box-shadow:none}.journey{height:3px;border-radius:3px;background:var(--border);overflow:hidden}.journey>span{display:block;height:100%;background:var(--accent);transform-origin:left center;transition:transform .7s var(--ease)}.banner{display:flex;align-items:center;gap:10px;margin-top:12px;padding:8px 8px 8px 14px;min-height:52px;border-radius:var(--radius-sm);background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow);font-size:15px;font-weight:600;animation:enter .25s var(--ease) both}.banner .banner-text{flex:1}.leave-panel{margin-top:12px;padding:16px;border-radius:var(--radius);background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow);animation:enter .2s var(--ease) both}.leave-panel p{margin:0 0 14px;font-weight:600}.row{display:flex;gap:10px}.row>.btn{flex:1}.screen{flex:1;display:flex;flex-direction:column;gap:16px;padding:28px 2px calc(28px + env(safe-area-inset-bottom))}.screen.center{align-items:center;justify-content:center;text-align:center}.screen.center>*{max-width:100%}.enter{animation:enter .34s var(--ease) both}@keyframes enter{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}h1{margin:0;font-family:var(--font-display);font-weight:var(--display-weight);font-size:clamp(27px,7.6vw,34px);line-height:1.15;letter-spacing:-.015em;text-wrap:balance}h1:focus{outline:none}.lead{margin:0;max-width:34ch;font-size:18px;line-height:1.45;color:var(--muted);text-wrap:pretty}.lead strong{color:var(--text)}.muted{margin:0;color:var(--muted);font-size:16px}.muted strong{color:var(--text)}.eyebrow{margin:0;font-size:13px;font-weight:750;letter-spacing:.1em;text-transform:uppercase;color:var(--accent-ink)}.eyebrow-muted{color:var(--muted)}.stack{display:flex;flex-direction:column;gap:8px;width:100%}.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;width:100%;min-height:58px;padding:0 22px;border:0;border-radius:var(--radius-sm);font-size:18px;font-weight:700;transition:transform .12s var(--ease),filter .15s,background-color .15s,border-color .15s}.btn:active:not(:disabled){transform:scale(.985)}.btn:focus-visible,.option:focus-visible,.who-chip:focus-visible{outline:3px solid var(--accent);outline-offset:3px}.btn.primary{background:var(--accent);color:var(--accent-text)}.btn.secondary{background:transparent;color:var(--text);border:1.5px solid var(--field-border)}.btn.danger{background:var(--danger);color:var(--bg)}.btn.small{width:auto;min-height:44px;padding:0 14px;font-size:15px}.btn:disabled{cursor:default;opacity:.75}.join{justify-content:center;gap:14px}.join-brand{display:flex;align-items:center;gap:10px;margin-bottom:6px;font-size:15px;font-weight:700;color:var(--muted)}.join-form{display:flex;flex-direction:column;gap:20px;margin-top:10px;padding:20px;border-radius:var(--radius);background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow)}.field{display:flex;flex-direction:column;gap:8px}.field label{font-size:15px;font-weight:700}.field input{width:100%;min-height:56px;padding:0 16px;border-radius:12px;border:1.5px solid var(--field-border);background:var(--bg);font-size:18px;transition:border-color .15s,box-shadow .15s}.field input::placeholder{color:var(--muted);opacity:.7}.field input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 1.5px var(--accent)}.field.invalid input{border-color:var(--danger)}.field.invalid input:focus{box-shadow:0 0 0 1.5px var(--danger)}.code-input{min-height:66px!important;font-family:var(--mono);font-size:30px!important;font-weight:700;letter-spacing:.34em;text-align:center;padding-left:calc(16px + .34em)!important;font-variant-numeric:tabular-nums}.hint{margin:0;font-size:14px;color:var(--muted)}.hint.split{display:flex;justify-content:space-between;gap:12px}.hint .over{color:var(--danger);font-weight:700}.field-error,.inline-error,.form-error,.notice{display:flex;align-items:flex-start;gap:8px;margin:0;font-size:15px;font-weight:600;line-height:1.4;color:var(--danger);text-align:left}.field-error .icon,.inline-error .icon,.form-error .icon,.notice .icon{flex:none;margin-top:1px}.inline-error,.form-error,.notice{padding:12px 14px;border-radius:12px;background:var(--surface-2);border:1px solid var(--border)}.notice{color:var(--text)}.notice .icon{color:var(--accent-ink)}.fine{margin:6px 0 0;font-size:14px;color:var(--muted);text-align:center}.art{position:relative;width:132px;height:132px;display:grid;place-items:center;margin-bottom:6px}.art-quiet{width:88px;height:88px;color:var(--accent-ink)}.art-core{position:relative;width:88px;height:88px;display:grid;place-items:center;border-radius:28px;background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow);color:var(--accent-ink)}.pulse{position:absolute;top:22px;right:22px;bottom:22px;left:22px;border-radius:30px;border:2px solid var(--accent);opacity:0;animation:pulse 3s var(--ease) infinite}.pulse-2{animation-delay:1.5s}@keyframes pulse{0%{transform:scale(.92);opacity:.55}to{transform:scale(1.5);opacity:0}}.title-card{display:flex;flex-direction:column;gap:2px;width:100%;margin:8px 0 0;padding:14px 18px;border-radius:var(--radius);background:var(--surface);border:1px solid var(--border)}.title-card-label{font-size:12px;font-weight:750;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}.title-card-name{font-family:var(--font-display);font-weight:700;font-size:18px;line-height:1.3}.question{gap:14px;padding-top:18px}.q-head{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:60px}.q-meta{display:flex;flex-wrap:wrap;gap:8px}.chip{display:inline-flex;align-items:center;gap:6px;min-height:30px;padding:3px 12px;border-radius:999px;background:var(--surface-2);border:1px solid var(--border);font-size:14px;font-weight:700;line-height:1.2}.chip-accent{background:var(--accent);border-color:transparent;color:var(--accent-text)}.chip-quiet{color:var(--muted)}.q-text{margin:0;font-family:var(--font-display);font-size:clamp(22px,6.2vw,28px);font-weight:700;line-height:1.25;letter-spacing:-.01em;text-wrap:pretty}.ready-title{margin-top:6px;color:var(--accent-ink)}.tap-hint{margin:auto 0 -4px;padding-top:12px;font-size:14px;font-weight:650;color:var(--muted);text-align:center}.options{display:grid;grid-auto-rows:minmax(70px,100px);gap:10px}.options.count-2{grid-auto-rows:minmax(104px,140px)}.option{display:flex;align-items:center;gap:14px;width:100%;min-height:70px;padding:12px 16px 12px 12px;border-radius:18px;background:var(--surface);border:1.5px solid var(--border);box-shadow:var(--shadow);font-size:18px;font-weight:650;line-height:1.3;text-align:left;transition:transform .12s var(--ease),border-color .15s,background-color .15s;animation:enter .34s var(--ease) both}.option:nth-child(2){animation-delay:.04s}.option:nth-child(3){animation-delay:.08s}.option:nth-child(4){animation-delay:.12s}.option:active{transform:scale(.98);border-color:var(--accent);background:var(--accent-soft)}.options.count-2 .option{font-size:21px}.option-text{flex:1;min-width:0;overflow-wrap:anywhere}.mark{flex:none;display:inline-flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;border-radius:12px;line-height:1}.mark svg{display:block}.mark-letter{font-weight:800;line-height:1}.ring{position:relative;flex:none;display:grid;place-items:center}.ring svg{position:absolute;top:0;right:0;bottom:0;left:0}.ring-track{fill:var(--surface);stroke:var(--border);stroke-width:5}.ring-fill{fill:none;stroke:var(--accent);stroke-width:5;stroke-linecap:round;transition:stroke-dashoffset .2s linear,stroke .3s}.ring.urgent .ring-fill{stroke:var(--danger)}.ring-secs{position:relative;font-size:21px;font-weight:800;font-variant-numeric:tabular-nums}.preview{list-style:none;margin:4px 0 0;padding:0;display:flex;flex-direction:column;gap:8px}.preview li{display:flex;align-items:center;gap:12px;min-height:52px;padding:8px 14px 8px 10px;border-radius:var(--radius-sm);background:var(--surface-2);border:1px dashed var(--border);color:var(--muted);font-weight:600;line-height:1.3}.waiting-line{display:flex;align-items:center;justify-content:center;gap:10px;margin:8px 0 0;color:var(--muted);font-weight:600}.tone-accent{--tone: var(--accent-ink)}.tone-success{--tone: var(--success)}.tone-danger{--tone: var(--danger)}.tone-muted{--tone: var(--muted)}.badge{position:relative;width:92px;height:92px;display:grid;place-items:center;border-radius:50%;color:var(--tone);animation:pop .5s var(--ease) both}.badge:before,.badge:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit}.badge:before{background:currentColor;opacity:.14}.badge:after{border:2px solid currentColor;opacity:.38}.badge>*{position:relative}.badge .icon{stroke-width:2.4}@keyframes pop{0%{opacity:0;transform:scale(.82)}to{opacity:1;transform:none}}.closing{display:flex;flex-direction:column;align-items:center;gap:10px;width:100%;max-width:280px}.bar{width:100%;height:6px;border-radius:6px;background:var(--border);overflow:hidden}.bar>span{display:block;height:100%;background:var(--accent);transform-origin:left center;transition:transform .2s linear}.option-card{display:flex;align-items:center;gap:12px;width:100%;padding:12px 14px 12px 12px;border-radius:16px;background:var(--surface);border:1.5px solid var(--border);font-size:18px;font-weight:650;line-height:1.3;text-align:left}.option-card.tone-right{border-color:var(--success)}.option-card.tone-wrong{border-color:var(--danger)}.option-card-x{flex:none;color:var(--danger)}.option-card-text{flex:1;min-width:0;overflow-wrap:anywhere}.option-card-tick{flex:none;color:var(--success)}.result{gap:14px}.points{display:flex;align-items:baseline;gap:8px;margin:0;font-size:18px;font-weight:650;color:var(--muted)}.points .num{font-size:52px;font-weight:800;line-height:1;letter-spacing:-.02em;color:var(--tone)}.streak{display:inline-flex;align-items:center;gap:6px;margin:0;padding:6px 14px 6px 10px;border-radius:999px;background:var(--surface-2);border:1px solid var(--border);font-size:15px;font-weight:700}.streak .icon{color:var(--opt-2)}.stats{display:grid;grid-template-columns:1fr 1fr;width:100%;margin:6px 0 0;border-radius:var(--radius);background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow);overflow:hidden}.stats>div{padding:14px 12px;text-align:center}.stats>div+div{border-left:1px solid var(--border)}.stats dt{font-size:12px;font-weight:750;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}.stats dd{margin:2px 0 0;font-size:28px;font-weight:800;line-height:1.2;font-variant-numeric:tabular-nums}.stats dd small{font-size:15px;font-weight:650;color:var(--muted)}.board{list-style:none;margin:4px 0 0;padding:0;display:flex;flex-direction:column;gap:8px}.board li{display:flex;align-items:center;gap:12px;min-height:58px;padding:8px 16px 8px 10px;border-radius:16px;background:var(--surface);border:1.5px solid var(--border);animation:enter .34s var(--ease) both}.board li:nth-child(2){animation-delay:.05s}.board li:nth-child(3){animation-delay:.1s}.board li:nth-child(4){animation-delay:.15s}.board li:nth-child(5){animation-delay:.2s}.board li.me{border-color:var(--accent);background:var(--accent-soft)}.pos{width:36px;height:36px;flex:none;display:grid;place-items:center;border-radius:50%;background:var(--surface-2);font-weight:800;font-variant-numeric:tabular-nums}.board li.me .pos{background:var(--surface)}.pos-1{background:var(--accent)!important;color:var(--accent-text)}.who{flex:1;min-width:0;display:flex;align-items:center;gap:8px}.who-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:650}.you-tag{flex:none;padding:2px 8px;border-radius:999px;background:var(--accent);color:var(--accent-text);font-size:12px;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.pts{font-weight:750}.board-gap{display:flex;justify-content:center;gap:6px;padding:2px 0}.board-gap span{width:5px;height:5px;border-radius:50%;background:var(--muted);opacity:.6}.final{width:100%;padding:18px 16px;border-radius:var(--radius);background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow)}.final-rank{margin:0;font-size:18px;color:var(--muted)}.final-rank strong{color:var(--text)}.final-score{display:flex;align-items:baseline;justify-content:center;gap:8px;margin:4px 0 0;font-size:17px;font-weight:650;color:var(--muted)}.final-score .num{font-size:44px;font-weight:800;line-height:1.1;letter-spacing:-.02em;color:var(--accent-ink)}.podium{list-style:none;display:flex;align-items:flex-end;justify-content:center;gap:8px;width:100%;margin:6px 0 0;padding:0}.step{flex:1 1 0;max-width:33.333%;min-width:0;display:flex;flex-direction:column;align-items:center;gap:2px}.step-name{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:15px;font-weight:700}.step-score{font-size:14px;color:var(--muted);margin-bottom:6px}.step-block{width:100%;display:grid;place-items:center;border-radius:14px 14px 6px 6px;background:var(--surface);border:1px solid var(--border);font-size:24px;font-weight:850;color:var(--muted);transform-origin:bottom center;animation:rise .6s var(--ease) both}.step-1 .step-block{height:108px;background:var(--accent);border-color:transparent;color:var(--accent-text);animation-delay:.3s}.step-2 .step-block{height:80px;animation-delay:.15s}.step-3 .step-block{height:60px;animation-delay:.05s}.step.me .step-name:after{content:" (you)";font-weight:600;color:var(--muted)}@keyframes rise{0%{transform:scaleY(.2);opacity:0}to{transform:none;opacity:1}}.ended .btn{margin-top:8px}.head{position:relative;flex:none;display:inline-block;border-radius:50%;overflow:hidden;background:radial-gradient(circle at 50% 28%,color-mix(in srgb,var(--char) 78%,#fff),color-mix(in srgb,var(--char) 62%,var(--surface)) 72%);box-shadow:inset 0 0 0 2px color-mix(in srgb,var(--char) 55%,transparent)}.head img{display:block;width:100%;height:100%;object-fit:cover;transform:translateY(7%) scale(1.06)}.stage{--size: 180px;position:relative;flex:none;width:var(--size);height:calc(var(--size) * .86);margin:0 auto}.stage:before{content:"";position:absolute;top:4%;right:6%;bottom:0;left:6%;border-radius:50%;background:radial-gradient(closest-side,color-mix(in srgb,var(--char) 30%,transparent),transparent)}.stage-spot{position:absolute;left:16%;right:16%;bottom:-2%;height:16%;border-radius:50%;background:radial-gradient(closest-side,color-mix(in srgb,var(--char) 60%,transparent),color-mix(in srgb,var(--char) 18%,transparent) 70%,transparent)}.stage-body{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden;transform-origin:50% 94%}.stage-body img{position:absolute;left:0;bottom:0;width:var(--size);height:var(--size);-webkit-user-select:none;user-select:none;-webkit-user-drag:none}.stage-badge{position:absolute;right:-2%;bottom:2%;z-index:1}.stage-badge .badge{width:54px;height:54px;background:var(--surface);box-shadow:var(--shadow)}.stage-badge .badge svg{width:28px;height:28px}.stage-badge .medal{animation:pop .5s .35s var(--ease) both}.mood-idle .stage-body,.mood-calm .stage-body{animation:bob 2.8s ease-in-out infinite}.mood-calm .stage-body{animation-duration:3.6s}.mood-happy .stage-body{animation:hop .75s var(--ease) 2 both,bob 2.8s ease-in-out 1.5s infinite}.mood-cheer .stage-body{animation:cheer 1.2s ease-in-out infinite}.mood-sad .stage-body{animation:droop .7s var(--ease) both;filter:saturate(.6) brightness(.92)}.mood-sleepy .stage-body{transform:rotate(7deg);filter:saturate(.45);opacity:.85}@keyframes bob{0%,to{transform:translateY(0)}50%{transform:translateY(-5px)}}@keyframes hop{0%{transform:translateY(0) scale(1)}18%{transform:translateY(0) scale(1.06,.92)}45%{transform:translateY(-18%) scale(.96,1.05)}75%{transform:translateY(0) scale(1.04,.96)}to{transform:translateY(0) scale(1)}}@keyframes cheer{0%,to{transform:translateY(0) rotate(0)}25%{transform:translateY(-10%) rotate(-5deg)}50%{transform:translateY(0) rotate(0)}75%{transform:translateY(-10%) rotate(5deg)}}@keyframes droop{0%{transform:none}to{transform:translateY(4%) rotate(-6deg)}}.sparkles{position:absolute;top:-6%;right:-10%;bottom:20%;left:-10%;z-index:1;pointer-events:none}.spark{position:absolute;color:var(--boss-gold);animation:twinkle 1.6s ease-in-out infinite both}.spark-0{left:6%;top:30%}.spark-1{right:4%;top:18%;color:var(--char);animation-delay:.3s}.spark-2{left:22%;top:2%;width:12px;animation-delay:.7s}.spark-3{right:18%;top:52%;width:13px;color:var(--char);animation-delay:1s}.spark-4{left:2%;top:62%;width:11px;animation-delay:.45s}@keyframes twinkle{0%,to{transform:scale(.4) rotate(0);opacity:0}45%{transform:scale(1) rotate(45deg);opacity:1}}.stage-zzz{position:absolute;right:6%;top:4%;z-index:1;font-weight:850;color:var(--muted)}.stage-zzz span{position:absolute;font-size:18px;animation:zzz 2.4s ease-in-out infinite both}.stage-zzz span:nth-child(2){right:-12px;top:-14px;font-size:14px;animation-delay:.8s}.stage-zzz span:nth-child(3){right:-22px;top:-28px;font-size:11px;animation-delay:1.6s}@keyframes zzz{0%{opacity:0;transform:translateY(6px)}30%,70%{opacity:1}to{opacity:0;transform:translateY(-8px)}}.name-tag{position:absolute;left:50%;bottom:-18px;z-index:2;transform:translate(-50%);display:inline-flex;align-items:center;gap:7px;max-width:min(260px,80vw);padding:5px 14px;border-radius:999px;background:var(--surface);border:1.5px solid var(--field-border);box-shadow:var(--shadow);font-size:16px;font-weight:750;line-height:1.3;white-space:nowrap}.name-tag.has-team{border-color:var(--team)}.name-tag-name{overflow:hidden;text-overflow:ellipsis}.team-dot{flex:none;display:inline-block;width:11px;height:11px;border-radius:50%;background:var(--team);box-shadow:inset 0 0 0 1.5px #00000038}.team-chip{display:inline-flex;align-items:center;gap:8px;min-height:32px;padding:4px 14px 4px 11px;border-radius:999px;background:var(--surface);border:1.5px solid var(--team);font-size:15px;font-weight:700}.team-chip-extra{font-weight:600;color:var(--muted)}.lobby .stage{margin-bottom:26px}.change-row{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;width:100%}.change-row .btn{flex:1 1 auto}.change-row .btn .icon{color:var(--accent-ink)}.change-row.quiet .btn{flex:0 1 auto;min-height:44px;border-color:transparent;color:var(--muted);font-weight:650}.chips-row{display:flex;flex-wrap:wrap;justify-content:center;gap:8px}.who-chip.with-head{padding-left:6px;gap:9px}.who-head{position:relative;display:inline-flex;flex:none}.who-head .dot{position:absolute;right:-2px;bottom:-1px;width:10px;height:10px;box-shadow:0 0 0 2px var(--surface)}.screen.picker{gap:14px;padding-top:20px;padding-bottom:0}.picker-head{display:flex;flex-direction:column;align-items:center;gap:6px;text-align:center}.picker-head .lead{font-size:17px}.picker-preview{display:flex;flex-direction:column;align-items:center;margin:-2px 0 14px}.team-preview .stage-spot{background:radial-gradient(closest-side,color-mix(in srgb,var(--team, var(--char)) 75%,transparent),color-mix(in srgb,var(--team, var(--char)) 22%,transparent) 70%,transparent);transition:background .3s}.team-preview{margin-bottom:18px}.picker-preview-name{position:absolute;left:50%;bottom:-16px;transform:translate(-50%);padding:3px 12px;border-radius:999px;background:var(--char);color:var(--char-ink, #1d1029);font-size:14px;font-weight:800;letter-spacing:.02em;white-space:nowrap}.pick-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px 10px}.pick{display:flex;flex-direction:column;align-items:center;gap:5px;min-width:0;padding:0;border:0;background:none;-webkit-tap-highlight-color:transparent}.pick-face{position:relative;display:block;width:100%;aspect-ratio:1;border-radius:22px;overflow:hidden;background:radial-gradient(circle at 50% 30%,color-mix(in srgb,var(--char) 70%,#fff 6%),color-mix(in srgb,var(--char) 46%,var(--surface)) 78%);border:2px solid color-mix(in srgb,var(--char) 40%,var(--border));transition:transform .18s var(--ease),box-shadow .18s,border-color .18s}.pick-face img{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;transform:translateY(9%) scale(1.04);transition:transform .2s var(--ease)}.pick.on .pick-face{border-color:var(--text);box-shadow:0 0 0 3px var(--char),0 10px 22px #00000040;transform:translateY(-2px) scale(1.04)}.pick.on .pick-face img{transform:translateY(5%) scale(1.1)}.pick:active .pick-face{transform:scale(.96)}.pick:focus-visible{outline:none}.pick:focus-visible .pick-face{outline:3px solid var(--accent);outline-offset:4px}.pick-check{position:absolute;top:5px;right:5px;width:22px;height:22px;display:grid;place-items:center;border-radius:50%;background:var(--text);color:var(--bg);animation:pop .3s var(--ease) both}.pick-check .icon{stroke-width:3}.pick-taken{position:absolute;left:50%;bottom:4px;transform:translate(-50%);padding:1px 7px;border-radius:999px;background:#0e0a18c7;color:#fff;font-size:11px;font-weight:750;line-height:1.5;white-space:nowrap}.pick-name{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:650;color:var(--muted)}.pick.on .pick-name{color:var(--text);font-weight:800}.picker-note{margin-top:-4px;text-align:center}.picker-action{position:sticky;bottom:0;z-index:3;display:flex;flex-direction:column;gap:10px;margin-top:auto;padding:18px 0 calc(16px + env(safe-area-inset-bottom));background:linear-gradient(to top,var(--bg) 72%,transparent)}.team-list{display:flex;flex-direction:column;gap:10px}.team-card{position:relative;display:flex;align-items:center;gap:14px;width:100%;min-height:78px;padding:12px 16px 12px 12px;border-radius:18px;background:var(--surface);border:2px solid var(--border);box-shadow:var(--shadow);text-align:left;transition:transform .15s var(--ease),border-color .15s,background-color .15s;animation:enter .34s var(--ease) both}.team-card:nth-child(2){animation-delay:.05s}.team-card:nth-child(3){animation-delay:.1s}.team-card:nth-child(4){animation-delay:.15s}.team-card.on{border-color:var(--team);background:color-mix(in srgb,var(--team) 13%,var(--surface))}.team-card:active:not([aria-disabled=true]){transform:scale(.985)}.team-card[aria-disabled=true]{opacity:.6;cursor:default}.team-card:focus-visible{outline:3px solid var(--accent);outline-offset:3px}.team-flag{flex:none;width:50px;height:50px;display:grid;place-items:center;border-radius:14px;background:var(--team);color:#1d1029}.team-text{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.team-name{font-size:19px;font-weight:750;line-height:1.25}.team-count{font-size:15px;color:var(--muted)}.team-hint{color:var(--accent-ink);font-weight:650}.team-tick{flex:none;width:30px;height:30px;display:grid;place-items:center;border-radius:50%;border:2px solid var(--field-border)}.team-card.on .team-tick{border-color:transparent;background:var(--team);color:#1d1029}.team-card.on .team-tick .icon{stroke-width:3;animation:pop .3s var(--ease) both}.team-list.count-4{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.team-list.count-4 .team-card{flex-direction:column;align-items:flex-start;gap:10px;min-height:0;padding:14px}.team-list.count-4 .team-flag{width:44px;height:44px}.team-list.count-4 .team-tick{position:absolute;top:12px;right:12px;width:26px;height:26px}.team-list.count-4 .team-name{font-size:18px}.team-list.count-4 .team-count{font-size:14px}.team-list.count-4 .team-sep{display:none}.team-list.count-4 .team-hint{display:block}.streak-chip{display:inline-flex;align-items:center;gap:6px;min-height:30px;padding:3px 12px 3px 9px;border-radius:999px;background:color-mix(in srgb,var(--flame) 14%,var(--surface));border:1px solid color-mix(in srgb,var(--flame) 50%,var(--border));font-size:14px;font-weight:700;line-height:1.2}.streak-chip .icon,.streak-line .icon,.streak .icon{flex:none;color:var(--flame)}.streak-line{display:flex;align-items:center;gap:12px;margin:0;padding:10px 16px 10px 14px;line-height:1.3;border-radius:var(--radius-sm);background:color-mix(in srgb,var(--flame) 12%,var(--surface));border:1px solid color-mix(in srgb,var(--flame) 45%,var(--border));font-weight:600}.streak-line .icon{animation:flicker 1.4s ease-in-out infinite}.streak-line strong,.streak-next{display:block}.streak-next{font-size:15px;color:var(--muted)}@keyframes flicker{0%,to{transform:scale(1) rotate(0)}50%{transform:scale(1.15) rotate(-6deg)}}.bonus-line{margin:-6px 0 0;font-size:15px;font-weight:700;color:var(--muted)}.app[data-boss=true]:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;z-index:-1;pointer-events:none;background:radial-gradient(110% 46% at 50% -12%,rgba(255,61,110,.3),transparent 68%),radial-gradient(80% 36% at 50% 112%,rgba(255,170,60,.16),transparent 70%)}.boss-banner{display:flex;align-items:center;gap:12px;padding:14px 16px;border-radius:var(--radius);background:radial-gradient(130% 150% at 0% 0%,var(--boss-bg-2),var(--boss-bg) 68%);border:1.5px solid var(--boss-hot);color:#fff;box-shadow:0 0 0 4px #ff4d6d29,0 12px 30px #ff3d6e3d;animation:boss-in .6s var(--ease) both,boss-glow 2.4s ease-in-out .6s infinite}.boss-icon{flex:none;width:48px;height:48px;display:grid;place-items:center;border-radius:16px;background:linear-gradient(140deg,var(--boss-gold),#ff8a3d);color:var(--boss-ink)}.boss-icon .icon{stroke-width:2.4}.boss-text{flex:1;display:flex;flex-direction:column;gap:2px;min-width:0}.boss-times{flex:none;display:flex;flex-direction:column;align-items:center;padding-left:12px;border-left:1px solid rgba(255,77,109,.45);color:var(--boss-gold)}.boss-times-num{font-size:32px;font-weight:900;line-height:1;letter-spacing:-.02em;font-variant-numeric:tabular-nums}.boss-times-word{font-size:12px;font-weight:750;letter-spacing:.12em;text-transform:uppercase;color:#ffe9c7}.boss-title{font-size:20px;font-weight:850;letter-spacing:.03em;line-height:1.1;text-transform:uppercase;color:var(--boss-gold)}.boss-sub{font-size:15px;font-weight:600;color:#ffe9c7}@keyframes boss-in{0%{opacity:0;transform:scale(.85) rotate(-2deg)}60%{opacity:1;transform:scale(1.03) rotate(.5deg)}to{transform:none}}@keyframes boss-glow{0%,to{box-shadow:0 0 0 4px #ff4d6d29,0 12px 30px #ff3d6e3d}50%{box-shadow:0 0 0 7px #ff4d6d1a,0 12px 40px #ff3d6e66}}.chip-boss{background:var(--boss-bg);border-color:var(--boss-hot);color:var(--boss-gold);text-transform:uppercase;letter-spacing:.06em}.chip-boss-points{background:linear-gradient(140deg,var(--boss-gold),#ff8a3d);border-color:transparent;color:var(--boss-ink)}.boss .option{border-color:color-mix(in srgb,var(--boss-hot) 45%,var(--border))}.boss .ready-title{color:var(--text)}.level-up{gap:12px}.level-burst{position:relative;width:230px;height:172px;display:grid;place-items:end center}.level-rays{position:absolute;left:50%;top:50%;width:300px;height:300px;margin:-150px 0 0 -150px;border-radius:50%;background:repeating-conic-gradient(from 0deg,color-mix(in srgb,var(--accent) 26%,transparent) 0deg 9deg,transparent 9deg 22.5deg);-webkit-mask:radial-gradient(closest-side,#000 25%,transparent 78%);mask:radial-gradient(closest-side,#000 25%,transparent 78%);animation:spin 24s linear infinite}.level-burst .stage{position:relative}.level-star{position:relative;align-self:center;color:var(--accent-ink)}.level-badge{display:inline-flex;align-items:baseline;gap:8px;margin:4px 0 0;padding:6px 20px 7px;border-radius:999px;background:var(--accent);color:var(--accent-text);font-weight:850;box-shadow:0 8px 24px var(--glow);animation:pop .5s .15s var(--ease) both}.level-word{font-size:14px;letter-spacing:.16em;text-transform:uppercase}.level-num{font-size:28px;line-height:1;font-variant-numeric:tabular-nums}.confetti{position:fixed;top:0;right:0;bottom:0;left:0;z-index:10;overflow:hidden;pointer-events:none}.bit{position:absolute;top:-20px;width:8px;height:14px;border-radius:2px;opacity:0;animation-name:fall;animation-timing-function:cubic-bezier(.3,.4,.6,1);animation-fill-mode:both}.bit.wide{width:12px;height:8px}.bit-0{background:var(--opt-0)}.bit-1{background:var(--opt-1)}.bit-2{background:var(--opt-2)}.bit-3{background:var(--opt-3)}.bit-4{background:var(--boss-gold)}.bit-5{background:var(--accent)}@keyframes fall{0%{opacity:1;transform:translateZ(0) rotate(0)}85%{opacity:1}to{opacity:0;transform:translate3d(var(--drift),100vh,0) rotate(var(--spin))}}.board .board-head{margin:-2px -2px -2px -4px}.who .team-dot{width:10px;height:10px}.team-board{width:100%;margin-top:6px;text-align:left}.section-title{margin:0 0 8px;font-size:13px;font-weight:750;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}.team-board ol{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.team-board li{padding:10px 14px 12px;border-radius:14px;background:var(--surface);border:1.5px solid var(--border)}.team-board li.me{border-color:var(--team)}.team-board-top{display:flex;align-items:center;gap:10px}.team-board-name{flex:1;min-width:0;display:flex;align-items:center;gap:8px;font-weight:700}.team-board-score{font-weight:800}.team-bar{display:block;height:6px;margin-top:8px;border-radius:6px;background:var(--border);overflow:hidden}.team-bar>span{display:block;height:100%;border-radius:inherit;background:var(--team);transform-origin:left center;animation:grow .9s .2s var(--ease) both}@keyframes grow{0%{width:0}to{width:100%}}.podium.with-heads .step-name{margin-top:2px}.step-head{animation:pop .5s var(--ease) both}.step-1 .step-head{animation-delay:.55s;box-shadow:inset 0 0 0 2px color-mix(in srgb,var(--char) 55%,transparent),0 0 0 3px var(--boss-gold)}.step-2 .step-head{animation-delay:.4s}.step-3 .step-head{animation-delay:.3s}.medal{width:46px;height:46px;display:grid;place-items:center;border-radius:50%;border:3px solid rgba(255,255,255,.75);box-shadow:0 6px 16px #00000040;color:#2a1a00;font-size:20px;font-weight:850}.medal-gold{background:linear-gradient(150deg,#ffe58a,#f2b100)}.medal-silver{background:linear-gradient(150deg,#f4f6fa,#aeb8c6)}.medal-bronze{background:linear-gradient(150deg,#f6bd8a,#c4692a)}.team-result{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;margin:0;padding:12px 16px;border-radius:var(--radius-sm);background:var(--surface);border:1.5px solid var(--team);font-weight:700;text-wrap:balance}.team-result.won{background:color-mix(in srgb,var(--team) 14%,var(--surface))}.team-result .icon{flex:none;color:var(--text)}@media (hover: hover){.who-chip:hover,.option:hover{border-color:var(--field-border)}.btn.primary:hover:not(:disabled){filter:brightness(1.06)}.btn.secondary:hover{border-color:var(--accent)}}.spinner{flex:none;animation:spin .9s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-delay:0s!important;animation-iteration-count:1!important;transition-duration:.001ms!important}.spinner{animation:none!important}}@media (max-height: 760px){.screen{gap:12px;padding-top:18px}.options{grid-auto-rows:minmax(62px,78px)}.options.count-2{grid-auto-rows:minmax(88px,112px)}.art{width:112px;height:112px}.badge{width:80px;height:80px}.points .num{font-size:46px}.screen.picker{gap:10px}.picker-preview:not(.team-preview){display:none}}@media (min-width: 720px){.app{max-width:780px;padding-left:32px;padding-right:32px}.screen.center,.join{width:100%;max-width:520px;margin:0 auto}.options.count-3,.options.count-4{display:grid;grid-template-columns:1fr 1fr}.options.count-2{grid-template-columns:1fr 1fr}.options,.options.count-2{grid-auto-rows:minmax(96px,128px)}.board,.screen:not(.center)>.lead,.screen:not(.center)>h1{max-width:640px}.question{justify-content:center}.question .tap-hint{margin-top:20px}.q-text{font-size:32px}.option{font-size:20px}}
