:root{--blue: #0a84ff;--blue-core: #0072b2;--blue-glow: #38bdf8;--blue-deep: #06365a;--amber: #ff9f0a;--amber-core: #e69f00;--amber-glow: #ffcb47;--amber-deep: #5a3c00;--bg-0: #070912;--bg-1: #0b1020;--bg-2: #11182e;--surface: #161e38;--surface-2: #1d274a;--hex-neutral-1: #28324f;--hex-neutral-2: #1a2440;--line: rgba(150, 170, 220, .14);--line-strong: rgba(160, 185, 235, .28);--gold: #ffd35c;--ta: #0a84ff;--ta-light: #3aa0ff;--ta-deep: #0a5bbd;--ta-glow: #38bdf8;--ta-stroke: #7cc4ff;--tb: #ff9f0a;--tb-light: #ffb43a;--tb-deep: #d97b00;--tb-glow: #ffcb47;--tb-stroke: #ffd27a;--text: #f3f6ff;--text-dim: #aeb9d8;--text-faint: #6b769a;--font-display: "Bricolage Grotesque", "Sora", system-ui, sans-serif;--font-body: "Sora", system-ui, -apple-system, sans-serif;--t-hero: clamp(1.9rem, min(7vw, 7.5vh), 4.6rem);--t-h1: clamp(1.7rem, min(4.5vw, 5.5vh), 3.2rem);--t-h2: clamp(1.4rem, 3vw, 2rem);--t-h3: 1.25rem;--t-body: 1.0625rem;--t-sm: .9rem;--t-xs: .78rem;--s-1: 4px;--s-2: 8px;--s-3: 16px;--s-4: 24px;--s-5: 32px;--s-6: 48px;--s-7: 64px;--r-sm: 10px;--r-md: 16px;--r-lg: 24px;--r-xl: 32px;--shadow-1: 0 2px 8px rgba(0, 0, 0, .3);--shadow-2: 0 10px 30px rgba(0, 0, 0, .45);--shadow-3: 0 24px 60px rgba(0, 0, 0, .55);--ease-out: cubic-bezier(.22, 1, .36, 1);--ease-back: cubic-bezier(.34, 1.56, .64, 1);--dur-fast: 90ms;--dur-mid: .28s;--dur-slow: .46s;--tv-safe: 0px;color-scheme:dark}html[data-font=hyperlegible]{--font-body: "Atkinson Hyperlegible", "Sora", system-ui, sans-serif}html[data-font=lexend]{--font-body: "Lexend", "Sora", system-ui, sans-serif}html[data-textscale=large]{font-size:16.5px}html[data-textscale=xlarge]{font-size:17.5px}*{box-sizing:border-box}html{height:100%}body,#root{margin:0;height:100vh;height:100svh;overflow:hidden}body{font-family:var(--font-body);font-size:var(--t-body);line-height:1.5;color:var(--text);background:radial-gradient(1200px 700px at 50% -10%,rgba(56,130,246,.16),transparent 60%),radial-gradient(1000px 800px at 110% 110%,rgba(255,159,10,.1),transparent 55%),radial-gradient(900px 600px at -10% 100%,rgba(56,130,246,.08),transparent 55%),var(--bg-0);background-attachment:fixed;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overflow-x:hidden}body:before{content:"";position:fixed;inset:0;pointer-events:none;z-index:0;opacity:.5;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='56' height='100' viewBox='0 0 56 100'%3E%3Cg fill='none' stroke='%23ffffff' stroke-opacity='0.03' stroke-width='1'%3E%3Cpath d='M28 0l24 14v28L28 56 4 42V14z'/%3E%3Cpath d='M28 50l24 14v28L28 106 4 92V64z'/%3E%3C/g%3E%3C/svg%3E")}h1,h2,h3{font-family:var(--font-display);font-weight:800;line-height:1.04;letter-spacing:-.02em;margin:0}button{font-family:var(--font-body);cursor:pointer}:focus-visible{outline:3px solid var(--blue-glow);outline-offset:2px;border-radius:6px}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}}html[data-motion=reduced] *,html[data-motion=reduced] *:before,html[data-motion=reduced] *:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}#boot-splash{position:fixed;inset:0;z-index:9999;display:grid;place-content:center;justify-items:center;gap:22px;background:var(--bg-0);transition:opacity .5s ease}#boot-splash.hide{opacity:0;pointer-events:none}.boot-hex{width:64px;height:72px;background:linear-gradient(135deg,var(--blue),var(--amber));clip-path:polygon(50% 0,100% 25%,100% 75%,50% 100%,0 75%,0 25%);animation:bootspin 1.1s var(--ease-out) infinite alternate;box-shadow:0 0 40px #3882f699}.boot-name{font-family:Bricolage Grotesque,sans-serif;font-weight:800;letter-spacing:.28em;color:var(--text-dim);font-size:.9rem}@keyframes bootspin{0%{transform:rotate(-8deg) scale(.9)}to{transform:rotate(8deg) scale(1.05)}}.ll-app{position:relative;z-index:1;height:100vh;height:100svh;overflow:hidden}.ll-screen{height:100vh;height:100svh;display:flex;flex-direction:column;overflow:hidden;padding:max(clamp(10px,2.2vh,var(--s-4)),var(--tv-safe),env(safe-area-inset-top)) max(clamp(var(--s-3),3vw,var(--s-5)),env(safe-area-inset-right)) max(clamp(10px,2vh,var(--s-4)),env(safe-area-inset-bottom)) max(clamp(var(--s-3),3vw,var(--s-5)),env(safe-area-inset-left))}.ll-screen>*{flex:1;min-height:0;width:100%;display:flex;flex-direction:column}.btn{border:1px solid transparent;border-radius:var(--r-md);padding:12px 22px;font-size:var(--t-body);font-weight:600;color:var(--text);background:var(--surface-2);transition:transform var(--dur-fast) var(--ease-out),background var(--dur-fast),box-shadow var(--dur-fast),filter var(--dur-fast);-webkit-tap-highlight-color:transparent}.btn:hover{transform:translateY(-2px)}.btn:active{transform:translateY(0) scale(.98)}.btn-primary{background:linear-gradient(135deg,var(--blue),#2563eb);box-shadow:0 8px 24px #0a84ff66;border-color:#ffffff24}.btn-primary:hover{box-shadow:0 12px 32px #0a84ff8c}.btn-secondary{background:var(--surface-2);border-color:var(--line-strong)}.btn-ghost{background:transparent;border-color:transparent;color:var(--text-dim)}.btn-ghost:hover{background:#ffffff0f;color:var(--text)}.btn-lg{padding:16px 34px;font-size:1.15rem;border-radius:var(--r-lg)}.btn.block{width:100%;display:block}.btn.sm{padding:8px 14px;font-size:var(--t-sm)}.icon-btn{width:44px;height:44px;border-radius:50%;border:1px solid var(--line);background:var(--surface);color:var(--text);font-size:1.1rem;display:grid;place-content:center;transition:background var(--dur-fast),transform var(--dur-fast)}.icon-btn:hover{background:var(--surface-2);transform:scale(1.06)}.grad-text{background:linear-gradient(100deg,var(--blue-glow),var(--amber-glow));-webkit-background-clip:text;background-clip:text;color:transparent}.grad-text-A{color:var(--ta-glow)}.grad-text-B{color:var(--tb-glow)}.muted{color:var(--text-faint);font-size:var(--t-sm)}.brand{display:flex;align-items:center;gap:12px}.ll-wordmark{font-family:var(--font-display);font-weight:800;font-size:1.5rem;letter-spacing:-.02em}.ll-wordmark .lock{color:var(--amber-glow)}.lock-emoji{font-size:.85em;margin-left:2px}.home{max-width:1100px;margin:0 auto;gap:clamp(10px,2vh,28px)}.home-top{flex:0 0 auto;display:flex;justify-content:space-between;align-items:center}.home-top-actions{display:flex;gap:10px;align-items:center}.hero{flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain;display:flex;flex-direction:column;justify-content:center;text-align:center;gap:clamp(10px,1.8vh,24px)}.hero-title{font-size:var(--t-hero);margin:0 auto;max-width:14ch}.hero-sub{max-width:56ch;margin:0 auto;color:var(--text-dim);font-size:clamp(.95rem,1.6vh,1.2rem)}.hero-cta{display:flex;gap:14px;justify-content:center;flex-wrap:wrap}.packs{flex:0 0 auto}.section-head{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:var(--s-3)}.section-head h2{font-size:var(--t-h2)}.pack-grid{display:flex;gap:clamp(8px,1.4vh,16px);overflow-x:auto;overflow-y:hidden;scroll-snap-type:x proximity;padding:4px 2px 10px;scrollbar-width:thin;scrollbar-color:var(--line-strong) transparent;-webkit-overflow-scrolling:touch}.pack-grid::-webkit-scrollbar{height:8px}.pack-grid::-webkit-scrollbar-thumb{background:var(--line-strong);border-radius:999px}.pack-card{--accent: var(--blue);flex:0 0 clamp(190px,58vw,250px);scroll-snap-align:start;text-align:left;display:flex;align-items:center;gap:14px;padding:var(--s-3);border-radius:var(--r-lg);background:linear-gradient(160deg,var(--surface),var(--bg-2));border:1px solid var(--line);position:relative;overflow:hidden;transition:transform var(--dur-fast) var(--ease-out),border-color var(--dur-fast),box-shadow var(--dur-mid)}.pack-card:before{content:"";position:absolute;inset:0 auto 0 0;width:4px;background:var(--accent);opacity:.8}.pack-card:hover{border-color:var(--line-strong);box-shadow:var(--shadow-2)}.pack-card.active{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent),var(--shadow-2)}.pack-emoji{font-size:2.2rem;flex-shrink:0}.pack-name{font-family:var(--font-display);font-weight:700;font-size:1.2rem}.pack-desc{color:var(--text-dim);font-size:var(--t-sm);margin:4px 0 10px}.pack-body{display:flex;flex-direction:column;justify-content:center;min-width:0;flex:1}.pack-meta{display:flex;gap:8px;flex-wrap:wrap}.chip{font-size:var(--t-xs);padding:3px 10px;border-radius:999px;background:#ffffff14;text-transform:capitalize;font-weight:600}.chip.ghost{background:transparent;border:1px solid var(--line);color:var(--text-dim)}.pack-check{position:absolute;top:12px;right:12px;width:26px;height:26px;border-radius:50%;background:var(--accent);color:#fff;display:grid;place-content:center;font-size:.8rem;font-weight:700}.home-foot{flex:0 0 auto;text-align:center;color:var(--text-faint);font-size:var(--t-sm)}.sub-head{flex:0 0 auto;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:var(--s-3);max-width:980px;width:100%;margin:0 auto}.sub-head h1{font-size:var(--t-h1);text-align:center}.sub-head>:first-child{justify-self:start}.sub-head>:last-child{justify-self:end}.pack-pill{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;border-radius:999px;background:var(--surface);border:1px solid var(--line);font-size:var(--t-sm)}.setup{max-width:760px;margin:0 auto;gap:clamp(8px,1.5vh,16px)}.setup-body{flex:1 1 auto;min-height:0;display:flex;flex-direction:column;justify-content:center;gap:clamp(8px,1.5vh,18px);overflow-y:auto;overscroll-behavior:contain}.teams-setup{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:var(--s-3)}.team-field{display:flex;flex-direction:column;align-items:center;gap:10px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);padding:12px}.team-field.team-a{border-color:color-mix(in srgb,var(--ta) 55%,transparent)}.team-field.team-b{border-color:color-mix(in srgb,var(--tb) 55%,transparent)}.team-name{color:var(--text);font-size:1.2rem;font-weight:800;font-family:var(--font-display);text-align:center}.team-field.team-a .team-name{color:var(--ta-glow)}.team-field.team-b .team-name{color:var(--tb-glow)}.swatches{display:flex;gap:8px;justify-content:center;flex-wrap:wrap}.swatch{width:28px;height:28px;border-radius:50%;border:2px solid transparent;padding:0;cursor:pointer;transition:transform var(--dur-fast) var(--ease-out),box-shadow var(--dur-fast)}.swatch:hover{transform:scale(1.12)}.swatch.active{border-color:#fff;box-shadow:0 0 0 2px #ffffff47;transform:scale(1.12)}.vs{font-family:var(--font-display);font-weight:800;color:var(--text-faint)}.setup-row{display:flex;flex-direction:column;gap:10px}.setup-row>.switch{align-self:flex-start}.setup-label{font-weight:600;font-size:1.05rem;display:flex;flex-direction:column}.setup-hint{font-weight:400;font-size:var(--t-sm);color:var(--text-faint);margin-top:2px}.choice-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:10px}.choice{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);padding:14px 10px;display:flex;flex-direction:column;gap:2px;align-items:center;transition:border-color var(--dur-fast),background var(--dur-fast),transform var(--dur-fast);color:var(--text)}.choice:hover{transform:translateY(-2px)}.choice.active{border-color:var(--blue);background:#0a84ff1f;box-shadow:inset 0 0 0 1px var(--blue)}.choice-label{font-weight:700;font-size:1.05rem}.choice-sub{font-size:var(--t-xs);color:var(--text-faint)}.start-btn{flex:0 0 auto;margin-top:0}.switch{width:56px;height:32px;border-radius:999px;background:var(--surface-2);border:1px solid var(--line);position:relative;transition:background var(--dur-fast);flex-shrink:0}.switch .knob{position:absolute;top:3px;left:3px;width:24px;height:24px;border-radius:50%;background:#fff;transition:transform var(--dur-mid) var(--ease-back)}.switch.on{background:var(--blue)}.switch.on .knob{transform:translate(24px)}.game{max-width:1400px;margin:0 auto;display:flex;flex-direction:column;gap:clamp(8px,1.4vh,16px)}.game-head{flex:0 0 auto;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:var(--s-3)}.game-head-spacer{width:70px}.game-main{flex:1;min-height:0;display:grid;grid-template-columns:minmax(0,1.5fr) minmax(320px,1fr);gap:var(--s-4);align-items:stretch}.board-wrap{position:relative;min-height:0;min-width:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:clamp(6px,1.2vh,12px)}.board-stage{flex:1 1 auto;min-height:0;min-width:0;width:100%;display:flex;align-items:center;justify-content:center}.ll-board{width:100%;height:100%;max-width:720px;filter:drop-shadow(0 20px 48px rgba(0,0,0,.5));touch-action:manipulation}.pie-banner,.turn-banner{flex:0 0 auto}.ll-hex .hex-base{transition:fill var(--dur-mid) var(--ease-out)}.ll-hex .hex-letter{font-family:var(--font-display);font-weight:800;pointer-events:none;user-select:none;transition:fill var(--dur-mid)}.ll-hex.claimable{cursor:pointer}.ll-hex.claimable .hex-base{fill:url(#fillNeutral)}.ll-hex.claimable:hover .hex-base,.ll-hex.claimable:focus-visible .hex-base{fill:url(#fillNeutralHover)}.ll-hex.claimable:hover{transform:translateY(-2px)}.ll-hex:focus,.ll-hex:focus-visible,.ll-hex polygon:focus{outline:none}.ll-hex.selected .hex-base{fill:url(#fillSelected)}.ll-hex.selected .hex-stroke{stroke:#b9c6e6;stroke-width:2.5}.ll-hex.selected{animation:selectedPulse 1.3s ease-in-out infinite alternate}@keyframes selectedPulse{0%{filter:brightness(1)}to{filter:brightness(1.09)}}.ll-hex{transform-box:fill-box;transform-origin:center;transition:transform var(--dur-fast) var(--ease-out)}.ll-hex.owned .hex-letter{filter:drop-shadow(0 1px 2px rgba(0,0,0,.4))}.ll-hex.just-claimed{animation:claimPop var(--dur-mid) var(--ease-back)}@keyframes claimPop{0%{transform:scale(.6)}55%{transform:scale(1.12)}to{transform:scale(1)}}.ll-hex.win .hex-base{animation:winGlow 1.4s ease-in-out infinite alternate}@keyframes winGlow{0%{filter:brightness(1)}to{filter:brightness(1.35) drop-shadow(0 0 8px currentColor)}}.ll-trace .trace-spark{stroke-dasharray:1000;stroke-dashoffset:1000;animation:traceDraw .9s var(--ease-out) forwards,sparkPulse 1.6s ease-in-out .9s infinite}@keyframes traceDraw{to{stroke-dashoffset:0}}@keyframes sparkPulse{0%,to{opacity:.6}50%{opacity:1}}.turn-banner{display:inline-flex;align-items:center;gap:10px;padding:10px 20px;border-radius:999px;background:var(--surface);border:1px solid var(--line-strong);font-size:1.05rem;animation:bannerIn var(--dur-mid) var(--ease-back)}@keyframes bannerIn{0%{opacity:0;transform:translateY(8px) scale(.96)}to{opacity:1;transform:none}}.turn-banner .dot,.dot{width:14px;height:16px;display:inline-block;clip-path:polygon(50% 0,100% 25%,100% 75%,50% 100%,0 75%,0 25%)}.dot.team-A,.turn-banner.team-A .dot{background:var(--ta)}.dot.team-B,.turn-banner.team-B .dot{background:var(--tb)}.turn-banner.team-A{box-shadow:0 0 0 1px var(--ta),0 8px 24px color-mix(in srgb,var(--ta) 25%,transparent)}.turn-banner.team-B{box-shadow:0 0 0 1px var(--tb),0 8px 24px color-mix(in srgb,var(--tb) 25%,transparent)}.turn-dir{color:var(--text-faint);font-size:var(--t-sm)}.block-toast{position:absolute;top:38%;left:50%;translate:-50% -50%;z-index:20;font-family:var(--font-display);font-weight:800;font-size:clamp(1.8rem,5vw,3rem);letter-spacing:.04em;color:#fff;padding:10px 26px;border-radius:999px;background:linear-gradient(120deg,var(--amber),#ff5d5d);box-shadow:0 12px 40px #ff5d5d80;pointer-events:none;white-space:nowrap}.series-pips{display:flex;gap:5px;margin-top:2px}.team-panel.team-B .series-pips{justify-content:flex-end}.pip{width:9px;height:9px;border-radius:50%;background:#ffffff29;transition:background var(--dur-mid),box-shadow var(--dur-mid)}.team-panel.team-A .pip.filled{background:var(--ta-glow);box-shadow:0 0 8px var(--ta)}.team-panel.team-B .pip.filled{background:var(--tb-glow);box-shadow:0 0 8px var(--tb)}.pie-banner{display:flex;align-items:center;gap:14px;background:linear-gradient(120deg,#ff9f0a29,#0a84ff29);border:1px solid var(--line-strong);border-radius:var(--r-md);padding:12px 16px;font-size:var(--t-sm);max-width:720px}.pie-banner span{flex:1}.game-side{min-height:0;min-width:0;display:flex;flex-direction:column;justify-content:center;overflow-y:auto;overscroll-behavior:contain}.question-zone{display:flex;flex-direction:column;gap:clamp(8px,1.4vh,16px)}.pick-help{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:var(--s-5) var(--s-4);text-align:center}.pick-help-icon{font-size:2.6rem;color:var(--blue-glow)}.pick-help h3{margin:var(--s-2) 0;font-size:var(--t-h3)}.pick-help p{color:var(--text-dim);font-size:var(--t-sm)}.qcard{background:linear-gradient(165deg,var(--surface),var(--bg-2));border:1px solid var(--line-strong);border-radius:var(--r-lg);padding:var(--s-4);box-shadow:var(--shadow-2)}.qcard-top{display:flex;align-items:center;gap:14px;margin-bottom:var(--s-3)}.letter-badge{width:60px;height:66px;flex-shrink:0;display:grid;place-content:center;font-family:var(--font-display);font-weight:800;font-size:2rem;color:#fff;clip-path:polygon(50% 0,100% 25%,100% 75%,50% 100%,0 75%,0 25%)}.letter-badge.team-A{background:linear-gradient(160deg,var(--ta-light),var(--ta-deep))}.letter-badge.team-B{background:linear-gradient(160deg,var(--tb-light),var(--tb-deep))}.qcard-meta{flex:1}.qcard-picker{display:flex;align-items:center;gap:8px;font-weight:600}.qcard-rule{font-size:var(--t-sm);color:var(--text-faint)}.qcard-flag-wrap{display:flex;justify-content:center;margin-bottom:var(--s-3)}.qcard-flag{width:auto;max-width:100%;max-height:clamp(80px,18vh,168px);border-radius:12px;border:1px solid var(--line-strong);box-shadow:var(--shadow-2);object-fit:contain;background:#fff;padding:clamp(8px,1.8vh,16px)}.qcard-audio{width:100%;height:40px;margin-bottom:var(--s-3)}.qcard-video-wrap{display:flex;justify-content:center;margin-bottom:var(--s-3)}.qcard-video{width:auto;max-width:100%;max-height:clamp(120px,28vh,260px);border-radius:10px;background:#000;border:1px solid var(--line-strong)}.qcard-q{font-size:clamp(1.2rem,2.4vw,1.6rem);font-weight:500;line-height:1.35;margin:0 0 var(--s-3)}.qcard-answer{display:flex;flex-wrap:wrap;align-items:center;gap:12px}.answer-reveal{display:inline-flex;align-items:baseline;gap:10px;background:#38bdf81f;border:1px solid rgba(56,189,248,.4);border-radius:var(--r-md);padding:10px 18px}.answer-label{font-size:var(--t-xs);text-transform:uppercase;letter-spacing:.1em;color:var(--text-faint)}.answer-value{font-family:var(--font-display);font-weight:800;font-size:1.5rem;color:var(--blue-glow)}.qcard-answer .skip{margin-left:auto}.hostpad{display:grid;grid-template-columns:1fr 1fr;gap:10px}.award{border:1px solid var(--line-strong);border-radius:var(--r-md);padding:16px;font-weight:700;font-size:1.05rem;color:var(--text);background:var(--surface-2);display:flex;flex-direction:column;gap:2px;transition:transform var(--dur-fast),filter var(--dur-fast),box-shadow var(--dur-fast)}.award:hover{transform:translateY(-2px);filter:brightness(1.08)}.award:active{transform:scale(.98)}.award-sub{font-size:var(--t-xs);font-weight:500;opacity:.8}.award.team-A{background:linear-gradient(160deg,var(--ta-light),var(--ta-deep));border-color:color-mix(in srgb,var(--ta-stroke) 60%,transparent);color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.45)}.award.team-B{background:linear-gradient(160deg,var(--tb-light),var(--tb-deep));border-color:color-mix(in srgb,var(--tb-stroke) 60%,transparent);color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.45)}.award.subtle{filter:saturate(.7) brightness(.85)}.award.primary{box-shadow:0 6px 18px #0000004d}.award.none{background:var(--surface);color:var(--text-dim)}.award.undo{background:transparent;border-color:var(--line);color:var(--text-dim)}.award.undo:disabled{opacity:.35;cursor:not-allowed;transform:none}.timer{display:flex;align-items:center;gap:12px}.timer-bar{flex:1;height:10px;border-radius:999px;background:var(--surface-2);overflow:hidden}.timer-fill{height:100%;width:100%;transform-origin:left;background:linear-gradient(90deg,var(--blue-glow),var(--blue));will-change:transform}.timer.urgent .timer-fill{background:linear-gradient(90deg,var(--amber-glow),var(--amber))}.timer.urgent{animation:urgentPulse .8s ease-in-out infinite}@keyframes urgentPulse{50%{opacity:.7}}.timer-num{font-variant-numeric:tabular-nums;font-weight:700;min-width:40px;text-align:right}.timer-label{font-size:var(--t-xs);font-weight:700;color:var(--text-dim);white-space:nowrap;max-width:11ch;overflow:hidden;text-overflow:ellipsis}.timer.steal .timer-label{color:var(--amber-glow)}.timer.steal .timer-fill{background:linear-gradient(90deg,var(--amber-glow),var(--amber))}.timer.done .timer-num,.timer.done .timer-label{color:var(--amber-glow)}.scoreboard{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:var(--s-3);background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:10px 16px}.team-panel{position:relative;display:flex;flex-direction:column;gap:2px;padding:8px 14px;border-radius:var(--r-md);transition:background var(--dur-mid)}.team-panel.team-B{text-align:right;align-items:flex-end}.team-panel.active.team-A{background:color-mix(in srgb,var(--ta) 16%,transparent)}.team-panel.active.team-B{background:color-mix(in srgb,var(--tb) 16%,transparent)}.team-panel-top{display:flex;align-items:center;gap:8px;font-size:var(--t-sm)}.team-panel.team-B .team-panel-top{flex-direction:row-reverse}.team-chip{display:inline-flex;align-items:center;gap:6px;font-weight:700}.team-dir{font-size:var(--t-xs);color:var(--text-faint);font-variant-numeric:tabular-nums}.team-score{font-family:var(--font-display);font-weight:800;font-size:2rem;line-height:1}.team-panel.team-A .team-score{color:var(--ta-glow)}.team-panel.team-B .team-score{color:var(--tb-glow)}.team-score-need{font-size:.9rem;color:var(--text-faint)}.team-stats{display:flex;gap:12px;font-size:var(--t-xs);color:var(--text-dim)}.score-mid{text-align:center;display:flex;flex-direction:column;gap:2px}.mode-tag{font-size:var(--t-xs);color:var(--text-faint);text-transform:uppercase;letter-spacing:.06em}.vs-mini{font-family:var(--font-display);font-weight:800;color:var(--text-dim)}.gameover-scrim,.modal-scrim{position:fixed;inset:0;z-index:50;display:grid;place-content:center;padding:var(--s-4);background:#05070eb3;backdrop-filter:blur(6px)}.gameover-card{background:linear-gradient(165deg,var(--surface),var(--bg-1));border:1px solid var(--line-strong);border-radius:var(--r-xl);padding:var(--s-5);text-align:center;max-width:420px;box-shadow:var(--shadow-3)}.go-badge,.victory-crown{font-family:var(--font-display)}.go-badge{display:inline-block;font-weight:800;font-size:1.4rem;padding:6px 18px;border-radius:999px;margin-bottom:8px}.go-badge.team-A{background:color-mix(in srgb,var(--ta) 22%,transparent);color:var(--ta-glow)}.go-badge.team-B{background:color-mix(in srgb,var(--tb) 22%,transparent);color:var(--tb-glow)}.gameover-card h2{font-size:var(--t-h2);margin-bottom:6px}.go-sub{color:var(--text-dim);margin-bottom:var(--s-4)}.victory{max-width:640px;margin:0 auto;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:clamp(8px,1.6vh,20px)}.victory-crown{font-size:clamp(2.6rem,7vh,4rem);flex:0 0 auto}.victory-title{font-size:var(--t-h1);flex:0 0 auto}.victory-score{font-family:var(--font-display);font-weight:800;font-size:clamp(2.4rem,7vh,3.4rem);display:flex;gap:16px;align-items:center;flex:0 0 auto}.victory-score .team-A{color:var(--ta-glow)}.victory-score .team-B{color:var(--tb-glow)}.victory-score .dash{color:var(--text-faint)}.victory-board{flex:1 1 auto;min-height:0;width:100%;max-width:420px;display:flex;align-items:center;justify-content:center}.victory-board .ll-board{height:100%;max-height:100%}.victory-actions{flex:0 0 auto;display:flex;gap:12px;flex-wrap:wrap;justify-content:center}.exit-dialog{width:min(400px,92vw);text-align:center}.exit-dialog h2{font-size:var(--t-h2);margin-bottom:8px}.exit-actions{display:flex;gap:12px;margin-top:var(--s-4)}.exit-actions .btn{flex:1}.modal{background:linear-gradient(165deg,var(--surface),var(--bg-1));border:1px solid var(--line-strong);border-radius:var(--r-xl);padding:var(--s-4);width:min(480px,92vw);max-height:88vh;overflow-y:auto;box-shadow:var(--shadow-3)}.modal-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--s-3)}.modal-head h2{font-size:var(--t-h2)}.set-group{margin-bottom:var(--s-4)}.set-group h3{font-size:var(--t-sm);text-transform:uppercase;letter-spacing:.08em;color:var(--text-faint);margin-bottom:var(--s-2)}.set-row{display:flex;justify-content:space-between;align-items:center;gap:var(--s-3);padding:10px 0;border-bottom:1px solid var(--line)}.set-label{font-weight:600}.set-hint{font-size:var(--t-xs);color:var(--text-faint)}.segment{display:inline-flex;background:var(--surface-2);border-radius:var(--r-sm);padding:3px;gap:3px}.segment button{border:none;background:transparent;color:var(--text-dim);padding:6px 14px;border-radius:7px;font-weight:600;font-size:var(--t-sm)}.segment button.active{background:var(--blue);color:#fff}.tutorial{max-width:980px;margin:0 auto}.tut-body{flex:1 1 auto;min-height:0;display:grid;grid-template-columns:1fr 1fr;gap:var(--s-5);align-items:center}.tut-board{min-height:0;height:100%;display:flex;align-items:center;justify-content:center}.tut-board .ll-board{max-width:360px;max-height:100%}.tut-text{min-height:0}.tut-text h2{font-size:var(--t-h2);margin:var(--s-2) 0}.tut-text p{color:var(--text-dim)}.tut-step{display:flex;gap:8px}.tut-dot{width:28px;height:5px;border-radius:999px;background:var(--surface-2)}.tut-dot.on{background:var(--blue)}.tut-nav{display:flex;gap:12px;margin-top:var(--s-4)}@media (max-width: 920px){.game-head{grid-template-columns:auto minmax(0,1fr)}.game-head-spacer{display:none}.scoreboard,.team-panel{min-width:0}.team-chip{flex-shrink:0;max-width:9ch;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.team-dir{flex-shrink:1;min-width:0}.game-head>.btn-ghost{padding:10px 12px}.tut-body{grid-template-columns:1fr;gap:clamp(12px,3vh,32px)}}@media (max-width: 720px){.game-head{grid-template-columns:1fr;position:relative}.game-head>.exit-btn{position:absolute;left:4px;top:50%;transform:translateY(-50%);z-index:6;width:34px;height:34px;padding:0;border-radius:50%;background:#ffffff14;font-size:1.2rem;line-height:1}.exit-label{display:none}.scoreboard{padding-left:44px}.game-main{display:flex;flex-direction:column;gap:clamp(6px,1.4vh,14px)}.board-wrap{flex:1 1 auto}.game-side{flex:0 0 auto;justify-content:flex-start}.hostpad{grid-template-columns:1fr 1fr}.scoreboard{padding:6px 10px;gap:6px}.team-score{font-size:1.5rem}.mode-tag,.team-dir{display:none}.board-wrap{min-height:110px}.game-side{min-height:0}.qcard{padding:11px 14px}.qcard-top{margin-bottom:8px;gap:10px}.letter-badge{width:44px;height:48px;font-size:1.45rem}.qcard-q{font-size:clamp(1rem,2.2vh,1.25rem);margin-bottom:10px}.qcard-flag{max-height:clamp(52px,12vh,104px)}.qcard-flag-wrap{margin-bottom:8px}.answer-value{font-size:1.15rem}.answer-reveal{padding:7px 14px}.hostpad{gap:8px}.award{flex-direction:row;align-items:center;justify-content:center;gap:6px;padding:11px 10px;font-size:.98rem}.award-sub,.team-stats{display:none}.pack-card{flex:0 0 clamp(150px,46vw,190px);flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:6px;padding:12px}.pack-body{width:100%;align-items:center}.pack-meta{justify-content:center}.pack-emoji{font-size:1.7rem}.pack-name{font-size:1rem}.pack-desc,.home-foot{display:none}.hero-title{font-size:clamp(1.9rem,8vw,3rem)}.hero-sub{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.setup-body{gap:clamp(6px,1.4vh,14px)}.setup-hint{display:none}.setup-row{gap:5px}.setup-label{font-size:.9rem}.choice-grid{grid-template-columns:repeat(auto-fit,minmax(70px,1fr));gap:7px}.choice{padding:8px 6px}.choice-label{font-size:.9rem}.choice-sub{display:none}.teams-setup{gap:8px}.team-field{padding:7px 10px}.team-field label{font-size:.62rem}.team-field input{font-size:1rem}}@media (max-height: 600px){.game{gap:4px}.game-main{gap:12px}.setup-body{display:grid;grid-template-columns:1fr 1fr;gap:8px 18px;align-content:center;justify-content:stretch}.teams-setup{grid-column:1 / -1}.setup-hint{display:none}.choice{padding:7px 8px}.choice-grid{grid-template-columns:repeat(auto-fit,minmax(74px,1fr))}.team-stats{display:none}.scoreboard{padding:5px 12px}.team-score{font-size:1.4rem}.hostpad{grid-template-columns:repeat(4,1fr);gap:6px}.award{flex-direction:row;align-items:center;justify-content:center;gap:5px;padding:6px;font-size:.84rem}.award-sub{display:none}.board-wrap{min-height:60px}.qcard{padding:6px 10px}.qcard-top{margin-bottom:6px}.qcard-q{font-size:.98rem;margin-bottom:8px}.letter-badge{width:38px;height:42px;font-size:1.25rem}.victory-crown{font-size:2.2rem}.timer{display:none}.question-zone{gap:5px}.qcard-q{font-size:.86rem;margin-bottom:5px;line-height:1.2;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.qcard-answer{gap:8px}.answer-reveal{padding:5px 12px}.answer-value{font-size:1rem}.answer-label{display:none}.qcard-flag{max-height:50px}.qcard-flag-wrap{margin-bottom:5px}.pack-card{flex:0 0 clamp(140px,34vw,180px);flex-direction:column;padding:8px;gap:3px}.pack-emoji{font-size:1.4rem}.pack-name{font-size:.86rem}.section-head{margin-bottom:5px}.section-head h2{font-size:1.05rem}.hero{gap:4px}.hero-title{font-size:clamp(1.4rem,5vh,2.4rem)}.hero-cta .btn-lg{padding:10px 22px;font-size:1rem}.pick-help{padding:12px}.pick-help-icon{font-size:1.6rem}.pick-help h3{font-size:1rem;margin:4px 0}.pick-help p{font-size:.78rem}.setup-body{gap:4px 14px}.swatch{width:22px;height:22px}.swatches{gap:6px}.team-name{font-size:.95rem;padding-bottom:3px}.team-field{gap:5px;padding:5px 8px}.choice{padding:3px 5px}.choice-label{font-size:.84rem}.setup-label{font-size:.85rem}.team-field{padding:6px 10px}}@media (max-height: 540px){.hero-sub,.home-foot,.pack-desc{display:none}.pack-card{padding:10px}}@media (min-width: 1600px){:root{--tv-safe: 2.5vh}.ll-board{max-width:920px}.scoreboard{padding:14px 24px}}
