@font-face{font-family:Orbitron;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/orbitron-latin-700-normal-4jsRXGGJ.woff2)format("woff2"),url(/assets/orbitron-latin-700-normal-DmYOh-W9.woff)format("woff")}@font-face{font-family:Orbitron;font-style:normal;font-display:swap;font-weight:900;src:url(/assets/orbitron-latin-900-normal-DrIi7unX.woff2)format("woff2"),url(/assets/orbitron-latin-900-normal-BbJatbhp.woff)format("woff")}@font-face{font-family:"Exo 2";font-style:normal;font-display:swap;font-weight:400;src:url(/assets/exo-2-latin-400-normal-D8MC3_dU.woff2)format("woff2"),url(/assets/exo-2-latin-400-normal-_vYD6UCb.woff)format("woff")}@font-face{font-family:"Exo 2";font-style:normal;font-display:swap;font-weight:600;src:url(/assets/exo-2-latin-600-normal-DOMk466V.woff2)format("woff2"),url(/assets/exo-2-latin-600-normal-DZPWd1Z-.woff)format("woff")}@font-face{font-family:"Exo 2";font-style:normal;font-display:swap;font-weight:700;src:url(/assets/exo-2-latin-700-normal-OoACPC18.woff2)format("woff2"),url(/assets/exo-2-latin-700-normal-CMe4g2cX.woff)format("woff")}@font-face{font-family:Sora;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/sora-latin-400-normal-CRt88UEn.woff2)format("woff2"),url(/assets/sora-latin-400-normal-OW7qkl5a.woff)format("woff")}@font-face{font-family:Sora;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/sora-latin-600-normal-Cdg4DaK0.woff2)format("woff2"),url(/assets/sora-latin-600-normal-1_7fyUAY.woff)format("woff")}@font-face{font-family:"Press Start 2P";font-style:normal;font-display:swap;font-weight:400;src:url(/assets/press-start-2p-latin-400-normal-_wFEWmAB.woff2)format("woff2"),url(/assets/press-start-2p-latin-400-normal-KLytu4cr.woff)format("woff")}@font-face{font-family:VT323;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/vt323-latin-400-normal-wDgJuOC9.woff2)format("woff2"),url(/assets/vt323-latin-400-normal-Dqn9ZSPj.woff)format("woff")}@font-face{font-family:Merriweather Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/merriweather-sans-latin-400-normal-DKAFs6s-.woff2)format("woff2"),url(/assets/merriweather-sans-latin-400-normal-DQmrHg-M.woff)format("woff")}@font-face{font-family:Merriweather Sans;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/merriweather-sans-latin-700-normal-DgLXZReT.woff2)format("woff2"),url(/assets/merriweather-sans-latin-700-normal-TYdX4Be6.woff)format("woff")}@font-face{font-family:Atkinson Hyperlegible;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/atkinson-hyperlegible-latin-400-normal-BrHNak5F.woff2)format("woff2"),url(/assets/atkinson-hyperlegible-latin-400-normal-BbWidj28.woff)format("woff")}@font-face{font-family:Atkinson Hyperlegible;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/atkinson-hyperlegible-latin-700-normal-GZI4o3u0.woff2)format("woff2"),url(/assets/atkinson-hyperlegible-latin-700-normal-BK6Glc0m.woff)format("woff")}*,:before,:after{box-sizing:border-box}html,body{height:100%;margin:0;padding:0}html{background:var(--bg);color:var(--text);font-family:var(--font-ui);-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent;overscroll-behavior:none;font-size:16px}html[data-font=large]{font-size:20px}html[data-theme=retro]{font-size:19px}html[data-theme=retro][data-font=large]{font-size:23px}body{background:var(--bg);overscroll-behavior-y:none;min-height:100dvh;line-height:1.4}button,input,select,textarea{font:inherit;color:inherit}h1,h2,h3{font-family:var(--font-title);letter-spacing:.01em;margin:0;line-height:1.15}html[data-theme=retro] h1,html[data-theme=retro] h2,html[data-theme=retro] h3{font-size:.8em;line-height:1.5}a{color:var(--accent)}.num{font-family:var(--font-num);font-variant-numeric:tabular-nums}.dim{color:var(--text-dim)}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}#app{z-index:1;min-height:100dvh;position:relative}#bg{z-index:0;pointer-events:none;background:radial-gradient(120% 80% at 50% 0%, var(--bg-2), var(--bg) 70%);position:fixed;inset:0;overflow:hidden}#bg>div{display:none;position:absolute;inset:0}html[data-bg=grid] .bg-grid,html[data-bg=orbs] .bg-orbs,html[data-bg=scanlines] .bg-scan{display:block}.bg-grid:before{content:"";background-image:linear-gradient(color-mix(in srgb, var(--accent) 28%, transparent) 1px, transparent 1px), linear-gradient(90deg, color-mix(in srgb, var(--accent) 28%, transparent) 1px, transparent 1px);transform-origin:50% 100%;background-size:56px 56px;height:70%;animation:6s linear infinite grid-scroll;position:absolute;bottom:-10%;left:-50%;right:-50%;transform:perspective(420px)rotateX(62deg);-webkit-mask-image:linear-gradient(#0000 15%,#000000e6);mask-image:linear-gradient(#0000 15%,#000000e6)}.bg-grid:after{content:"";background:radial-gradient(60% 50% at 50% 100%, color-mix(in srgb, var(--accent-2) 22%, transparent), transparent 70%);height:40%;position:absolute;top:28%;left:0;right:0}@keyframes grid-scroll{to{background-position:0 56px,0 0}}.bg-orbs i{filter:blur(60px);opacity:.45;border-radius:50%;width:60vmax;height:60vmax;animation:24s ease-in-out infinite alternate orb;position:absolute}.bg-orbs i:first-child{background:color-mix(in srgb, var(--accent) 45%, transparent);top:-20vmax;left:-20vmax}.bg-orbs i:nth-child(2){background:color-mix(in srgb, var(--accent-2) 40%, transparent);animation-delay:-8s;top:20vh;right:-25vmax}.bg-orbs i:nth-child(3){background:#f7a8ff59;animation-delay:-16s;bottom:-30vmax;left:10vw}@keyframes orb{to{transform:translate(8vmax,6vmax)scale(1.1)}}.bg-scan{background:repeating-linear-gradient(#00000038 0 2px,#0000 2px 4px);animation:5s steps(2,end) infinite flicker}@keyframes flicker{50%{opacity:.85}}html[data-bg=felt] #bg{background:radial-gradient(120% 90% at 50% 10%, #3d2a1c, var(--bg) 70%)}html[data-hidden=true] #bg *,html[data-hidden=true] #bg :before,html[data-motion=off] #bg *,html[data-motion=off] #bg :before,html[data-motion=reduced] #bg *,html[data-motion=reduced] #bg :before{animation-play-state:paused!important}html[data-motion=off] *,html[data-motion=off] :before,html[data-motion=off] :after{transition-duration:1ms!important;animation-duration:1ms!important;animation-iteration-count:1!important}html[data-motion=reduced]{--dur-l:.16s;--dur-m:.12s}html[data-pixel=true] img,html[data-pixel=true] .pixel{image-rendering:pixelated}.screen{min-height:100dvh;padding:calc(env(safe-area-inset-top) + 12px) max(16px, env(safe-area-inset-right)) calc(env(safe-area-inset-bottom) + 96px) max(16px, env(safe-area-inset-left));max-width:980px;margin:0 auto}.screen.no-nav{padding-bottom:calc(env(safe-area-inset-bottom) + 16px)}.play-screen{height:100dvh;padding:calc(env(safe-area-inset-top) + 4px) max(10px, env(safe-area-inset-right)) calc(env(safe-area-inset-bottom) + 6px) max(10px, env(safe-area-inset-left));-webkit-user-select:none;user-select:none;touch-action:manipulation;flex-direction:column;max-width:1100px;margin:0 auto;display:flex;overflow:hidden}.play-screen .play-main{flex-direction:column;flex:1;justify-content:center;align-items:stretch;gap:8px;min-height:0;display:flex}@media (orientation:landscape) and (min-width:700px){.play-screen .play-body{flex:1;grid-template-columns:minmax(0,1fr) 300px;gap:16px;min-height:0;display:grid}.play-screen .play-body.no-side{grid-template-columns:1fr}}.play-body{flex-direction:column;flex:1;min-height:0;display:flex}.play-side{flex-direction:column;gap:8px;min-height:0;display:flex}.glass{background:var(--surface-glass);border:var(--border-w) solid var(--border);border-radius:var(--radius-l);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(var(--blur)) saturate(1.2);backdrop-filter:blur(var(--blur)) saturate(1.2)}.card{padding:14px 16px}.section-title{font-family:var(--font-title);letter-spacing:.14em;text-transform:uppercase;color:var(--text-dim);margin:22px 4px 10px;font-size:.8rem}html[data-theme=retro] .section-title{font-size:.5rem}.btn{border-radius:var(--radius-m);border:var(--border-w) solid var(--border);background:var(--surface);min-height:44px;color:var(--text);cursor:pointer;transition:transform var(--dur-s) var(--ease), background var(--dur-s), box-shadow var(--dur-s);-webkit-user-select:none;user-select:none;justify-content:center;align-items:center;gap:8px;padding:10px 18px;font-weight:600;text-decoration:none;display:inline-flex}.btn:active{transform:scale(.97)}.btn:disabled{opacity:.45;cursor:not-allowed;transform:none}.btn.primary{background:var(--accent);color:var(--on-accent);box-shadow:0 0 calc(22px * var(--glow)) color-mix(in srgb, var(--accent) 60%, transparent);border-color:#0000}.btn.danger{color:var(--danger);border-color:color-mix(in srgb, var(--danger) 50%, transparent)}.btn.ghost{background:0 0;border-color:#0000}.btn.block{width:100%}.btn.big{min-height:56px;font-size:1.1rem}.btn.small{min-height:36px;padding:6px 12px;font-size:.9rem}html[data-theme=retro] .btn{font-family:var(--font-ui);font-size:1.15rem;box-shadow:4px 4px #00000080}html[data-theme=retro] .btn.primary{box-shadow:4px 4px 0 var(--accent-2)}.icon-btn{border-radius:var(--radius-m);width:44px;height:44px;color:var(--text);cursor:pointer;background:0 0;border:none;flex:none;place-items:center;display:inline-grid}.icon-btn:active{background:color-mix(in srgb, var(--text) 10%, transparent)}.icon-btn svg,.btn svg{width:22px;height:22px}.field{flex-direction:column;gap:6px;margin:12px 0;display:flex}.field>label,.field-label{color:var(--text-dim);font-size:.85rem;font-weight:600}.input,select.input{border-radius:var(--radius-m);border:var(--border-w) solid var(--border);background:color-mix(in srgb, var(--surface) 80%, transparent);width:100%;min-height:46px;color:var(--text);padding:10px 14px;font-size:1rem}.input:focus{outline:2px solid var(--accent);outline-offset:0}.seg{border-radius:var(--radius-m);background:color-mix(in srgb, var(--text) 7%, transparent);flex-wrap:wrap;gap:4px;padding:4px;display:flex}.seg button{border-radius:calc(var(--radius-m) - 4px);cursor:pointer;min-width:min-content;min-height:40px;color:var(--text-dim);background:0 0;border:none;flex:auto;padding:6px 8px;font-size:.92rem;font-weight:600;line-height:1.15}.seg button[aria-pressed=true]{background:var(--surface);color:var(--text);box-shadow:0 1px 4px #0003, inset 0 0 0 1px var(--border)}html[data-theme=neon] .seg button[aria-pressed=true]{color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent), 0 0 12px color-mix(in srgb, var(--accent) 35%, transparent)}.row{align-items:center;gap:12px;display:flex}.row.between{justify-content:space-between}.row.wrap{flex-wrap:wrap}.list-row{border-bottom:1px solid color-mix(in srgb, var(--border) 60%, transparent);justify-content:space-between;align-items:center;gap:12px;min-height:52px;padding:8px 0;display:flex}.list-row:last-child{border-bottom:none}.list-row .label{font-weight:600}.list-row .sub{color:var(--text-dim);font-size:.85rem}.switch{flex:none;width:52px;height:32px;position:relative}.switch input{opacity:0;cursor:pointer;z-index:1;margin:0;position:absolute;inset:0}.switch span{background:color-mix(in srgb, var(--text) 20%, transparent);transition:background var(--dur-s);border-radius:99px;position:absolute;inset:0}.switch span:after{content:"";width:26px;height:26px;transition:transform var(--dur-s) var(--ease);background:#fff;border-radius:50%;position:absolute;top:3px;left:3px;box-shadow:0 1px 3px #0000004d}.switch input:checked+span{background:var(--accent)}.switch input:checked+span:after{transform:translate(20px)}.switch input:focus-visible+span{outline:2px solid var(--accent);outline-offset:2px}input[type=range]{width:100%;accent-color:var(--accent)}.hub-head{justify-content:space-between;align-items:center;margin:6px 0 14px;display:flex}.logo{font-family:var(--font-title);letter-spacing:.06em;font-size:1.55rem;font-weight:900}.logo b{color:var(--accent);text-shadow:0 0 calc(18px * var(--glow)) var(--accent);font-weight:inherit}html[data-theme=retro] .logo{font-size:.95rem}.join-cta{border-radius:var(--radius-l);justify-content:space-between;width:100%;padding:14px 18px}.join-cta .t{font-size:1.05rem}.continue-strip{scroll-snap-type:x mandatory;scrollbar-width:none;gap:10px;margin:0 -2px;padding:2px 2px 8px;display:flex;overflow-x:auto}.continue-strip::-webkit-scrollbar{display:none}.continue-card{scroll-snap-align:start;cursor:pointer;text-align:left;color:var(--text);flex:0 0 min(62%,220px);padding:12px 14px;position:relative}.continue-card .g{align-items:center;gap:8px;font-weight:700;display:flex}.continue-card .g .ico{width:22px;height:22px;color:var(--accent)}.continue-card .m{color:var(--text-dim);margin-top:4px;font-size:.85rem}.continue-card .x{width:32px;height:32px;position:absolute;top:4px;right:4px}.filters{scrollbar-width:none;gap:8px;margin:4px 0 12px;display:flex;overflow-x:auto}.chip{border:var(--border-w) solid var(--border);min-height:38px;color:var(--text-dim);cursor:pointer;white-space:nowrap;background:0 0;border-radius:99px;padding:6px 14px;font-weight:600}.chip[aria-pressed=true]{background:var(--accent);color:var(--on-accent);border-color:#0000}.tiles{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px;display:grid}.tile{aspect-ratio:1/1.02;cursor:pointer;text-align:left;color:var(--text);transition:transform var(--dur-s) var(--ease), box-shadow var(--dur-m);-webkit-touch-callout:none;flex-direction:column;justify-content:space-between;padding:14px;display:flex;position:relative;overflow:hidden}.tile:active{transform:scale(.97)}.tile .ico{width:46px;height:46px;color:var(--tile-accent,var(--accent));filter:drop-shadow(0 0 calc(10px * var(--glow)) var(--tile-accent,var(--accent)))}.tile .ico svg{width:100%;height:100%}.tile .name{font-family:var(--font-title);font-size:1.02rem;font-weight:700}html[data-theme=retro] .tile .name{font-size:.6rem}.tile .modes{flex-wrap:wrap;gap:4px;margin-top:6px;display:flex}.tile .modes span{letter-spacing:.04em;background:color-mix(in srgb, var(--tile-accent,var(--accent)) 16%, transparent);color:var(--text);border-radius:99px;padding:2px 7px;font-size:.68rem;font-weight:700}.tile .fav{color:var(--warning);font-size:1.1rem;position:absolute;top:10px;right:12px}.tile:after{content:"";border-radius:inherit;pointer-events:none;background:radial-gradient(120% 80% at 100% 0%, color-mix(in srgb, var(--tile-accent,var(--accent)) 16%, transparent), transparent 60%);position:absolute;inset:0}.bottom-nav{z-index:20;left:50%;bottom:calc(env(safe-area-inset-bottom) + 10px);border-radius:calc(var(--radius-l) + 4px);grid-template-columns:repeat(3,1fr);width:min(460px,100% - 24px);padding:6px;display:grid;position:fixed;transform:translate(-50%)}.bottom-nav button{min-height:52px;color:var(--text-dim);cursor:pointer;border-radius:var(--radius-l);background:0 0;border:none;flex-direction:column;align-items:center;gap:2px;font-size:.74rem;font-weight:700;display:flex}.bottom-nav button svg{width:24px;height:24px}.bottom-nav button[aria-current=page]{color:var(--accent);background:color-mix(in srgb, var(--accent) 12%, transparent)}.overlay{z-index:50;animation:fade-in var(--dur-m) var(--ease);background:#00000080;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.overlay.center{align-items:center;padding:16px}.sheet{overscroll-behavior:contain;width:min(560px,100%);max-height:92dvh;padding:10px 18px calc(env(safe-area-inset-bottom) + 18px);border-radius:var(--radius-l) var(--radius-l) 0 0;background:var(--surface);border:var(--border-w) solid var(--border);animation:sheet-up var(--dur-l) var(--ease);border-bottom:none;overflow-y:auto}.sheet .grab{background:color-mix(in srgb, var(--text) 25%, transparent);border-radius:3px;width:44px;height:5px;margin:2px auto 12px}.modal{border-radius:var(--radius-l);background:var(--surface);border:var(--border-w) solid var(--border);width:min(460px,100%);max-height:88dvh;box-shadow:var(--shadow);animation:pop-in var(--dur-m) var(--ease);padding:20px;overflow-y:auto}.modal h2,.sheet h2{margin-bottom:8px;font-size:1.3rem}.modal .actions,.sheet .actions{flex-wrap:wrap;gap:10px;margin-top:18px;display:flex}.modal .actions .btn,.sheet .actions .btn{flex:120px}@keyframes fade-in{0%{opacity:0}}@keyframes sheet-up{0%{transform:translateY(100%)}}@keyframes pop-in{0%{opacity:0;transform:scale(.92)}}.rules-md h1{margin-bottom:10px;font-size:1.35rem}.rules-md h2{color:var(--accent);margin:16px 0 6px;font-size:1.05rem}.rules-md ul{margin:6px 0;padding-left:20px}.rules-md li{margin:4px 0}.rules-md p{margin:8px 0}.play-head{align-items:center;gap:4px;min-height:48px;display:flex}.play-head .title{text-align:center;min-width:0;font-family:var(--font-title);text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:1.02rem;font-weight:700;overflow:hidden}html[data-theme=retro] .play-head .title{font-size:.65rem}.conn{color:var(--text-dim);align-items:center;gap:6px;font-size:.78rem;display:inline-flex}.conn i{background:var(--success);width:9px;height:9px;box-shadow:0 0 8px var(--success);border-radius:50%}.conn.warn i{background:var(--warning);box-shadow:0 0 8px var(--warning);animation:1s infinite blink}.conn.bad i{background:var(--danger);box-shadow:none}@keyframes blink{50%{opacity:.3}}.player-bar{border-radius:var(--radius-m);background:color-mix(in srgb, var(--surface) 55%, transparent);border:var(--border-w) solid transparent;transition:border-color var(--dur-m), box-shadow var(--dur-m);align-items:center;gap:10px;min-height:48px;padding:8px 12px;display:flex}.player-bar.active{border-color:var(--pc);box-shadow:0 0 calc(16px * var(--glow)) color-mix(in srgb, var(--pc) 45%, transparent), inset 0 0 0 1px color-mix(in srgb, var(--pc) 30%, transparent)}.player-bar .dot{background:var(--pc);width:14px;height:14px;box-shadow:0 0 calc(10px * var(--glow)) var(--pc);border-radius:50%;flex:none}.player-bar .dot.ring{border:3px solid var(--pc);background:0 0}.player-bar .pname{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-weight:700;overflow:hidden}.player-bar .psub{color:var(--text-dim);font-size:.8rem;font-weight:600}.player-bar .clock{font-family:var(--font-num);font-variant-numeric:tabular-nums;border-radius:var(--radius-s);background:color-mix(in srgb, var(--text) 8%, transparent);padding:2px 10px;font-size:1.15rem;font-weight:700}.player-bar .clock.low{color:var(--danger)}.player-bar.active .clock{background:var(--pc);color:var(--on-accent)}.thinking{color:var(--text-dim);align-items:center;gap:4px;font-size:.8rem;display:inline-flex}.thinking i{background:var(--pc,var(--accent));border-radius:50%;width:6px;height:6px;animation:1s ease-in-out infinite think}.thinking i:nth-child(2){animation-delay:.15s}.thinking i:nth-child(3){animation-delay:.3s}@keyframes think{0%,to{opacity:.4;transform:scale(.6)}50%{opacity:1;transform:scale(1)}}.play-actions{justify-content:space-around;gap:6px;padding-top:6px;display:flex}.play-actions .btn{flex:1;min-width:0;padding:8px 6px;font-size:.9rem}.status-line{text-align:center;min-height:1.4em;color:var(--text-dim);font-size:.92rem;font-weight:600}.confirm-bar{gap:8px;display:flex}.confirm-bar .btn{flex:1}.menu-pop{z-index:60;top:calc(env(safe-area-inset-top) + 52px);min-width:220px;animation:pop-in var(--dur-s) var(--ease);padding:6px;position:fixed;right:12px}.menu-pop button{text-align:left;border-radius:var(--radius-s);cursor:pointer;width:100%;min-height:46px;color:var(--text);background:0 0;border:none;align-items:center;gap:10px;padding:8px 12px;font-weight:600;display:flex}.menu-pop button:active,.menu-pop button:hover{background:color-mix(in srgb, var(--text) 8%, transparent)}.menu-pop button.danger{color:var(--danger)}.result-card{text-align:center}.result-card .big{font-family:var(--font-title);margin:6px 0;font-size:2rem;font-weight:900}html[data-theme=retro] .result-card .big{font-size:1.1rem}.result-card .big.win{color:var(--success);text-shadow:0 0 calc(24px * var(--glow)) var(--success)}.result-card .big.lose{color:var(--danger)}.result-card .kpis{grid-template-columns:repeat(auto-fit,minmax(90px,1fr));gap:8px;margin:14px 0;display:grid}.result-card .kpi{border-radius:var(--radius-m);background:color-mix(in srgb, var(--text) 6%, transparent);padding:10px 6px}.result-card .kpi b{font-size:1.25rem;font-family:var(--font-num);display:block}.result-card .kpi span{color:var(--text-dim);font-size:.75rem}.badge-best{background:var(--warning);color:#111;letter-spacing:.05em;animation:pop-in var(--dur-l) var(--ease);border-radius:99px;padding:4px 12px;font-size:.8rem;font-weight:800;display:inline-block}.handover{z-index:70;background:var(--bg);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:22px;padding:24px;display:flex;position:fixed;inset:0}.handover h2{font-size:1.6rem}.countdown{z-index:65;font-family:var(--font-title);color:var(--accent);text-shadow:0 0 30px var(--accent);background:#0000008c;place-items:center;font-size:6rem;font-weight:900;display:grid;position:fixed;inset:0}.countdown span{animation:pop-in .4s var(--ease)}.confetti{pointer-events:none;z-index:55;position:fixed;inset:0;overflow:hidden}.confetti i{border-radius:2px;width:9px;height:14px;animation:linear forwards confetti-fall;position:absolute;top:-20px}@keyframes confetti-fall{to{transform:translateY(110vh)rotate(720deg)}}.toasts{z-index:90;left:50%;top:calc(env(safe-area-inset-top) + 10px);pointer-events:none;flex-direction:column;gap:8px;width:min(440px,100% - 24px);display:flex;position:fixed;transform:translate(-50%)}.toast{border-radius:var(--radius-m);background:var(--surface);border:var(--border-w) solid var(--border);box-shadow:var(--shadow);animation:pop-in var(--dur-m) var(--ease);pointer-events:auto;padding:12px 16px;font-weight:600}.toast.error{border-color:var(--danger)}.banner{align-items:center;gap:10px;margin-bottom:12px;padding:10px 14px;display:flex}.banner .t{flex:1;font-size:.92rem;font-weight:600}.stat-grid{grid-template-columns:repeat(auto-fit,minmax(96px,1fr));gap:8px;display:grid}.stat{border-radius:var(--radius-m);background:color-mix(in srgb, var(--text) 6%, transparent);text-align:center;padding:10px}.stat b{font-size:1.3rem;font-family:var(--font-num);display:block}.stat span{color:var(--text-dim);font-size:.75rem}.bar{background:color-mix(in srgb, var(--text) 10%, transparent);border-radius:4px;height:8px;display:flex;overflow:hidden}.bar i{height:100%;display:block}table.rec{border-collapse:collapse;width:100%;font-size:.9rem}table.rec td,table.rec th{text-align:left;border-bottom:1px solid color-mix(in srgb, var(--border) 50%, transparent);padding:6px 4px}table.rec th{color:var(--text-dim);font-size:.78rem;font-weight:600}.theme-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px;display:grid}.theme-card{border-radius:var(--radius-m);cursor:pointer;text-align:left;background:0 0;border:2px solid #0000;padding:0;overflow:hidden}.theme-card[aria-pressed=true]{border-color:var(--accent);box-shadow:0 0 calc(14px * var(--glow)) var(--accent)}.theme-card .pv{flex-direction:column;gap:8px;height:118px;padding:10px;display:flex}.theme-card .pv .mini{grid-template-columns:repeat(4,1fr);gap:3px;width:64px;display:grid}.theme-card .pv .mini i{aspect-ratio:1;border-radius:50%}.theme-card .nm{font-size:.9rem;font-weight:700}.qr-box{border-radius:var(--radius-m);background:#fff;place-items:center;width:min(260px,70vw);margin:0 auto;padding:14px;display:grid}.qr-box svg,.qr-box img{width:100%;height:auto;display:block}.room-code{font-family:var(--font-num);letter-spacing:.25em;text-align:center;color:var(--accent);margin:12px 0 4px;font-size:2.2rem;font-weight:800}.code-input{text-transform:uppercase;letter-spacing:.3em;text-align:center;font-size:1.8rem;font-weight:800;font-family:var(--font-num);min-height:64px}.lobby-player{border-radius:var(--radius-m);background:color-mix(in srgb, var(--text) 5%, transparent);align-items:center;gap:12px;margin:8px 0;padding:12px;display:flex}.scanner{aspect-ratio:1;border-radius:var(--radius-l);background:#000;width:100%;position:relative;overflow:hidden}.scanner video{object-fit:cover;width:100%;height:100%}.scanner:after{content:"";border:3px solid var(--accent);border-radius:var(--radius-m);position:absolute;inset:18%;box-shadow:0 0 0 999px #00000059}.spinner{border:3px solid color-mix(in srgb, var(--accent) 25%, transparent);border-top-color:var(--accent);border-radius:50%;width:28px;height:28px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.progress{background:color-mix(in srgb, var(--text) 12%, transparent);border-radius:4px;height:8px;overflow:hidden}.progress i{background:var(--accent);height:100%;transition:width var(--dur-s);display:block}.center-msg{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:14px;min-height:50dvh;display:flex}.flip-x{transform:scaleX(-1)}.ico.stat-ico{width:32px;height:32px;color:var(--accent);flex:none;display:inline-block}.ico.stat-ico svg,.ico.setup-ico svg,.continue-card .ico svg{width:100%;height:100%}.ico.setup-ico{width:52px;height:52px;color:var(--accent);flex:none;display:inline-block}.continue-card .ico{flex:none;display:inline-block}.stone .stone-body{fill:var(--pc);stroke:color-mix(in srgb, var(--pc) 60%, #000);stroke-width:2px}.stone.p0{--pc:var(--player-1)}.stone.p1{--pc:var(--player-2)}.stone .stone-rim{fill:none;stroke:#ffffff59;stroke-width:2.5px}.stone .stone-mark{fill:none;stroke:#0000008c;stroke-width:5px}.stone .stone-mark.dot{fill:#0000008c;stroke:none}.stone path.stone-mark{fill:#fffc;stroke:#0006;stroke-width:2px}[data-stones=glow] .stone .stone-body{fill:color-mix(in srgb, var(--pc) 85%, #000);stroke:var(--pc);stroke-width:3px;filter:drop-shadow(0 0 calc(8px * var(--glow)) var(--pc))}[data-stones=glow] .stone .stone-rim{stroke:color-mix(in srgb, #fff 55%, var(--pc));stroke-width:1.5px;opacity:.6}[data-stones=glow] .stone .stone-mark{stroke:var(--bg)}[data-stones=glow] .stone .stone-mark.dot{fill:var(--bg)}[data-stones=glass] .stone .stone-body{fill:color-mix(in srgb, var(--pc) 75%, #fff);stroke:color-mix(in srgb, var(--pc) 80%, #000);stroke-width:1.5px;filter:drop-shadow(0 4px 6px #141e5040)}[data-stones=glass] .stone .stone-rim{stroke:#fffc;stroke-width:3px}[data-stones=glass] .stone .stone-mark{stroke:#ffffffe6}[data-stones=glass] .stone .stone-mark.dot{fill:#fffffff2}[data-stones=pixel] .stone .stone-body{stroke:#000;stroke-width:6px;shape-rendering:crispedges}[data-stones=pixel] .stone .stone-rim{stroke:#ffffff8c;stroke-width:5px;stroke-dasharray:6 6}[data-stones=wood] .stone.p0{--pc:#efe2c8}[data-stones=wood] .stone.p1{--pc:#4a2616}[data-stones=wood] .stone .stone-body{stroke:color-mix(in srgb, var(--pc) 55%, #000);stroke-width:2px;filter:drop-shadow(0 3px 3px #00000073)}[data-stones=wood] .stone .stone-rim{stroke:color-mix(in srgb, var(--pc) 70%, #000);stroke-width:2px}[data-stones=wood] .stone .stone-mark{stroke:color-mix(in srgb, var(--pc) 50%, #000);stroke-width:4px}[data-stones=wood] .stone .stone-mark.dot{fill:color-mix(in srgb, var(--pc) 50%, #000)}[data-stones=flat] .stone .stone-body{stroke:var(--text);stroke-width:2px}[data-stones=flat] .stone .stone-rim{display:none}[data-stones=flat] .stone .stone-mark{stroke:var(--bg);stroke-width:6px}[data-stones=flat] .stone .stone-mark.dot{fill:var(--bg)}.stone.win .stone-body{animation:.9s ease-in-out infinite alternate win-pulse}@keyframes win-pulse{to{filter:drop-shadow(0 0 16px var(--pc)) brightness(1.25)}}.stone.selected .stone-body{stroke:var(--accent);stroke-width:6px}.stone.capturable .stone-body{stroke:var(--danger);stroke-width:6px;stroke-dasharray:10 6;animation:1s linear infinite dash}@keyframes dash{to{stroke-dashoffset:-32px}}.mk-legal{fill:var(--accent);opacity:.55;pointer-events:none}.mk-capture{fill:none;stroke:var(--accent);stroke-width:6px;opacity:.7;pointer-events:none}.mk-last{fill:var(--warning);opacity:.28;pointer-events:none}.mk-check{fill:var(--danger);opacity:.55;pointer-events:none}.mk-hint{fill:none;stroke:var(--success);stroke-width:6px;stroke-dasharray:12 8;pointer-events:none;animation:1.2s linear infinite dash}.mk-sel{fill:var(--accent);opacity:.35;pointer-events:none}.mk-pending{fill:var(--accent-2);opacity:.35;pointer-events:none}.sq-light{fill:var(--board-light)}.sq-dark,[data-theme=neon] .sq-dark{fill:var(--board-dark)}[data-theme=neon] .sq-light{fill:var(--board-light)}[data-theme=klassik] .sq-light{fill:#ecd6ae}[data-theme=klassik] .sq-dark{fill:#a97a4e}.board-frame{fill:var(--board-bg);stroke:var(--board-line);stroke-width:2px}[data-theme=neon] .board-frame{filter:drop-shadow(0 0 calc(10px * var(--glow)) color-mix(in srgb, var(--accent) 45%, transparent))}.coord{fill:var(--text-dim);font-size:13px;font-weight:700;font-family:var(--font-ui);pointer-events:none}.board-wrap{justify-content:center;align-items:center;width:100%;min-height:0;display:flex}.board-svg{touch-action:none;-webkit-user-select:none;user-select:none;outline:none;width:100%;height:auto;max-height:100%;overflow:visible}.board-svg:focus-visible{outline:2px solid var(--accent);outline-offset:4px}.kbd-cursor{fill:none;stroke:var(--accent-2);stroke-width:4px;stroke-dasharray:8 6;pointer-events:none}
