:root{--bg:#07080c;--bg-deep:#04050a;--surface:#171c26;--surface-2:#212836;--panel:#171c27ed;--panel-solid:#171c27;--well:#06080eb8;--gold:#c8aa6e;--gold-bright:#f0e6d2;--gold-dim:#785a28;--line:#ceb48061;--line-strong:#d2b88485;--ghost-bg:#ffffff09;--bar-ink:#080a10;--text:#e6eaf1;--text-soft:#b3bccb;--text-muted:#8d97a6;--blue:#0a9fd8;--blue-soft:#4fd3ff;--blue-deep:#062f4a;--red:#e0455f;--red-soft:#ff8496;--hit:#58e2a8;--miss:#ff8496;--red-deep:#4a1220;--neutral:#8d8574;--neutral-deep:#2b2a26;--mushroom:#0d0b14;--mushroom-deep:#050409;--mushroom-edge:#956aeb;--ping-gold:#e6b62a;--ping-red:#d32a44;--ease:cubic-bezier(.22, .75, .26, 1);--ease-out:cubic-bezier(.16, 1, .3, 1);--fast:.14s;--base:.26s;--slow:.52s;--topbar-h:77px;--seat-h:42px;--btn-square:calc(13px * 1.5 + 20px + 4px);--radius:10px;--radius-lg:16px;--shadow:0 12px 32px #0000008c;--shadow-lift:0 20px 48px #0009;--font-display:"Marcellus SC", "Georgia", "Times New Roman", serif;--font-ui:"Inter", ui-sans-serif, system-ui, "Segoe UI", Roboto, sans-serif;--font-mono:ui-monospace, "SFMono-Regular", "Cascadia Mono", Menlo, monospace}.sr-only{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}*,:before,:after{box-sizing:border-box}html,body,#root{height:100%}html{-webkit-tap-highlight-color:transparent}body{background:var(--bg);color:var(--text);font-family:var(--font-ui);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0;font-size:15px;line-height:1.5;overflow-x:hidden}h1,h2,h3{font-family:var(--font-display);letter-spacing:.03em;margin:0;font-weight:400}button,input,select{font:inherit;color:inherit}button{cursor:pointer;background:0 0;border:none}:focus-visible{outline:2px solid var(--gold);outline-offset:2px;border-radius:4px}::selection{background:#c8aa6e47}@keyframes rise-in{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}@keyframes deal-in{0%{opacity:0;transform:translateY(18px)scale(.94)}to{opacity:1;transform:none}}@keyframes slide-in-right{0%{opacity:0;transform:translate(16px)}to{opacity:1;transform:none}}@keyframes drop-in{0%{opacity:0;transform:translateY(-18px)}to{opacity:1;transform:translateY(0)}}@keyframes rise-up{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}@keyframes pop-in{0%{opacity:0;transform:scale(.9)}60%{transform:scale(1.02)}to{opacity:1;transform:scale(1)}}@keyframes caret-blink{0%,49%{opacity:1}50%,to{opacity:0}}@keyframes slot-pop{0%{transform:scale(.92)}to{transform:none}}@keyframes menu-in{0%{opacity:0;transform:translateY(var(--menu-shift,-6px))}to{opacity:1;transform:none}}@keyframes soft-pulse{0%,to{opacity:.55}50%{opacity:1}}@keyframes urgent-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.8;transform:scale(1.06)}}@keyframes cutoff-ready{0%,to{box-shadow:0 0 #f0e6d266}70%{box-shadow:0 0 0 9px #f0e6d200}}@keyframes shimmer{0%{background-position:-180% 0}to{background-position:180% 0}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes tile-dim{0%,55%,to{opacity:1}22%{opacity:.22}}@keyframes mushroom-glow{0%,to{opacity:0}50%{opacity:1}}@keyframes cell-flip-out{0%{transform:perspective(900px)rotateY(0)}to{opacity:.5;transform:perspective(900px)rotateY(90deg)}}@keyframes cell-flip-in{0%{opacity:.5;transform:perspective(900px)rotateY(-90deg)}to{transform:perspective(900px)rotateY(0)}}@keyframes poro-pop{0%{opacity:0;transform:translate(-50%,6px)scale(.8)}22%{opacity:1;transform:translate(calc(-50% + var(--pop-x,0px)), -2px) scale(1)}to{opacity:0;transform:translate(calc(-50% + var(--pop-x,0px)), -28px) scale(1)}}@keyframes ping-pop{0%{opacity:0;transform:translateY(-12px)scale(.2)}55%{opacity:1;transform:scale(1.18)}to{transform:none}}@keyframes ping-ring{0%{opacity:.95;transform:scale(.35)}to{opacity:0;transform:scale(1.9)}}@keyframes ping-rise{0%{opacity:0;transform:translateY(33cqh)}10%{opacity:1}78%{opacity:1}to{opacity:0;transform:translateY(-49cqh)}}@keyframes ping-bob{0%{transform:translate(calc(-50% - 9px),-50%)}to{transform:translate(calc(9px - 50%),-50%)}}@keyframes ping-fade{0%,80%{opacity:1}to{opacity:0}}@keyframes ping-cool{0%{transform:scaleY(1)}to{transform:scaleY(0)}}@keyframes ambient-drift{0%,to{transform:translate(0,0)scale(1)}50%{transform:translateY(-3%)scale(1.06)}}.panel{background-color:var(--panel);border:1px solid var(--line);border-radius:var(--radius-lg);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);box-shadow:var(--shadow), inset 0 1px 0 #ffffff0d;background-image:repeating-linear-gradient(45deg,#c8aa6e0d 0 1px,#0000 1px 7px)}.btn{--btn-bg:linear-gradient(180deg, var(--surface-2), var(--surface));--btn-border:var(--line-strong);--btn-fg:var(--gold-bright);border:2px solid var(--btn-border);border-radius:var(--radius);background:var(--btn-bg);color:var(--btn-fg);letter-spacing:.08em;text-transform:uppercase;transition:transform var(--fast) var(--ease), border-color var(--fast) var(--ease), box-shadow var(--fast) var(--ease), opacity var(--fast) var(--ease);justify-content:center;align-items:center;gap:8px;padding:10px 18px;font-size:13px;font-weight:600;display:inline-flex;position:relative;overflow:hidden}.btn:after{content:"";opacity:0;transition:opacity var(--base) var(--ease);pointer-events:none;background:linear-gradient(100deg,#0000 30%,#f0e6d224 50%,#0000 70%) 0 0/220% 100%;position:absolute;inset:0}.btn:hover:not(:disabled){border-color:var(--gold);box-shadow:0 6px 20px #c8aa6e2e}.btn:hover:not(:disabled):after{opacity:1;animation:shimmer 1.1s var(--ease)}.btn:active:not(:disabled){transform:translateY(0)scale(.98)}.btn:disabled{opacity:.2;cursor:not-allowed}.btn--primary{--btn-bg:#d6b878;--btn-fg:#16110a}.btn--blue{--btn-bg:#0fb2ef;--btn-border:var(--blue-soft);--btn-fg:white}.btn--red{--btn-bg:#ef5670;--btn-border:var(--red-soft);--btn-fg:white}.btn--ghost{--btn-bg:var(--ghost-bg);--btn-border:var(--line-strong);--btn-fg:var(--text)}.btn--danger{--btn-bg:color-mix(in srgb, var(--red) 14%, transparent);--btn-border:color-mix(in srgb, var(--red) 50%, transparent);--btn-fg:var(--red-soft)}.btn--danger:hover:not(:disabled){border-color:var(--red);box-shadow:0 6px 20px color-mix(in srgb, var(--red) 32%, transparent)}.btn--sm{padding:7px 12px;font-size:11px}.field{flex-direction:column;gap:6px;display:flex}.field>label{letter-spacing:.14em;text-transform:uppercase;color:var(--text-muted);font-size:11px}.input{border:1px solid var(--line-strong);border-radius:var(--radius);background:var(--well);width:100%;color:var(--text);transition:border-color var(--fast) var(--ease), box-shadow var(--fast) var(--ease), background var(--fast) var(--ease);padding:11px 14px}.input::placeholder{color:#55606f}.input:focus{border-color:var(--gold);background:#0a0d15f2;outline:none;box-shadow:0 0 0 2px #c8aa6e}.eyebrow{letter-spacing:.18em;text-transform:uppercase;color:var(--text-muted);font-size:11px}.divider{background:linear-gradient(90deg, transparent, var(--line-strong), transparent);border:0;height:1px;margin:0}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.app{isolation:isolate;flex-direction:column;min-height:100%;display:flex;position:relative}.ambient{z-index:-1;pointer-events:none;transition:opacity var(--slow) var(--ease);background:radial-gradient(52% 46% at 12% 24%,#0a9fd829,#0000 68%),radial-gradient(52% 46% at 88% 76%,#e0455f24,#0000 68%),radial-gradient(70% 60% at 50% 0,#c8aa6e12,#0000 70%);animation:18s ease-in-out infinite ambient-drift;position:fixed;inset:-20% -10%}.ambient:after{content:"";background-image:linear-gradient(#c8aa6e07 1px,#0000 1px),linear-gradient(90deg,#c8aa6e07 1px,#0000 1px);background-size:64px 64px;position:absolute;inset:0;-webkit-mask-image:radial-gradient(70% 60% at 50% 40%,#000,#0000 78%);mask-image:radial-gradient(70% 60% at 50% 40%,#000,#0000 78%)}.app[data-turn=blue] .ambient{background:radial-gradient(58% 52% at 22% 30%,#0a9fd842,#0000 66%),radial-gradient(44% 40% at 90% 80%,#e0455f14,#0000 68%),radial-gradient(70% 60% at 50% 0,#c8aa6e12,#0000 70%)}.app[data-turn=red] .ambient{background:radial-gradient(44% 40% at 10% 24%,#0a9fd814,#0000 68%),radial-gradient(58% 52% at 78% 70%,#e0455f3d,#0000 66%),radial-gradient(70% 60% at 50% 0,#c8aa6e12,#0000 70%)}.topbar{border-bottom:1px solid var(--line);background:linear-gradient(180deg, color-mix(in srgb, var(--bar-ink) 90%, transparent), color-mix(in srgb, var(--bar-ink) 40%, transparent));-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:20;align-items:center;gap:16px;padding:14px clamp(16px,4vw,34px);display:flex;position:sticky;top:0}.brand{--word-league:var(--gold);--word-names:var(--gold-bright);font-family:var(--font-display);letter-spacing:.06em;color:var(--word-league);white-space:nowrap;transition:color var(--fast) var(--ease), text-shadow var(--base) var(--ease), transform var(--fast) var(--ease);border-radius:6px;align-items:baseline;margin-left:-4px;padding:2px 4px;font-size:20px;display:flex;position:relative}.brand[data-flipped=true]{--word-league:var(--gold-bright);--word-names:var(--gold)}.brand:hover{text-shadow:0 0 18px #c8aa6e8c}.brand__word{display:inline-block;position:relative}.brand__word:after{content:attr(data-text);color:#0000;background:linear-gradient(100deg,#0000 38%,#fffaf0f2 50%,#0000 62%) -180% 0/220% 100%;opacity:0;pointer-events:none;-webkit-background-clip:text;background-clip:text;position:absolute;inset:0}.brand:hover .brand__word:after{opacity:1;animation:shimmer .62s var(--ease) forwards}.brand:active{transform:scale(.985)}.brand__mark{color:var(--word-names);transition:color var(--fast) var(--ease)}.brand__shine{color:#0000;background:linear-gradient(100deg,#0000 38%,#fffaf0f2 50%,#0000 62%) 0 0/220% 100%;pointer-events:none;animation:shimmer .62s var(--ease) forwards;-webkit-background-clip:text;background-clip:text;position:absolute;inset:0}.brand__patch{font-family:var(--font-mono);letter-spacing:.06em;color:var(--text-muted);text-transform:none;margin-left:10px;font-size:10px}.topbar__center{--sound-btn:34px;padding-left:calc(var(--sound-btn) + 10px);align-items:center;gap:10px;display:flex;position:absolute;left:50%;transform:translate(-50%)}.topbar__rules{font-size:15px}.topbar__rules-label{font-size:11px}.topbar__rules .icon-help{display:none}.topbar__sound[data-muted=true]{color:var(--text-muted)}.volume{display:inline-flex;position:relative}.volume .btn.topbar__sound{width:var(--sound-btn);min-height:var(--sound-btn);place-items:center;padding:0;font-size:22px;display:grid}.volume__pop{border-radius:var(--radius);border:2px solid var(--line-strong);background:linear-gradient(var(--ghost-bg), var(--ghost-bg)), var(--bar-ink);z-index:40;width:var(--sound-btn);opacity:0;visibility:hidden;transform-origin:top;transition:opacity .13s var(--ease), transform .13s var(--ease),  visibility 0s linear .13s;flex-direction:column;align-items:center;gap:9px;padding:10px 2px 8px;display:flex;position:absolute;top:calc(100% + 9px);left:50%;transform:translate(-50%)translateY(-7px)scale(.95)}.volume__pop[data-open=true]{opacity:1;visibility:visible;transition:opacity .17s var(--ease-out),  transform .21s cubic-bezier(.2, .9, .25, 1.15), visibility 0s;transform:translate(-50%)}.volume__mute{width:26px;height:26px;color:var(--gold);cursor:pointer;transition:color var(--fast) var(--ease), background var(--fast) var(--ease);background:0 0;border:0;border-radius:7px;flex:none;place-items:center;padding:0;font-size:19px;display:grid}.volume__mute:hover{color:var(--gold-bright);background:#c8aa6e24}.volume__mute[aria-pressed=true]{color:var(--text-muted)}.volume__range{appearance:none;writing-mode:vertical-lr;cursor:pointer;direction:rtl;background:0 0;flex:none;width:16px;height:104px}.volume__range::-webkit-slider-runnable-track{background:linear-gradient(to top, var(--gold) var(--fill), var(--line) var(--fill));border-radius:999px;width:4px}.volume__range::-moz-range-track{background:linear-gradient(to top, var(--gold) var(--fill), var(--line) var(--fill));border-radius:999px;width:4px}.volume__range::-webkit-slider-thumb{appearance:none;border:1px solid var(--gold-dim);background:var(--gold-bright);width:13px;height:13px;transition:transform var(--fast) var(--ease);border-radius:50%;margin-left:-4.5px}.volume__range::-moz-range-thumb{border:1px solid var(--gold-dim);background:var(--gold-bright);border-radius:50%;width:13px;height:13px}.volume__range:hover::-webkit-slider-thumb{transform:scale(1.15)}.volume__range:focus-visible::-webkit-slider-thumb{transform:scale(1.15)}.volume__range:focus-visible{outline:2px solid var(--gold);outline-offset:4px;border-radius:4px}.volume__value{font-family:var(--font-mono);text-align:center;color:#fff;font-variant-numeric:tabular-nums;white-space:nowrap;flex:none;font-size:10px}.topbar__spacer{flex:1}.copy__slot{align-items:center;display:grid}.copy__slot>*{transition:opacity var(--fast) var(--ease), transform var(--fast) var(--ease);grid-area:1/1}.copy__done{color:var(--hit)}[data-copied=false] .copy__done{opacity:0;transform:translateY(4px)}[data-copied=true] .copy__idle{opacity:0;transform:translateY(-4px)}.roomcode{border:2px solid var(--line-strong);border-radius:var(--radius);background:var(--well);transition:border-color var(--fast) var(--ease);align-items:center;gap:8px;padding:7px 12px;display:inline-flex}.roomcode:hover{border-color:var(--gold)}.roomcode__copy{cursor:pointer;background:0 0;border:0;padding:0;display:block}.roomcode__copy .copy__slot>*{font-family:var(--font-mono);letter-spacing:.2em;text-align:left;font-size:15px;line-height:1.1}.roomcode__value{color:var(--gold-bright)}.roomcode__face{display:grid}.roomcode__face>*{transition:opacity var(--fast) var(--ease), filter var(--base) var(--ease);grid-area:1/1}.roomcode__value[data-hidden=true]{filter:blur(4px)}.roomcode__ask{opacity:0;z-index:1;color:var(--gold-bright);text-align:center;letter-spacing:.16em;text-transform:lowercase;text-shadow:0 0 6px var(--bar-ink), 0 0 3px var(--bar-ink), 0 1px 2px var(--bar-ink)}.roomcode__copy:hover .roomcode__ask,.roomcode__copy:focus-visible .roomcode__ask,.roomcode__copy:active .roomcode__ask{opacity:1}.status-dot{letter-spacing:.12em;text-transform:uppercase;color:var(--text-muted);align-items:center;gap:7px;font-size:11px;display:inline-flex}.status-dot:before{content:"";background:var(--text-muted);width:7px;height:7px;transition:background var(--base) var(--ease);border-radius:50%}.status-dot[data-status=online]:before{background:#3ddc97;box-shadow:0 0 8px #3ddc97cc}.status-dot[data-status=connecting]:before{background:var(--gold);animation:1s ease-in-out infinite soft-pulse}.status-dot[data-status=offline]:before{background:var(--red);animation:1s ease-in-out infinite soft-pulse}.landing{flex:1;place-items:center;padding:clamp(24px,6vw,64px) 20px;display:grid;position:relative}.landing__inner{width:min(1040px,100%);animation:rise-in var(--slow) var(--ease-out) backwards;grid-template-columns:1.05fr .95fr;align-items:center;gap:clamp(24px,5vw,56px);display:grid}.landing__lede h1{color:var(--gold-bright);text-shadow:0 2px 30px #c8aa6e33;font-size:clamp(34px,5vw,54px);line-height:1.04}.landing__lede h1 em{color:var(--gold);text-shadow:0 0 42px #c8aa6e59;font-style:normal}.landing__lede p{max-width:44ch;color:var(--text-soft);margin:18px 0 0;font-size:16px}.card-form{animation:rise-in var(--slow) var(--ease-out) .12s backwards;flex-direction:column;gap:18px;padding:clamp(22px,3vw,30px);display:flex}.card-form h2{color:var(--gold-bright);font-size:20px}.tabs{border:1px solid var(--line);border-radius:var(--radius);background:var(--well);grid-template-columns:1fr 1fr;gap:4px;padding:4px;display:grid;position:relative}.tabs__btn{letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted);transition:color var(--base) var(--ease), background var(--base) var(--ease);border-radius:7px;padding:9px 0;font-size:12px;font-weight:600}.tabs__btn[aria-selected=true]{color:#16110a;background:#d6b878}.code-input{position:relative}.code-input__field{opacity:0;z-index:1;cursor:text;width:100%;font-size:16px;position:absolute;inset:0}.code-input__slots{grid-auto-columns:1fr;grid-auto-flow:column;gap:8px;display:grid}.code-input__slot{border:1px solid var(--line);border-radius:var(--radius);background:var(--well);height:52px;font-family:var(--font-mono);color:var(--gold-bright);transition:border-color var(--fast) var(--ease), box-shadow var(--fast) var(--ease), background var(--fast) var(--ease);place-items:center;font-size:clamp(18px,4.4vw,22px);font-weight:600;line-height:1;display:grid}.code-input__slot[data-filled=true]{border-color:var(--line-strong);animation:slot-pop var(--fast) var(--ease);background:#0a0d15f2}.code-input:focus-within .code-input__slot[data-active=true]{border-color:var(--gold);background:#0a0d15f2;box-shadow:0 0 0 3px #c8aa6e2e}.code-input:focus-within .code-input__slot[data-caret=true]:after{content:"";background:var(--gold);border-radius:1px;width:2px;height:22px;animation:1.1s step-end infinite caret-blink}.swap{display:grid}.swap__pane{visibility:hidden;opacity:0;transition:opacity var(--base) var(--ease), transform var(--base) var(--ease), visibility var(--base) var(--ease);grid-area:1/1;transform:translateY(5px)}.swap__pane[data-active=true]{visibility:visible;opacity:1;transform:none}.timers{gap:12px;display:flex}.timers .field{flex:1;min-width:0}.lobby{width:min(1080px,100%);animation:rise-in var(--base) var(--ease-out) backwards;flex-direction:column;flex:1;gap:22px;margin:0 auto;padding:clamp(20px,4vw,40px) 20px 60px;display:flex}.lobby__head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;display:flex}.lobby__head h1{color:var(--gold-bright);font-size:clamp(26px,4vw,36px)}.lobby__head p{color:var(--text-soft);margin:6px 0 0}.teams{grid-template-columns:1fr 1fr;gap:18px;display:grid}.team{--team:var(--text-muted);--team-deep:var(--surface);border-top:4px solid var(--team);border-radius:0 0 var(--radius-lg) var(--radius-lg);animation:rise-in var(--base) var(--ease-out) backwards;flex-direction:column;gap:14px;padding:20px;display:flex;position:relative;overflow:hidden}.team:before{content:"";background:linear-gradient(180deg, var(--team-deep), transparent);opacity:.55;pointer-events:none;height:120px;position:absolute;inset:0 0 auto}.team[data-team=blue]{--team:var(--blue);animation-delay:60ms}.team[data-team=red]{--team:var(--red);animation-delay:.12s}.team__head{justify-content:space-between;align-items:center;gap:10px;display:flex;position:relative}.team__name{font-family:var(--font-display);letter-spacing:.1em;text-transform:uppercase;color:var(--team);font-size:19px}.team__count{font-family:var(--font-mono);color:var(--text-muted);font-size:12px}.slot{flex-direction:column;gap:8px;display:flex;position:relative}.slot__label{letter-spacing:.16em;text-transform:uppercase;color:var(--text-muted);align-items:center;gap:8px;font-size:11px;display:flex}.player-chip{min-height:var(--seat-h);border:1px solid var(--line-strong);border-radius:var(--radius);animation:pop-in var(--base) var(--ease-out) backwards;transition:border-color var(--fast) var(--ease), opacity var(--base) var(--ease);background:#ffffff0a;align-items:center;gap:10px;padding:9px 16px;font-size:14px;display:flex}.player-chip[data-you=true]{border-color:var(--line-strong);background:#c8aa6e14}.player-chip[data-connected=false]{opacity:.42}.player-chip__name{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.player-chip__tag{letter-spacing:.12em;text-transform:uppercase;color:var(--text-soft);border:1px solid var(--line-strong);border-radius:999px;padding:2px 10px;font-size:10px}.slot--empty{min-height:var(--seat-h);border:1px dashed var(--line-strong);border-radius:var(--radius);color:var(--text-muted);text-align:center;justify-content:center;align-items:center;padding:9px 16px;font-size:14px;display:flex}.sidelines{flex-wrap:wrap;align-items:center;gap:10px 14px;padding:14px 20px;display:flex}.spectators{flex-wrap:wrap;flex:1;align-items:center;gap:8px;min-width:0;display:flex}.sidelines__sit{flex:none;margin-left:auto}.field--grow{flex:1;min-width:200px}.toggle{border:2px solid var(--line-strong);border-radius:var(--radius);background:var(--well);min-height:44px;color:var(--text);cursor:pointer;transition:border-color var(--fast) var(--ease), opacity var(--fast) var(--ease);align-items:center;gap:10px;padding:10px 12px;font-size:14px;display:flex}.toggle:hover{border-color:var(--gold)}.toggle[data-disabled=true]{opacity:.5;cursor:not-allowed;filter:grayscale(.7)}.toggle__input{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute}.toggle__box{border:1px solid var(--line-strong);width:18px;height:18px;transition:background var(--fast) var(--ease), border-color var(--fast) var(--ease);background:#00000059;border-radius:5px;flex:none;place-items:center;display:grid}.toggle__tick{color:#06070c;opacity:0;width:12px;height:12px;transition:opacity var(--fast) var(--ease), transform var(--fast) var(--ease-out);display:block;transform:scale(.6)}.toggle__input:checked+.toggle__box{background:var(--gold);border-color:var(--gold)}.toggle__input:checked+.toggle__box .toggle__tick{opacity:1;transform:scale(1)}.toggle__input:focus-visible+.toggle__box{outline:2px solid var(--gold-bright);outline-offset:2px}.icon-x,.icon-help,.icon-sound{flex:none;width:1em;height:1em;display:block}.toggle__text{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.player-chip__tools{align-items:center;gap:4px;margin-left:auto;display:inline-flex}.chip-btn{border:1px solid var(--line-strong);min-width:20px;height:20px;color:var(--text-soft);letter-spacing:.06em;text-transform:uppercase;cursor:pointer;transition:border-color var(--fast) var(--ease), background var(--fast) var(--ease), color var(--fast) var(--ease);background:#0000004d;border-radius:999px;place-items:center;padding:0 7px;font-size:10px;line-height:1;display:inline-grid}.chip-btn:hover{border-color:var(--gold);color:var(--gold-bright)}.chip-btn--danger{padding:0 6px;font-size:13px}.chip-btn--danger:hover{border-color:var(--red);background:color-mix(in srgb, var(--red) 22%, transparent);color:var(--red-soft)}.chip-btn:focus-visible{outline:2px solid var(--gold-bright);outline-offset:2px}.mini-chip .chip-btn{margin-left:2px}.slot .btn--blue,.slot .btn--red{--btn-border:var(--btn-bg)}.settings-row{flex-wrap:wrap;align-items:flex-end;gap:18px;padding:18px 20px;display:flex}.settings-row .field{min-width:132px}.select{position:relative}.panel:has(.select[data-open=true]){z-index:5;position:relative}.select__trigger{border:2px solid var(--line-strong);border-radius:var(--radius);background:var(--well);width:100%;color:var(--text);text-align:left;transition:border-color var(--fast) var(--ease), box-shadow var(--fast) var(--ease), background var(--fast) var(--ease);justify-content:space-between;align-items:center;gap:10px;padding:10px 12px;display:flex}.select__trigger:hover:not(:disabled){border-color:var(--gold)}.select__trigger:focus-visible,.select[data-open=true] .select__trigger{border-color:var(--gold);background:#0a0d15f2;outline:none;box-shadow:0 0 0 3px #c8aa6e2e}.select__trigger:disabled{opacity:.5;cursor:not-allowed;filter:grayscale(.7)}.select__value{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.select__chevron{color:var(--gold);transition:transform var(--base) var(--ease);flex:none}.select[data-open=true] .select__chevron{transform:rotate(180deg)}.select__menu{--menu-shift:-6px;z-index:30;border:2px solid var(--line-strong);border-radius:var(--radius);background:var(--panel-solid);max-height:244px;box-shadow:var(--shadow-lift);scrollbar-width:thin;scrollbar-color:var(--line-strong) transparent;animation:menu-in var(--fast) var(--ease-out);padding:5px;position:absolute;top:calc(100% + 6px);left:0;right:0;overflow-y:auto}.select[data-drop=up] .select__menu{--menu-shift:6px;top:auto;bottom:calc(100% + 6px)}.select__menu::-webkit-scrollbar{width:6px}.select__menu::-webkit-scrollbar-thumb{background:var(--line-strong);border-radius:999px}.select__option{color:var(--text-soft);cursor:pointer;transition:background var(--fast) var(--ease), color var(--fast) var(--ease);border-radius:7px;justify-content:space-between;align-items:center;gap:10px;padding:8px 10px;display:flex}.select__option[data-active=true]{color:var(--gold-bright);background:#c8aa6e24}.select__option[aria-selected=true]{color:var(--gold-bright)}.select__option[aria-selected=true]:after{content:"";background:var(--gold);border-radius:50%;flex:none;width:6px;height:6px;box-shadow:0 0 8px #c8aa6ebf}.lobby__start{flex-wrap:wrap;justify-content:center;align-items:center;gap:14px;padding-top:4px;display:flex}.lobby__blocked{color:var(--text-muted);font-size:13px}.lobby__waiting{text-align:center;color:var(--text-muted);margin:0;font-size:13px}.legal{text-align:center;max-width:900px;color:var(--text-muted);margin-inline:auto;padding:0 20px 16px;font-size:11.5px;line-height:1.6;position:absolute;bottom:0;left:0;right:0}@media (width<=700px),(height<=780px){.legal{padding-top:26px;position:static}}.stage{flex:1;grid-template-columns:minmax(0,1fr);grid-template-areas:"main""blue""red";align-items:start;gap:clamp(14px,2vw,24px);width:min(1560px,100%);margin:0 auto;padding:clamp(14px,2.4vw,26px) clamp(14px,3vw,28px) 26px;display:grid}.stage__main{flex-direction:column;grid-area:main;align-items:center;gap:16px;min-width:0;display:flex}.stage__main>:not(.board){width:var(--stage-w,100%)}.stage__rail{flex-direction:column;gap:12px;min-width:0;display:flex}.stage__rail--blue{grid-area:blue}.stage__rail--red{grid-area:red}@media (width>=900px){.stage{grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-areas:"main main""blue red"}}.hud{transition:border-radius var(--base) var(--ease);animation:rise-in var(--base) var(--ease-out) backwards;border-radius:0;grid-template-columns:1fr auto 1fr;align-items:center;gap:14px;padding:14px 18px;display:grid;position:relative;overflow:hidden}.hud:before{content:"";background:var(--turn-color,var(--gold));width:4px;box-shadow:0 0 18px var(--turn-color,var(--gold));transition:background var(--slow) var(--ease);position:absolute;inset:0 auto 0 0}.hud[data-turn=red]:before{inset:0 0 0 auto}.hud[data-turn=blue]{--turn-color:var(--blue);border-radius:0 var(--radius-lg) var(--radius-lg) 0}.hud[data-turn=red]{--turn-color:var(--red);border-radius:var(--radius-lg) 0 0 var(--radius-lg)}.hud__middle{place-items:center;display:grid}.hud .score__team[data-team=blue]{justify-self:start}.hud .score__team[data-team=red]{justify-self:end}.score__team{border-radius:var(--radius);min-width:62px;transition:border-color var(--base) var(--ease), background var(--base) var(--ease), transform var(--base) var(--ease);border:1px solid #0000;flex-direction:column;align-items:center;padding:6px 10px;display:flex}.score__team[data-active=true]{border-color:color-mix(in srgb, var(--c) 55%, transparent);background:color-mix(in srgb, var(--c) 12%, transparent);transform:translateY(-1px)}.score__team[data-team=blue]{--c:var(--blue)}.score__team[data-team=red]{--c:var(--red)}.score__num{font-family:var(--font-mono);color:var(--c);font-variant-numeric:tabular-nums;transition:transform var(--base) var(--ease);font-size:30px;line-height:1}.score__label{letter-spacing:.16em;text-transform:uppercase;color:var(--text-muted);margin-top:3px;font-size:10px}.hud__center{text-align:start;flex-direction:column;flex:1;justify-content:center;align-items:flex-start;gap:6px;min-width:0;padding-inline-start:8px;display:flex}.hud__phase{letter-spacing:.18em;text-transform:uppercase;color:var(--text-muted);font-size:11px}.hint-display{animation:pop-in var(--base) var(--ease-out);flex-wrap:wrap;justify-content:flex-start;align-items:center;gap:6px 12px;display:inline-flex}.hint-display__word{font-family:var(--font-display);letter-spacing:.08em;text-transform:uppercase;color:var(--gold-bright);overflow-wrap:anywhere;text-align:start;font-size:clamp(18px,2.4vw,30px);line-height:1.15}.hint-display__count{border:1px solid var(--turn-color,var(--gold));width:34px;height:34px;color:var(--turn-color,var(--gold));font-family:var(--font-mono);border-radius:50%;flex:none;place-items:center;font-size:16px;display:grid}.hint-display__left{color:var(--text-muted);white-space:nowrap;font-size:12px}.hud__waiting{color:var(--text-soft);font-size:15px}.hud__waiting strong{color:var(--turn-color,var(--gold))}.timer{flex-direction:column;justify-content:center;align-items:center;gap:6px;min-width:84px;display:flex}.timer__value{font-family:var(--font-mono);font-variant-numeric:tabular-nums;color:var(--text);transition:color var(--base) var(--ease);font-size:22px}.timer[data-urgent=true] .timer__value{color:var(--red-soft);animation:.9s ease-in-out infinite urgent-pulse}.timer__track{background:#ffffff14;border-radius:999px;width:84px;height:4px;display:block;overflow:hidden}.timer__fill{background:var(--turn-color,var(--gold));transform-origin:0;width:100%;height:100%;transition:background var(--base) var(--ease);border-radius:999px;display:block}.timer[data-urgent=true] .timer__fill{background:var(--red)}.timer[data-expired=true] .timer__track{background:var(--red);box-shadow:0 0 6px var(--red), 0 0 18px color-mix(in srgb, var(--red) 70%, transparent);animation:expired-glow 1.3s var(--ease) infinite}@keyframes expired-glow{0%,to{box-shadow:0 0 6px var(--red), 0 0 18px color-mix(in srgb, var(--red) 70%, transparent)}50%{box-shadow:0 0 10px var(--red), 0 0 30px var(--red)}}.timer[data-expired=true] .timer__value{letter-spacing:.14em;color:var(--red-soft);font-size:12px}.timer__note{text-align:center;text-wrap:balance;max-width:28ch;color:var(--text-muted);animation:rise-in var(--base) var(--ease-out) backwards;font-size:11px;line-height:1.25}.timer[data-cutoff=yours] .timer__note{color:var(--text)}.board[data-turn=blue]{--turn-color:var(--blue)}.board[data-turn=red]{--turn-color:var(--red)}.board{grid-template-columns:repeat(var(--cols,5), minmax(0, 1fr));perspective:1400px;gap:clamp(7px,.9vw,12px);width:100%;margin-inline:auto;display:grid;position:relative}@media (width>=1280px){.stage{height:calc(100dvh - var(--topbar-h));grid-template-columns:minmax(0,300px) minmax(0,1fr) minmax(0,300px);grid-template-areas:"blue main red";align-items:stretch}.stage__main,.stage__rail{min-height:0}.board{grid-template-rows:repeat(var(--cols,5), minmax(0, 1fr));aspect-ratio:1;flex:auto;align-self:center;width:auto;min-height:0;max-height:720px}.board .card,.board .poro{aspect-ratio:auto;height:100%}}.board[data-flip=out] .card,.board[data-flip=out] .poro{animation:.15s ease-in forwards cell-flip-out;animation-delay:calc(var(--i,0) * 4ms)}.board[data-flip=in] .card,.board[data-flip=in] .poro{animation:.2s ease-out backwards cell-flip-in;animation-delay:calc(var(--i,0) * 4ms)}.board--farm{--poro-edge:color-mix(in srgb, var(--gold) 34%, transparent)}.poro{aspect-ratio:1;border:2px solid var(--line-strong);border-radius:var(--radius);min-width:0;min-height:0;animation:deal-in .42s var(--ease-out) backwards;animation-delay:calc(var(--i,0) * 16ms);transition:transform var(--fast) var(--ease), border-color var(--base) var(--ease), box-shadow var(--base) var(--ease);background:linear-gradient(170deg,#1b2131,#0c1018 72%);place-items:center;padding:0;display:grid;position:relative;overflow:hidden;box-shadow:inset 0 1px #ffffff0d}.poro__art{width:124%;height:auto;image-rendering:pixelated;position:absolute}.poro[data-owned=true]{border-color:var(--poro-edge);background:linear-gradient(170deg,#222a3d,#0d1119 74%)}.board--farm[data-theirs=true] .poro{opacity:.5}.poro[data-owned=true]:not(:disabled){cursor:pointer}.poro[data-owned=true]:not(:disabled):hover{border-color:var(--gold);transform:translateY(-3px);box-shadow:0 10px 24px #00000080}.poro[data-owned=true]:not(:disabled):active{transform:translateY(-1px)scale(.97)}.poro[data-eating=true] .poro__art{transform:scale(1.06)}.poro__cool{background:#04060bb3;border-radius:999px;height:4px;position:absolute;inset:auto 8% 7%;overflow:hidden}.poro__cool-fill{background:var(--gold);transform-origin:0;border-radius:999px;width:100%;height:100%;transition:transform .26s linear;display:block}.poro[data-eating=true]{cursor:default}.poro[data-owned=false] .poro__art{opacity:.16;filter:grayscale()}.poro__lock{width:40%;max-width:44px;height:auto;color:var(--text-muted);opacity:.8;position:absolute}.poro__cost{font-size:clamp(9px, calc(4.4vw / var(--cols,5)), 14px);font-variant-numeric:tabular-nums;color:var(--text-muted);white-space:nowrap;background:#04060bd1;border-radius:999px;align-items:center;gap:4px;padding:2px 8px;display:inline-flex;position:absolute;bottom:7%}.poro__coin{width:1.35em;height:1.35em;image-rendering:pixelated}.poro[data-afford=true]{border-color:var(--gold);box-shadow:0 0 14px -4px var(--gold);cursor:pointer}.poro[data-afford=true] .poro__cost{color:var(--gold-bright);animation:1.6s ease-in-out infinite soft-pulse}.poro[data-afford=true] .poro__art{opacity:.3}.poro[data-afford=true]:hover{transform:translateY(-3px)}.poro[data-next=true][data-afford=false]{border-color:color-mix(in srgb, var(--gold) 22%, var(--line-strong))}.poro__pop{z-index:2;white-space:nowrap;font-size:clamp(13px, calc(5.8vw / var(--cols,5)), 20px);color:var(--gold-bright);text-shadow:0 1px 3px #000000e6;pointer-events:none;animation:poro-pop .9s var(--ease-out) forwards;align-items:center;gap:3px;font-weight:700;display:inline-flex;position:absolute;top:18%;left:50%}.poro__pop[data-fed=true]{font-size:clamp(15px, calc(7vw / var(--cols,5)), 24px);color:var(--gold-bright);text-shadow:0 0 10px color-mix(in srgb, var(--gold) 55%, transparent), 0 1px 3px #000000e6}.poro__pop[data-fed=false]{color:color-mix(in srgb, var(--gold-bright) 80%, transparent)}.poro__pop-coin{width:1.05em;height:1.05em;image-rendering:pixelated}.btn.upgrade{height:var(--btn-square);align-content:center;justify-items:center;gap:1px;padding:0 10px;line-height:1.15;display:grid}.upgrade__name{letter-spacing:.04em;align-items:center;gap:5px;font-size:12px;display:inline-flex}.upgrade__level{font-variant-numeric:tabular-nums;text-align:center;background:#ffffff17;border-radius:999px;min-width:15px;padding:0 4px;font-size:10px}.upgrade__cost{font-variant-numeric:tabular-nums;color:var(--text-muted);align-items:center;gap:4px;font-size:11px;display:inline-flex}.upgrade__coin{width:13px;height:13px;image-rendering:pixelated}.btn.upgrade[data-afford=true]{--btn-border:color-mix(in srgb, var(--gold) 55%, transparent);color:var(--text)}.btn.upgrade[data-afford=true] .upgrade__cost{color:var(--gold-bright)}.farmnote__rate{color:var(--gold-bright);font-variant-numeric:tabular-nums;margin-left:6px}.btn.farmback{height:var(--btn-square);min-height:0;padding:0 14px;font-size:12px}.btn.farmbtn{width:var(--btn-square);height:var(--btn-square);place-items:center;min-height:0;padding:0;display:grid}.farmbtn__icon{width:28px;height:28px;transition:transform var(--base) var(--ease);display:block;position:relative;overflow:hidden}.farmbtn__poro{width:147%;height:auto;image-rendering:pixelated;position:absolute;top:-22.1%;left:-20.9%}.farmbtn:hover .farmbtn__icon{transform:translateY(-2px)}.btn.farmbtn:disabled{opacity:.45;cursor:default}.farmbtn[data-open=true]{--btn-border:var(--gold);color:var(--gold-bright)}.farmnote{gap:12px;min-width:0;font-size:16px}.farmnote__who{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.farmnote__gold{color:var(--gold-bright);font-variant-numeric:tabular-nums;align-items:center;gap:3px;font-size:19px;display:inline-flex}.farmnote__coin{width:22px;height:22px;image-rendering:pixelated}.farmnote__poros{color:var(--text-muted);white-space:nowrap;font-size:14px}.mini-chip[data-watchable=true]{cursor:pointer}.mini-chip[data-watchable=true]:hover{border-color:var(--gold);color:var(--text)}.mini-chip[data-watching=true]{border-color:var(--gold);box-shadow:0 0 0 1px var(--gold)}.mini-chip[data-watchable=true]:focus-visible{outline:2px solid var(--gold-bright);outline-offset:2px}.card-slot{min-width:0;min-height:0;display:grid;position:relative}.card{--c:var(--neutral);--c-deep:var(--neutral-deep);aspect-ratio:1;border-radius:var(--radius);animation:deal-in .48s var(--ease-out) backwards;animation-delay:calc(var(--i) * 22ms);transition:transform var(--base) var(--ease), opacity var(--base) var(--ease);background:0 0;padding:0;position:relative}.card[data-color=blue]{--c:var(--blue);--c-deep:var(--blue-deep)}.card[data-color=red]{--c:var(--red);--c-deep:var(--red-deep)}.card[data-color=mushroom]{--c:var(--mushroom);--c-deep:var(--mushroom-deep)}.card__inner{width:100%;height:100%;transform-style:preserve-3d;transition:transform .56s var(--ease-out);display:block;position:relative}.card.is-revealed .card__inner{transform:rotateY(180deg)}.card__face{border-radius:var(--radius);backface-visibility:hidden;border:3px solid var(--line-strong);background:linear-gradient(170deg,#212936,#10141d 68%);flex-direction:column;justify-content:flex-end;align-items:center;display:flex;position:absolute;inset:0;overflow:hidden;box-shadow:inset 0 1px #ffffff12}.card__face--back{border-color:color-mix(in srgb, var(--c) 60%, transparent);background:linear-gradient(180deg, color-mix(in srgb, var(--c) 46%, transparent), color-mix(in srgb, var(--c) 14%, transparent) 62%), linear-gradient(170deg, var(--c-deep), #06070c 80%);transform:rotateY(180deg)}.card__art{object-fit:cover;opacity:.9;width:100%;height:100%;transition:transform var(--slow) var(--ease), opacity var(--base) var(--ease), filter var(--base) var(--ease);position:absolute;inset:0}.card__face--back .card__art{opacity:.15;filter:grayscale(.85)}.card.is-revealed{transform:scale(.975)}.card__name{z-index:1;width:100%;font-size:clamp(8px, calc(4.1vw / var(--cols,5)), 12.5px);letter-spacing:.05em;text-align:center;text-transform:uppercase;color:var(--text);text-shadow:0 1px 3px #000000e6;text-overflow:ellipsis;white-space:nowrap;background:linear-gradient(#0000,#04060bf0 58%);padding:14px 6px 7px;font-weight:600;position:relative;overflow:hidden}.card__face--back .card__name{color:color-mix(in srgb, var(--c) 55%, var(--gold-bright))}.card__stamp{z-index:2;letter-spacing:.12em;text-transform:uppercase;color:#06070c;background:var(--c);border-radius:999px;padding:2px 10px;font-size:9px;font-weight:700;position:absolute;top:7px;left:7px}.card[data-color=mushroom] .card__face--back{background:radial-gradient(115% 85% at 50% 118%,#a992d833,#0000 62%),linear-gradient(170deg,#0b0910,#030308 78%);border-color:#a992d873;box-shadow:inset 0 0 0 1px #a992d81f,inset 0 0 44px #000000e6}.card[data-color=mushroom] .card__face--back .card__art{opacity:.1;filter:grayscale()brightness(.65)}.card[data-color=mushroom] .card__face--back .card__name{color:var(--mushroom-edge);text-shadow:0 0 16px #a992d88c,0 1px 3px #000000e6}.card[data-color=mushroom] .card__stamp{color:var(--mushroom-edge);background:#08070d;box-shadow:inset 0 0 0 1px #a992d88c}.card.is-keyed .card__face--front{border-color:color-mix(in srgb, var(--c) 78%, transparent);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--c) 34%, transparent), inset 0 -68px 54px -38px var(--c)}.card.is-keyed .card__art{opacity:.8}.card.is-keyed .card__face--front:after{content:"";background:var(--c);height:4px;box-shadow:0 0 14px var(--c);position:absolute;inset:auto 0 0}.card.is-keyed[data-color=mushroom] .card__face--front{border-color:#a992d880;box-shadow:inset 0 0 0 1px #a992d82e,inset 0 -74px 58px -32px #000,inset 0 -16px 26px -10px #a992d852}.card.is-keyed[data-color=mushroom] .card__art{opacity:.8;filter:grayscale()}.card-slot:hover .card.is-keyed[data-color=mushroom] .card__art{filter:none}.card.is-keyed[data-color=mushroom] .card__face--front:after{background:linear-gradient(90deg, transparent, var(--mushroom-edge), transparent);box-shadow:0 0 18px #a992d88c}.card[data-color=mushroom]{--mushroom-glow:mushroom-glow 2.4s cubic-bezier(.45, 0, .55, 1) infinite;isolation:isolate}.card.is-keyed[data-color=mushroom]:before,.card.is-revealed[data-color=mushroom]:after{content:"";z-index:1;border:3px solid color-mix(in srgb, var(--mushroom-edge) 72%, transparent);border-radius:var(--radius);box-shadow:0 0 10px -4px color-mix(in srgb, var(--mushroom-edge) 45%, transparent), inset 0 0 8px -4px color-mix(in srgb, var(--mushroom-edge) 30%, transparent);pointer-events:none;animation:var(--mushroom-glow);position:absolute;inset:0}.card__warning{pointer-events:none;min-height:0;animation:var(--mushroom-glow);flex:1 1 0;align-self:stretch;place-items:center;margin-bottom:-14px;display:grid;position:relative;container-type:size}.card__face--back .card__warning{margin-top:24px}.card__warning-icon{width:min(58cqw,90cqh);height:min(58cqw,90cqh);filter:drop-shadow(0 2px 3px #0009) drop-shadow(0 0 5px color-mix(in srgb, var(--ping-red) 30%, transparent));transition:opacity var(--base) var(--ease)}.card-slot:hover .card__warning-icon{opacity:0}.card.is-revealed[data-color=mushroom]:after,.card.is-revealed .card__warning{animation-delay:.56s;animation-fill-mode:backwards}.card.is-marked .card__face--front{box-shadow:0 0 0 2px color-mix(in srgb, var(--turn-color,var(--gold)) 45%, transparent), 0 10px 26px #00000080}.card.is-mine .card__face--front{box-shadow:0 0 0 3px var(--turn-color,var(--gold)), 0 12px 30px #0000008c}.card.is-mine .card__art{opacity:1}.card__marks{z-index:3;pointer-events:none;flex-wrap:wrap;justify-content:center;gap:3px;display:flex;position:absolute;inset:4px 4px auto}.card__clear{z-index:4;border:1px solid color-mix(in srgb, var(--turn-color,var(--gold)) 60%, #06070c);width:22px;height:22px;color:var(--turn-color,var(--gold));cursor:pointer;transition:transform var(--base) var(--ease), background var(--base) var(--ease), color var(--base) var(--ease);animation:pop-in .18s var(--ease-out);background:#06070c;border-radius:50%;place-items:center;padding:0;font-size:14px;line-height:1;display:grid;position:absolute;top:-7px;right:-7px;box-shadow:0 4px 12px #0009}.card-slot:hover .card__clear{transform:translateY(-5px)}.card__clear:hover{background:var(--turn-color,var(--gold));color:#06070c}.card-slot:hover .card__clear:hover{transform:translateY(-5px)scale(1.12)}.card__clear:focus-visible{outline:2px solid var(--gold-bright);outline-offset:2px}.card__mark{background:var(--turn-color,var(--gold));color:#06070c;letter-spacing:.06em;text-transform:uppercase;text-overflow:ellipsis;white-space:nowrap;max-width:100%;animation:pop-in .2s var(--ease-out);border-radius:999px;padding:1px 8px 2px;font-size:9px;font-weight:700;overflow:hidden}.pings{z-index:6;pointer-events:none;position:absolute;inset:0;container-type:size}.ping{--ping-colour:var(--ping-gold);animation:ping-rise var(--ping-life,2.4s) linear forwards;position:absolute;top:55%}.ping__bob{animation:ping-bob calc(var(--ping-life,2.4s) / 3) ease-in-out infinite alternate;animation-delay:calc(var(--ping-life,2.4s) / -6);justify-items:center;gap:5px;display:grid;transform:translate(-50%,-50%)}.ping[data-kind=fallback]{--ping-colour:var(--ping-red)}.ping__ring{border:2px solid var(--ping-colour);width:68px;height:68px;box-shadow:0 0 14px var(--ping-colour), inset 0 0 10px var(--ping-colour);opacity:0;animation:ping-ring .76s var(--ease-out) forwards;border-radius:50%;margin-left:-34px;position:absolute;top:0;left:50%}.ping__icon{width:68px;height:68px;filter:drop-shadow(0 4px 10px #000000bf) drop-shadow(0 0 8px color-mix(in srgb, var(--ping-colour) 55%, transparent));animation:ping-pop .42s var(--ease-out) backwards}.ping__name{--plate-edge:var(--ping-colour);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--plate-edge) 45%, transparent);color:var(--gold-bright);letter-spacing:.06em;text-transform:uppercase;white-space:nowrap;background:#04060bdb;border-radius:999px;padding:2px 10px 3px;font-size:11px;font-weight:700}.ping[data-team=blue] .ping__name{--plate-edge:var(--blue-soft);color:var(--blue-soft)}.ping[data-team=red] .ping__name{--plate-edge:var(--red-soft);color:var(--red-soft)}.ping[data-you=true] .ping__name{background:var(--plate-edge);box-shadow:inset 0 0 0 1px var(--plate-edge);color:#06070c}@media (prefers-reduced-motion:reduce){.ping{animation:ping-fade var(--ping-life,2.4s) linear forwards!important}.ping__bob,.ping__icon,.ping__ring{animation:none!important}}.side-team__split{letter-spacing:.16em;text-transform:uppercase;color:var(--text-muted);flex-basis:100%;align-items:center;gap:8px;margin-top:4px;font-size:10px;display:flex}.side-team__split:first-child{margin-top:0}.side-team__split:after{content:"";background:linear-gradient(90deg, var(--team), transparent);opacity:.45;flex:1;height:1px}:is(.board:has(.card.is-keyed[data-color=blue]:hover) .card:not([data-color=blue]),.board:has(.card.is-keyed[data-color=red]:hover) .card:not([data-color=red]),.board:has(.card.is-keyed[data-color=neutral]:hover) .card:not([data-color=neutral]),.board:has(.card.is-keyed[data-color=mushroom]:hover) .card:not([data-color=mushroom])){opacity:.22}.card.is-pickable{cursor:pointer}.card.is-pickable:hover{z-index:3;transform:translateY(-5px)}.card.is-pickable:hover .card__face--front{border-color:var(--gold);box-shadow:0 14px 30px #0009,inset 0 0 0 1px #f0e6d238}.card.is-marked.is-pickable:hover .card__face--front{box-shadow:0 0 0 2px color-mix(in srgb, var(--turn-color,var(--gold)) 45%, transparent), 0 14px 30px #0009}.card.is-mine.is-pickable:hover .card__face--front{box-shadow:0 0 0 3px var(--turn-color,var(--gold)), 0 16px 34px #000000a6}.card.is-pickable:hover .card__art{opacity:1;transform:scale(1.07)}.card.is-pickable:active{transform:translateY(-1px)scale(.985)}.card:not(.is-pickable):not(.is-revealed){cursor:default}.card.is-revealed{pointer-events:none}.board[data-locked=true] .card{cursor:default}.actionbar[data-turn=blue]{--turn-color:var(--blue)}.actionbar[data-turn=red]{--turn-color:var(--red)}.actionbar{min-height:88px;animation:rise-in var(--base) var(--ease-out) backwards;flex-wrap:wrap;align-items:center;gap:12px;padding:14px 16px;display:flex}.hint-form{flex-wrap:wrap;align-items:center;gap:10px;width:100%;display:flex}.hint-form .input{flex:190px;min-width:0}.count-picker{--pick-size:32px;--pick-gap:4px;gap:var(--pick-gap);flex-wrap:wrap;display:flex}.count-picker__btn{width:var(--pick-size);height:var(--pick-size);border:1px solid var(--line-strong);background:var(--well);color:var(--text-soft);font-family:var(--font-mono);transition:transform var(--fast) var(--ease), background var(--fast) var(--ease), color var(--fast) var(--ease), border-color var(--fast) var(--ease);border-radius:8px;font-size:13px}.count-picker__btn:hover{border-color:var(--line-strong);transform:translateY(-3px)}.count-picker__btn[aria-pressed=true]{border-color:none;color:#16110a;background:#d6b878}.takeaside{align-items:center;gap:8px;margin-left:auto;display:flex}.takeaside__note{letter-spacing:.16em;text-transform:uppercase;color:var(--text-muted);font-size:11px}.pingctl{flex:none;display:flex;position:relative}.pingctl .btn.pingctl__trigger{width:var(--btn-square);height:var(--btn-square);place-items:center;min-height:0;padding:0;font-size:21px;display:grid}.icon-ping{width:1em;height:1em;display:block}.pingctl__trigger[data-cooling=true]{color:var(--text-muted);cursor:default}.pingctl__trigger[data-cooling=true]:hover{border-color:var(--line-strong);box-shadow:none}.pingctl__trigger[data-cooling=true]:hover:after{opacity:0;animation:none}.pingctl__sweep{border-radius:inherit;pointer-events:none;transform-origin:bottom;animation:ping-cool var(--cool-total,3s) linear forwards;animation-delay:calc(var(--cool-left,3s) - var(--cool-total,3s));background:#04060b9e;border-top-left-radius:0;border-top-right-radius:0;position:absolute;inset:0}.pingctl__pop{z-index:12;border:2px solid var(--line-strong);border-radius:var(--radius);background:linear-gradient(var(--ghost-bg), var(--ghost-bg)), var(--bar-ink);box-shadow:var(--shadow);opacity:0;visibility:hidden;transform-origin:100% 100%;transition:opacity .13s var(--ease), transform .13s var(--ease), visibility 0s linear .13s;gap:4px;padding:5px;display:flex;position:absolute;bottom:calc(100% + 10px);right:0;transform:translateY(7px)scale(.95)}.pingctl__pop[data-open=true]{opacity:1;visibility:visible;transition:opacity .17s var(--ease-out), transform .21s cubic-bezier(.2, .9, .25, 1.15), visibility 0s;transform:none}.pingctl__btn{cursor:pointer;width:40px;height:40px;transition:background var(--fast) var(--ease), transform var(--fast) var(--ease);background:0 0;border:0;border-radius:8px;place-items:center;padding:0;display:grid}.pingctl__btn img{pointer-events:none;filter:drop-shadow(0 2px 4px #0009);width:30px;height:30px}.pingctl__btn:hover:not(:disabled){background:color-mix(in srgb, var(--ping-gold) 16%, transparent);transform:translateY(-2px)}.pingctl__btn[data-kind=fallback]:hover:not(:disabled){background:color-mix(in srgb, var(--ping-red) 18%, transparent)}.pingctl__btn:active:not(:disabled){transform:scale(.94)}.pingctl__btn:disabled{opacity:.35;cursor:default}.pingctl__btn:focus-visible{outline:2px solid var(--gold-bright);outline-offset:1px}@media (prefers-reduced-motion:reduce){.pingctl__sweep{transform:none;animation:none!important}}.actionbar__note{color:var(--text-soft);align-items:center;gap:8px;margin-right:auto;font-size:13px;display:flex}.btn--cutoff[data-ready=true]{animation:1.8s ease-out infinite cutoff-ready}.actionbar__note strong{color:var(--text)}.dots{gap:3px;margin-left:4px;margin-right:4px;display:inline-flex}.dots span{background:var(--text-muted);border-radius:50%;width:4px;height:4px;animation:1.2s ease-in-out infinite soft-pulse}.dots span:nth-child(2){animation-delay:.16s}.dots span:nth-child(3){animation-delay:.32s}.side-team{border-top:4px solid var(--team);border-radius:0 0 var(--radius-lg) var(--radius-lg);transition:border-radius var(--base) var(--ease), box-shadow var(--base) var(--ease);flex-direction:column;gap:10px;padding:14px 16px;display:flex}.side-team[data-team=blue]{--team:var(--blue)}.side-team[data-team=red]{--team:var(--red)}.side-team[data-active=true]{box-shadow:var(--shadow), 0 0 0 1px color-mix(in srgb, var(--team) 40%, transparent)}.side-team__head{justify-content:space-between;align-items:center;gap:8px;display:flex}.side-team__name{letter-spacing:.12em;text-transform:uppercase;color:var(--team);font-family:Inter;font-size:14px}.side-team__left{font-family:var(--font-mono);color:var(--team);font-size:18px}.side-team__roster{flex-wrap:wrap;gap:6px;display:flex}.mini-chip{border:1px solid var(--line-strong);color:var(--text-soft);transition:opacity var(--base) var(--ease);background:#ffffff09;border-radius:999px;align-items:center;gap:6px;padding:4px 13px;font-size:12px;display:inline-flex}.mini-chip[data-connected=false]{opacity:.4}.mini-chip[data-role=shotcaller]{border-color:color-mix(in srgb, var(--team) 55%, transparent);color:var(--text)}.mini-chip[data-you=true]{background:var(--team,var(--gold));border-color:var(--team,var(--gold));color:#06070c;font-weight:600}.mini-chip[data-you=true] .mini-chip__crown{color:#06070c}.mini-chip__crown{color:var(--team);font-size:10px}.feed{--team:var(--text-muted);border-top:4px solid var(--team);border-radius:0 0 var(--radius-lg) var(--radius-lg);flex-direction:column;min-height:0;display:flex;overflow:hidden}.feed[data-team=blue]{--team:var(--blue)}.feed[data-team=red]{--team:var(--red)}.feed__head{border-bottom:1px solid var(--line);padding:10px 14px}.feed__head .eyebrow{color:var(--team)}.feed__body{scrollbar-width:thin;scrollbar-color:var(--line-strong) transparent;flex:1;min-height:0;max-height:46vh;padding:10px;overflow-y:auto}.feed__body::-webkit-scrollbar{width:6px}.feed__body::-webkit-scrollbar-thumb{background:var(--line-strong);border-radius:999px}.feed__turn{animation:slide-in-right .32s var(--ease-out) backwards}.feed__turn+.feed__turn{margin-top:10px}.feed__divider{letter-spacing:.16em;text-transform:uppercase;color:var(--text-muted);align-items:center;gap:8px;margin:0 2px 6px;font-size:10px;display:flex}.feed__divider:before,.feed__divider:after{content:"";background:var(--team);height:1px}.feed__divider:before{flex:none;width:12px}.feed__divider:after{flex:1}.feed__lines{flex-direction:column;gap:3px;margin:0;padding:0;list-style:none;display:flex}.feed__line{border-left:2px solid var(--team);color:var(--text-soft);overflow-wrap:anywhere;background:#ffffff06;border-radius:0 7px 7px 0;justify-content:space-between;align-items:baseline;gap:8px;padding:6px 9px;font-size:13px;display:flex}.feed__line>*{min-width:0}.feed__line b{color:var(--text);font-weight:600}.feed__line[data-hit=true],.feed__line[data-hit=true] b{color:var(--hit)}.feed__line[data-hit=false],.feed__line[data-hit=false] b{color:var(--miss)}.feed__line[data-hit=true]{border-left-color:var(--hit)}.feed__line[data-hit=false]{border-left-color:var(--miss)}.feed__line--end{color:var(--text-muted);background:0 0;border-left-color:#0000;padding-top:2px;padding-bottom:2px;font-style:italic}.feed__line .pill{letter-spacing:.08em;text-transform:uppercase;color:#06070c;border-radius:999px;flex:none;padding:1px 9px;font-size:10px;font-weight:700;display:inline-block}.pill[data-color=blue]{background:var(--blue)}.pill[data-color=red]{background:var(--red)}.pill[data-color=neutral]{background:var(--neutral)}.pill[data-color=mushroom]{color:var(--mushroom-edge);background:#08070d;box-shadow:inset 0 0 0 1px #a992d880}.feed__empty{text-align:center;color:var(--text-muted);margin:0;padding:16px 12px;font-size:13px}.feed__result{text-align:center;font-family:var(--font-display);letter-spacing:.12em;text-transform:uppercase;color:var(--text-muted);border:1px solid var(--line);animation:pop-in var(--base) var(--ease-out);border-radius:8px;margin-top:10px;padding:10px;font-size:15px}.feed__result[data-win=true]{color:var(--team);border-color:color-mix(in srgb, var(--team) 55%, transparent);background:color-mix(in srgb, var(--team) 12%, transparent)}.feed__result span{font-family:var(--font-ui);letter-spacing:.04em;text-transform:none;color:var(--text-muted);margin-top:3px;font-size:11px;display:block}.howto{z-index:65;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);animation:rise-in var(--fast) var(--ease-out);background:#030408bd;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.howto__card{border-top:3px solid var(--gold);width:min(620px,100%);max-height:min(84dvh,780px);animation:pop-in var(--base) var(--ease-out);border-top-left-radius:0;border-top-right-radius:0;flex-direction:column;display:flex;overflow:hidden}.howto__head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;padding:18px 22px 14px;display:flex}.howto__head h2{font-size:20px}.howto__close{border:1px solid var(--line-strong);border-radius:var(--radius);width:32px;height:32px;color:var(--text-soft);cursor:pointer;transition:border-color var(--fast) var(--ease), color var(--fast) var(--ease);background:#ffffff09;flex:none;place-items:center;padding:0;font-size:16px;display:grid}.howto__close:hover{border-color:var(--gold);color:var(--gold-bright)}.howto__close:focus-visible{outline:2px solid var(--gold-bright);outline-offset:2px}.howto__body{scrollbar-width:thin;scrollbar-color:var(--line-strong) transparent;flex-direction:column;gap:18px;padding:20px 22px 24px;display:flex;overflow-y:auto}.howto__step{align-items:flex-start;gap:14px;display:flex}.howto__num{border:1px solid color-mix(in srgb, var(--gold) 50%, transparent);width:26px;height:26px;color:var(--gold-bright);font-family:var(--font-mono);border-radius:50%;flex:none;place-items:center;font-size:12px;display:grid}.howto__step h3{letter-spacing:.04em;margin:3px 0 6px;font-size:15px}.howto__step p{color:var(--text-soft);margin:0;font-size:14px;line-height:1.55}.howto__step strong{color:var(--text)}.howto__x{border:1px solid color-mix(in srgb, var(--gold) 55%, transparent);width:17px;height:17px;color:var(--gold-bright);vertical-align:middle;border-radius:50%;place-items:center;margin-left:4px;display:inline-grid}.howto__x svg{width:9px;height:9px;display:block}.howto__cards{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.howto__example{align-items:center;gap:16px;display:flex}.howto__face{--c:var(--neutral);--c-deep:var(--neutral-deep);border:1px solid color-mix(in srgb, var(--c) 70%, transparent);border-radius:var(--radius);background:linear-gradient(170deg, color-mix(in srgb, var(--c) 26%, transparent), var(--c-deep));flex-direction:column;flex:none;justify-content:flex-end;width:108px;height:108px;padding:8px;display:flex;position:relative;overflow:hidden}.howto__art{object-fit:cover;opacity:.55;filter:saturate(.85);width:100%;height:100%;position:absolute;inset:0}.howto__face:after{content:"";background:linear-gradient(180deg, color-mix(in srgb, var(--c) 22%, transparent), #04060be0 78%);position:absolute;inset:0}.howto__face[data-color=mushroom] .howto__art{opacity:.18;filter:grayscale()brightness(.7)}.howto__face[data-color=blue]{--c:var(--blue);--c-deep:var(--blue-deep)}.howto__face[data-color=red]{--c:var(--red);--c-deep:var(--red-deep)}.howto__face[data-color=mushroom]{--c:var(--mushroom-edge);--c-deep:var(--mushroom-deep)}.howto__stamp{z-index:1;background:var(--c);color:#06070c;letter-spacing:.1em;text-transform:uppercase;border-radius:999px;padding:2px 9px 3px;font-size:9px;font-weight:700;position:absolute;top:8px;left:8px}.howto__face[data-color=mushroom] .howto__stamp{color:var(--mushroom-edge);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--mushroom-edge) 55%, transparent);background:#08070d}.howto__name{z-index:1;letter-spacing:.05em;text-transform:uppercase;color:var(--text);text-align:center;font-size:13px;font-weight:600;position:relative}.howto__what{color:var(--text-soft);font-size:14px;line-height:1.5}.lobby__head-actions{flex-wrap:wrap;gap:10px;display:flex}.confirm{z-index:70;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);animation:rise-in var(--fast) var(--ease-out);background:#030408b8;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.confirm__card{--c:var(--gold);width:min(420px,100%);animation:pop-in var(--base) var(--ease-out);border-radius:var(--radius-lg);padding:26px 26px 22px}.confirm__card[data-danger=true]{--c:var(--red)}.confirm__title{margin:0 0 8px;font-size:20px}.confirm__body{color:var(--text-soft);margin:0;font-size:14px;line-height:1.5}.confirm__actions{flex-wrap:wrap;justify-content:flex-end;gap:10px;margin-top:22px;display:flex}.endscreen{z-index:60;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);animation:rise-in var(--base) var(--ease-out);background:#030408b8;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.endscreen__card{--c:var(--gold);text-align:center;border-top:3px solid var(--c);width:min(460px,100%);animation:pop-in .42s var(--ease-out);border-top-left-radius:0;border-top-right-radius:0;padding:34px 30px 28px;position:relative;overflow:hidden}.endscreen__card[data-winner=blue]{--c:var(--blue)}.endscreen__card[data-winner=red]{--c:var(--red)}.endscreen__card:before{content:"";background:radial-gradient(60% 100% at 50% 0%, color-mix(in srgb, var(--c) 40%, transparent), transparent 70%);pointer-events:none;height:200px;position:absolute;inset:-40% -20% auto}.endscreen__eyebrow{letter-spacing:.24em;text-transform:uppercase;color:var(--text-muted);font-size:11px;position:relative}.endscreen h2{color:var(--c);text-shadow:0 0 34px color-mix(in srgb, var(--c) 45%, transparent);margin:10px 0 6px;font-size:clamp(30px,5vw,42px);position:relative}.endscreen__reason{color:var(--text-soft);margin:0 0 22px;position:relative}.endscreen__actions{flex-wrap:wrap;justify-content:center;gap:10px;display:flex;position:relative}.toast{z-index:80;border-radius:var(--radius);color:#ffd9df;width:fit-content;max-width:min(440px,100%);box-shadow:var(--shadow-lift);animation:drop-in var(--base) var(--ease-out);background:#1e0a10f0;border:1px solid #e0455f80;align-items:center;gap:12px;margin-inline:auto;padding:11px 14px;font-size:14px;display:flex;position:fixed;top:76px;left:16px;right:16px}.toast__close{color:inherit;opacity:.6;transition:opacity var(--fast) var(--ease);font-size:18px;line-height:1}.toast__close:hover{opacity:1}.loading{z-index:100;background:radial-gradient(58% 46% at 50% 40%, #c8aa6e1a, transparent 70%), radial-gradient(50% 42% at 12% 16%, #0a9fd829, transparent 70%), radial-gradient(50% 42% at 88% 86%, #e0455f24, transparent 70%), var(--bg-deep);transition:opacity var(--base) var(--ease);place-items:center;display:grid;position:fixed;inset:0}.loading[data-leaving=true]{opacity:0;pointer-events:none}.loading__inner{flex-direction:column;align-items:center;gap:20px;display:flex}.loading__badge{place-items:center;width:148px;height:148px;display:grid;position:relative}.loading__ring{border:2px solid #c8aa6e24;border-top-color:var(--gold);border-radius:50%;animation:1.15s linear infinite spin;position:absolute;inset:0}.loading__ring--inner{border-width:1px;border-color:#c8aa6e12;border-bottom-color:var(--gold-dim);animation-duration:1.9s;animation-direction:reverse;inset:13px}.loading__logo{filter:drop-shadow(0 8px 20px #0009);width:64px;height:64px}.logo__plate{fill:var(--surface);stroke:var(--line);stroke-width:1.5px}.logo__tile[data-key=blue]{fill:var(--blue)}.logo__tile[data-key=mushroom]{fill:var(--mushroom-edge)}.logo__tile[data-key=neutral]{fill:var(--neutral)}.logo__tile[data-key=red]{fill:var(--red)}.loading__logo .logo__tile{animation:tile-dim 2s var(--ease) infinite}.loading__logo .logo__tile[data-key=mushroom]{animation-delay:.14s}.loading__logo .logo__tile[data-key=red]{animation-delay:.28s}.loading__logo .logo__tile[data-key=neutral]{animation-delay:.42s}.loading__word{font-family:var(--font-display);letter-spacing:.09em;color:var(--gold);text-shadow:0 0 26px #c8aa6e4d;margin:0;font-size:34px;line-height:1}.loading__word span{color:var(--gold-bright)}.loading__note{margin:0}@media (width<=420px){.loading__badge{width:108px;height:108px}.loading__logo{width:48px;height:48px}.loading__word{font-size:25px}}@media (prefers-reduced-motion:reduce){.loading__ring{animation:1.7s ease-in-out infinite soft-pulse!important}.loading__ring--inner{animation-delay:.85s!important}.loading__logo .logo__tile{animation:none!important}}@media (width<=1320px){.topbar__center{padding-left:0;position:static;transform:none}.topbar{flex-wrap:wrap}}@media (width<=860px){.landing__inner,.teams{grid-template-columns:minmax(0,1fr)}}@media (width<=620px){.hud{gap:10px}.card__name{letter-spacing:0;padding:10px 3px 5px}.card__warning{margin-bottom:-10px}.farmnote__rate,.farmnote__poros{display:none}.farmnote{gap:9px;font-size:14px}.farmnote__gold{font-size:16px}.farmnote__coin{width:18px;height:18px}.btn.upgrade{padding:0 7px}.upgrade__name{font-size:11px}.upgrade__cost{font-size:10px}.brand__patch{display:none}.topbar{flex-wrap:wrap;justify-content:space-between;gap:8px 10px;padding:10px 14px}.brand{order:0;font-size:22px}.status-dot{order:1}.topbar__spacer{display:none}.topbar>.btn{order:4}.topbar>.btn:last-child{margin-left:auto}.toast{animation-name:rise-up;top:auto;bottom:16px}.timers{flex-wrap:wrap}.timers .field{min-width:92px}.topbar__rules-label{display:none}.topbar__rules .icon-help{display:block}.topbar__center{order:1;gap:8px;position:static;transform:none}.topbar__center .btn.topbar__rules{place-items:center;width:40px;min-height:40px;padding:0;font-size:24px;display:grid}.topbar__center{--sound-btn:40px}.volume .btn.topbar__sound{font-size:24px}.status-dot{order:2;margin-left:auto}.roomcode{order:3}.topbar .btn--sm{min-height:36px;padding:8px 14px}.roomcode{padding:8px 14px}.status-dot{letter-spacing:.08em;font-size:10px}.hint-form{flex-direction:column;align-items:stretch}.hint-form .input{flex:none}.count-picker{flex-wrap:nowrap;width:100%}.count-picker__btn{flex:1 1 0;width:auto;min-width:0}.status-dot[data-status=online]{display:none}.app:not([data-stage=home]) .topbar>.btn{order:1;margin-left:auto}.app:not([data-stage=home]) .topbar>.btn~.btn{margin-left:0}.app:not([data-stage=home]) .topbar>.topbar__spacer{flex-basis:100%;order:2;height:0;display:block}.app:not([data-stage=home]) .topbar>.roomcode{order:3}.app:not([data-stage=home]) .topbar>.topbar__center{order:4}}@media (width<=380px){.topbar{gap:8px}.brand{font-size:14px}}.dev-flag{border:1px dashed var(--gold);letter-spacing:.14em;text-transform:uppercase;color:var(--gold);white-space:nowrap;border-radius:999px;align-items:center;padding:3px 9px;font-size:10px;font-weight:700;display:inline-flex}
