:root{--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--space-6:32px;--space-7:48px;--radius-s:10px;--radius-m:16px;--radius-l:24px;--radius-full:999px;--touch:44px;--touch-primary:56px;--font-body:system-ui, -apple-system, "Segoe UI", Roboto, "Noto Sans", sans-serif;--font-display:var(--font-body);--text-s:14px;--text-m:16px;--text-l:20px;--text-xl:28px;--text-xxl:36px;--ease-spring:cubic-bezier(.2, .8, .2, 1.2);--ease-out:cubic-bezier(.2, .8, .2, 1);--dur-fast:.12s;--dur-m:.24s;--dur-slow:.4s;--player-0:#ff4d6d;--player-1:#ff9f1c;--player-2:#ffd60a;--player-3:#70e000;--player-4:#00c2a8;--player-5:#00b4ff;--player-6:#4361ee;--player-7:#9d4edd;--player-8:#f15bb5;--player-9:#a47148;--player-10:#8d99ae;--player-11:#f8f9fa;--player-ink-light:#fff;--player-ink-dark:#14121f}:root,[data-theme=arcade]{--bg:#0f0b1e;--bg-glow-1:#3a0ca355;--bg-glow-2:#f7258544;--surface:#1c1633;--surface-2:#2a2148;--border:#ffffff1f;--text:#f4f1ff;--text-muted:#b7aed8;--accent:#f72585;--accent-2:#4cc9f0;--accent-ink:#fff;--success:#3ddc97;--danger:#ff5a5f;--warning:#ffd166;--shadow:0 8px 24px #0006, 0 0 0 1px #ffffff10;--shadow-accent:0 6px 24px #f7258566;--overlay:#0f0b1ecc;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}[data-theme=masa]{--bg:#fbf3e8;--bg-glow-1:#ffd6a555;--bg-glow-2:#b5e2fa55;--surface:#fff;--surface-2:#fff1de;--border:#3d2c1e1a;--text:#2d2118;--text-muted:#7a6656;--accent:#e76f51;--accent-2:#2a9d8f;--accent-ink:#fff;--success:#2a9d8f;--danger:#d62828;--warning:#e9c46a;--shadow:0 6px 18px #3d2c1e1f;--shadow-accent:0 6px 18px #e76f5155;--overlay:#fbf3e8e6;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}[data-theme=konfeti]{--bg:#fff;--bg-glow-1:#ffbe0b33;--bg-glow-2:#3a86ff33;--surface:#f4f6ff;--surface-2:#e9edff;--border:#1a1a2e14;--text:#1a1a2e;--text-muted:#5c5f7a;--accent:#3a86ff;--accent-2:#ff006e;--accent-ink:#fff;--success:#06d6a0;--danger:#ef233c;--warning:#ffbe0b;--shadow:0 4px 0 #1a1a2e1a;--shadow-accent:0 4px 0 #1f5fc4;--overlay:#ffffffe6;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}.gh-btn{appearance:none;min-height:var(--touch);min-width:var(--touch);padding:0 var(--space-4);border-radius:var(--radius-full);font:600 var(--text-m) / 1 var(--font-body);color:var(--text);background:var(--surface-2);cursor:pointer;justify-content:center;align-items:center;gap:var(--space-2);transition:transform var(--dur-fast) var(--ease-out), opacity var(--dur-fast);-webkit-tap-highlight-color:transparent;border:0;display:inline-flex}.gh-btn:active{transform:scale(.96)}.gh-btn:disabled{opacity:.5;cursor:default}.gh-btn:focus-visible{outline:3px solid var(--accent-2);outline-offset:2px}.gh-btn--primary{background:var(--accent);color:var(--accent-ink);box-shadow:var(--shadow-accent)}.gh-btn--ghost{border:1px solid var(--border);background:0 0}.gh-btn--big{min-height:var(--touch-primary);padding:0 var(--space-5);font-size:var(--text-l)}.gh-btn--block{width:100%}.gh-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-l);box-shadow:var(--shadow);padding:var(--space-4)}.gh-avatar{--size:40px;width:var(--size);height:var(--size);border-radius:var(--radius-full);font:700 calc(var(--size) * .42) / 1 var(--font-display);transition:transform var(--dur-m) var(--ease-spring), opacity var(--dur-m);animation:gh-pop var(--dur-slow) var(--ease-spring);flex:none;place-items:center;display:inline-grid;position:relative}.gh-avatar--away{opacity:.4;filter:grayscale()}.gh-avatar__crown{color:var(--warning);top:calc(var(--size) * -.32);font-size:calc(var(--size) * .4);line-height:1;display:grid;position:absolute}.gh-avatar__badge{width:calc(var(--size) * .36);height:calc(var(--size) * .36);border-radius:var(--radius-full);background:var(--surface);border:2px solid var(--bg);font-size:calc(var(--size) * .22);place-items:center;display:grid;position:absolute;bottom:-2px;right:-2px}.gh-sheet-backdrop{background:var(--overlay);z-index:50;animation:gh-fade var(--dur-m) var(--ease-out);position:fixed;inset:0}.gh-sheet{z-index:51;background:var(--surface);border-radius:var(--radius-l) var(--radius-l) 0 0;max-height:85vh;box-shadow:var(--shadow);padding:var(--space-5) var(--space-4) calc(var(--space-5) + env(safe-area-inset-bottom));animation:gh-rise var(--dur-slow) var(--ease-spring);position:fixed;bottom:0;left:0;right:0;overflow:auto}@media (min-width:720px){.gh-sheet{left:auto;right:var(--space-4);top:calc(var(--space-7) + env(safe-area-inset-top));border-radius:var(--radius-l);width:380px;bottom:auto}}.gh-sheet__title{margin:0 0 var(--space-4);font:700 var(--text-l) / 1.2 var(--font-display)}.gh-toast{left:50%;bottom:calc(var(--space-5) + env(safe-area-inset-bottom));z-index:80;background:var(--text);max-width:min(92vw,420px);color:var(--bg);border-radius:var(--radius-m);padding:var(--space-3) var(--space-4);font:500 var(--text-m) / 1.35 var(--font-body);box-shadow:var(--shadow);animation:gh-toast var(--dur-slow) var(--ease-spring);position:fixed;transform:translate(-50%)}.gh-countdown{font:800 var(--text-xxl) / 1 var(--font-display);font-variant-numeric:tabular-nums}.gh-secret{width:100%;min-height:180px;padding:var(--space-5);border:2px dashed var(--text-muted);border-radius:var(--radius-l);background:var(--surface-2);color:var(--text);font:inherit;text-align:center;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;touch-action:none;cursor:pointer;place-items:center;display:grid}.gh-secret:focus-visible{outline:3px solid var(--accent-2);outline-offset:2px}.gh-secret--open{border-style:solid;border-color:var(--accent);background:var(--surface)}.gh-secret__label{color:var(--text-muted);font-size:var(--text-m)}.gh-secret__body{gap:var(--space-2);font-size:var(--text-l);flex-direction:column;display:flex}@keyframes gh-pop{0%{opacity:0;transform:scale(.4)}}@keyframes gh-fade{0%{opacity:0}}@keyframes gh-rise{0%{opacity:0;transform:translateY(40px)}}@keyframes gh-toast{0%{opacity:0;transform:translate(-50%,24px)}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:1ms!important;animation-duration:1ms!important}}[data-reduce-motion=true] *,[data-reduce-motion=true] :before,[data-reduce-motion=true] :after{transition-duration:1ms!important;animation-duration:1ms!important}*,:before,:after{box-sizing:border-box}html,body{background:var(--bg);min-height:100%;color:var(--text);font:400 var(--text-m) / 1.45 var(--font-body);-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent;margin:0}button,[role=button],a,img,svg{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}body{overscroll-behavior-y:none;background:0 0}h1{font:800 var(--text-xl) / 1.15 var(--font-display);margin:0 0 var(--space-3);letter-spacing:-.01em}h2{font:700 var(--text-l) / 1.2 var(--font-display);margin:0 0 var(--space-2)}p{margin:0 0 var(--space-3)}input,select,textarea{font:inherit;font-size:max(16px, var(--text-m));color:var(--text);background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-m);min-height:var(--touch);padding:0 var(--space-3);width:100%}input:focus-visible{outline:3px solid var(--accent-2);outline-offset:1px}input[aria-invalid=true]{border-color:var(--danger)}.muted{color:var(--text-muted)}.center{text-align:center}.grow{flex:1}.stack{gap:var(--space-3);flex-direction:column;display:flex}.row{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.error-text{color:var(--danger);font-size:var(--text-s);margin:0}.bg,.room:before{z-index:-1;pointer-events:none;background:radial-gradient(35vmax 35vmax at 20% 25%, var(--bg-glow-1), transparent 70%), radial-gradient(30vmax 30vmax at 80% 70%, var(--bg-glow-2), transparent 70%);animation:24s ease-in-out infinite alternate bg-drift;position:fixed;inset:-20vmax}.room:before{content:""}@media (prefers-reduced-motion:reduce){.bg,.room:before{animation:none}}@keyframes bg-drift{to{transform:translate(4vmax,-3vmax)rotate(8deg)}}.topbar{z-index:20;justify-content:space-between;align-items:center;gap:var(--space-2);padding:calc(var(--space-2) + env(safe-area-inset-top)) calc(var(--space-3) + env(safe-area-inset-right)) var(--space-2) calc(var(--space-3) + env(safe-area-inset-left));display:flex;position:sticky;top:0}.topbar:before{content:"";z-index:-1;pointer-events:none;background:linear-gradient(color-mix(in srgb, var(--bg) 85%, transparent), transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);position:absolute;inset:0 0 -12px;-webkit-mask-image:linear-gradient(#000 55%,#0000);mask-image:linear-gradient(#000 55%,#0000)}.topbar__right{align-items:center;gap:var(--space-2);min-width:0;display:flex}.logo{all:unset;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;align-items:center;gap:var(--space-2);cursor:pointer;min-height:var(--touch);display:flex}.logo__mark{background:conic-gradient(from 200deg, var(--accent), var(--accent-2), var(--accent));width:28px;height:28px;box-shadow:var(--shadow-accent);border-radius:9px;animation:8s linear infinite logo-spin}@keyframes logo-spin{to{transform:rotate(360deg)}}.logo__text{font:800 var(--text-l) / 1 var(--font-display)}.party-strip{all:unset;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;border-radius:var(--radius-full);background:var(--surface);border:1px solid var(--border);cursor:pointer;scrollbar-width:none;align-items:center;gap:2px;max-width:62vw;min-height:36px;padding:4px;display:flex;overflow-x:auto}.party-strip:focus-visible{outline:3px solid var(--accent-2)}.party-strip__plus{border-radius:var(--radius-full);background:var(--accent);width:34px;height:34px;color:var(--accent-ink);flex:none;place-items:center;display:grid}.dot{border-radius:var(--radius-full);flex:none;width:10px;height:10px}.dot--ok{background:var(--success)}.dot--warn{background:var(--warning);animation:1s ease-in-out infinite alternate pulse}.dot--bad{background:var(--danger)}@keyframes pulse{to{opacity:.35}}.screen{padding:var(--space-3) calc(var(--space-4) + env(safe-area-inset-right)) calc(var(--space-7) + env(safe-area-inset-bottom)) calc(var(--space-4) + env(safe-area-inset-left));max-width:1100px;animation:screen-in var(--dur-slow) var(--ease-out);margin:0 auto}.screen--center{text-align:center;flex-direction:column;justify-content:center;align-items:stretch;max-width:480px;min-height:80vh;display:flex}@keyframes screen-in{0%{opacity:0;transform:translateY(8px)}}.welcome__hero{margin-bottom:var(--space-4);place-items:center;display:grid}.welcome form{text-align:left}.field{gap:var(--space-1);flex-direction:column;font-weight:600;display:flex}.color-grid{gap:var(--space-2);grid-template-columns:repeat(6,1fr);display:grid}.color-dot{appearance:none;aspect-ratio:1;min-height:var(--touch);border-radius:var(--radius-full);cursor:pointer;transition:transform var(--dur-fast) var(--ease-spring);border:3px solid #0000}.color-dot--on{border-color:var(--text);transform:scale(1.12)}.search{align-items:center;gap:var(--space-2);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-full);padding:0 var(--space-3);color:var(--text-muted);display:flex}.search input{background:0 0;border:0;padding:0}.tabs{gap:var(--space-2);padding:var(--space-3) 0;scrollbar-width:none;display:flex;overflow-x:auto}.tab{appearance:none;border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:var(--radius-full);min-height:var(--touch);padding:0 var(--space-4);font:600 var(--text-s) / 1 var(--font-body);white-space:nowrap;cursor:pointer}.tab--on{background:var(--accent);color:var(--accent-ink);border-color:#0000}.grid{gap:var(--space-3);grid-template-columns:repeat(auto-fill,minmax(160px,1fr));display:grid}.game-card{appearance:none;text-align:left;gap:var(--space-1);padding:var(--space-4);border-radius:var(--radius-l);background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow);color:var(--text);cursor:pointer;transition:transform var(--dur-m) var(--ease-spring);flex-direction:column;display:flex}.game-card:active{transform:scale(.97)}.game-card__icon{border-radius:var(--radius-m);background:var(--surface-2);width:48px;height:48px;color:var(--accent);place-items:center;display:grid}.game-card__title{font:700 var(--text-m) / 1.2 var(--font-display)}.game-card__short{font-size:var(--text-s);color:var(--text-muted)}.game-card__badges{margin-top:var(--space-1);flex-wrap:wrap;gap:4px;display:flex}.badge{border-radius:var(--radius-full);background:var(--surface-2);color:var(--text-muted);padding:2px 8px;font-size:12px}.badge--tag{box-shadow:inset 0 0 0 1px var(--accent);color:var(--accent);background:0 0}.empty{text-align:center;padding:var(--space-7) var(--space-4)}.empty__art{justify-content:center;gap:var(--space-2);margin-bottom:var(--space-4);display:flex}.empty__art span{border-radius:var(--radius-full);background:var(--accent);width:18px;height:18px;animation:hop .9s var(--ease-spring) infinite alternate}.empty__art span:nth-child(2){background:var(--accent-2);animation-delay:.15s}.empty__art span:nth-child(3){background:var(--warning);animation-delay:.3s}@keyframes hop{to{transform:translateY(-14px)}}.toggle{min-height:var(--touch);justify-content:space-between;align-items:center;font-weight:600;display:flex}.toggle input{width:48px;min-height:28px;accent-color:var(--accent)}.themes{border:1px solid var(--border);border-radius:var(--radius-m);padding:var(--space-3);gap:var(--space-2);display:grid}.theme-chip{align-items:center;gap:var(--space-2);min-height:var(--touch);padding:0 var(--space-3);border-radius:var(--radius-m);background:var(--bg);color:var(--text);cursor:pointer;border:2px solid #0000;display:flex}.theme-chip input{width:auto;min-height:0}.theme-chip--on{border-color:var(--accent)}.theme-chip__swatch{border-radius:var(--radius-full);background:linear-gradient(135deg, var(--accent), var(--accent-2));width:28px;height:28px}.system{z-index:90;padding:var(--space-4);background:var(--overlay);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);animation:gh-fade var(--dur-m) var(--ease-out);place-items:center;display:grid;position:fixed;inset:0}.system__card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-l);width:min(100%,420px);box-shadow:var(--shadow);padding:var(--space-6) var(--space-5);gap:var(--space-3);text-align:center;flex-direction:column;align-items:center;display:flex}.system__card .gh-btn{width:100%}.wake-art{color:var(--accent-2);animation:3s ease-in-out infinite alternate float}@keyframes float{to{transform:translateY(-10px)rotate(-8deg)}}.spinner{border-radius:var(--radius-full);border:4px solid var(--surface-2);border-top-color:var(--accent);width:40px;height:40px;animation:.8s linear infinite logo-spin}.banner{top:calc(56px + env(safe-area-inset-top));z-index:40;align-items:center;gap:var(--space-2);background:var(--warning);color:#1a1400;border-radius:var(--radius-full);padding:var(--space-2) var(--space-4);font-size:var(--text-s);max-width:92vw;font-weight:600;display:flex;position:fixed;left:50%;transform:translate(-50%)}.banner-inline{background:color-mix(in srgb, var(--warning) 25%, transparent);border-radius:var(--radius-m);padding:var(--space-2) var(--space-3);font-size:var(--text-s)}.divider{align-items:center;gap:var(--space-2);color:var(--text-muted);font-size:var(--text-s);display:flex}.divider:before,.divider:after{content:"";background:var(--border);flex:1;height:1px}.code-input{text-transform:uppercase;letter-spacing:.3em;text-align:center;font-weight:800}.invite{align-items:center;gap:var(--space-2);padding:var(--space-4);border-radius:var(--radius-l);background:var(--surface-2);flex-direction:column;display:flex}.invite__code{font:800 var(--text-xxl) / 1 var(--font-display);letter-spacing:.18em}.invite__url{color:var(--text-muted);word-break:break-all;-webkit-user-select:all;user-select:all;font-size:12px}.members{gap:var(--space-2);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.member{align-items:center;gap:var(--space-3);min-height:52px;display:flex}.member__name{text-overflow:ellipsis;white-space:nowrap;flex:1;font-weight:600;overflow:hidden}.member__status{font-size:var(--text-s)}.detail,.lobby{gap:var(--space-4);flex-direction:column;display:flex}.link-back{align-self:flex-start;align-items:center;gap:var(--space-2);min-height:var(--touch);color:var(--text-muted);font:inherit;cursor:pointer;background:0 0;border:0;display:inline-flex}.detail__head{gap:var(--space-4);align-items:center;display:flex}.detail__head h1{margin:0 0 var(--space-1);font-family:var(--font-display);font-size:var(--text-xl)}.detail__head p{margin:0 0 var(--space-2)}.howto{gap:var(--space-2);flex-direction:column;margin:0;padding-left:1.3em;display:flex}.detail__actions{margin-top:var(--space-1)}.why{gap:var(--space-2);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.why li:before{content:"★";margin-right:var(--space-2);color:var(--accent)}.guide h3{margin:var(--space-3) 0 var(--space-2);font-size:var(--text-m)}.faq{border-top:1px solid var(--border);padding:var(--space-2) 0}.faq summary{min-height:var(--touch);cursor:pointer;align-items:center;font-weight:600;display:flex}.faq p{margin:0 0 var(--space-2);color:var(--text-muted)}.setting{justify-content:space-between;align-items:center;gap:var(--space-3);min-height:var(--touch);display:flex}.setting--wide{flex-direction:column;align-items:stretch}.stepper{align-items:center;gap:var(--space-2);display:flex}.stepper output{text-align:center;font-variant-numeric:tabular-nums;min-width:4.5em;font-weight:700}.choice{gap:var(--space-2);flex-wrap:wrap;display:flex}.lobby__players{gap:var(--space-3);grid-template-columns:repeat(auto-fill,minmax(76px,1fr));margin:0;padding:0;list-style:none;display:grid}.lobby__players li{align-items:center;gap:var(--space-1);font-size:var(--text-s);text-align:center;overflow-wrap:anywhere;flex-direction:column;display:flex}.room{z-index:20;isolation:isolate;background:var(--bg);padding-top:env(safe-area-inset-top);padding-bottom:env(safe-area-inset-bottom);flex-direction:column;display:flex;position:fixed;inset:0}.room__bar{align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-4);border-bottom:1px solid var(--border);min-height:52px;display:flex}.room__title{font-family:var(--font-display);font-size:var(--text-l);white-space:nowrap;text-overflow:ellipsis;flex:1;overflow:hidden}.room__stage{flex:1;position:relative;overflow:auto}.room__stage>.center{padding:var(--space-6) var(--space-4)}.cover{z-index:30;justify-content:center;align-items:center;gap:var(--space-4);background:var(--overlay);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);flex-direction:column;display:flex;position:absolute;inset:0}.cover__title{font-family:var(--font-display);font-size:var(--text-xl);margin:0}.room__end{justify-content:space-between;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-top:1px solid var(--border);background:var(--surface);display:flex}.seats{gap:var(--space-2);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.seats li{align-items:center;gap:var(--space-2);display:flex}.seats input{min-width:0;min-height:var(--touch);padding:0 var(--space-3);border-radius:var(--radius-s);border:1px solid var(--border);background:var(--surface-2);color:var(--text);font-size:var(--text-m);flex:1}.reactions{z-index:35;pointer-events:none;position:fixed;inset:0;overflow:hidden}.reaction{color:var(--accent);filter:drop-shadow(0 2px 6px #0006);flex-direction:column;align-items:center;gap:2px;display:flex;position:absolute}.reaction__who{border-radius:var(--radius-full);background:var(--surface);color:var(--text);white-space:nowrap;padding:0 6px;font-size:12px}.reaction--rise{animation:reaction-rise 2.5s var(--ease-out) forwards;bottom:-60px}.reaction--targeted{animation:2.5s linear forwards reaction-fly;top:0;left:0}.reaction--targeted .reaction__who{position:absolute;top:100%;left:50%;translate:-50%}.reaction--tomato{color:#e63946}.reaction--heart{color:#ff4d8d}.reaction--clap,.reaction--laugh{color:#ffb703}.reaction--shock{color:var(--accent-2)}.reaction--poke{color:var(--text)}@keyframes reaction-rise{to{opacity:0;transform:translateY(-70vh)}}@keyframes reaction-fly{0%{opacity:0;animation-timing-function:cubic-bezier(.2,.7,.3,1);transform:translate(calc(50vw - 50%),100vh)scale(.6)rotate(-200deg)}8%{opacity:1}30%{transform:translate(calc(var(--to-x) - 50%), calc(var(--to-y) - 50%)) scale(1) rotate(0deg)}36%{transform:translate(calc(var(--to-x) - 50%), calc(var(--to-y) - 50%)) scale(1.5, .6)}80%{opacity:1}to{transform:translate(calc(var(--to-x) - 50%), calc(var(--to-y) - 50%)) scale(1.5, .6);opacity:0}}.member-dot{display:inline-flex;position:relative}.splat{mix-blend-mode:multiply;pointer-events:none;background:radial-gradient(circle at 42% 38%,#ff8a8a 0 18%,#e63946 19% 58%,#e6394600 60%),#e63946cc;border-radius:50%;animation:1.75s ease-out .75s both splat;position:absolute;inset:-3px}@keyframes splat{0%{opacity:0;transform:scale(.2)}10%{opacity:1;transform:scale(1.25)}20%{transform:scale(1)}75%{opacity:.9}to{opacity:0}}.reaction-bar{gap:var(--space-1);flex-wrap:wrap;display:flex}.reaction-btn{min-width:var(--touch);min-height:var(--touch)}.shake{animation:.25s ease-in-out .75s 3 shake;display:inline-flex}@keyframes shake{25%{transform:translate(-4px)rotate(-6deg)}75%{transform:translate(4px)rotate(6deg)}}.sr-only{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.room__reactions{padding:var(--space-1) var(--space-3);border-bottom:1px solid var(--border);justify-content:center;display:flex}.member .reaction-bar{flex-wrap:nowrap}.secret-curtain{z-index:1000;background:var(--bg);opacity:0;pointer-events:none;position:fixed;inset:0}.sp{gap:var(--space-4);flex-direction:column;display:flex}.sp__bar{justify-content:space-between;align-items:center;display:flex}.sp__intro h1{font-family:var(--font-display);margin:0}.sp__countdown{place-items:center;min-height:50vh;display:grid}.sp__result{text-align:center}.sp__score{margin:var(--space-5) 0 0;font:800 72px / 1 var(--font-display);color:var(--accent);font-variant-numeric:tabular-nums}.race-pick,.race-shuffle{gap:var(--space-2);flex-wrap:wrap;align-items:end;display:flex}.field--inline input{width:5em}.race-list{gap:var(--space-2);margin:0;padding:0;list-style:none;display:grid}.race-list__item,.race-scores li,.race-total{align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);border-radius:var(--radius-m);background:var(--surface-2);display:flex}.race-list__n,.race-rank{font-variant-numeric:tabular-nums;min-width:2ch;font-weight:800}.badge--double{background:var(--accent);color:var(--bg);font-weight:800}.race__bar{justify-content:space-between;align-items:center;gap:var(--space-2);display:flex}.race-intro,.race-wait,.race-final{text-align:center;align-items:center}.race-intro{padding-top:var(--space-5)}.race-intro h1,.race-board h1,.race-final h1{font-family:var(--font-display);margin:0}.race-intro__how{max-width:32ch}.race-intro__bar{border-radius:var(--radius-full);background:var(--surface-2);width:min(16rem,80%);height:6px;overflow:hidden}.race-intro__bar span{background:var(--accent);transform-origin:0;height:100%;animation:linear both race-bar;display:block}@keyframes race-bar{0%{transform:scaleX(1)}to{transform:scaleX(0)}}.race-banner{padding:var(--space-2) var(--space-4);border-radius:var(--radius-full);background:var(--accent);color:#fff;font:800 1.6rem / 1.2 var(--font-display);letter-spacing:.02em;margin:0;animation:.6s ease-out both race-pop}.race-banner--sudden{color:#fff;background:#d7263d}@keyframes race-pop{0%{opacity:0;transform:scale(.6)}}.race-wait__title{font:700 var(--text-l) / 1.2 var(--font-display)}.race-dots{justify-content:center;gap:var(--space-2);flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.race-dots li{opacity:.45;transition:opacity .3s}.race-dots li.is-done{opacity:1}.race-scores,.race-totals{gap:var(--space-2);margin:0;padding:0;list-style:none;display:grid}.race-num{font-variant-numeric:tabular-nums;font-weight:800}.race-label{opacity:.8}.race-up{color:#2bb673;font-weight:700}.race-down{color:#d7263d;font-weight:700}.race-total{animation:.8s ease-out both race-shift}@keyframes race-shift{0%{transform:translateY(calc(var(--rank-shift,0) * 100%))}}[data-reduce-motion=true] .race-total,[data-reduce-motion=true] .race-banner{animation:none}.podium{justify-content:center;align-items:end;gap:var(--space-2);margin:0;padding:0;list-style:none;display:flex}.podium__step{align-items:center;gap:var(--space-1);flex-direction:column;min-width:6.5rem;display:flex}.podium__step--1{order:2}.podium__step--2{order:1}.podium__step--3{order:3}.podium__rank{border-radius:var(--radius-m) var(--radius-m) 0 0;background:var(--surface-2);width:100%;font:800 var(--text-l) / 1 var(--font-display);padding-top:var(--space-2)}.podium__step--1 .podium__rank{background:var(--accent);height:6rem;color:var(--bg)}.podium__step--2 .podium__rank{height:4.5rem}.podium__step--3 .podium__rank{height:3rem}.podium__name{font-weight:700}.confetti{pointer-events:none;opacity:0;background-image:radial-gradient(circle,#ffd23f 0 4px,#0000 5px),radial-gradient(circle,#ee4266 0 4px,#0000 5px),radial-gradient(circle,#3bceac 0 4px,#0000 5px),radial-gradient(circle,#540d6e 0 4px,#0000 5px);background-position:0 0,40px 30px,20px 60px,70px 10px;background-size:90px 110px,130px 90px,70px 120px,110px 70px;animation:3s linear 2 forwards confetti-fall;position:fixed;inset:0}@keyframes confetti-fall{0%{opacity:1;transform:translateY(-100%)}to{opacity:0;transform:translateY(100%)}}.race-board h1 .badge{margin-left:var(--space-2);vertical-align:middle}.sudden{--accent:#e0263d;--accent-2:#ff8a3d;border-radius:var(--radius-l);background:radial-gradient(circle at 50% 40%,#e0263d2e,#0000 70%)}.race[data-sudden=true] .race__bar{color:#ff6b7d}.guides{gap:var(--space-2);flex-direction:column;display:flex}.guides__head{justify-content:space-between;align-items:baseline;display:flex}.guides__head h2,.guides__title{font:700 var(--text-l) / 1.2 var(--font-display);margin:0}.link-more{min-height:var(--touch);color:var(--accent);font:inherit;cursor:pointer;background:0 0;border:0;font-weight:600}.guides__row{gap:var(--space-3);scroll-snap-type:x mandatory;padding-bottom:var(--space-2);margin:0 calc(-1 * var(--space-4));padding-inline:var(--space-4);display:flex;overflow-x:auto}.guides__row .guide-card{scroll-snap-align:start;flex:0 0 200px}.guide-card{appearance:none;text-align:left;gap:var(--space-1);padding:var(--space-3) var(--space-4);border-radius:var(--radius-l);background:var(--surface);border:1px solid var(--border);color:var(--text);cursor:pointer;transition:transform var(--dur-m) var(--ease-spring);flex-direction:column;display:flex}.guide-card:active{transform:scale(.97)}.picks{gap:var(--space-2);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.pick{appearance:none;text-align:left;gap:var(--space-1);width:100%;padding:var(--space-3);border-radius:var(--radius-m);background:var(--surface-2);border:1px solid var(--border);color:var(--text);font:inherit;cursor:pointer;flex-direction:column;display:flex}.pick__why{font-size:var(--text-s);color:var(--text-muted)}.set-list,.set-items{gap:var(--space-2);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.set-item{align-items:center;gap:var(--space-2);display:flex}.set-item__body{appearance:none;min-width:0;min-height:var(--touch);padding:var(--space-2) var(--space-3);border-radius:var(--radius-m);background:var(--surface);border:1px solid var(--border);color:var(--text);font:inherit;text-align:left;overflow-wrap:anywhere;cursor:pointer;flex-direction:column;flex:1;align-items:flex-start;gap:2px;display:flex}.set-code{width:100%;font-family:ui-monospace,monospace;font-size:var(--text-s);word-break:break-all}
