@property --ring-fill{syntax:"<number>";inherits:true;initial-value:.5}:root{--bg-primary:#06040a;--bg-secondary:#0c0a14;--bg-tertiary:#141020;--bg-elevated:#1c162c;--text-primary:#ece4f4;--text-secondary:#9890b0;--text-muted:#8f86a8;--accent:#00e5ff;--accent-alt:#ff3a8c;--accent-hover:#33ebff;--accent-orange:#ff6a2b;--accent-gold:#fbbf24;--on-brand:#fff;--brand-gradient:linear-gradient(135deg, #ff3a8c, #ff6a2b);--brand-gradient-wide:linear-gradient(135deg, #ff3a8c, #ff6a2b, #fbbf24);--board-light:#343d78;--board-dark:#0e1430;--piece-white:#f0f4ff;--piece-black:#000;--bg-primary-rgb:6 4 10;--bg-secondary-rgb:12 10 20;--bg-tertiary-rgb:20 16 32;--text-primary-rgb:236 228 244;--text-muted-rgb:143 134 168;--accent-rgb:0 229 255;--accent-alt-rgb:255 58 140;--piece-white-rgb:240 244 255;--quantum-ring-rgb:255 58 140;--danger-rgb:239 68 68;--on-brand-rgb:255 255 255;--bg-elevated-rgb:28 22 44;--accent-orange-rgb:255 106 43;--accent-gold-rgb:251 191 36;--selection-rgb:0 229 255;--quantum-ring:#ff3a8c;--quantum-ring-black:#f60;--entangle-correlated:#22d3ee;--entangle-anti:#8b5cf6;--entangle-correlated-rgb:34 211 238;--entangle-anti-rgb:139 92 246;--selection:#00e5ff;--last-move:#fbbf24;--last-move-rgb:251 191 36;--legal-target:#22c55e;--split-first:#60a5fa;--split-second:#f59e0b;--merge-source-a:#a78bfa;--merge-source-b:#ff8ab5;--merge-target:#eab308;--premove:#0096ff;--split-first-rgb:96 165 250;--split-second-rgb:245 158 11;--merge-source-a-rgb:167 139 250;--merge-source-b-rgb:255 138 181;--merge-target-rgb:234 179 8;--premove-rgb:0 150 255;--danger:#ef4444;--success:#22c55e;--warning:#f59e0b;--border:#ffffff0f;--border-light:#ffffff1a;--font-heading:"Chakra Petch", "Syne", sans-serif;--font-body:"Oxanium", "Outfit", sans-serif;--font-mono:"JetBrains Mono", monospace;--space-1:2px;--space-2:4px;--space-3:8px;--space-4:12px;--space-5:16px;--space-6:24px;--space-7:32px;--space-8:48px;--radius-sm:2px;--radius-md:4px;--radius-lg:8px;--radius-xl:12px;--radius-pill:999px;--duration-fast:.15s;--duration-normal:.2s;--duration-slow:.3s;--z-board:1;--z-piece:2;--z-topbar:10;--z-menu:50;--z-overlay:100;--z-toast:200;--z-modal:300;--z-drag-ghost:500;--board-chrome-h:180px;--board-chrome-w:340px;--board-extra-h:0px;--board-square-radius:3px;--board-gap:var(--space-1);--clip-corner:polygon(12px 0%, 100% 0%, 100% calc(100% - 12px), calc(100% - 12px) 100%, 0% 100%, 0% 12px);--clip-corner-sm:polygon(8px 0%, 100% 0%, 100% calc(100% - 8px), calc(100% - 8px) 100%, 0% 100%, 0% 8px);--screen-bottom-gap:max(16px, calc(env(safe-area-inset-bottom,0px) + 12px))}@keyframes fade-up{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes glow-breathe{0%,to{opacity:.4}50%{opacity:.7}}@keyframes shimmer{0%{background-position:-200%}to{background-position:200%}}@keyframes ring-pulse{0%,to{opacity:var(--ring-opacity,.75)}50%{opacity:calc(var(--ring-opacity,.75) * .5)}}@keyframes toast-in{0%{opacity:0;transform:translate(30px)scale(.95)}to{opacity:1;transform:translate(0)scale(1)}}@keyframes overlay-slide-up{0%{opacity:0;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}@keyframes hero-glow{0%,to{filter:blur(60px);background-position:0%}50%{filter:blur(80px);background-position:100%}}@keyframes stat-count{0%{opacity:0;transform:scale(.5)}to{opacity:1;transform:scale(1)}}@keyframes border-glow-pulse{0%,to{border-color:rgb(var(--accent-rgb) / .15)}50%{border-color:rgb(var(--accent-rgb) / .3)}}@keyframes title-reveal{0%{opacity:0;letter-spacing:.5em;filter:blur(8px)}to{opacity:1;letter-spacing:.12em;filter:blur()}}@keyframes brand-gradient-flow{0%{background-position:0%}50%{background-position:100%}to{background-position:0%}}@keyframes star-twinkle{0%,to{opacity:.15}50%{opacity:.6}}@keyframes corner-accent-pulse{0%,to{opacity:.3}50%{opacity:.6}}@keyframes qc-spin{to{transform:rotate(360deg)}}@keyframes qc-route-sweep{0%{transform:translate(-100%)scaleX(.4)}50%{transform:translate(0%)scaleX(.7)}to{transform:translate(100%)scaleX(.4)}}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html,body{overscroll-behavior:none;height:100dvh;overflow:hidden}body{font-family:var(--font-body);background:var(--bg-primary);color:var(--text-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-weight:300;line-height:1.5}body:before{content:"";background:radial-gradient(1.5px 1.5px at 12% 18%, rgb(var(--accent-rgb) / .35), transparent), radial-gradient(1.2px 1.2px at 28% 65%, rgb(var(--accent-alt-rgb) / .3), transparent), radial-gradient(1.8px 1.8px at 45% 8%, rgb(var(--accent-orange-rgb) / .25), transparent), radial-gradient(1px 1px at 62% 42%, #fff3, transparent), radial-gradient(1.4px 1.4px at 78% 72%, rgb(var(--accent-rgb) / .2), transparent), radial-gradient(1.2px 1.2px at 88% 25%, rgb(var(--accent-alt-rgb) / .2), transparent), radial-gradient(1.6px 1.6px at 35% 88%, rgb(var(--accent-orange-rgb) / .18), transparent), radial-gradient(.9px .9px at 55% 52%, #c8b4ff26, transparent), radial-gradient(1.3px 1.3px at 5% 78%, #ffffff26, transparent), radial-gradient(1.7px 1.7px at 92% 88%, rgb(var(--accent-alt-rgb) / .15), transparent), radial-gradient(.8px .8px at 18% 42%, rgb(var(--accent-rgb) / .18), transparent), radial-gradient(1.1px 1.1px at 72% 15%, rgb(var(--accent-orange-rgb) / .12), transparent);pointer-events:none;z-index:0;background-size:380px 320px,320px 280px,420px 360px,280px 240px,360px 300px,300px 260px,260px 320px,340px 300px,400px 340px,380px 320px,300px 260px,350px 290px;position:fixed;inset:0}body:after{content:"";background:radial-gradient(ellipse at 30% 0%, rgb(var(--accent-alt-rgb) / .06) 0%, transparent 45%), radial-gradient(ellipse at 70% 0%, rgb(var(--accent-orange-rgb) / .04) 0%, transparent 40%), radial-gradient(ellipse at 50% 40%, transparent 35%, #0000008c 100%);pointer-events:none;z-index:0;position:fixed;inset:0}#app{z-index:1;flex-direction:column;height:100dvh;display:flex;position:relative;overflow:hidden}#screen-container{overscroll-behavior:none;flex:1;overflow:hidden auto}h1,h2,h3{font-family:var(--font-heading);letter-spacing:.04em;text-transform:uppercase;font-weight:700;line-height:1.15}h1{font-size:2.2rem}h2{font-size:1.4rem}h3{font-size:1rem}strong{font-weight:600}a{color:var(--accent,#00e5ff)}a:hover{color:var(--accent-hover,#33ebff)}a:not([class]){text-underline-offset:2px;text-decoration:underline}.btn{border:1px solid var(--border-light);background:var(--bg-tertiary);color:var(--text-primary);font-family:var(--font-heading);letter-spacing:.06em;text-transform:uppercase;cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:4px;justify-content:center;align-items:center;gap:6px;padding:10px 20px;font-size:13px;font-weight:500;transition:all .2s;display:inline-flex;position:relative;overflow:hidden}.btn:hover{background:var(--bg-elevated);box-shadow:0 0 20px rgb(var(--accent-rgb) / .06);border-color:#ffffff26}.btn:active{transform:scale(.97)}.btn:disabled{opacity:.4;cursor:not-allowed;box-shadow:none}.btn-sm{border-radius:3px;padding:6px 14px;font-size:11px}.btn-primary{background:var(--brand-gradient);border:1px solid rgb(var(--accent-alt-rgb) / .4);color:var(--on-brand);text-shadow:0 1px 2px #0000004d;clip-path:var(--clip-corner-sm);background-size:200% 200%;font-weight:600}.btn-primary:hover{background:var(--brand-gradient);border-color:rgb(var(--accent-alt-rgb) / .6);box-shadow:0 0 30px rgb(var(--accent-alt-rgb) / .2), 0 0 60px rgb(var(--accent-orange-rgb) / .1);background-size:200% 200%;animation:3s infinite brand-gradient-flow}.btn-sm.btn-primary,.btn-sm.btn-primary:hover,body:not([data-theme=alchemy]) .btn-primary,body:not([data-theme=alchemy]) .btn-primary:hover,body:not([data-theme=alchemy]) .setup-start-btn,body:not([data-theme=alchemy]) .lobby-play-btn:not(.is-locked),body[data-sandbox-theme] .btn-primary,body[data-sandbox-theme] .btn-primary:hover,body[data-sandbox-theme] .setup-start-btn,body[data-sandbox-theme] .lobby-play-btn:not(.is-locked){background-image:linear-gradient(135deg,#d6206e,#c2410c)}.btn-secondary{border-color:var(--border-light);background:0 0}.btn-secondary:hover{border-color:rgb(var(--accent-alt-rgb) / .5);color:var(--accent-alt);box-shadow:0 0 20px rgb(var(--accent-alt-rgb) / .08)}.btn-accent{background:linear-gradient(135deg, var(--accent), #00b8d4);border-color:rgb(var(--accent-rgb) / .3);color:#000;clip-path:var(--clip-corner-sm);font-weight:600}.btn-accent:hover{box-shadow:0 0 25px rgb(var(--accent-rgb) / .2)}.btn-danger{color:var(--danger);background:#ef444414;border-color:#ef444466}.btn-danger:hover{background:var(--danger);color:#fff;border-color:var(--danger);box-shadow:0 0 20px #ef444433}.btn-topbar{color:var(--text-secondary);background:0 0;border-color:#ffffff14;padding:6px 14px;font-size:11px}.btn-topbar:hover{border-color:rgb(var(--accent-alt-rgb) / .4);color:var(--text-primary);background:rgb(var(--accent-alt-rgb) / .06);box-shadow:none}.btn-back{color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em;background:0 0;border:none;gap:4px;padding:6px 0;font-size:13px}.btn-back:hover{color:var(--accent-alt);box-shadow:none;background:0 0;border:none}.is-busy{pointer-events:none;cursor:progress;position:relative}.is-busy:after{content:"";border:2px solid rgb(var(--accent-rgb) / .9);pointer-events:none;z-index:2;border-right-color:#0000;border-radius:50%;width:14px;height:14px;margin-top:-7px;animation:.7s linear infinite qc-spin;position:absolute;top:50%;right:12px}.is-busy:not(.btn){opacity:.62}.btn.is-busy{color:#0000}.btn.is-busy:after{margin-right:-7px;right:50%}.btn.is-busy:disabled{opacity:1;cursor:progress}.route-progress{z-index:9999;pointer-events:none;opacity:0;height:2px;transition:opacity .12s;position:fixed;top:0;left:0;right:0;overflow:hidden}.route-progress--active{opacity:1}.route-progress:before{content:"";background:var(--brand-gradient);position:absolute;inset:0;transform:translate(-100%)scaleX(.4)}.route-progress--active:before{animation:1.1s ease-in-out infinite qc-route-sweep}@media (prefers-reduced-motion:reduce){html:not([data-reduce-motion=off]) .route-progress--active:before{opacity:.7;animation:none;transform:none}}html[data-reduce-motion=on] .route-progress--active:before{opacity:.7;animation:none;transform:none}.screen-back-btn{height:32px;color:var(--text-secondary);font-family:var(--font-heading);letter-spacing:.14em;text-transform:uppercase;cursor:pointer;background:rgb(var(--bg-secondary-rgb) / .55);-webkit-backdrop-filter:blur(10px);border:1px solid #ffffff0f;border-left:2px solid rgb(var(--accent-rgb) / .45);clip-path:var(--clip-corner-sm);-webkit-app-region:no-drag;app-region:no-drag;flex-shrink:0;align-items:center;gap:8px;padding:0 14px 0 10px;font-size:11px;font-weight:600;transition:color .15s,background .15s,border-color .15s,box-shadow .2s,transform .1s;display:inline-flex;position:relative}.screen-back-btn .back-arrow{background:var(--brand-gradient);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;font-size:12px;transition:transform .15s,filter .2s}.screen-back-btn:hover{color:var(--text-primary);border-color:rgb(var(--accent-alt-rgb) / .35);border-left-color:rgb(var(--accent-rgb) / .7);box-shadow:0 0 18px rgb(var(--accent-alt-rgb) / .18), 0 0 32px rgb(var(--accent-rgb) / .08);background:#141020bf}.screen-back-btn:hover .back-arrow{filter:drop-shadow(0 0 6px rgb(var(--accent-alt-rgb) / .4));transform:translate(-3px)}.screen-back-btn:active{transform:scale(.97)}.screen-back-btn:focus-visible{border-color:rgb(var(--accent-rgb) / .6);box-shadow:0 0 0 2px rgb(var(--accent-rgb) / .18), 0 0 22px rgb(var(--accent-rgb) / .15);outline:none}.top-bar-fullscreen-btn,.top-bar-settings-btn{-webkit-app-region:no-drag;app-region:no-drag}.top-bar-fullscreen-btn:hover{background:rgb(var(--accent-rgb) / .12);border-color:rgb(var(--accent-rgb) / .35);color:var(--accent,#00e5ff)}.top-bar-settings-btn:hover{color:var(--text-primary,#fff);background:#ffffff14;border-color:#ffffff26}.top-bar-fullscreen-btn:focus-visible,.top-bar-settings-btn:focus-visible{outline:2px solid var(--accent,#00e5ff);outline-offset:2px}:root{--ui-scale:1;--home-column-max:clamp(1060px, calc(72vw * var(--ui-scale)), 1400px);--titlebar-height:44px;--titlebar-right-inset:calc(100vw - env(titlebar-area-x,100vw) - env(titlebar-area-width,0px));--titlebar-left-inset:env(titlebar-area-x,0px);--titlebar-top-inset:env(titlebar-area-y,0px)}@keyframes home-fade-in{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes home-glow-drift{0%,to{opacity:.5}50%{opacity:.75}}@keyframes home-cta-pulse{0%,to{box-shadow:inset 0 0 40px rgb(var(--category-local-rgb) / .06), 0 0 24px rgb(var(--category-local-rgb) / .1), 0 4px 20px #0006}50%{box-shadow:inset 0 0 40px rgb(var(--category-local-rgb) / .1), 0 0 36px rgb(var(--category-local-rgb) / .18), 0 4px 20px #0006}}@keyframes home-ring-rotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes home-ring-rotate-reverse{0%{transform:rotate(360deg)}to{transform:rotate(0)}}@keyframes home-stagger-in{0%{opacity:0;translate:0 12px}to{opacity:1;translate:0}}@keyframes home-ring-fade-in{0%{opacity:0;transform:translate(-50%,-50%)scale(.85)}to{opacity:.85;transform:translate(-50%,-50%)scale(1)}}.home-screen{background-image:repeating-conic-gradient(rgb(var(--text-primary-rgb) / .035) 0% 25%, transparent 0% 50%);background-size:60px 60px;flex-direction:column;height:100dvh;display:flex;position:relative;overflow:hidden}.home-screen:before{content:"";pointer-events:none;z-index:0;background:radial-gradient(ellipse 120% 100% at 50% 100%, rgb(var(--accent-alt-rgb) / .1) 0%, transparent 70%), radial-gradient(ellipse 80% 100% at 50% 100%, rgb(var(--accent-orange-rgb) / .06) 0%, transparent 65%), linear-gradient(180deg, transparent 0%, rgb(var(--bg-primary-rgb) / .55) 100%);height:clamp(180px,34vh,460px);position:absolute;bottom:0;left:0;right:0}.home-screen:after{content:"";pointer-events:none;z-index:0;background:radial-gradient(ellipse at center, transparent 38%, rgb(var(--bg-primary-rgb) / .72) 100%);position:absolute;inset:0}.screen-entering .home-screen{animation:.3s fade-in}.home-topnav{z-index:10;min-height:var(--titlebar-height);padding-top:max(0px, var(--titlebar-top-inset));-webkit-backdrop-filter:blur(12px);-webkit-app-region:drag;app-region:drag;background:linear-gradient(#08080e5e,#08080e00) 0 0/100% 72px no-repeat;position:absolute;top:0;left:0;right:0}.home-topnav-inner{max-width:var(--home-column-max);justify-content:space-between;align-items:center;gap:16px;margin:0 auto;padding:18px 36px;display:flex}.home-topnav button,.home-topnav a,.home-topnav [role=button],.home-topnav input,.home-topnav select,.home-topnav .home-nav-admin-slot,.home-topnav .home-nav-bell-slot,.home-topnav .home-nav-auth-slot,.home-topnav .home-avatar-btn,.home-topnav .home-bell-btn{-webkit-app-region:no-drag;app-region:no-drag}.home-nav-left{opacity:.85;padding-left:max(0px, calc(var(--titlebar-left-inset) - max(0px, (100vw - var(--home-column-max)) / 2)));align-items:center;gap:6px;transition:opacity .3s;display:flex}.home-nav-left:hover{opacity:1}.home-nav-right{padding-right:max(0px, calc(var(--titlebar-right-inset) - max(0px, (100vw - var(--home-column-max)) / 2)));align-items:center;gap:10px;margin-left:auto;display:flex}html[data-os=darwin] .home-nav-left{margin-left:clamp(0px, calc(84px - (100vw - var(--home-column-max)) / 2), 60px)}html[data-os=darwin] .home-topbar{padding-left:max(84px, var(--titlebar-left-inset))}.btn-nav-pill{border:1px solid rgb(var(--text-primary-rgb) / .06);background:rgb(var(--text-primary-rgb) / .03);color:var(--text-secondary,#ffffff80);font-family:var(--font-heading);letter-spacing:.08em;text-transform:uppercase;cursor:pointer;border-radius:2px;align-items:center;gap:6px;padding:6px 14px;font-size:13px;font-weight:500;transition:all .2s;display:inline-flex}.btn-nav-pill:hover{background:rgb(var(--text-primary-rgb) / .08);border-color:rgb(var(--text-primary-rgb) / .12);color:var(--text-primary,#fff)}.btn-nav-pill i{opacity:.6;font-size:10px}.btn-nav-signin{border-color:rgb(var(--accent-alt-rgb) / .3);background:rgb(var(--accent-alt-rgb) / .06);color:var(--accent-alt)}.btn-nav-signin:hover{border-color:rgb(var(--accent-alt-rgb) / .5);background:rgb(var(--accent-alt-rgb) / .12);color:var(--accent-alt)}.home-avatar-btn{border:1px solid rgb(var(--text-primary-rgb) / .08);background:rgb(var(--text-primary-rgb) / .04);color:var(--text-secondary,#fff9);cursor:pointer;opacity:.85;border-radius:2px;align-items:center;gap:8px;padding:4px 12px 4px 4px;transition:all .2s;display:inline-flex}.home-avatar-btn:hover{background:rgb(var(--text-primary-rgb) / .08);border-color:rgb(var(--text-primary-rgb) / .15);color:var(--text-primary);opacity:1}.home-avatar-img{object-fit:cover;border-radius:50%;width:26px;height:26px}.home-avatar-placeholder{opacity:.5;font-size:26px}.home-avatar-name{font-family:var(--font-heading);letter-spacing:.06em;text-transform:uppercase;font-size:11px;font-weight:500}.btn-nav-icon{border:1px solid rgb(var(--text-primary-rgb) / .06);background:rgb(var(--text-primary-rgb) / .03);width:32px;height:32px;color:rgb(var(--text-primary-rgb) / .4);cursor:pointer;border-radius:50%;justify-content:center;align-items:center;font-size:14px;transition:all .2s;display:inline-flex}.btn-nav-icon:hover{color:#f44;background:#ff3c3c1f;border-color:#ff3c3c4d}.home-topnav .btn-nav-icon,.home-topnav .home-bell-btn,.home-topnav .top-bar-fullscreen-btn,.home-topnav .top-bar-settings-btn{border-radius:2px}.home-bell-btn{position:relative;overflow:visible}.home-bell-btn:hover{color:#a5b4fc;background:#6366f11f;border-color:#6366f159}.home-bell-btn--unread{color:var(--accent-gold);border-color:rgb(var(--accent-gold-rgb) / .35);background:rgb(var(--accent-gold-rgb) / .08)}.home-bell-btn--unread:hover{background:rgb(var(--accent-gold-rgb) / .18);color:#fde68a}.home-bell-btn--unread>i{transform-origin:50% 30%;animation:1.8s ease-in-out infinite home-bell-idle-pulse;display:inline-block}@keyframes home-bell-idle-pulse{0%,to{filter:drop-shadow(0 0 0 rgb(var(--accent-gold-rgb) / 0));transform:scale(1)}50%{filter:drop-shadow(0 0 4px rgb(var(--accent-gold-rgb) / .7));transform:scale(1.08)}}.home-bell-btn--ringing>i{animation:.6s ease-out home-bell-ring,1.8s ease-in-out .6s infinite home-bell-idle-pulse}.home-bell-btn--ringing .home-bell-badge{animation:.6s ease-out home-bell-badge-pop}@keyframes home-bell-ring{0%{filter:drop-shadow(0 0 0 rgb(var(--accent-gold-rgb) / 0));transform:rotate(0)scale(1)}20%{filter:drop-shadow(0 0 8px rgb(var(--accent-gold-rgb) / .9));transform:rotate(-12deg)scale(1.15)}40%{transform:rotate(10deg)scale(1.15)}60%{transform:rotate(-8deg)scale(1.1)}80%{transform:rotate(6deg)scale(1.05)}to{filter:drop-shadow(0 0 0 rgb(var(--accent-gold-rgb) / 0));transform:rotate(0)scale(1)}}@keyframes home-bell-badge-pop{0%{transform:scale(1)}40%{box-shadow:0 0 0 2px var(--bg,#0a0a0a), 0 0 12px #ef4444b3;transform:scale(1.4)}to{transform:scale(1)}}@media (prefers-reduced-motion:reduce){html:not([data-reduce-motion=off]) .home-bell-btn--unread>i,html:not([data-reduce-motion=off]) .home-bell-btn--ringing>i,html:not([data-reduce-motion=off]) .home-bell-btn--ringing .home-bell-badge{animation:none}}html[data-reduce-motion=on] .home-bell-btn--unread>i,html[data-reduce-motion=on] .home-bell-btn--ringing>i,html[data-reduce-motion=on] .home-bell-btn--ringing .home-bell-badge{animation:none}.home-bell-badge{color:#fff;box-sizing:border-box;min-width:18px;height:18px;box-shadow:0 0 0 2px var(--bg,#0a0a0a);pointer-events:none;background:#c62828;border-radius:999px;justify-content:center;align-items:center;padding:0 5px;font-size:11px;font-weight:700;display:flex;position:absolute;top:-6px;right:-6px}.home-topbar{padding:14px 28px;padding-left:max(28px, var(--titlebar-left-inset));padding-right:max(28px, calc(var(--titlebar-right-inset) + 12px));padding-top:max(14px, var(--titlebar-top-inset));-webkit-app-region:drag;app-region:drag;flex-shrink:0;justify-content:space-between;align-items:center;display:flex;position:relative}.home-topbar:after{content:"";background:linear-gradient(90deg, transparent 0%, rgb(var(--accent-alt-rgb) / .18) 18%, rgb(var(--accent-orange-rgb) / .16) 50%, rgb(var(--accent-rgb) / .14) 82%, transparent 100%);pointer-events:none;height:1px;position:absolute;bottom:0;left:0;right:0}.home-screen .home-topbar:after{display:none}.home-topbar button,.home-topbar a,.home-topbar nav{-webkit-app-region:no-drag;app-region:no-drag}.home-brand{color:var(--text-secondary);align-items:center;gap:10px;display:flex}.home-brand-icon{color:var(--accent);opacity:.8;display:flex}.home-brand-text{font-family:var(--font-heading);letter-spacing:.14em;text-transform:uppercase;background:var(--brand-gradient);-webkit-text-fill-color:transparent;background-size:200% 200%;-webkit-background-clip:text;background-clip:text;font-size:12px;font-weight:600;animation:6s infinite brand-gradient-flow}.home-brand-badge{font-family:var(--font-heading);letter-spacing:.12em;text-transform:uppercase;color:var(--text-muted);margin-left:4px;font-size:9px;font-weight:500}.home-screen .home-brand-badge{display:none}.home-topbar-right{align-items:center;gap:16px;display:flex}.topbar-short{display:none}.home-user{align-items:center;gap:10px;display:flex}.user-name{color:var(--text-muted);font-size:12px;font-family:var(--font-mono)}.home-auth-btn{border:1px solid rgb(var(--accent-alt-rgb) / .4);background:rgb(var(--accent-alt-rgb) / .08);color:var(--accent-alt);font-family:var(--font-body);cursor:pointer;letter-spacing:.02em;border-radius:6px;padding:6px 16px;font-size:12px;font-weight:600;transition:all .2s}.home-auth-btn:hover{background:rgb(var(--accent-alt-rgb) / .15);border-color:rgb(var(--accent-alt-rgb) / .6);box-shadow:0 0 16px rgb(var(--accent-alt-rgb) / .12)}.home-auth-btn--profile{border-color:var(--border-light);color:var(--text-secondary);background:0 0}.home-auth-btn--profile:hover{border-color:var(--accent);color:var(--accent);background:rgb(var(--accent-rgb) / .04);box-shadow:0 0 12px rgb(var(--accent-rgb) / .08)}.home-body{z-index:2;padding-top:var(--titlebar-height);padding-bottom:calc(44px + var(--consent-banner-h,0px));flex:1;justify-content:safe center;align-items:safe center;display:flex;position:relative;overflow:hidden auto}.home-hero{align-items:center;gap:clamp(20px, calc(3.4vh * var(--ui-scale)), 52px);max-width:var(--home-column-max);flex-direction:column;width:100%;padding:0 36px;display:flex;position:relative;overflow:visible}.home-hero-glow{background:radial-gradient(ellipse at 30% 50%, rgb(var(--accent-alt-rgb) / .12) 0%, transparent 55%), radial-gradient(ellipse at 70% 40%, rgb(var(--accent-orange-rgb) / .08) 0%, transparent 50%), radial-gradient(ellipse at 50% 60%, rgb(var(--accent-rgb) / .05) 0%, transparent 60%);pointer-events:none;filter:blur(40px);will-change:transform, opacity;contain:strict;width:clamp(1000px,82vw,1800px);height:clamp(700px,78vh,1100px);animation:12s ease-in-out infinite home-glow-drift;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.home-hero-text{z-index:1;text-align:center;padding:24px 0;position:relative}.home-title-ring{width:clamp(180px, calc(26vw * var(--ui-scale)), 360px);height:clamp(180px, calc(26vw * var(--ui-scale)), 360px);pointer-events:none;z-index:0;opacity:0;animation:1.5s .3s forwards home-ring-fade-in;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.home-title-ring:after{content:"";background:radial-gradient(ellipse at center, rgb(var(--accent-alt-rgb) / .08) 0%, transparent 60%);pointer-events:none;width:140%;height:140%;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.home-ring-svg{width:100%;height:100%}.home-ring-track{stroke:color-mix(in srgb, var(--accent-alt) 20%, var(--bg-primary))}.home-ring-stop-end{stop-color:var(--accent-alt)}.home-ring-stop-mid{stop-color:color-mix(in srgb, var(--accent-alt) 85%, #fff)}.home-ring-inner{stroke:rgb(var(--accent-rgb) / .15)}.home-ring-outer{transform-origin:100px 100px;filter:drop-shadow(0 0 8px rgb(var(--accent-alt-rgb) / .4));will-change:transform;animation:20s linear infinite home-ring-rotate}.home-ring-inner{transform-origin:100px 100px;will-change:transform;animation:30s linear infinite home-ring-rotate-reverse}.home-title{font-family:var(--font-heading);font-size:clamp(2.8rem, calc(6vw * var(--ui-scale)), 5.6rem);letter-spacing:.12em;text-transform:uppercase;color:var(--text-primary);z-index:1;text-shadow:0 0 40px rgb(var(--accent-alt-rgb) / .2), 0 0 80px rgb(var(--accent-orange-rgb) / .12);opacity:0;font-weight:700;line-height:.9;animation:.8s .1s forwards home-stagger-in;position:relative}.home-title-accent{background:var(--brand-gradient);-webkit-text-fill-color:transparent;background-size:200% 200%;-webkit-background-clip:text;background-clip:text;animation:4s infinite brand-gradient-flow}.home-footer{bottom:calc(max(12px, env(safe-area-inset-bottom,0px)) + var(--consent-banner-h,0px));justify-content:center;align-items:center;gap:var(--space-5);z-index:30;pointer-events:none;display:flex;position:fixed;left:0;right:0}.home-version{letter-spacing:.05em;color:var(--text-secondary);-webkit-user-select:none;user-select:none;cursor:pointer;font-size:10px;font-family:var(--font-mono);transition:color var(--duration-fast) ease;pointer-events:auto;background:0 0;border:none;padding:4px 8px}.home-version:hover{color:var(--accent,#00e5ff)}.home-footer-legal{gap:var(--space-4);pointer-events:auto;display:flex}.home-footer-legal a{font-family:var(--font-body);color:var(--text-secondary);transition:color var(--duration-fast) ease;align-items:center;min-height:24px;padding:0 4px;font-size:10px;text-decoration:none;display:inline-flex}.home-footer-legal a:hover{color:var(--accent,#00e5ff)}.home-subtitle{color:rgb(var(--text-primary-rgb) / .65);letter-spacing:.14em;text-transform:uppercase;font-size:14px;font-weight:400;font-family:var(--font-heading);z-index:1;text-shadow:0 0 20px #000c;opacity:0;margin-top:16px;animation:.8s .35s forwards home-stagger-in;position:relative}.home-early-access{color:var(--text-secondary);letter-spacing:.06em;font-size:10px;font-weight:400;font-family:var(--font-mono)}.home-hero-actions{z-index:2;flex-direction:column;gap:14px;width:100%;display:flex;position:relative}.home-hero-actions .home-secondary-modes{border-top:1px solid rgb(var(--text-primary-rgb) / .04);margin-top:14px;padding-top:16px}.home-primary-modes{gap:clamp(14px, calc(1.1vw * var(--ui-scale)), 22px);opacity:0;grid-template-columns:repeat(2,1fr);animation:.8s .6s forwards home-stagger-in;display:grid}.home-secondary-modes{gap:clamp(10px, calc(.9vw * var(--ui-scale)), 18px);opacity:0;grid-template-columns:repeat(3,1fr);animation:.8s .8s forwards home-stagger-in;display:grid}.home-alchemy-cta{background:radial-gradient(140% 200% at 0% 0%, #ffc4501a, transparent 55%), rgb(var(--bg-secondary-rgb) / .8);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);cursor:pointer;text-align:left;opacity:0;border:1px solid #ffc45038;border-left:3px solid #ffc450a6;border-radius:2px;align-items:center;gap:14px;width:100%;margin-top:14px;padding:14px 18px;transition:border-color .15s,background-color .15s,transform .15s;animation:.8s .7s forwards home-stagger-in;display:flex}.home-alchemy-cta:hover{border-color:#ffc45080;transform:translateY(-1px)}.home-alchemy-cta:active{background:radial-gradient(140% 200% at 0% 0%, #ffc45029, transparent 55%), rgb(var(--bg-secondary-rgb) / .9);border-color:#ffc45099;transform:translateY(0)scale(.99)}.home-alchemy-cta:focus-visible{outline-offset:2px;outline:2px solid #ffc450b3}.home-alchemy-cta-icon{color:#ffc450e6;background:#ffc45014;border:1px solid #ffc45059;border-radius:50%;flex-shrink:0;place-items:center;width:40px;height:40px;font-size:17px;display:grid}.home-alchemy-cta-text{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.home-alchemy-cta-title{font-family:var(--font-heading);letter-spacing:.06em;color:var(--text-primary);align-items:center;gap:8px;font-size:15px;font-weight:700;display:flex}.home-alchemy-cta-season{letter-spacing:.14em;text-transform:uppercase;color:#ffd278f2;border:1px solid #ffc45066;border-radius:999px;padding:2px 8px;font-size:10px;font-weight:600}.home-alchemy-cta-desc{font-family:var(--font-body);color:var(--text-secondary);text-overflow:ellipsis;white-space:nowrap;font-size:12.5px;line-height:1.4;overflow:hidden}.home-alchemy-cta-arrow{color:#ffc450b3;flex-shrink:0;font-size:13px}@media (width<=640px){.home-alchemy-cta{gap:10px;padding:12px 14px}.home-alchemy-cta-icon{width:34px;height:34px;font-size:14px}.home-alchemy-cta-desc{white-space:normal}}.home-tournament-slot:empty{display:none}.home-tournament-cta{border:1px solid rgb(var(--accent-rgb) / .22);border-left:3px solid rgb(var(--accent-rgb) / .65);background:radial-gradient(140% 200% at 0% 0%, rgb(var(--accent-rgb) / .1), transparent 55%), rgb(var(--bg-secondary-rgb) / .8);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);cursor:pointer;text-align:left;border-radius:2px;align-items:center;gap:14px;width:100%;padding:14px 18px;transition:border-color .15s,background-color .15s,transform .15s;display:flex}.home-tournament-cta:hover{border-color:rgb(var(--accent-rgb) / .5);transform:translateY(-1px)}.home-tournament-cta:active{border-color:rgb(var(--accent-rgb) / .6);transform:translateY(0)scale(.99)}.home-tournament-cta:focus-visible{outline:2px solid rgb(var(--accent-rgb) / .7);outline-offset:2px}.home-tournament-cta-icon{border:1px solid rgb(var(--accent-rgb) / .35);background:rgb(var(--accent-rgb) / .08);width:40px;height:40px;color:var(--accent);border-radius:50%;flex-shrink:0;place-items:center;font-size:17px;display:grid}.home-tournament-cta-text{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.home-tournament-cta-title{font-family:var(--font-heading);letter-spacing:.04em;color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;align-items:center;gap:8px;min-width:0;font-size:15px;font-weight:700;display:flex;overflow:hidden}.home-tournament-cta-tag{letter-spacing:.14em;text-transform:uppercase;border:1px solid rgb(var(--accent-rgb) / .4);color:var(--accent);border-radius:999px;flex-shrink:0;padding:2px 8px;font-size:10px;font-weight:600}.home-tournament-cta-desc{font-family:var(--font-body);color:var(--text-secondary);text-overflow:ellipsis;white-space:nowrap;font-size:12.5px;line-height:1.4;overflow:hidden}.home-tournament-cta-arrow{color:rgb(var(--accent-rgb) / .7);flex-shrink:0;font-size:13px}@media (width<=640px){.home-tournament-cta{gap:10px;padding:12px 14px}.home-tournament-cta-icon{width:34px;height:34px;font-size:14px}.home-tournament-cta-desc{white-space:normal}}.mode-hero-card--primary{padding:clamp(26px, calc(3.2vh * var(--ui-scale)), 44px) clamp(24px, calc(2vw * var(--ui-scale)), 42px) clamp(22px, calc(2.8vh * var(--ui-scale)), 40px);min-height:clamp(110px, calc(21vh * var(--ui-scale)), 300px);background:#120e1ce6;border-width:1px 1px 1px 5px;flex-direction:column;justify-content:center;display:flex;overflow:hidden}.mode-hero-card--primary .mode-hero-card-bg{opacity:1}.mode-hero-card--primary .mode-hero-card-motif{opacity:.07;pointer-events:none;width:80px;height:80px;transition:opacity .3s;position:absolute;top:50%;right:16px;transform:translateY(-50%)}.mode-hero-card--primary:hover .mode-hero-card-motif{opacity:.12}.mode-hero-card--primary .mode-hero-card-motif svg{width:100%;height:100%}.mode-hero-card--primary.mode-hero-card--local .mode-hero-card-motif svg{fill:var(--category-local)}.mode-hero-card--primary.mode-hero-card--online .mode-hero-card-motif svg{fill:var(--category-online)}.mode-hero-card--primary.mode-hero-card--local{border-color:rgb(var(--category-local-rgb) / .4);border-left:5px solid rgb(var(--category-local-rgb) / .9);background:linear-gradient(135deg, color-mix(in srgb, var(--category-local) 14%, var(--bg-secondary)) 0%, rgb(var(--bg-secondary-rgb) / .85) 60%);box-shadow:inset 0 0 40px rgb(var(--category-local-rgb) / .06), 0 0 24px rgb(var(--category-local-rgb) / .1), 0 4px 20px #0006;animation:3s ease-in-out infinite home-cta-pulse}.mode-hero-card--primary.mode-hero-card--local:hover{border-color:rgb(var(--category-local-rgb) / .7);background:linear-gradient(135deg, color-mix(in srgb, var(--category-local) 20%, var(--bg-secondary)) 0%, rgb(var(--bg-tertiary-rgb) / .85) 60%);box-shadow:inset 0 0 50px rgb(var(--category-local-rgb) / .1), 0 0 50px rgb(var(--category-local-rgb) / .2), 0 8px 32px #00000080}.mode-hero-card--primary.mode-hero-card--online{border-color:rgb(var(--category-online-rgb) / .4);border-left:5px solid rgb(var(--category-online-rgb) / .9);background:linear-gradient(135deg, color-mix(in srgb, var(--category-online) 14%, var(--bg-secondary)) 0%, rgb(var(--bg-secondary-rgb) / .85) 60%);box-shadow:inset 0 0 40px rgb(var(--category-online-rgb) / .06), 0 0 24px rgb(var(--category-online-rgb) / .1), 0 4px 20px #0006}.mode-hero-card--primary.mode-hero-card--online:hover{border-color:rgb(var(--category-online-rgb) / .7);background:linear-gradient(135deg, color-mix(in srgb, var(--category-online) 20%, var(--bg-secondary)) 0%, rgb(var(--bg-tertiary-rgb) / .85) 60%);box-shadow:inset 0 0 50px rgb(var(--category-online-rgb) / .1), 0 0 50px rgb(var(--category-online-rgb) / .2), 0 8px 32px #00000080}.mode-hero-card--primary .mode-hero-card-arrow{opacity:.3;font-size:22px;transition:opacity .2s,transform .2s;display:block}.mode-hero-card--primary:hover .mode-hero-card-arrow{opacity:.7;transform:translate(4px)}.mode-hero-card--primary .mode-hero-card-icon{text-align:center;width:44px;font-size:38px}.mode-hero-card--primary .mode-hero-card-label{font-size:clamp(18px, calc(2vw * var(--ui-scale)), 31px);letter-spacing:.1em}.mode-hero-card--primary .mode-hero-card-content{gap:14px;margin-bottom:4px}.mode-hero-card--primary .mode-hero-card-desc{font-size:clamp(12px, calc(.85vw * var(--ui-scale)), 15px);color:rgb(var(--text-primary-rgb) / .62);z-index:1;margin-top:8px;font-weight:400;line-height:1.5;position:relative}.mode-hero-card--secondary{padding:clamp(14px, calc(1.7vh * var(--ui-scale)), 24px) clamp(22px, calc(1.6vw * var(--ui-scale)), 32px);opacity:.75;background:#0e0c16cc;border-width:1px 1px 1px 3px;border-radius:6px;transition:transform .2s,opacity .2s,box-shadow .2s}.mode-hero-card--secondary:hover{opacity:1;transform:translateY(-2px)}.mode-hero-card--secondary .mode-hero-card-desc{display:none}.mode-hero-card--secondary .mode-hero-card-icon{font-size:18px}.mode-hero-card--secondary .mode-hero-card-label{font-size:clamp(13px, calc(.95vw * var(--ui-scale)), 17px);letter-spacing:.1em}.mode-hero-card--secondary .mode-hero-card-content{margin-bottom:0}.mode-hero-card--secondary .mode-hero-card-arrow,.mode-hero-card--secondary:after{display:none}.mode-hero-card--lab{border-color:rgb(var(--category-lab-rgb) / .2);border-left-color:rgb(var(--category-lab-rgb) / .6)}.mode-hero-card--correspondence{border-color:rgb(var(--category-correspondence-rgb) / .2);border-left-color:rgb(var(--category-correspondence-rgb) / .6)}.mode-hero-card--puzzles{border-color:rgb(var(--category-puzzles-rgb) / .2);border-left-color:rgb(var(--category-puzzles-rgb) / .6)}.mode-hero-card{border:1px solid rgb(var(--text-primary-rgb) / .08);background:rgb(var(--bg-secondary-rgb) / .8);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);cursor:pointer;text-align:left;font-family:var(--font-body);color:var(--text-primary);clip-path:var(--clip-corner);border-radius:2px;padding:18px 22px 16px;transition:transform .25s,box-shadow .25s,border-color .25s;position:relative;overflow:hidden}.mode-hero-card:after{content:"";pointer-events:none;border-top:2px solid #0000;border-left:2px solid #0000;width:24px;height:24px;transition:border-color .3s;position:absolute;top:0;left:0}.mode-hero-card-bg{opacity:0;transition:opacity .35s;position:absolute;inset:0}.mode-hero-card--online .mode-hero-card-bg{background:linear-gradient(135deg, rgb(var(--category-online-rgb) / .1) 0%, rgb(var(--accent-alt-rgb) / .04) 50%, transparent 80%)}.mode-hero-card--local .mode-hero-card-bg{background:linear-gradient(135deg, rgb(var(--category-local-rgb) / .12) 0%, rgb(var(--accent-orange-rgb) / .05) 50%, transparent 80%)}.mode-hero-card:hover .mode-hero-card-bg{opacity:1}.mode-hero-card--online{border-color:rgb(var(--category-online-rgb) / .25);border-left:3px solid rgb(var(--category-online-rgb) / .7)}.mode-hero-card--online:after{border-left-color:rgb(var(--category-online-rgb) / .5);border-top-color:rgb(var(--category-online-rgb) / .5)}.mode-hero-card--local{border-color:rgb(var(--category-local-rgb) / .25);border-left:3px solid rgb(var(--category-local-rgb) / .7)}.mode-hero-card--local:after{border-left-color:rgb(var(--category-local-rgb) / .5);border-top-color:rgb(var(--category-local-rgb) / .5)}.mode-hero-card:hover{transform:translateY(-3px)}.mode-hero-card--online:hover{border-color:rgb(var(--category-online-rgb) / .5);box-shadow:0 8px 32px #00000080, 0 0 40px rgb(var(--category-online-rgb) / .12)}.mode-hero-card--online:hover:after{border-left-color:rgb(var(--category-online-rgb) / .8);border-top-color:rgb(var(--category-online-rgb) / .8)}.mode-hero-card--local:hover{border-color:rgb(var(--category-local-rgb) / .5);box-shadow:0 8px 32px #00000080, 0 0 40px rgb(var(--category-local-rgb) / .12)}.mode-hero-card--local:hover:after{border-left-color:rgb(var(--category-local-rgb) / .8);border-top-color:rgb(var(--category-local-rgb) / .8)}.mode-hero-card:active{transform:translateY(-1px)scale(.97)}.mode-hero-card--primary.mode-hero-card--local:active{box-shadow:inset 0 0 40px rgb(var(--category-local-rgb) / .12), 0 0 36px rgb(var(--category-local-rgb) / .35), 0 4px 20px #0006}.mode-hero-card--primary.mode-hero-card--online:active{box-shadow:inset 0 0 40px rgb(var(--category-online-rgb) / .12), 0 0 36px rgb(var(--category-online-rgb) / .35), 0 4px 20px #0006}.mode-hero-card-content{z-index:1;align-items:center;gap:10px;margin-bottom:6px;display:flex;position:relative}.mode-hero-card-icon{filter:saturate(1.3);font-size:22px;line-height:1}.mode-icon-online{color:var(--category-online);filter:none}.mode-icon-local{color:var(--category-local);filter:none}.mode-hero-card-label{font-family:var(--font-heading);letter-spacing:.08em;text-transform:uppercase;flex:1;font-size:15px;font-weight:600}.label-short{display:none}.mode-hero-card-arrow{color:var(--text-muted);font-size:18px;transition:transform .2s,color .2s}.mode-hero-badge{min-width:18px;height:18px;font-size:11px;font-weight:700;font-family:var(--font-body);background:rgb(var(--accent-rgb) / .2);color:var(--accent);vertical-align:middle;border-radius:9px;justify-content:center;align-items:center;margin-left:6px;padding:0 5px;line-height:1;animation:2s ease-in-out infinite corr-pulse;display:inline-flex}.mode-hero-card--online:hover .mode-hero-card-arrow{color:var(--accent-orange);transform:translate(4px)}.mode-hero-card--local:hover .mode-hero-card-arrow{color:var(--category-local);transform:translate(4px)}.mode-hero-card-desc{color:var(--text-secondary);z-index:1;font-size:12px;font-weight:300;line-height:1.5;position:relative}.home-modes{flex-direction:column;gap:28px;padding:8px 36px 48px;display:flex}.screen-entering .home-topbar{animation:.4s .1s both home-fade-in}.screen-entering .home-hero{animation:.5s .15s both home-fade-in}.screen-entering .mode-section{animation:.5s both home-fade-in}.screen-entering .mode-section:first-child{animation-delay:.3s}.screen-entering .mode-section:nth-child(2){animation-delay:.4s}.screen-entering .mode-section:nth-child(3){animation-delay:.5s}.mode-section-title{font-family:var(--font-mono);letter-spacing:.18em;text-transform:uppercase;color:var(--text-muted);align-items:center;gap:12px;margin-bottom:10px;padding-left:2px;font-size:10px;font-weight:500;display:flex}.mode-section-title:after{content:"";background:linear-gradient(to right, var(--border), transparent 80%);flex:1;height:1px}.home-continue-slot:empty{display:none}.home-continue-card{width:100%;padding:clamp(12px, calc(1.5vh * var(--ui-scale)), 18px) clamp(18px, calc(1.4vw * var(--ui-scale)), 28px);border:1px solid rgb(var(--accent-rgb) / .22);border-left:3px solid rgb(var(--accent-rgb) / .75);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);cursor:pointer;text-align:left;font-family:var(--font-body);color:var(--text-primary);opacity:0;background:#0e1216cc;border-radius:6px;justify-content:space-between;align-items:center;gap:12px;margin-top:14px;transition:transform .2s,opacity .2s,box-shadow .2s,border-color .2s;animation:.8s 1s forwards home-stagger-in;display:flex;position:relative;overflow:hidden}.home-continue-card:hover{border-color:rgb(var(--accent-rgb) / .5);box-shadow:0 8px 28px #00000073, 0 0 30px rgb(var(--accent-rgb) / .1);transform:translateY(-2px)}.home-continue-card:active{transform:translateY(-1px)scale(.99)}.home-continue-card-bg{opacity:0;pointer-events:none;background:linear-gradient(135deg, rgb(var(--accent-rgb) / .1) 0%, transparent 70%);transition:opacity .3s;position:absolute;inset:0}.home-continue-card:hover .home-continue-card-bg{opacity:1}.home-continue-card.is-live{border-color:#ffb02047 #ffb02047 #ffb02047 #ffb020d9}.home-continue-card.is-live:hover{border-color:#ffb0208c;box-shadow:0 8px 28px #00000073,0 0 30px #ffb0201f}.home-continue-card.is-live .home-continue-card-eyebrow{color:#ffb020}.home-continue-card.is-live .home-continue-card-bg{opacity:.5;background:linear-gradient(135deg,#ffb0201f 0%,#0000 70%);animation:2.4s ease-in-out infinite home-continue-live-pulse}.home-continue-card.is-live:hover .home-continue-card-bg{opacity:1;animation:none}@keyframes home-continue-live-pulse{0%,to{opacity:.3}50%{opacity:.7}}.home-continue-card.is-busy{pointer-events:none;opacity:.6}@media (prefers-reduced-motion:reduce){html:not([data-reduce-motion=off]) .home-continue-card.is-live .home-continue-card-bg{opacity:.5;animation:none}}html[data-reduce-motion=on] .home-continue-card.is-live .home-continue-card-bg{opacity:.5;animation:none}.home-continue-card-body{z-index:1;flex-direction:column;gap:4px;min-width:0;display:flex;position:relative}.home-continue-card-eyebrow{font-family:var(--font-mono);letter-spacing:.18em;text-transform:uppercase;color:var(--accent);font-size:10px;font-weight:600}.home-continue-card-desc{font-size:clamp(13px, calc(.95vw * var(--ui-scale)), 16px);color:var(--text-secondary);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.home-continue-card-discard{z-index:1;border:1px solid rgb(var(--text-primary-rgb) / .12);background:rgb(var(--text-primary-rgb) / .04);width:28px;height:28px;color:var(--text-muted);cursor:pointer;border-radius:50%;flex:none;justify-content:center;align-items:center;padding:0;font-size:12px;transition:background .2s,color .2s,border-color .2s;display:inline-flex;position:relative}.home-continue-card-discard:hover{color:#ff6a6a;background:#ff464626;border-color:#ff464666}.mode-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:10px;display:grid}.mode-card{border:1px solid rgb(var(--text-primary-rgb) / .06);background:rgb(var(--bg-secondary-rgb) / .6);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:var(--text-primary);cursor:pointer;text-align:left;font-family:var(--font-body);border-radius:2px;align-items:flex-start;gap:14px;width:100%;padding:16px 18px;transition:all .25s;display:flex;position:relative;overflow:hidden}.mode-card-glow{opacity:0;background:radial-gradient(ellipse at 20% 30%, rgb(var(--accent-rgb) / .04), transparent 70%);pointer-events:none;transition:opacity .3s;position:absolute;inset:0}.mode-card:before{content:"";border-radius:inherit;background:linear-gradient(135deg, rgb(var(--accent-rgb) / .15), transparent 40%, transparent 60%, rgb(var(--accent-alt-rgb) / .1));-webkit-mask-composite:xor;opacity:0;pointer-events:none;padding:1px;transition:opacity .3s;position:absolute;inset:-1px;-webkit-mask-image:linear-gradient(#fff 0 0),linear-gradient(#fff 0 0);-webkit-mask-position:0 0,0 0;-webkit-mask-size:auto,auto;-webkit-mask-repeat:repeat,repeat;-webkit-mask-clip:content-box,border-box;-webkit-mask-origin:content-box,border-box;-webkit-mask-composite:xor;mask-composite:exclude;-webkit-mask-source-type:auto,auto;mask-mode:match-source,match-source}.mode-card:hover:not(.disabled):before,.mode-card:hover:not(.disabled) .mode-card-glow{opacity:1}.mode-card:hover:not(.disabled){border-color:rgb(var(--text-primary-rgb) / .08);transform:translateY(-2px);box-shadow:0 6px 24px #00000059}.mode-card:active:not(.disabled){transform:translateY(0)scale(.99)}.mode-card.disabled{opacity:.4;cursor:not-allowed}.mode-card.disabled .mode-card-glow{display:none}.mode-card-icon{filter:saturate(1.1);flex-shrink:0;margin-top:1px;font-size:24px;line-height:1}.mode-card-content{z-index:1;flex:1;min-width:0;position:relative}.mode-card-title{font-family:var(--font-heading);letter-spacing:.08em;text-transform:uppercase;margin-bottom:3px;font-size:13px;font-weight:600}.mode-card-desc{color:var(--text-muted);font-size:12px;line-height:1.45}.mode-card-badge{background:rgb(var(--accent-alt-rgb) / .1);color:var(--accent-alt);font-size:8px;font-weight:600;font-family:var(--font-heading);border:1px solid rgb(var(--accent-alt-rgb) / .15);letter-spacing:.1em;text-transform:uppercase;z-index:1;border-radius:2px;padding:2px 8px;position:absolute;top:10px;right:10px}.home-bottom-bar{bottom:var(--consent-banner-h,0px);z-index:20;background:rgb(var(--bg-primary-rgb) / .92);-webkit-backdrop-filter:blur(16px);box-shadow:inset 0 1px 12px rgb(var(--accent-alt-rgb) / .08);padding:8px 0 max(8px, env(safe-area-inset-bottom));border-top:none;justify-content:space-around;align-items:center;animation:.5s .6s both home-bar-slide-up;display:none;position:fixed;left:0;right:0}@supports ((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))){.home-bottom-bar{background:rgb(var(--bg-primary-rgb) / .78)}}.home-bottom-bar:before{content:"";background:linear-gradient(90deg, rgb(var(--accent-alt-rgb) / .4), rgb(var(--accent-rgb) / .4));height:1px;box-shadow:0 0 8px rgb(var(--accent-alt-rgb) / .15);position:absolute;top:-1px;left:0;right:0}@keyframes home-bar-slide-up{0%{opacity:0;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}.home-bottom-tab{color:rgb(var(--text-primary-rgb) / .8);font-family:var(--font-heading);letter-spacing:.06em;text-transform:uppercase;cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:none;flex-direction:column;align-items:center;gap:4px;padding:12px 20px;font-size:11px;font-weight:500;transition:color .2s,transform .15s;display:flex;position:relative}.home-bottom-tab i{font-size:22px;transition:color .2s,text-shadow .2s}.home-bottom-tab:active{color:rgb(var(--text-primary-rgb) / .9);transform:scale(.92)}.home-bottom-tab:active i{color:var(--accent-alt);text-shadow:0 0 12px rgb(var(--accent-alt-rgb) / .5)}@media (width<=768px){.topbar-full{display:none}.topbar-short{display:inline}.btn-nav-pill{padding:5px 10px;font-size:10px}}@media (width<=640px){.home-nav-left{display:none}.home-bottom-bar{display:flex}.home-avatar-btn,.btn-nav-signin,.home-avatar-name{display:none}.home-avatar-btn{border-radius:2px;padding:3px}.home-avatar-img{width:30px;height:30px}.home-topnav-inner{padding:12px}.home-hero{min-height:calc(100dvh - var(--titlebar-height) - 72px - var(--consent-banner-h,0px));justify-content:flex-start;gap:clamp(24px,5vh,48px);padding:0 20px 20px}.home-hero-text{margin-top:clamp(24px, calc(12vh - var(--consent-banner-h,0px)), 12vh);padding:0}.home-hero-actions{margin-top:auto;padding-bottom:16px}.home-title{letter-spacing:.18em;font-size:clamp(2.2rem,8vw,3rem)}.home-title-ring{width:clamp(160px,40vw,200px);height:clamp(160px,40vw,200px)}.home-subtitle{letter-spacing:.12em;color:rgb(var(--text-primary-rgb) / .7);margin-top:12px;font-size:14px}.home-body{padding-bottom:calc(72px + var(--consent-banner-h,0px));align-items:safe center}.home-primary-modes{grid-template-columns:1fr;gap:12px}.mode-hero-card--primary{border-radius:8px;min-height:72px;padding:20px 24px}.mode-hero-card--primary .mode-hero-card-desc{display:none}.mode-hero-card--primary .mode-hero-card-icon{width:36px;font-size:30px}.mode-hero-card--primary .mode-hero-card-label{font-size:18px;font-weight:700}.mode-hero-card--primary .mode-hero-card-arrow{font-size:18px}.home-secondary-modes{grid-template-columns:repeat(3,1fr);gap:8px}.mode-hero-card--secondary{text-align:center;opacity:.92;border-top:2px solid;border-left-width:1px;justify-content:center;min-height:64px;padding:18px 10px}.mode-hero-card--secondary.mode-hero-card--lab{border-top-color:rgb(var(--category-lab-rgb) / .5);background:rgb(var(--category-lab-rgb) / .06)}.mode-hero-card--secondary.mode-hero-card--correspondence{border-top-color:rgb(var(--category-correspondence-rgb) / .5);background:rgb(var(--category-correspondence-rgb) / .06)}.mode-hero-card--secondary.mode-hero-card--puzzles{border-top-color:rgb(var(--category-puzzles-rgb) / .5);background:rgb(var(--category-puzzles-rgb) / .06)}.mode-hero-card--secondary .mode-hero-card-content{flex-direction:column;gap:6px}.mode-hero-card--secondary .mode-hero-card-icon{font-size:24px}.mode-hero-card--secondary .mode-hero-card-label{letter-spacing:.06em;font-size:12px;line-height:1.3}.label-full{display:none}.label-short{display:inline}.home-hero-actions .home-secondary-modes{border-top-color:rgb(var(--text-primary-rgb) / .08);margin-top:20px;padding-top:16px}.mode-hero-card:hover:not(:active){transform:none}.home-footer{display:none}.home-modes{padding:8px 16px 40px}.mode-grid{grid-template-columns:1fr}.home-screen:after{background:radial-gradient(ellipse at center, transparent 40%, rgb(var(--bg-primary-rgb) / .3) 100%)}}.btn-nav-icon:active,.btn-nav-pill:active,.btn-nav-signin:active,.home-auth-btn:active,.home-avatar-btn:active,.home-bell-btn:active,.home-continue-card-discard:active{transition-duration:60ms;transform:scale(.94)}.setup-screen{flex-direction:column;min-height:100dvh;display:flex}.screen-entering .setup-screen{animation:.3s fade-in}.setup-screen-body{flex-direction:column;flex:1;justify-content:center;gap:16px;width:100%;max-width:560px;margin:0 auto;padding:2rem 1.5rem 3rem;display:flex}.setup-screen-body--local{justify-content:flex-start;max-width:min(1040px,100vw - 64px);padding-top:1.5rem}.setup-card{background:rgb(var(--bg-secondary-rgb) / .85);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border:1px solid #ffffff14;border-left:2px solid rgb(var(--accent-rgb) / .45);clip-path:var(--clip-corner);flex-direction:column;gap:12px;padding:16px 18px 18px;display:flex;position:relative;overflow:hidden}.setup-card:after{content:"";border-left:1px solid rgb(var(--accent-rgb) / .45);border-top:1px solid rgb(var(--accent-rgb) / .45);pointer-events:none;width:18px;height:18px;position:absolute;top:0;left:0}.setup-card>*{z-index:1;position:relative}.setup-card-heading{font-family:var(--font-mono);letter-spacing:.18em;text-transform:uppercase;color:var(--text-muted);margin:0;font-size:.7rem;font-weight:500}.setup-card-subheading{font-family:var(--font-mono);letter-spacing:.18em;text-transform:uppercase;color:var(--text-muted);margin:0 0 8px;font-size:.65rem;font-weight:500}.setup-card-row{gap:16px;margin-top:4px;display:flex}.setup-card-col{flex:1;min-width:0}.setup-section{flex-direction:column;gap:10px;display:flex}.setup-section--flex{flex:1;min-width:0}.setup-row{gap:24px;display:flex}.setup-label{font-family:var(--font-mono);color:var(--text-secondary);text-transform:uppercase;letter-spacing:.18em;font-size:.7rem;font-weight:500}.setup-local-grid{grid-template-columns:repeat(2,minmax(320px,1fr));gap:14px;display:grid}.setup-player-panel{background:#ffffff06;border:1px solid #ffffff0f;border-radius:3px;flex-direction:column;gap:12px;min-width:0;padding:14px;display:flex}.setup-player-heading{font-family:var(--font-heading);color:var(--text-primary);letter-spacing:.12em;text-transform:uppercase;align-items:center;gap:8px;font-size:13px;font-weight:700;display:flex}.setup-local-ai{border-top:1px solid #ffffff0d;flex-direction:column;gap:12px;min-width:0;margin-top:2px;padding-top:4px;display:flex}.setup-local-ai-section{min-width:0}.setup-options{gap:6px;min-width:0;display:flex}.setup-screen-body--local .setup-options,.setup-screen-body--local .setup-time-presets{flex-wrap:wrap}.option-btn{border:1px solid var(--border);color:var(--text-secondary);font-size:12px;font-family:var(--font-heading);letter-spacing:.08em;text-transform:uppercase;cursor:pointer;background:#ffffff06;border-radius:3px;padding:9px 16px;font-weight:500;line-height:1.2;transition:background .15s,border-color .15s,color .15s,box-shadow .2s}.setup-screen-body--local .option-btn{white-space:normal;flex:auto;min-width:max-content}.setup-player-panel>.setup-options .option-btn{flex-basis:0;min-width:96px}.option-btn.active{border-color:rgb(var(--accent-rgb) / .55);color:var(--accent);background:rgb(var(--accent-rgb) / .08);box-shadow:0 0 14px rgb(var(--accent-rgb) / .15), inset 0 0 8px rgb(var(--accent-rgb) / .04)}.option-btn:hover:not(.active):not([aria-disabled=true]){color:var(--text-primary);background:#ffffff0d;border-color:#fff3}.option-btn[aria-disabled=true]{opacity:.7;cursor:not-allowed}.setup-lock-icon{opacity:.7;margin-right:4px;font-size:.75em}.setup-time-presets{flex-wrap:wrap;gap:6px;display:flex}.setup-time-chip{color:var(--text-secondary);font-family:var(--font-mono);cursor:pointer;background:#ffffff08;border:1px solid #ffffff14;border-radius:3px;align-items:center;gap:.4rem;padding:.5rem .85rem;font-size:.85rem;font-weight:500;transition:background .15s,border-color .15s,color .15s,box-shadow .2s;display:inline-flex;position:relative}.setup-time-chip:hover:not(.is-active){color:var(--text-primary);background:#ffffff0f;border-color:#ffffff2e}.setup-time-chip.is-active{border-color:rgb(var(--accent-rgb) / .6);color:var(--accent);background:rgb(var(--accent-rgb) / .08);box-shadow:0 0 14px rgb(var(--accent-rgb) / .18)}.setup-time-custom{align-items:flex-end;gap:10px;margin-top:6px;display:flex}.setup-time-custom label{color:var(--text-muted);font-size:10px;font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;flex-direction:column;gap:4px;display:flex}.setup-time-custom input{border:1px solid var(--border);color:var(--text-primary);font-family:var(--font-mono);background:#0000004d;border-radius:3px;width:86px;padding:8px 10px;font-size:13px;transition:border-color .2s,box-shadow .2s}.setup-time-custom input:focus{border-color:var(--accent);box-shadow:0 0 12px rgb(var(--accent-rgb) / .15);outline:none}.setup-side-visual{gap:8px;display:flex}.setup-side-btn{color:var(--text-secondary);cursor:pointer;text-align:center;font-family:var(--font-heading);letter-spacing:.1em;text-transform:uppercase;background:#ffffff08;border:1px solid #ffffff14;border-radius:3px;flex-direction:row;flex:1;justify-content:center;align-items:center;gap:10px;padding:14px 10px;transition:background .2s,border-color .2s,color .2s,box-shadow .2s;display:flex}.setup-side-btn.active{border-color:rgb(var(--accent-rgb) / .6);background:rgb(var(--accent-rgb) / .08);color:var(--text-primary);box-shadow:0 0 18px rgb(var(--accent-rgb) / .15)}.setup-side-btn:hover:not(.active){color:var(--text-primary);background:#ffffff0d;border-color:#fff3}.setup-side-icon{justify-content:center;align-items:center;font-size:22px;display:flex}.setup-side-icon .piece-svg{width:1em;height:1em}.setup-side-label{font-size:12px;font-weight:600}.setup-hint{color:var(--text-muted);margin:6px 0 0;font-size:11px;line-height:1.5}.setup-upgrade-link{appearance:none;color:var(--accent);cursor:pointer;font:inherit;background:0 0;border:none;margin:0;padding:0;text-decoration:underline}.setup-upgrade-link:hover{color:var(--accent-hover)}.setup-custom-ai{margin-top:4px}.setup-custom-ai-file,.setup-custom-ai-url,.setup-custom-ai-options{margin-top:6px}.setup-custom-ai-url input,.setup-custom-ai-options input{border:1px solid var(--border);width:100%;color:var(--text-primary);font-family:var(--font-mono);box-sizing:border-box;background:#0000004d;border-radius:3px;min-width:0;padding:9px 12px;font-size:12px;transition:border-color .2s,box-shadow .2s}.setup-custom-ai-url input:focus,.setup-custom-ai-options input:focus{border-color:var(--accent);box-shadow:0 0 12px rgb(var(--accent-rgb) / .15);outline:none}.setup-custom-ai-url input::placeholder,.setup-custom-ai-options input::placeholder{color:var(--text-muted);opacity:.6}.setup-file-label{cursor:pointer;display:block}.setup-file-label input[type=file]{display:none}.setup-file-btn{border:1px dashed var(--border);width:100%;color:var(--text-muted);font-family:var(--font-mono);text-align:center;box-sizing:border-box;background:#0000004d;border-radius:3px;padding:9px 12px;font-size:12px;transition:border-color .2s,color .2s;display:block}.setup-file-label:hover .setup-file-btn{border-color:var(--accent);color:var(--text-primary)}.setup-start-btn{appearance:none;background:var(--brand-gradient);color:var(--on-brand);font-family:var(--font-heading);cursor:pointer;clip-path:var(--clip-corner);text-shadow:0 1px 2px #0000004d;box-shadow:0 6px 24px rgb(var(--accent-alt-rgb) / .25), inset 0 0 0 1px #ffffff1f;background-size:180% 180%;border:none;flex-direction:column;justify-content:center;align-items:center;gap:3px;margin-top:4px;padding:1rem 1.5rem;transition:transform .15s,box-shadow .2s,background-position .4s;display:flex;position:relative}.setup-start-btn:hover{box-shadow:0 10px 32px rgb(var(--accent-alt-rgb) / .4), inset 0 0 0 1px #fff3;background-position:100% 100%;transform:translateY(-1px)}.setup-start-btn:active{transform:translateY(0)}.setup-start-btn-label{letter-spacing:.18em;text-transform:uppercase;font-size:1.05rem;font-weight:700}.setup-start-btn-sub{font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;background:#00000047;border-radius:3px;padding:2px 8px;font-size:.7rem}@media (width<=820px){.setup-local-grid{grid-template-columns:1fr}.setup-card-row{flex-direction:column;gap:12px}}@media (width<=640px){.setup-screen-body--local{max-width:100%;padding-inline:1rem}}@media (width<=768px){.setup-screen-body,.setup-screen-body--local{padding-bottom:calc(var(--setup-start-wrap-h,130px) + var(--consent-banner-h,0px))}}@media (width>=960px){.setup-screen-body--local .setup-start-btn{align-self:center;width:min(560px,100%)}}.setup-start-wrap{display:contents}@media (width<=768px){.setup-start-wrap{left:0;right:0;bottom:var(--consent-banner-h,0px);z-index:5;padding-top:14px;padding-bottom:var(--screen-bottom-gap);padding-inline:var(--setup-body-pad-inline,1.25rem);background:linear-gradient(to top, var(--bg,#0a0a0a) 0%, var(--bg,#0a0a0a) 60%, #0a0a0aeb 85%, #0a0a0a00 100%);justify-content:center;display:flex;position:fixed}.setup-start-wrap .setup-start-btn{width:100%;max-width:min(1040px,100vw - 64px);box-shadow:0 8px 28px rgb(var(--accent-alt-rgb) / .32), inset 0 0 0 1px #ffffff24}}@media (width<=640px){.setup-start-wrap .setup-start-btn{max-width:100%}}.gameplay-screen{height:calc(100vh - var(--consent-banner-h,0px));height:calc(100dvh - var(--consent-banner-h,0px));--board-reserved-h:calc(var(--board-extra-h,0px) + var(--consent-banner-h,0px) + var(--board-dial-h,0px));grid-template:"topbar""center"1fr"status"/minmax(0,1fr);display:grid;overflow:hidden}[data-mode=sandbox]{--board-chrome-h:190px;--board-chrome-w:560px}.gameplay-topbar{z-index:var(--z-topbar);grid-area:topbar}.gameplay-command-bar{background:var(--bg-secondary);border-top:1px solid var(--border);padding-bottom:env(safe-area-inset-bottom,0px);grid-area:cmdbar;display:none}.command-bar-btn{min-height:56px;color:var(--text-secondary);font-family:var(--font-body);letter-spacing:.04em;cursor:pointer;background:0 0;border:none;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:3px;padding:8px 0 10px;font-size:10px;display:flex}.command-bar-btn i{font-size:17px}.command-bar-btn:active{color:var(--text-primary)}.command-bar-btn:disabled{color:var(--text-muted);opacity:.5}.gameplay-topbar-center{align-items:center;display:flex}.gameplay-mode-label{font-family:var(--font-heading);letter-spacing:.2em;text-transform:uppercase;background:var(--brand-gradient-wide);-webkit-text-fill-color:transparent;background-size:200% 200%;-webkit-background-clip:text;background-clip:text;font-size:13px;font-weight:700;animation:12s infinite brand-gradient-flow}.gameplay-ai-difficulty-pill{letter-spacing:.06em;text-transform:uppercase;color:rgb(var(--text-primary-rgb) / .78);background:rgb(var(--accent-alt-rgb) / .14);border:1px solid rgb(var(--accent-alt-rgb) / .35);border-radius:999px;margin-left:8px;padding:2px 8px;font-size:11px;font-weight:600;display:inline-block}.gameplay-topbar-actions{align-items:center;gap:4px;display:flex}.sound-toggle-btn{opacity:.7;transition:opacity .15s}.sound-toggle-btn:hover{opacity:1}.gameplay-center-group,.gameplay-center{grid-area:center;justify-content:center;align-items:center;gap:24px;padding:16px 24px;display:flex;overflow:hidden}.gameplay-board-col{flex-direction:column;flex-shrink:0;align-items:center;display:flex}.gameplay-top-slot,.gameplay-bottom-slot{width:min(calc(100vh - var(--board-chrome-h) - var(--board-reserved-h,0px)), calc(100vw - var(--board-chrome-w)));align-self:flex-end;max-width:640px}.gameplay-top-banner,.gameplay-bottom-banner{padding:6px 0}.player-banner{max-width:none}.gameplay-board-area{justify-content:center;align-items:center;min-height:0;display:flex;position:relative}.gameplay-beat{z-index:5;pointer-events:none;text-align:center;background:rgb(var(--bg-primary-rgb) / .85);-webkit-backdrop-filter:blur(8px);border:1px solid var(--border-light);border-radius:12px;flex-direction:column;align-items:center;gap:2px;max-width:min(92%,440px);padding:10px 18px;display:flex;position:absolute;bottom:8%;left:50%;transform:translate(-50%);box-shadow:0 10px 30px -12px #000000b3}.gameplay-beat[hidden]{display:none}.gameplay-beat .beat-word{font-family:var(--font-heading);letter-spacing:.16em;font-size:14px;font-weight:700}.gameplay-beat .beat-line{font-family:var(--font-body);color:var(--text-primary);font-size:12.5px;line-height:1.45}.gameplay-beat[data-accent=magenta] .beat-word{color:#ff5ca3}.gameplay-beat[data-accent=orange] .beat-word{color:#ff9a5e}.gameplay-beat[data-accent=cyan] .beat-word{color:var(--accent)}@media (prefers-reduced-motion:no-preference){html:not([data-reduce-motion=on]) .gameplay-beat:not([hidden]){animation:.3s ease-out beat-in}}html[data-reduce-motion=off] .gameplay-beat:not([hidden]){animation:.3s ease-out beat-in}@keyframes beat-in{0%{opacity:0;transform:translate(-50%)translateY(8px)}to{opacity:1;transform:translate(-50%)}}.gameplay-captured-panel{display:none}@media (width>=769px){.gameplay-captured-panel{pointer-events:none;flex-direction:column;justify-content:center;width:max-content;display:flex;position:absolute;top:0;bottom:0;right:calc(100% + 48px)}.gameplay-eval-bar:empty~.gameplay-captured-panel{right:calc(100% + 8px)}.gameplay-captured-panel .captured-pieces{pointer-events:auto;justify-content:center;gap:0;height:100%}.gameplay-captured-panel .captured-row{flex-direction:column;gap:0;min-height:0;font-size:18px}.gameplay-captured-panel .captured-group{letter-spacing:normal;flex-direction:column;display:flex}.gameplay-captured-panel .material-advantage{text-align:center;margin-top:2px;margin-left:0}}.gameplay-right-panel{background:rgb(var(--bg-tertiary-rgb) / .6);border:1px solid var(--border);border-radius:3px;flex-direction:column;flex-shrink:0;align-self:center;width:260px;height:60vh;margin:0 8px;padding:0 12px;display:flex;overflow:hidden;transform:translateY(22px)}.gameplay-info-tabs,.gameplay-right-panel .gameplay-captured-tab{display:none}.gameplay-status,.gameplay-footer{grid-area:status}.gameplay-bottom-slot:has(.phase-dial){align-items:center;gap:10px;display:flex}.gameplay-bottom-slot:has(.phase-dial) .gameplay-bottom-banner{flex:1;min-width:0}.phase-dial{border:1px solid var(--border-light);background:rgb(var(--bg-primary-rgb) / .55);cursor:pointer;touch-action:manipulation;text-align:left;border-radius:999px;align-items:center;gap:8px;padding:4px 10px 4px 4px;transition:border-color .15s,background .15s;display:flex}.phase-dial-btn{background:0 0;border:none;border-radius:50%;flex:none;place-items:center;width:44px;height:44px;padding:0;display:grid}.phase-dial-face{width:40px;height:40px}.phase-dial-ring{fill:#ffffff08;stroke:var(--border-light);stroke-width:1.5px}.phase-dial-ticks line{stroke:var(--text-muted);stroke-width:1.2px;stroke-linecap:round}.phase-dial-ticks .phase-dial-tick-zero{stroke:var(--text-primary);stroke-width:1.8px}.phase-dial-needle{stroke:var(--text-muted);stroke-width:2.4px;stroke-linecap:round;transform:rotate(var(--phase-dial-deg,0deg));transform-origin:20px 20px;transition:transform .16s}.phase-dial-hub{fill:var(--text-muted)}.phase-dial{--phase-stage:var(--text-muted)}.phase-dial[data-stage=albedo]{--phase-stage:#e8e4dc}.phase-dial[data-stage=citrinitas]{--phase-stage:#ffc450}.phase-dial[data-stage=rubedo]{--phase-stage:#d6453f}.phase-dial.active .phase-dial-needle,.phase-dial.active .phase-dial-hub{stroke:var(--phase-stage);fill:var(--phase-stage)}.phase-dial.active .phase-dial-ring{stroke:var(--phase-stage);filter:drop-shadow(0 0 6px color-mix(in srgb, var(--phase-stage) 55%, transparent))}.phase-dial:hover .phase-dial-ring{stroke:var(--text-primary)}.phase-dial:hover{border-color:var(--border);background:rgb(var(--bg-primary-rgb) / .75)}.phase-dial:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.phase-dial-text{flex-direction:column;min-width:76px;line-height:1.2;display:flex}.phase-dial-title{font-family:var(--font-heading);letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;color:var(--text-muted);font-size:10px;font-weight:700}.phase-dial.active .phase-dial-title{color:var(--phase-stage)}.phase-dial-value{font-family:var(--font-body);color:var(--text-muted);font-variant-numeric:tabular-nums;font-size:14px;font-weight:600}.phase-dial.active .phase-dial-value{color:var(--phase-stage)}.gameplay-mobile-strip{align-items:center;gap:10px;width:100%;min-height:44px;padding:6px 2px 0;display:none}.mobile-strip-captured{flex:1;min-width:0;overflow:hidden}.mobile-strip-captured .captured-pieces{flex-flow:wrap;gap:10px;padding:0}.mobile-strip-captured .captured-row{min-height:0;font-size:15px}.mobile-strip-history{background:rgb(var(--bg-secondary-rgb) / .9);border:1px solid var(--border-light);min-height:44px;color:var(--text-primary);cursor:pointer;touch-action:manipulation;border-radius:999px;flex:none;align-items:center;gap:10px;padding:4px 12px;display:flex}.mobile-strip-last{flex-direction:column;align-items:flex-start;line-height:1.2;display:flex}.mobile-strip-last-label{font-family:var(--font-heading);letter-spacing:.14em;text-transform:uppercase;color:var(--text-muted);font-size:9px;font-weight:600}.mobile-strip-last-move{font-family:var(--font-mono);font-size:14px;font-weight:600}.mobile-strip-history.is-viewing{border-color:rgb(var(--accent-rgb) / .55)}.mobile-strip-history.is-viewing .mobile-strip-last-label,.mobile-strip-history.is-viewing .mobile-strip-last-move{color:var(--accent)}.mobile-strip-history i{color:var(--text-muted);font-size:12px}.move-sheet-handle,.move-sheet-close,.move-sheet-title,.move-sheet-backdrop{display:none}.gameplay-screen:not([data-mode=sandbox]) .gameplay-footer{left:0;right:0;bottom:calc(16px + env(safe-area-inset-bottom,0px) + var(--consent-banner-h,0px));z-index:calc(var(--z-topbar) + 1);pointer-events:none;justify-content:center;display:flex;position:fixed}.gameplay-screen:not([data-mode=sandbox]) .status-bar{background:rgb(var(--bg-primary-rgb) / .92);border:1px solid var(--border-light);-webkit-backdrop-filter:blur(6px);border-radius:999px;width:auto;max-width:min(92vw,420px);padding:6px 14px}.gameplay-screen:not([data-mode=sandbox]) .status-measurement{text-align:center;overflow-wrap:anywhere;margin:0}.gameplay-quantum-actions{justify-content:center;gap:8px;margin:6px 0 2px;display:flex}.gameplay-quantum-actions[hidden]{display:none}.gameplay-quantum-actions.is-idle{visibility:hidden}.quantum-action-chip{font-family:var(--font-heading);letter-spacing:.08em;color:var(--text-primary);background:rgb(var(--bg-primary-rgb) / .7);border:1px solid var(--border-light);cursor:pointer;border-radius:999px;align-items:center;gap:6px;padding:4px 12px;font-size:12px;font-weight:600;display:inline-flex}.quantum-action-chip[hidden]{display:none}.quantum-action-chip:hover:not(:disabled){border-color:var(--accent)}.quantum-action-chip:disabled{opacity:.45;cursor:default}.quantum-action-chip.active{border-color:var(--accent);color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}.quantum-action-chip kbd{font-family:var(--font-mono);border:1px solid var(--border-light);background:rgb(var(--bg-secondary-rgb) / .8);color:var(--text-muted);border-radius:4px;padding:2px 5px;font-size:10px;line-height:1}@media (pointer:coarse){.quantum-action-chip kbd{display:none}}.board-container{justify-content:center;align-items:center;width:100%;height:100%;display:flex}.board-coords{grid-template-rows:1fr auto;grid-template-columns:auto 1fr;gap:0;display:grid;position:relative}.board-rank-labels,.board-file-labels{display:none}.board-coords.show-coords{gap:4px}.board-coords.show-coords .board-rank-labels{flex-direction:column;grid-area:1/1;justify-content:space-around;align-items:center;padding:0 3px;display:flex}.board-coords.show-coords .board-file-labels{grid-area:2/2;justify-content:space-around;align-items:center;padding:3px 0;display:flex}.board-coords.show-coords .board{grid-area:1/2}.board-coord-label{font-family:var(--font-mono);color:var(--text-muted);-webkit-user-select:none;user-select:none;opacity:.7;font-size:10px;font-weight:500;line-height:1}.board{gap:var(--board-gap);touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;width:min(calc(100vh - var(--board-chrome-h) - var(--board-reserved-h,0px)), calc(100vw - var(--board-chrome-w)));height:min(calc(100vh - var(--board-chrome-h) - var(--board-reserved-h,0px)), calc(100vw - var(--board-chrome-w)));max-width:640px;max-height:640px;box-shadow:0 16px 48px #0009, 0 0 0 1px rgb(var(--accent-rgb) / .06), 0 0 80px rgb(var(--accent-rgb) / .03);border-radius:4px;grid-template-rows:repeat(8,1fr);grid-template-columns:repeat(8,1fr);display:grid;position:relative;overflow:visible}.square{border-radius:var(--board-square-radius);cursor:pointer;-webkit-user-select:none;user-select:none;background-image:var(--sq-phase,none), var(--sq-premove-wash,none), var(--sq-lastmove-wash,none);border:2px solid #0000;flex-direction:column;justify-content:center;align-items:center;transition:border-color .15s,box-shadow .15s;display:flex;position:relative;overflow:visible}.square *{-webkit-user-select:none;user-select:none}.light{background-color:var(--board-light)}.dark{background-color:var(--board-dark)}.last-move{--sq-lastmove-wash:linear-gradient(rgb(var(--last-move-rgb) / .12), rgb(var(--last-move-rgb) / .12));box-shadow:inset 0 0 0 2px rgb(var(--last-move-rgb) / .6)}.last-move.light{--sq-lastmove-wash:linear-gradient(rgb(var(--last-move-rgb) / .18), rgb(var(--last-move-rgb) / .18));box-shadow:inset 0 0 0 2px rgb(var(--last-move-rgb) / .7)}.premove{--sq-premove-wash:linear-gradient(rgb(var(--premove-rgb) / .2), rgb(var(--premove-rgb) / .2));box-shadow:inset 0 0 0 2px rgb(var(--premove-rgb) / 1)}.premove.light{--sq-premove-wash:linear-gradient(rgb(var(--premove-rgb) / .25), rgb(var(--premove-rgb) / .25))}.selected{border-color:var(--selection);box-shadow:inset 0 0 16px rgb(var(--selection-rgb) / .2), 0 0 8px rgb(var(--selection-rgb) / .15)}.square.selected.last-move{box-shadow:inset 0 0 16px rgb(var(--selection-rgb) / .2), 0 0 8px rgb(var(--selection-rgb) / .15)}.legal-target{border-color:var(--legal-target)}.legal-target:before{content:"";background:var(--legal-target);opacity:.45;border-radius:50%;width:28%;height:28%;position:absolute;box-shadow:0 0 8px #22c55e4d}.split-first-target{border-color:var(--split-first);box-shadow:inset 0 0 12px rgb(var(--split-first-rgb) / .25)}.split-second-target{border-color:var(--split-second);box-shadow:inset 0 0 12px rgb(var(--split-second-rgb) / .25)}.merge-source-a{border-color:var(--merge-source-a);box-shadow:inset 0 0 12px rgb(var(--merge-source-a-rgb) / .25)}.merge-source-b{border-color:var(--merge-source-b);box-shadow:inset 0 0 12px rgb(var(--merge-source-b-rgb) / .25);border-style:dashed}.merge-target{border-color:var(--merge-target);box-shadow:inset 0 0 10px rgb(var(--merge-target-rgb) / .2)}.overlay-phase{--sq-phase:linear-gradient(135deg, rgb(var(--accent-rgb) / .15), transparent 55%)}.entanglement-ring{pointer-events:none;z-index:3;width:calc(100% + 20px);height:calc(100% + 20px);position:absolute;inset:-10px;overflow:visible}.entanglement-web-overlay{pointer-events:none;z-index:4;width:100%;height:100%;position:absolute;inset:0;overflow:visible}.exact-probability-badge{font-family:var(--font-mono);pointer-events:none;z-index:5;white-space:nowrap;color:#fffffff2;opacity:0;background:#000000a6;border-radius:3px;padding:1px 4px;font-size:9px;font-weight:700;line-height:1;transition:opacity .15s;position:absolute;bottom:1px;left:50%;transform:translate(-50%)}.square:hover .exact-probability-badge,.square:focus-visible .exact-probability-badge{opacity:1}@media (pointer:coarse){.exact-probability-badge{opacity:1}}.phase-indicator{pointer-events:none;z-index:3;transform:rotate(var(--phase-deg,0deg));position:absolute;inset:0}.phase-tick{filter:drop-shadow(0 0 3px #78b4ff99);background:#dcff64e6;width:7px;height:7px;position:absolute;top:2px;left:50%;transform:translate(-50%)rotate(45deg);box-shadow:0 0 4px #dcff6499,0 0 8px #dcff644d}.sandbox-menu-divider{background:#ffffff14;height:1px;margin:4px 8px}.sandbox-menu-section-label{text-transform:uppercase;letter-spacing:.05em;color:#ffffff59;-webkit-user-select:none;user-select:none;padding:4px 12px 2px;font-size:10px;font-weight:600}.sandbox-menu-item.active,.sandbox-menu-item.active i{color:#60a5fa}.sq-label{font-family:var(--font-mono);-webkit-user-select:none;user-select:none;pointer-events:none;z-index:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:10px;font-weight:600;line-height:1;position:absolute}.sq-label-rank{top:-1px;left:0}.sq-label-file{bottom:-1px;right:0}.light .sq-label{color:var(--text-secondary);text-shadow:none}.dark .sq-label{color:rgb(var(--text-secondary-rgb) / .78);text-shadow:none}.piece-token{z-index:2;background:#ffffff0f;border-radius:999px;justify-content:center;align-items:center;width:78%;height:78%;display:inline-flex;position:relative;box-shadow:inset 0 0 0 1px #ffffff1a,0 2px 6px #00000080}.piece-ring-wrap{z-index:2;justify-content:center;align-items:center;width:78%;height:78%;display:inline-flex;position:relative}.ring-gauge{pointer-events:none;z-index:2;width:calc(100% + 4px);height:calc(100% + 4px);transition:opacity .35s;position:absolute;inset:-2px;overflow:visible}.piece-ring-wrap,.piece-token{transition:--ring-fill .35s,opacity .35s}.ring-gauge circle.ring-glow{fill:none;stroke:var(--ring-color,var(--quantum-ring));stroke-width:12px;stroke-linecap:round;transform-origin:50%;opacity:calc(var(--ring-opacity,.75) * .4);filter:blur(3px);transition:stroke-dasharray .35s,stroke-dashoffset .35s;animation:2.5s ease-in-out infinite ring-pulse;transform:rotate(-90deg)}.ring-gauge circle.ring-main{fill:none;stroke:var(--ring-color,var(--quantum-ring));stroke-width:7px;stroke-linecap:round;transform-origin:50%;opacity:var(--ring-opacity,.75);transition:stroke-dasharray .35s,stroke-dashoffset .35s;animation:2.5s ease-in-out infinite ring-pulse;transform:rotate(-90deg)}.ring-gauge circle.ring-core{fill:none;stroke:#fff;stroke-width:2px;stroke-linecap:round;transform-origin:50%;opacity:calc(var(--ring-opacity,.75) * .6);transition:stroke-dasharray .35s,stroke-dashoffset .35s;animation:2.5s ease-in-out infinite ring-pulse;transform:rotate(-90deg)}.measurement-anim-overlay{pointer-events:none;z-index:20;position:absolute;inset:0}.measurement-anim-eye,.measurement-anim-result{pointer-events:none;background:#000000b3;border-radius:50%;justify-content:center;align-items:center;display:flex;position:absolute;transform:translate(-50%,-50%)}.measurement-anim-eye svg{filter:drop-shadow(0 0 8px #38e9e9cc)drop-shadow(0 0 16px #38e9e966);width:85%;height:85%}.measurement-anim-eye{animation:.6s ease-in-out meas-eye-pulse}@keyframes meas-eye-pulse{0%{opacity:0;transform:translate(-50%,-50%)scale(.6)}30%{opacity:1;transform:translate(-50%,-50%)scale(1.05)}to{opacity:1;transform:translate(-50%,-50%)scale(1)}}.measurement-anim-result{animation:.3s meas-result-pop}.measurement-anim-result svg{filter:drop-shadow(0 0 4px);width:55%;height:55%}@keyframes meas-result-pop{0%{opacity:0;transform:translate(-50%,-50%)scale(.4)}60%{transform:translate(-50%,-50%)scale(1.15)}to{opacity:1;transform:translate(-50%,-50%)scale(1)}}.move-arrow-overlay{pointer-events:none;z-index:18;width:100%;height:100%;position:absolute;inset:0;overflow:visible}.move-arrow-group{opacity:0;animation:arrowFadeIn var(--arrow-dur,.4s) ease-out var(--arrow-delay,0s) forwards}.move-arrow-line{stroke:var(--accent)}.move-arrow-head{fill:var(--accent)}.move-arrow-fade-out .move-arrow-group{animation:.4s ease-out forwards arrowFadeOut}@keyframes arrowFadeIn{0%{opacity:0}30%{opacity:1}to{opacity:1}}@keyframes arrowFadeOut{0%{opacity:1}to{opacity:0}}.move-ghost-overlay{pointer-events:none;z-index:18;position:absolute;inset:0}.move-ghost-piece{pointer-events:none;filter:drop-shadow(0 0 8px #22d3ee99);justify-content:center;align-items:center;width:12.5%;height:12.5%;display:flex;position:absolute;transform:translate(-50%,-50%)}.move-ghost-piece .piece-svg{width:60%;height:60%}.move-ghost-piece.piece-white .piece-svg{fill:#ffffffd9}.move-ghost-piece.piece-black .piece-svg{fill:#ff8c00d9}.move-ghost-fade-out .move-ghost-piece{animation:.3s ease-out forwards ghostFadeOut!important}@keyframes ghostSlide{0%{left:var(--ghost-from-x);top:var(--ghost-from-y);opacity:0}15%{opacity:var(--ghost-opacity,.5)}85%{opacity:var(--ghost-opacity,.5)}to{left:var(--ghost-to-x);top:var(--ghost-to-y);opacity:var(--ghost-opacity,.5)}}@keyframes ghostFadeOut{0%{opacity:var(--ghost-opacity,.5)}to{opacity:0}}.board.overlays-active .ring-gauge circle.ring-glow{opacity:.15;animation:none}.board.overlays-active .ring-gauge circle.ring-main{opacity:.35;animation:none}.board.overlays-active .ring-gauge circle.ring-core{opacity:.2;animation:none}.board.move-info-flash .entanglement-ring,.board.move-info-flash .phase-indicator,.board.move-info-flash .probability-badge,.board.move-info-flash .entanglement-web-overlay{opacity:1;transition:none}.board.move-info-flash-out .entanglement-ring,.board.move-info-flash-out .phase-indicator,.board.move-info-flash-out .probability-badge,.board.move-info-flash-out .entanglement-web-overlay{animation:.5s ease-out forwards moveInfoFadeOut}@keyframes moveInfoFadeOut{0%{opacity:1}to{opacity:0}}.piece-symbol{justify-content:center;align-items:center;font-size:min(4.2vw,42px);line-height:1;display:flex}.piece-svg{fill:currentColor;width:1em;height:1em;display:block}.piece-symbol.piece-white{color:var(--piece-white);filter:drop-shadow(0 1px #0000004d)drop-shadow(0 2px 4px #000000b3)}.piece-symbol.piece-black{color:var(--piece-black);filter:drop-shadow(0 -1px #ffffff80)drop-shadow(0 1px #000000b3)drop-shadow(0 0 4px #fff3)}.piece-token:has(.piece-white){background:radial-gradient(circle at 40% 32%,#ffffff2e,#a0b4d20f);box-shadow:inset 0 0 0 1.5px #ffffff26,0 2px 6px #00000080}.piece-token:has(.piece-black){background:radial-gradient(circle at 40% 32%,#aa9bbe99,#7864918c);box-shadow:inset 0 0 0 1.5px #ffffff2e,0 2px 6px #0009}.piece-token .piece-symbol.piece-white{color:var(--piece-white);filter:drop-shadow(0 1px 2px #0009)}.piece-token .piece-symbol.piece-black{color:var(--piece-black);filter:drop-shadow(0 -1px #ffffff80)drop-shadow(0 1px #000000b3)drop-shadow(0 0 4px #fff3)}.board-cursor{--bc-size:30px;--bc-stroke:1.5px;--bc-dot:3px;--bc-color:#ffffffd9;--bc-dot-color:var(--bc-color);pointer-events:none;width:0;height:0;z-index:var(--z-drag-ghost);opacity:0;will-change:transform;transition:opacity .12s;position:fixed;top:0;left:0}.board-cursor.is-visible{opacity:1}.board-cursor__ring,.board-cursor__dot{box-sizing:border-box;border-radius:50%;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.board-cursor__ring{width:var(--bc-size);height:var(--bc-size);border:var(--bc-stroke) solid var(--bc-color);transition:width .14s cubic-bezier(.2,.8,.2,1),height .14s cubic-bezier(.2,.8,.2,1),border-width .14s,border-color .14s,box-shadow .14s;box-shadow:0 0 0 1px #00000059,inset 0 0 0 1px #00000059}.board-cursor__dot{width:var(--bc-dot);height:var(--bc-dot);background:var(--bc-dot-color);transition:width .14s cubic-bezier(.2,.8,.2,1),height .14s cubic-bezier(.2,.8,.2,1),background-color .14s;box-shadow:0 0 0 1px #00000059}.board-cursor[data-state=held]{--bc-size:18px;--bc-stroke:2.5px;--bc-dot:6px;--bc-dot-color:var(--accent)}.board-cursor[data-state=held] .board-cursor__ring{box-shadow:0 0 0 1px #00000059, inset 0 0 0 1px #00000059, 0 0 12px rgb(var(--bc-glow-rgb,255 255 255) / .45)}.board-cursor[data-gesture=split]{--bc-color:var(--accent);--bc-dot-color:var(--accent);--bc-glow-rgb:var(--accent-rgb)}.board-cursor[data-gesture=merge]{--bc-color:var(--accent-alt);--bc-dot-color:var(--accent-alt);--bc-glow-rgb:var(--accent-alt-rgb)}.board-cursor[data-gesture=drag]{--bc-color:var(--accent-gold);--bc-dot-color:var(--accent-gold);--bc-glow-rgb:var(--accent-gold-rgb)}.board-cursor:after{content:"";border:2px solid var(--accent);opacity:0;pointer-events:none;border-radius:50%;width:18px;height:18px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)scale(1)}.board-cursor.is-releasing:after{animation:.22s ease-out forwards board-cursor-release}@keyframes board-cursor-release{0%{opacity:.8;transform:translate(-50%,-50%)scale(1)}to{opacity:0;transform:translate(-50%,-50%)scale(2.4)}}html[data-board-cursor] .board,html[data-board-cursor] .board .square,html[data-board-cursor] .board .square *,html[data-board-cursor] .board-cursor-zone,html[data-board-cursor] .board-cursor-zone *{cursor:none}html[data-board-cursor=held],html[data-board-cursor=held] *{cursor:none!important}html[data-input=gamepad] .board-cursor{opacity:0}.board-cursor--ghost{top:var(--ghost-y0);left:var(--ghost-x0);z-index:auto;opacity:0;will-change:opacity, left, top;transition:none;position:absolute}.board-cursor--ghost:before{content:"";background:radial-gradient(circle, rgb(var(--accent-rgb) / .4) 0%, rgb(var(--accent-rgb) / .12) 45%, rgb(var(--accent-rgb) / 0) 70%);border-radius:50%;width:72px;height:72px;animation:1.6s ease-in-out infinite bc-ghost-halo;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}@keyframes bc-ghost-halo{0%,to{opacity:.8;transform:translate(-50%,-50%)scale(.85)}50%{opacity:1;transform:translate(-50%,-50%)scale(1.1)}}.board-cursor--ghost .board-cursor__ring{box-shadow:0 0 0 2px #0000008c, inset 0 0 0 1px #00000073, 0 0 18px 4px rgb(var(--accent-rgb) / .6);transition:none}.board-cursor--ghost .board-cursor__dot{transition:none;box-shadow:0 0 0 1px #00000080}.board-cursor--ghost:after{width:27px;height:27px}.board-cursor--ghost[data-hint=tap]{animation:2.4s ease-in-out infinite bc-ghost-tap}.board-cursor--ghost[data-hint=tap] .board-cursor__ring{animation:2.4s cubic-bezier(.2,.8,.2,1) infinite bc-ghost-tap-ring}.board-cursor--ghost[data-hint=tap] .board-cursor__dot{animation:2.4s cubic-bezier(.2,.8,.2,1) infinite bc-ghost-tap-dot}.board-cursor--ghost[data-hint=tap]:after{animation:2.4s ease-out infinite bc-ghost-tap-flare}@keyframes bc-ghost-tap{0%{opacity:0}8%{opacity:1}88%{opacity:1}to{opacity:0}}@keyframes bc-ghost-tap-ring{0%,38%{border-width:2px;border-color:#ffffffd9;width:45px;height:45px}44%,58%{border-width:3.5px;border-color:#ffffffd9;width:27px;height:27px}64%,to{border-width:2px;border-color:#ffffffd9;width:45px;height:45px}}@keyframes bc-ghost-tap-dot{0%,38%{background-color:#ffffffd9;width:5px;height:5px}44%,58%{background-color:var(--accent);width:9px;height:9px}64%,to{background-color:#ffffffd9;width:5px;height:5px}}@keyframes bc-ghost-tap-flare{0%,60%{opacity:0;transform:translate(-50%,-50%)scale(1)}62%{opacity:.8;transform:translate(-50%,-50%)scale(1)}74%,to{opacity:0;transform:translate(-50%,-50%)scale(2.4)}}.board-cursor--ghost[data-hint=drag]{animation:3.2s ease-in-out infinite bc-ghost-drag}.board-cursor--ghost[data-hint=drag] .board-cursor__ring{animation:3.2s cubic-bezier(.2,.8,.2,1) infinite bc-ghost-drag-ring}.board-cursor--ghost[data-hint=drag] .board-cursor__dot{animation:3.2s cubic-bezier(.2,.8,.2,1) infinite bc-ghost-drag-dot}.board-cursor--ghost[data-hint=drag]:after{animation:3.2s ease-out infinite bc-ghost-drag-flare}@keyframes bc-ghost-drag{0%{opacity:0;left:var(--ghost-x0);top:var(--ghost-y0)}6%{opacity:1;left:var(--ghost-x0);top:var(--ghost-y0)}32%{opacity:1;left:var(--ghost-x0);top:var(--ghost-y0)}62%,88%{opacity:1;left:var(--ghost-x1);top:var(--ghost-y1)}96%,to{opacity:0;left:var(--ghost-x1);top:var(--ghost-y1)}}@keyframes bc-ghost-drag-ring{0%,20%{border-width:2px;border-color:#ffffffd9;width:45px;height:45px}26%,68%{border-width:3.5px;border-color:var(--accent);width:27px;height:27px}74%,to{border-width:2px;border-color:#ffffffd9;width:45px;height:45px}}@keyframes bc-ghost-drag-dot{0%,20%{background-color:#ffffffd9;width:5px;height:5px}26%,68%{background-color:var(--accent);width:9px;height:9px}74%,to{background-color:#ffffffd9;width:5px;height:5px}}@keyframes bc-ghost-drag-flare{0%,70%{opacity:0;transform:translate(-50%,-50%)scale(1)}72%{opacity:.8;transform:translate(-50%,-50%)scale(1)}84%,to{opacity:0;transform:translate(-50%,-50%)scale(2.4)}}@media (prefers-reduced-motion:reduce){html:not([data-reduce-motion=off]) .board-cursor--ghost{opacity:1;animation:none!important}html:not([data-reduce-motion=off]) .board-cursor--ghost .board-cursor__ring{border-width:3.5px;width:27px;height:27px;animation:none!important}html:not([data-reduce-motion=off]) .board-cursor--ghost .board-cursor__dot{background-color:var(--accent);width:9px;height:9px;animation:none!important}html:not([data-reduce-motion=off]) .board-cursor--ghost:after{opacity:0;animation:none!important}html:not([data-reduce-motion=off]) .board-cursor--ghost:before{animation:none!important}}html[data-reduce-motion=on] .board-cursor--ghost,.itour[data-motion=reduced] .board-cursor--ghost{opacity:1;animation:none!important}html[data-reduce-motion=on] .board-cursor--ghost .board-cursor__ring,.itour[data-motion=reduced] .board-cursor--ghost .board-cursor__ring{border-width:3.5px;width:27px;height:27px;animation:none!important}html[data-reduce-motion=on] .board-cursor--ghost .board-cursor__dot,.itour[data-motion=reduced] .board-cursor--ghost .board-cursor__dot{background-color:var(--accent);width:9px;height:9px;animation:none!important}html[data-reduce-motion=on] .board-cursor--ghost:after,.itour[data-motion=reduced] .board-cursor--ghost:after{opacity:0;animation:none!important}html[data-reduce-motion=on] .board-cursor--ghost:before,.itour[data-motion=reduced] .board-cursor--ghost:before{animation:none!important}.board-container.board-3d{--b3d-fit:min(calc(100vh - var(--board-chrome-h) - var(--board-reserved-h,0px)), calc(100vw - var(--board-chrome-w)));--b3d-height:min(var(--b3d-fit), 640px);width:min(calc(var(--b3d-height) * 4 / 3), calc(100vw - var(--board-chrome-w)));height:var(--b3d-height);touch-action:none;-webkit-user-select:none;user-select:none;box-shadow:0 16px 48px #0009, 0 0 0 1px rgb(var(--accent-rgb) / .06);border-radius:10px;place-self:center;margin:auto;display:block;position:relative;overflow:hidden}.board-container.board-3d.board3d-orbiting{cursor:grabbing}.board3d-canvas{pointer-events:none;width:100%;height:100%;display:block;position:absolute;inset:0}.board3d-hit-layer{pointer-events:none;position:absolute;inset:0}.board-container.board-3d .board{width:800px;max-width:none;height:800px;max-height:none;box-shadow:none;transform-style:preserve-3d;background:0 0;border-radius:0;gap:0;overflow:visible}.board-container.board-3d .square{pointer-events:auto;box-shadow:none;transform-style:preserve-3d;--sq-phase:none;--sq-premove-wash:none;--sq-lastmove-wash:none;background:0 0;border:none;border-radius:0;transition:none;overflow:visible}.board-container.board-3d .square:before,.board-container.board-3d .square:after{content:none;display:none}.board-container.board-3d .square:focus-visible{outline:9px solid var(--selection);outline-offset:-9px;z-index:1}.board-container.board-3d .piece-hit{height:var(--hit-h,60px);transform-origin:50% 100%;transform:rotateZ(var(--piece-yaw,0deg)) rotateX(-90deg);pointer-events:auto;background:0 0;position:absolute;bottom:50%;left:0;right:0}.board3d-labels{pointer-events:none;position:absolute;inset:0;overflow:hidden}.board3d-prob-badge{font-family:var(--font-mono);white-space:nowrap;color:var(--text-primary);background:rgb(var(--bg-primary-rgb) / .72);box-shadow:0 0 0 1px rgb(var(--quantum-ring-rgb) / .35);will-change:transform;border-radius:4px;padding:1px 5px;font-size:10px;font-weight:600;line-height:1.4;position:absolute;top:0;left:0}.board3d-cam-bar{z-index:2;gap:6px;display:flex;position:absolute;bottom:8px;right:8px}.board-container.board-3d .board3d-cam-btn{pointer-events:auto;opacity:.55;transition:opacity .15s}.board-container.board-3d .board3d-cam-btn:hover,.board-container.board-3d .board3d-cam-btn:focus-visible,.board-container.board-3d .board3d-cam-btn[aria-pressed=true]{opacity:1}@media (prefers-reduced-motion:reduce){html:not([data-reduce-motion=off]) .board-container.board-3d .board3d-cam-btn{transition:none}}html[data-reduce-motion=on] .board-container.board-3d .board3d-cam-btn{transition:none}@media (width<=768px){.board-container.board-3d{--board-chrome-h:220px;--board-chrome-w:16px;--b3d-height:var(--b3d-fit)}.gameplay-screen:not([data-mode=sandbox]) .board-container.board-3d{--board-chrome-h:286px}[data-mode=sandbox] .board-container.board-3d{--board-chrome-h:300px}[data-mode=sandbox][data-phase=playing] .board-container.board-3d{--board-chrome-h:320px}}@media (width<=480px){[data-mode=sandbox] .board-container.board-3d{--board-chrome-h:310px;--board-chrome-w:12px}[data-mode=sandbox][data-phase=playing] .board-container.board-3d{--board-chrome-h:330px}}.player-banner{background:rgb(var(--bg-secondary-rgb) / .5);border:1px solid var(--border);border-radius:3px;justify-content:space-between;align-items:center;gap:12px;width:100%;padding:8px 16px;transition:all .25s;display:flex}.player-banner.active{border-color:rgb(var(--accent-rgb) / .5);box-shadow:0 0 24px rgb(var(--accent-rgb) / .15);background:rgb(var(--accent-rgb) / .08)}.player-info{align-items:center;gap:8px;display:flex}.player-color-dot{border-radius:50%;width:10px;height:10px}.player-color-dot.white{background:var(--piece-white);box-shadow:0 0 6px rgb(var(--piece-white-rgb) / .3)}.player-color-dot.black{background:var(--piece-black);border:1px solid var(--text-muted)}.player-name{font-family:var(--font-heading);font-size:14px;font-weight:600}.player-elo{color:var(--text-muted);font-size:12px;font-family:var(--font-mono)}.player-timer{font-family:var(--font-heading);color:var(--text-primary);background:var(--bg-primary);border:1px solid var(--border);text-align:center;letter-spacing:.08em;border-radius:3px;min-width:74px;padding:4px 12px;font-size:17px;font-weight:600}.qc-badge{vertical-align:-.2em;flex:none;display:inline-block}.qc-badge[data-badge-id]{cursor:pointer}.badge-tile .qc-badge[data-badge-id]{cursor:inherit}.badge-viewer{text-align:center;flex-direction:column;align-items:center;max-width:min(92vw,380px);padding:28px 32px 24px;display:flex;position:relative}.badge-viewer .badge-viewer-close{margin:0;position:absolute;top:10px;right:10px}.badge-viewer-art .qc-badge{aspect-ratio:1;cursor:default;width:min(64vw,260px);height:auto}.badge-viewer-name{margin:14px 0 2px;font-size:22px}.badge-viewer-earn{color:var(--text-secondary);margin:0;font-size:14px}.badge-viewer-eyebrow{text-transform:uppercase;letter-spacing:.14em;color:var(--accent-gold,#ffd166);margin-bottom:10px;font-size:12px}.badge-viewer-extra{color:var(--text-muted);margin:4px 0 0;font-size:12px}.badge-viewer-footer-line{color:var(--text-secondary);max-width:300px;margin:16px 0 0;font-size:13px}.badge-viewer-actions{gap:10px;margin-top:14px;display:flex}.qc-badge .qc-badge-orbit{transform-box:view-box;transform-origin:50%;animation:60s linear infinite qc-badge-orbit}.qc-badge .qc-badge-sat{transform-box:view-box;animation:60s linear infinite qc-badge-orbit-rev}@keyframes qc-badge-orbit{to{transform:rotate(360deg)}}@keyframes qc-badge-orbit-rev{to{transform:rotate(-360deg)}}.qc-badge .qc-badge-pulse{animation:2.6s ease-in-out infinite qc-badge-ember}.qc-badge .qc-badge-bit{animation:3.2s linear infinite qc-badge-bit}.qc-badge .qc-badge-bridge{animation:5.5s linear infinite qc-badge-bridge}@keyframes qc-badge-bridge{0%{opacity:0;transform:translate(-292px)}8%{opacity:1}32%{opacity:1}40%,48%{opacity:.3}56%{opacity:1}80%{transform:translate(0)}92%{opacity:1}to{opacity:0}}@keyframes qc-badge-bit{0%,46%{opacity:1}50%,96%{opacity:0}to{opacity:1}}@keyframes qc-badge-ember{0%,to{opacity:1}50%{opacity:.55}}.qc-badge .qc-badge-bloch-orbit{animation:7s linear infinite qc-badge-bloch-orbit}.qc-badge .qc-badge-bloch-spin{animation:8s linear infinite qc-badge-bloch-spin}@keyframes qc-badge-bloch-spin{0%{transform:translate(256px,268px)rotate(25deg)translate(-256px,-268px)}to{transform:translate(256px,268px)rotate(-335deg)translate(-256px,-268px)}}@keyframes qc-badge-bloch-orbit{0%{opacity:1;transform:translate(256px,268px)rotate(-106.47deg)scaleY(.7988)translate(-256px,-268px)}4.17%{opacity:1;transform:translate(256px,268px)rotate(-99.33deg)scaleY(.9185)translate(-256px,-268px)}8.33%{opacity:1;transform:translate(256px,268px)rotate(-93.55deg)scaleY(.9867)translate(-256px,-268px)}12.5%{opacity:.96;transform:translate(256px,268px)rotate(-88.23deg)scaleY(.9967)translate(-256px,-268px)}16.67%{opacity:.83;transform:translate(256px,268px)rotate(-82.69deg)scaleY(.9474)translate(-256px,-268px)}20.83%{opacity:.71;transform:translate(256px,268px)rotate(-76.14deg)scaleY(.8437)translate(-256px,-268px)}25%{opacity:.62;transform:translate(256px,268px)rotate(-67.23deg)scaleY(.6971)translate(-256px,-268px)}29.17%{opacity:.55;transform:translate(256px,268px)rotate(-52.93deg)scaleY(.5297)translate(-256px,-268px)}33.33%{opacity:.51;transform:translate(256px,268px)rotate(-26.59deg)scaleY(.388)translate(-256px,-268px)}37.5%{opacity:.5;transform:translate(256px,268px)rotate(13.95deg)scaleY(.3616)translate(-256px,-268px)}41.67%{opacity:.53;transform:translate(256px,268px)rotate(45.94deg)scaleY(.476)translate(-256px,-268px)}45.83%{opacity:.59;transform:translate(256px,268px)rotate(63.29deg)scaleY(.6421)translate(-256px,-268px)}50%{opacity:.68;transform:translate(256px,268px)rotate(73.53deg)scaleY(.7988)translate(-256px,-268px)}54.17%{opacity:.79;transform:translate(256px,268px)rotate(80.67deg)scaleY(.9185)translate(-256px,-268px)}58.33%{opacity:.91;transform:translate(256px,268px)rotate(86.45deg)scaleY(.9867)translate(-256px,-268px)}62.5%{opacity:1;transform:translate(256px,268px)rotate(91.77deg)scaleY(.9967)translate(-256px,-268px)}66.67%{opacity:1;transform:translate(256px,268px)rotate(97.31deg)scaleY(.9474)translate(-256px,-268px)}70.83%{opacity:1;transform:translate(256px,268px)rotate(103.86deg)scaleY(.8437)translate(-256px,-268px)}75%{opacity:1;transform:translate(256px,268px)rotate(112.77deg)scaleY(.6971)translate(-256px,-268px)}79.17%{opacity:1;transform:translate(256px,268px)rotate(127.07deg)scaleY(.5297)translate(-256px,-268px)}83.33%{opacity:1;transform:translate(256px,268px)rotate(153.41deg)scaleY(.388)translate(-256px,-268px)}87.5%{opacity:1;transform:translate(256px,268px)rotate(193.95deg)scaleY(.3616)translate(-256px,-268px)}91.67%{opacity:1;transform:translate(256px,268px)rotate(225.94deg)scaleY(.476)translate(-256px,-268px)}95.83%{opacity:1;transform:translate(256px,268px)rotate(243.29deg)scaleY(.6421)translate(-256px,-268px)}to{opacity:1;transform:translate(256px,268px)rotate(253.53deg)scaleY(.7988)translate(-256px,-268px)}}.qc-badge .qc-badge-dissolve rect{transform-box:fill-box;transform-origin:50%;animation:4s linear infinite qc-badge-dissolve}.qc-badge .qc-badge-flicker>*{animation:3.4s linear infinite qc-badge-flicker}.qc-badge .qc-badge-blink>*{animation:3.8s linear infinite qc-badge-blink}.qc-badge .qc-badge-tunnel{animation:4.4s linear infinite qc-badge-tunnel}.qc-badge .qc-badge-stutter{animation:3.4s linear infinite qc-badge-stutter}.qc-badge .qc-badge-shake{animation:3.2s linear infinite qc-badge-shake}@keyframes qc-badge-stutter{0%,18%{opacity:1}20%{opacity:.12}22%{opacity:1}25%{opacity:.25}27%{opacity:1}50%{opacity:1}52%,60%{opacity:0}62%{opacity:1}80%{opacity:1}82%{opacity:.3}84%,to{opacity:1}}@keyframes qc-badge-shake{0%,52%{transform:translate(215px,292px)rotate(-10deg)translate(-215px,-292px)}54.5%{transform:translate(2px,-2px)translate(215px,292px)rotate(-3deg)translate(-215px,-292px)}57%{transform:translate(-3px,1px)translate(215px,292px)rotate(-17deg)translate(-215px,-292px)}59.5%{transform:translate(3px,2px)translate(215px,292px)rotate(-2deg)translate(-215px,-292px)}62%{transform:translate(-2px,-2px)translate(215px,292px)rotate(-18deg)translate(-215px,-292px)}64.5%{transform:translate(2px,1px)translate(215px,292px)rotate(-4deg)translate(-215px,-292px)}67%{transform:translate(-3px,2px)translate(215px,292px)rotate(-16deg)translate(-215px,-292px)}69.5%{transform:translate(3px,-1px)translate(215px,292px)rotate(-5deg)translate(-215px,-292px)}72%{transform:translate(-2px,1px)translate(215px,292px)rotate(-15deg)translate(-215px,-292px)}74.5%{transform:translate(1px,2px)translate(215px,292px)rotate(-7deg)translate(-215px,-292px)}77%{transform:translate(-1px,-1px)translate(215px,292px)rotate(-12.5deg)translate(-215px,-292px)}79.5%,to{transform:translate(215px,292px)rotate(-10deg)translate(-215px,-292px)}}.qc-badge .qc-badge-wave{animation:6s linear infinite qc-badge-wave}.qc-badge .qc-badge-drift{animation:5s linear infinite qc-badge-drift}@keyframes qc-badge-drift{0%{opacity:0;transform:translateY(0)}18%{opacity:var(--qc-po,.5)}72%{opacity:var(--qc-po,.5)}to{transform:translateY(var(--qc-dy,-120px));opacity:0}}@keyframes qc-badge-wave{to{transform:translateX(var(--qc-wdx,-120px))}}@keyframes qc-badge-tunnel{0%{opacity:0;transform:translate(-240px)}8%{opacity:1}30%{opacity:1}35%{opacity:.3}43%{opacity:.3}49%{opacity:1}74%{transform:translate(0)}92%{opacity:1}to{opacity:0}}@keyframes qc-badge-dissolve{0%{opacity:0;transform:translate(0)scale(1)}12%,55%{opacity:var(--qc-po,.8)}to{transform:translate(var(--qc-dx,12px), var(--qc-dy,-12px)) scale(var(--qc-sc,1));opacity:0}}@keyframes qc-badge-flicker{0%,79%,91%,to{opacity:1}80%,90%{opacity:0}}@keyframes qc-badge-blink{0%,79%,91%,to{opacity:0}80%,90%{opacity:1}}.qc-badge .qc-badge-t-spin,.qc-badge .qc-badge-t-spin-slow,.qc-badge .qc-badge-t-spin-fast,.qc-badge .qc-badge-t-spin-rev,.qc-badge .qc-badge-t-bit,.qc-badge .qc-badge-t-wobble,.qc-badge .qc-badge-t-pulse-seq,.qc-badge .qc-badge-t-beam-l,.qc-badge .qc-badge-t-beam-r,.qc-badge .qc-badge-t-burst,.qc-badge .qc-badge-t-shock,.qc-badge .qc-badge-t-rush,.qc-badge .qc-badge-t-bloom,.qc-badge .qc-badge-t-core,.qc-badge .qc-badge-t-leap-a,.qc-badge .qc-badge-t-leap-b,.qc-badge .qc-badge-t-flip,.qc-badge .qc-badge-t-flip-rev,.qc-badge .qc-badge-t-leak,.qc-badge .qc-badge-t-blink,.qc-badge .qc-badge-t-converge{transform-box:view-box;transform-origin:256px 256px}.qc-badge .qc-badge-t-rays{transform-box:view-box;transform-origin:256px 90px}.qc-badge .qc-badge-t-spin{animation:10s linear infinite qc-badge-t-rot}.qc-badge .qc-badge-t-spin-slow{animation:18s linear infinite qc-badge-t-rot}.qc-badge .qc-badge-t-spin-fast{animation:3.2s linear infinite qc-badge-t-rot}.qc-badge .qc-badge-t-spin-rev{animation:14s linear infinite reverse qc-badge-t-rot}@keyframes qc-badge-t-rot{to{transform:rotate(360deg)}}.qc-badge .qc-badge-t-bit{animation:2.2s ease-in-out infinite qc-badge-t-bit}@keyframes qc-badge-t-bit{0%,to{opacity:.25}50%{opacity:1}}.qc-badge .qc-badge-t-wobble{animation:1.4s ease-in-out infinite qc-badge-t-wobble}@keyframes qc-badge-t-wobble{0%,to{transform:translate(-8px,-4px)}50%{transform:translate(8px,4px)}}.qc-badge .qc-badge-t-pulse-seq{animation:1.8s ease-in-out infinite qc-badge-t-pulse-seq}@keyframes qc-badge-t-pulse-seq{0%,to{opacity:.55}30%{opacity:1}}.qc-badge .qc-badge-t-beam-l{animation:2.4s ease-in infinite qc-badge-t-beam-l}.qc-badge .qc-badge-t-beam-r{animation:2.4s ease-in infinite qc-badge-t-beam-r}@keyframes qc-badge-t-beam-l{0%{opacity:1;transform:translate(0)}45%{opacity:1;transform:translate(160px)}50%,to{opacity:0;transform:translate(160px)}}@keyframes qc-badge-t-beam-r{0%{opacity:1;transform:translate(0)}45%{opacity:1;transform:translate(-160px)}50%,to{opacity:0;transform:translate(-160px)}}.qc-badge .qc-badge-t-burst{animation:2.4s ease-out infinite qc-badge-t-burst}@keyframes qc-badge-t-burst{0%,44%{opacity:0;transform:scale(0)}52%{opacity:1;transform:scale(1.1)}80%{opacity:0;transform:scale(1.3)}to{opacity:0;transform:scale(0)}}.qc-badge .qc-badge-t-shock{animation:2.4s ease-out infinite qc-badge-t-shock}@keyframes qc-badge-t-shock{0%,46%{opacity:0;transform:scale(.2)}50%{opacity:.9}90%,to{opacity:0;transform:scale(3.2)}}.qc-badge .qc-badge-t-rush{animation:3.6s ease-in infinite qc-badge-t-rush}@keyframes qc-badge-t-rush{0%,38%{opacity:1;transform:translate(0)}55%{transform:translate(var(--dx), var(--dy));opacity:1}58%,74%{transform:translate(var(--dx), var(--dy));opacity:0}75%{opacity:0;transform:translate(0)}to{opacity:1;transform:translate(0)}}.qc-badge .qc-badge-t-bloom{animation:3.6s ease-out infinite qc-badge-t-bloom}@keyframes qc-badge-t-bloom{0%,54%{opacity:0;transform:scale(0)}62%{opacity:1;transform:scale(1.15)}82%{opacity:0;transform:scale(1.35)}to{opacity:0;transform:scale(0)}}.qc-badge .qc-badge-t-core{animation:3.6s ease-in-out infinite qc-badge-t-core}@keyframes qc-badge-t-core{0%,50%{opacity:.5;transform:scale(.6)}62%{opacity:1;transform:scale(1.4)}to{opacity:.5;transform:scale(.6)}}.qc-badge .qc-badge-t-leap-a{animation:2.4s step-end infinite qc-badge-t-leap-a}.qc-badge .qc-badge-t-leap-b{animation:2.4s step-end infinite qc-badge-t-leap-b}@keyframes qc-badge-t-leap-a{0%,49%{opacity:1}50%,to{opacity:0}}@keyframes qc-badge-t-leap-b{0%,49%{opacity:0}50%,to{opacity:1}}.qc-badge .qc-badge-t-rays{animation:2.4s ease-out infinite qc-badge-t-rays}@keyframes qc-badge-t-rays{0%,49%{opacity:0;transform:scale(.4)}52%{opacity:1;transform:scale(1)}75%,to{opacity:0;transform:scale(1.4)}}.qc-badge .qc-badge-t-flip{animation:2.6s ease-in-out infinite qc-badge-t-flip}.qc-badge .qc-badge-t-flip-rev{animation:2.6s ease-in-out infinite reverse qc-badge-t-flip}@keyframes qc-badge-t-flip{0%,to{transform:scaleY(1)}50%{transform:scaleY(-1)}}.qc-badge .qc-badge-t-lid{animation:3s ease-in-out infinite qc-badge-t-lid}@keyframes qc-badge-t-lid{0%,to{transform:rotate(-22deg)}50%{transform:rotate(-34deg)}}.qc-badge .qc-badge-t-leak{animation:3s ease-in-out infinite qc-badge-t-leak}@keyframes qc-badge-t-leak{0%,to{opacity:.6}50%{opacity:1}}.qc-badge .qc-badge-t-blink{animation:4s step-end infinite qc-badge-t-blink}@keyframes qc-badge-t-blink{0%,88%{opacity:1}89%,93%{opacity:0}94%,to{opacity:1}}.qc-badge .qc-badge-t-converge{animation:3s ease-in-out infinite qc-badge-t-converge}@keyframes qc-badge-t-converge{0%,to{transform:scale(1.12)}50%{transform:scale(.86)}}@media (prefers-reduced-motion:reduce){html:not([data-reduce-motion=off]) .qc-badge .qc-badge-orbit,html:not([data-reduce-motion=off]) .qc-badge .qc-badge-sat,html:not([data-reduce-motion=off]) .qc-badge .qc-badge-pulse,html:not([data-reduce-motion=off]) .qc-badge .qc-badge-bit,html:not([data-reduce-motion=off]) .qc-badge .qc-badge-bridge,html:not([data-reduce-motion=off]) .qc-badge .qc-badge-dissolve rect,html:not([data-reduce-motion=off]) .qc-badge .qc-badge-flicker>*,html:not([data-reduce-motion=off]) .qc-badge .qc-badge-blink>*,html:not([data-reduce-motion=off]) .qc-badge .qc-badge-tunnel,html:not([data-reduce-motion=off]) .qc-badge .qc-badge-stutter,html:not([data-reduce-motion=off]) .qc-badge .qc-badge-shake,html:not([data-reduce-motion=off]) .qc-badge .qc-badge-wave,html:not([data-reduce-motion=off]) .qc-badge .qc-badge-drift,html:not([data-reduce-motion=off]) .qc-badge .qc-badge-bloch-orbit,html:not([data-reduce-motion=off]) .qc-badge .qc-badge-bloch-spin,html:not([data-reduce-motion=off]) .qc-badge .qc-badge-t-spin,html:not([data-reduce-motion=off]) .qc-badge .qc-badge-t-spin-slow,html:not([data-reduce-motion=off]) .qc-badge .qc-badge-t-spin-fast,html:not([data-reduce-motion=off]) .qc-badge .qc-badge-t-spin-rev,html:not([data-reduce-motion=off]) .qc-badge .qc-badge-t-bit,html:not([data-reduce-motion=off]) .qc-badge .qc-badge-t-wobble,html:not([data-reduce-motion=off]) .qc-badge .qc-badge-t-pulse-seq,html:not([data-reduce-motion=off]) .qc-badge .qc-badge-t-beam-l,html:not([data-reduce-motion=off]) .qc-badge .qc-badge-t-beam-r,html:not([data-reduce-motion=off]) .qc-badge .qc-badge-t-burst,html:not([data-reduce-motion=off]) .qc-badge .qc-badge-t-shock,html:not([data-reduce-motion=off]) .qc-badge .qc-badge-t-rush,html:not([data-reduce-motion=off]) .qc-badge .qc-badge-t-bloom,html:not([data-reduce-motion=off]) .qc-badge .qc-badge-t-core,html:not([data-reduce-motion=off]) .qc-badge .qc-badge-t-leap-a,html:not([data-reduce-motion=off]) .qc-badge .qc-badge-t-leap-b,html:not([data-reduce-motion=off]) .qc-badge .qc-badge-t-rays,html:not([data-reduce-motion=off]) .qc-badge .qc-badge-t-flip,html:not([data-reduce-motion=off]) .qc-badge .qc-badge-t-flip-rev,html:not([data-reduce-motion=off]) .qc-badge .qc-badge-t-lid,html:not([data-reduce-motion=off]) .qc-badge .qc-badge-t-leak,html:not([data-reduce-motion=off]) .qc-badge .qc-badge-t-blink,html:not([data-reduce-motion=off]) .qc-badge .qc-badge-t-converge{animation:none}}html[data-reduce-motion=on] .qc-badge .qc-badge-orbit,html[data-reduce-motion=on] .qc-badge .qc-badge-sat,html[data-reduce-motion=on] .qc-badge .qc-badge-pulse,html[data-reduce-motion=on] .qc-badge .qc-badge-bit,html[data-reduce-motion=on] .qc-badge .qc-badge-bridge,html[data-reduce-motion=on] .qc-badge .qc-badge-dissolve rect,html[data-reduce-motion=on] .qc-badge .qc-badge-flicker>*,html[data-reduce-motion=on] .qc-badge .qc-badge-blink>*,html[data-reduce-motion=on] .qc-badge .qc-badge-tunnel,html[data-reduce-motion=on] .qc-badge .qc-badge-stutter,html[data-reduce-motion=on] .qc-badge .qc-badge-shake,html[data-reduce-motion=on] .qc-badge .qc-badge-wave,html[data-reduce-motion=on] .qc-badge .qc-badge-drift,html[data-reduce-motion=on] .qc-badge .qc-badge-bloch-orbit,html[data-reduce-motion=on] .qc-badge .qc-badge-bloch-spin,html[data-reduce-motion=on] .qc-badge .qc-badge-t-spin,html[data-reduce-motion=on] .qc-badge .qc-badge-t-spin-slow,html[data-reduce-motion=on] .qc-badge .qc-badge-t-spin-fast,html[data-reduce-motion=on] .qc-badge .qc-badge-t-spin-rev,html[data-reduce-motion=on] .qc-badge .qc-badge-t-bit,html[data-reduce-motion=on] .qc-badge .qc-badge-t-wobble,html[data-reduce-motion=on] .qc-badge .qc-badge-t-pulse-seq,html[data-reduce-motion=on] .qc-badge .qc-badge-t-beam-l,html[data-reduce-motion=on] .qc-badge .qc-badge-t-beam-r,html[data-reduce-motion=on] .qc-badge .qc-badge-t-burst,html[data-reduce-motion=on] .qc-badge .qc-badge-t-shock,html[data-reduce-motion=on] .qc-badge .qc-badge-t-rush,html[data-reduce-motion=on] .qc-badge .qc-badge-t-bloom,html[data-reduce-motion=on] .qc-badge .qc-badge-t-core,html[data-reduce-motion=on] .qc-badge .qc-badge-t-leap-a,html[data-reduce-motion=on] .qc-badge .qc-badge-t-leap-b,html[data-reduce-motion=on] .qc-badge .qc-badge-t-rays,html[data-reduce-motion=on] .qc-badge .qc-badge-t-flip,html[data-reduce-motion=on] .qc-badge .qc-badge-t-flip-rev,html[data-reduce-motion=on] .qc-badge .qc-badge-t-lid,html[data-reduce-motion=on] .qc-badge .qc-badge-t-leak,html[data-reduce-motion=on] .qc-badge .qc-badge-t-blink,html[data-reduce-motion=on] .qc-badge .qc-badge-t-converge{animation:none}.player-info .qc-badge{margin-right:2px}.profile-badge-picker{border:1px solid var(--border-light);background:var(--bg-elevated);border-radius:10px;margin:16px 0;padding:14px 16px}.profile-badge-picker-title{margin:0 0 4px;font-size:14px}.profile-badge-picker-title .fa-medal{color:var(--accent-gold,#ffd166);margin-right:6px}.profile-badge-picker-desc{color:var(--text-muted);margin:2px 0 0;font-size:12px}.profile-badge-preview{border-top:1px dashed var(--border-light);margin-top:14px;padding-top:12px}.profile-badge-preview-label{text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);margin-bottom:10px;font-size:11px}.profile-badge-preview-grid{grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:12px 8px;display:grid}.profile-badge-preview-cell{text-align:center;flex-direction:column;align-items:center;gap:3px;display:flex}.profile-badge-preview-cell .qc-badge{width:56px;height:56px}.profile-badge-preview-name{font-size:12px}.profile-badge-preview-sub{color:var(--text-muted);font-size:11px}.badge-picker-modes{gap:6px;margin:12px 0 8px;display:flex}.badge-mode{padding:5px 12px;font-size:12px}.badge-picker-current{color:var(--text-secondary);margin:0;font-size:13px}.badge-picker-current strong{color:var(--text-primary);font-weight:600}.badge-tile-grid{grid-template-columns:repeat(auto-fill,minmax(52px,1fr));gap:6px;display:grid}.badge-tile{aspect-ratio:1;background:var(--bg-tertiary);border:1px solid var(--border,#333);cursor:pointer;border-radius:8px;justify-content:center;align-items:center;padding:0;transition:border-color .12s,background .12s;display:flex;position:relative}.badge-tile .qc-badge{width:38px;height:38px}.badge-tile:hover{border-color:var(--text-muted);background:var(--bg-elevated)}.badge-tile.active{border-color:var(--brand-accent,#7c6aef);box-shadow:0 0 0 1px var(--brand-accent,#7c6aef)}.badge-tile:focus-visible{outline:2px solid var(--brand-accent,#7c6aef);outline-offset:1px}.badge-tile.is-locked{opacity:.5}.badge-tile-lock{color:var(--text-muted);font-size:9px;position:absolute;bottom:3px;right:3px}.badge-tile--more{color:var(--text-secondary);font-size:13px;font-weight:600;font-family:var(--font-heading);letter-spacing:.02em}.badge-tile--more:hover{color:var(--text-primary)}.badge-viewer--case{text-align:left;align-items:stretch;max-width:min(92vw,560px)}.badge-case-title{margin:0 0 6px;font-size:18px}.badge-case-group{margin-top:10px}.badge-case-group-title{text-transform:uppercase;letter-spacing:.1em;color:var(--text-muted);margin:0 0 6px;font-size:11px}.alchemy-badge-progress{margin-top:10px}.alchemy-badge-progress-label{color:var(--text-secondary);justify-content:space-between;margin-bottom:4px;font-size:12px;display:flex}.alchemy-badge-progress-track{background:var(--bg-tertiary);border-radius:3px;height:6px;overflow:hidden}.alchemy-badge-progress-fill{background:var(--brand-gradient-wide,linear-gradient(135deg, #e8e4dc, #ffc450, #d6453f));border-radius:3px;height:100%;transition:width .4s}.alchemy-standings-name .qc-badge,.lb-username .qc-badge{width:20px;height:20px;margin-right:5px}.lb-podium-name .qc-badge{width:22px;height:22px;margin-right:5px}.public-profile-name .qc-badge{width:32px;height:32px;margin-right:6px}.status-bar{width:100%;max-width:640px;padding:4px 0}.status-main{color:var(--text-primary);font-size:14px;font-weight:500}.status-measurement{color:var(--warning);font-size:13px;font-family:var(--font-mono);margin-top:3px;margin-left:16px;margin-right:16px}.status-info{color:var(--text-muted);font-size:12px;font-family:var(--font-mono);gap:20px;margin-top:4px;display:flex}.move-history{background:rgb(var(--bg-tertiary-rgb) / .6);border:1px solid var(--border);border-radius:3px;overflow:hidden}.move-history-header{font-family:var(--font-heading);color:var(--text-muted);text-transform:uppercase;letter-spacing:.18em;border-bottom:1px solid var(--border);padding:10px 14px;font-size:10px;font-weight:600}.move-history-list{max-height:200px;padding:4px 0;overflow-y:auto}.move-history-empty{text-align:center;color:var(--text-muted);font-size:12px;font-family:var(--font-mono);padding:18px}@media (height<=900px) and (pointer:coarse){.move-history-empty{padding:8px 12px}}.move-row{font-family:var(--font-mono);grid-template-columns:32px 1fr 1fr;gap:4px;padding:3px 14px;font-size:12px;transition:background .15s;display:grid}.move-row:hover{background:rgb(var(--text-primary-rgb) / .03)}.move-num{color:var(--text-secondary);opacity:.8}.move-white,.move-black{color:var(--text-secondary)}.move-cell{cursor:pointer;border-radius:3px;padding:1px 4px;transition:background .12s}.move-cell:hover{background:rgb(var(--text-primary-rgb) / .08)}.move-cell.active{background:rgb(var(--accent-alt-rgb) / .18);color:var(--accent-alt);font-weight:600}.move-white.blocked,.move-black.blocked{color:var(--warning);opacity:.7}.history-nav-analyze-label{display:none}.history-nav-controls{border-top:1px solid var(--border);flex-shrink:0;justify-content:center;gap:4px;padding:6px 8px;display:flex}.history-nav-btn{background:rgb(var(--bg-tertiary-rgb) / .6);border:1px solid var(--border);color:var(--text-secondary);cursor:pointer;font-size:16px;line-height:1;font-family:var(--font-mono);border-radius:4px;flex:1;padding:6px 14px;transition:background .12s,color .12s}.history-nav-btn:hover:not(:disabled){background:rgb(var(--text-primary-rgb) / .08);color:var(--text-primary)}.history-nav-btn:disabled{opacity:.3;cursor:default}.history-nav-btn.history-nav-analyze{color:var(--accent-alt);border-color:rgb(var(--accent-alt-rgb) / .35);background:rgb(var(--accent-alt-rgb) / .1)}.history-nav-btn.history-nav-analyze:hover:not(:disabled){background:rgb(var(--accent-alt-rgb) / .2);color:var(--accent-alt)}.history-viewing-banner{background:rgb(var(--accent-alt-rgb) / .12);border:1px solid rgb(var(--accent-alt-rgb) / .25);font-family:var(--font-mono);color:var(--accent-alt);cursor:pointer;border-radius:4px;justify-content:center;align-items:center;padding:2px 8px;font-size:14px;line-height:1;display:none}.history-viewing-banner:hover:not(:disabled){background:rgb(var(--accent-alt-rgb) / .2)}.history-viewing-banner:disabled{opacity:.35;cursor:default}.gameplay-board-area.viewing-history .board-container{opacity:.75}.gameplay-board-area.history-locked .board-container{pointer-events:none}.captured-pieces{flex-direction:column;gap:4px;padding:8px 0;display:flex}.captured-row{flex-wrap:wrap;align-items:center;gap:2px;min-height:20px;font-size:16px;display:flex}.captured-group{letter-spacing:-2px;display:inline}.captured-icon{align-items:center;font-style:normal;display:inline-flex}.captured-icon .piece-svg{width:1em;height:1em}.captured-white{color:var(--piece-white)}.captured-black{color:var(--text-secondary)}.captured-partial{filter:saturate(.5)}.material-advantage{font-size:11px;font-weight:600;font-family:var(--font-mono);color:var(--accent);margin-left:4px}.quantum-inspector{border:1px solid var(--border);background:#14102099;border-radius:3px;padding:12px 14px}.inspector-header{justify-content:space-between;align-items:center;gap:8px;margin-bottom:8px;display:flex}.inspector-header h3{font-family:var(--font-heading);text-transform:uppercase;letter-spacing:.15em;color:var(--text-muted);font-size:11px;font-weight:700}.inspector-toggle{color:var(--text-muted);cursor:pointer;font-size:11px;font-family:var(--font-mono);align-items:center;gap:5px;display:inline-flex}.inspector-toggle input{accent-color:var(--accent);margin:0}.inspector-capabilities{font-size:10px;font-family:var(--font-mono);color:var(--text-muted);opacity:.7;margin-bottom:8px}.inspector-empty{color:var(--text-muted);font-size:12px}.inspector-detail{font-size:12px}.inspector-square{font-family:var(--font-mono);color:var(--accent);letter-spacing:.05em;margin-bottom:4px;font-size:20px;font-weight:700}.inspector-prob{color:var(--text-secondary);font-family:var(--font-mono);margin-bottom:10px;font-size:12px}.inspector-section{margin-bottom:8px}.inspector-label{font-family:var(--font-heading);color:var(--text-muted);text-transform:uppercase;letter-spacing:.1em;margin-bottom:3px;font-size:10px;font-weight:700}.inspector-section ul{padding-left:0;list-style:none}.inspector-section li{font-family:var(--font-mono);color:var(--text-secondary);padding:1px 0;font-size:11px}.inspector-none{color:var(--text-muted);font-style:italic}.inspector-value{color:var(--text-muted)}.sandbox-editor{border:1px solid var(--border);background:#14102099;border-radius:3px;padding:16px 20px}.sandbox-header{justify-content:space-between;align-items:center;gap:8px;margin-bottom:8px;display:flex}.sandbox-header h3{font-family:var(--font-heading);text-transform:uppercase;letter-spacing:.15em;color:var(--text-muted);font-size:11px;font-weight:700}.sandbox-controls-play,.sandbox-controls-edit{display:none}.sandbox-palette-play-btn{margin-bottom:8px}.sandbox-palette-play-btn .btn{width:100%}@keyframes gentle-pulse{0%,to{box-shadow:0 0 0 0 rgb(var(--accent-alt-rgb) / 0)}50%{box-shadow:0 0 12px 2px rgb(var(--accent-alt-rgb) / .25)}}.sandbox-play-toggle:not(.btn-danger){animation:2.5s ease-in-out infinite gentle-pulse}.sandbox-palette-with-actions{flex-direction:column;align-items:center;gap:8px;display:flex}.sandbox-palette-actions{flex-direction:column;gap:6px;width:100%;display:flex}.sandbox-palette-actions .btn{width:100%}.sandbox-palette{gap:4px;display:flex}.sandbox-palette-row{flex-direction:column;gap:4px;display:flex}.sandbox-piece{border:1px solid var(--border);background:var(--bg-secondary);color:var(--text-primary);cursor:grab;touch-action:none;border-radius:3px;flex-shrink:0;justify-content:center;align-items:center;width:60px;height:60px;padding:0;transition:all .2s;display:flex;position:relative}.sandbox-piece:hover{border-color:var(--accent);box-shadow:0 4px 12px #0000004d, 0 0 12px rgb(var(--accent-rgb) / .08);transform:translateY(-2px)}.sandbox-piece:active{cursor:grabbing;transform:scale(.93)}.sandbox-piece.selected{border-color:var(--accent);box-shadow:0 0 12px rgb(var(--accent-rgb) / .25), inset 0 0 8px rgb(var(--accent-rgb) / .1);background:rgb(var(--accent-rgb) / .08)}.sandbox-piece-token{width:42px;height:42px}.sandbox-piece .piece-symbol{font-size:34px}.sandbox-piece .piece-bare{font-size:38px}.sandbox-piece-eraser{color:var(--text-muted);font-size:16px;font-weight:600}.sandbox-hint{color:var(--text-muted);margin-top:6px;font-size:11px}.sandbox-fen-row{align-items:center;gap:6px;margin-top:10px;display:flex}.sandbox-fen-row .sandbox-fen-input{flex:1;min-width:0}.sandbox-fen-input{border:1px solid var(--border);background:var(--bg-primary);width:100%;color:var(--text-muted);font-family:var(--font-mono);border-radius:6px;outline:none;padding:8px 10px;font-size:12px;transition:border-color .2s}.sandbox-fen-input:focus{border-color:var(--accent)}.gameover-screen{--gameover-accent:var(--accent);--gameover-accent-soft:#00e5ff80;--gameover-accent-glow:#00e5ff2e;--gameover-accent-bg:linear-gradient(135deg, #00e5ff14 0%, #a064ff0a 50%, transparent 80%);flex-direction:column;min-height:100vh;display:flex}.gameover-screen[data-outcome=win]{--gameover-accent:#50dc78;--gameover-accent-soft:#50dc78a6;--gameover-accent-glow:#50dc7847;--gameover-accent-bg:linear-gradient(135deg, #50dc781a 0%, #fbbf240f 50%, transparent 80%)}.gameover-screen[data-outcome=loss]{--gameover-accent:#ff5470;--gameover-accent-soft:#ff547073;--gameover-accent-glow:#ff547024;--gameover-accent-bg:linear-gradient(135deg, #ff54700f 0%, rgb(var(--bg-secondary-rgb) / 0) 60%, transparent 80%)}.gameover-screen[data-outcome=draw]{--gameover-accent:var(--accent);--gameover-accent-soft:#00e5ff8c;--gameover-accent-glow:#00e5ff33;--gameover-accent-bg:linear-gradient(135deg, #00e5ff14 0%, #a064ff0a 50%, transparent 80%)}.gameover-screen[data-outcome=neutral]{--gameover-accent:var(--text-secondary);--gameover-accent-soft:#ffffff2e;--gameover-accent-glow:#ffffff0f;--gameover-accent-bg:linear-gradient(135deg, #ffffff0a 0%, transparent 60%)}.screen-entering .gameover-screen{animation:.5s fade-in}.gameover-body{flex:1;justify-content:center;align-items:center;padding:48px 24px 64px;display:flex}.gameover-card{background:rgb(var(--bg-secondary-rgb) / .85);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border:1px solid #ffffff14;border-left:3px solid var(--gameover-accent-soft);width:100%;max-width:560px;clip-path:var(--clip-corner);text-align:center;box-shadow:0 12px 48px #00000073, 0 0 60px var(--gameover-accent-glow);flex-direction:column;align-items:center;gap:28px;padding:36px 32px 28px;display:flex;position:relative;overflow:hidden}.gameover-card:after{content:"";border-left:2px solid var(--gameover-accent-soft);border-top:2px solid var(--gameover-accent-soft);pointer-events:none;width:24px;height:24px;position:absolute;top:0;left:0}.gameover-card-bg{background:var(--gameover-accent-bg);pointer-events:none;position:absolute;inset:0}.gameover-card>:not(.gameover-card-bg){z-index:1;position:relative}.screen-entering .gameover-result{animation:.6s .1s both fade-up}.screen-entering .gameover-stats{animation:.6s .3s both fade-up}.screen-entering .gameover-actions{animation:.6s .5s both fade-up}.screen-entering .gameover-export{animation:.6s .7s both fade-up}.gameover-result{flex-direction:column;align-items:center;gap:8px;display:flex}.gameover-icon{background:rgb(var(--bg-secondary-rgb) / .7);border:1px solid var(--gameover-accent-soft);width:64px;height:64px;color:var(--gameover-accent);box-shadow:0 0 32px var(--gameover-accent-glow), inset 0 0 20px #0006;border-radius:50%;justify-content:center;align-items:center;margin-bottom:6px;font-size:28px;display:flex}.gameover-screen[data-outcome=win] .gameover-icon{animation:2.4s ease-in-out infinite gameover-trophy-pulse}@keyframes gameover-trophy-pulse{0%,to{box-shadow:0 0 24px #50dc7840,inset 0 0 20px #0006}50%{box-shadow:0 0 48px #50dc788c,inset 0 0 20px #0006}}.gameover-eyebrow{font-family:var(--font-heading);letter-spacing:.24em;text-transform:uppercase;color:var(--gameover-accent);opacity:.85;margin:0;font-size:10px;font-weight:600}.gameover-title{font-family:var(--font-heading);letter-spacing:.14em;text-transform:uppercase;color:var(--text-primary);text-shadow:none;margin:0;font-size:clamp(2.2rem,5.6vw,3.6rem);font-weight:700;line-height:1}.gameover-screen[data-outcome=win] .gameover-title{background:var(--brand-gradient-wide);-webkit-text-fill-color:transparent;background-size:200% 200%;-webkit-background-clip:text;background-clip:text;animation:4s infinite brand-gradient-flow}.gameover-screen[data-outcome=loss] .gameover-title{color:var(--text-secondary);letter-spacing:.18em}.gameover-screen[data-outcome=draw] .gameover-title{background:linear-gradient(135deg, var(--accent) 0%, #fff 50%, var(--accent) 100%);-webkit-text-fill-color:transparent;background-size:200% 200%;-webkit-background-clip:text;background-clip:text;animation:5s infinite brand-gradient-flow}.gameover-reason{font-family:var(--font-mono);letter-spacing:.18em;text-transform:uppercase;color:var(--text-muted);margin:4px 0 0;font-size:11px;font-weight:400}.gameover-stats{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;width:100%;display:grid}.gameover-stat{background:rgb(var(--bg-secondary-rgb) / .6);clip-path:var(--clip-corner-sm);border:1px solid #ffffff0f;flex-direction:column;align-items:center;gap:4px;padding:14px 8px 12px;transition:border-color .25s,background .25s;display:flex;position:relative}.gameover-stat:before{content:"";border-left:1px solid var(--gameover-accent-soft);border-top:1px solid var(--gameover-accent-soft);pointer-events:none;opacity:.5;width:10px;height:10px;position:absolute;top:0;left:0}.gameover-stat-value{font-family:var(--font-mono);color:var(--text-primary);letter-spacing:.02em;font-size:22px;font-weight:700;animation:.5s .5s both stat-count}.gameover-stat-label{font-family:var(--font-heading);color:var(--text-muted);text-transform:uppercase;letter-spacing:.18em;font-size:9px;font-weight:500}.gameover-actions{justify-content:center;gap:12px;width:100%;display:flex}.gameover-btn{appearance:none;cursor:pointer;min-width:160px;font-family:var(--font-heading);letter-spacing:.18em;text-transform:uppercase;clip-path:var(--clip-corner-sm);border:none;padding:14px 28px;font-size:13px;font-weight:700;transition:transform .15s,box-shadow .2s,background-position .4s,background .2s,color .2s,border-color .2s;position:relative}.gameover-btn--primary{background:var(--brand-gradient);color:var(--on-brand);text-shadow:0 1px 2px #0000004d;box-shadow:0 6px 24px rgb(var(--accent-alt-rgb) / .25), inset 0 0 0 1px #ffffff1f;background-size:180% 180%}.gameover-btn--primary:hover{box-shadow:0 10px 32px rgb(var(--accent-alt-rgb) / .4), inset 0 0 0 1px #fff3;background-position:100% 100%;transform:translateY(-1px)}.gameover-btn--primary:active{transform:translateY(0)}.gameover-btn--secondary{color:var(--text-secondary);background:#ffffff0a;box-shadow:inset 0 0 0 1px #ffffff1a}.gameover-btn--secondary:hover{color:var(--text-primary);background:#ffffff12;box-shadow:inset 0 0 0 1px #ffffff2e}.gameover-export{border-top:1px solid #ffffff0d;flex-wrap:wrap;justify-content:center;gap:10px;width:100%;padding-top:4px;display:flex}.gameover-export-btn{appearance:none;color:var(--text-muted);cursor:pointer;font-family:var(--font-heading);letter-spacing:.14em;text-transform:uppercase;background:0 0;border:1px solid #ffffff0f;border-radius:4px;align-items:center;gap:8px;padding:8px 14px;font-size:10px;font-weight:500;transition:color .2s,border-color .2s,background .2s;display:inline-flex}.gameover-export-btn:hover{color:var(--text-primary);border-color:rgb(var(--accent-alt-rgb) / .4);background:rgb(var(--accent-alt-rgb) / .05)}.gameover-empty{font-family:var(--font-mono);color:var(--text-muted);margin:0;font-size:12px}@media (width<=540px){.gameover-body{padding:24px 16px 40px}.gameover-card{gap:22px;padding:28px 20px 22px}.gameover-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.gameover-actions{flex-direction:column}.gameover-btn{width:100%;min-width:0}}.auth-screen{max-width:420px;margin:0 auto;padding:48px 28px}.screen-entering .auth-screen{animation:.5s fade-up}.auth-form,.auth-profile{margin-top:28px}.auth-form{width:100%;max-width:420px;margin-left:auto;margin-right:auto;padding:0 1rem}.auth-form h2,.auth-profile h2{letter-spacing:.04em;margin-bottom:24px;font-weight:800}.auth-form label{font-size:11px;font-family:var(--font-heading);color:var(--text-muted);text-transform:uppercase;letter-spacing:.1em;flex-direction:column;gap:6px;margin-bottom:16px;font-weight:600;display:flex}.auth-form input{border:1px solid var(--border);background:var(--bg-secondary);color:var(--text-primary);font-family:var(--font-body);border-radius:3px;padding:12px 16px;font-size:15px;transition:all .2s}.auth-form input:focus{border-color:var(--accent);box-shadow:0 0 16px rgb(var(--accent-rgb) / .08);outline:none}.auth-form .btn-primary{width:100%;margin-top:8px;padding:14px;font-size:15px}.auth-error{color:var(--danger);font-size:13px;font-family:var(--font-mono);background:#ef444414;border:1px solid #ef444426;border-radius:3px;margin-bottom:14px;padding:10px 14px;font-size:12px}.profile-info{flex-direction:column;gap:10px;margin-bottom:24px;display:flex}.profile-field{background:var(--bg-secondary);border:1px solid var(--border);border-radius:3px;justify-content:space-between;align-items:center;padding:14px 16px;font-size:14px;display:flex}.profile-field span{color:var(--text-muted);font-size:12px;font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.08em}.modal-backdrop{z-index:var(--z-modal);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#050810bf;justify-content:center;align-items:center;animation:.2s fade-in;display:flex;position:fixed;inset:0}.modal-dialog{background:var(--bg-secondary);border:1px solid rgb(var(--accent-alt-rgb) / .1);width:90%;max-width:440px;max-height:calc(100dvh - 32px - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px));box-shadow:0 24px 64px #0009, 0 0 40px rgb(var(--accent-alt-rgb) / .04);clip-path:var(--clip-corner);border-radius:2px;flex-direction:column;padding:28px;animation:.3s fade-up;display:flex;overflow:hidden}.modal-body{flex:1;min-height:0;overflow-y:auto}.modal-actions{flex-shrink:0}.modal-header{font-family:var(--font-heading);margin-bottom:12px;font-size:18px;font-weight:700}.modal-body{color:var(--text-secondary);margin-bottom:24px;font-size:14px;line-height:1.6}.modal-actions{justify-content:flex-end;gap:10px;display:flex}#modal-container:not(.modal-open){display:none}.toast-container{top:16px;right:max(16px, calc(100% - env(titlebar-area-x,100%) - env(titlebar-area-width,0px) + 12px));z-index:var(--z-toast);pointer-events:none;flex-direction:column;gap:8px;display:flex;position:fixed}.toast{background:rgb(var(--bg-secondary-rgb) / .9);border:1px solid var(--border);font-size:13px;font-family:var(--font-body);pointer-events:all;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);clip-path:var(--clip-corner-sm);border-radius:3px;align-items:center;gap:10px;padding:12px 16px;animation:.35s ease-out toast-in;display:flex;box-shadow:0 8px 32px #00000080}.toast-info{border-color:rgb(var(--accent-rgb) / .3)}.toast-success{border-color:#22c55e4d}.toast-warning{border-color:#f59e0b4d}.toast-error{border-color:#ef44444d}.toast-message{flex:1}.toast-close{color:var(--text-muted);cursor:pointer;background:0 0;border:none;padding:0 2px;font-size:18px;line-height:1;transition:color .15s}.toast-close:hover{color:var(--text-primary)}.timer-display{gap:8px;display:flex}.timer-side{background:var(--bg-primary);border:1px solid var(--border);font-family:var(--font-mono);border-radius:8px;align-items:center;gap:6px;padding:4px 12px;font-size:14px;transition:border-color .2s;display:flex}.timer-side.active{border-color:rgb(var(--accent-rgb) / .3)}.timer-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;font-size:10px;font-weight:600}.timer-value{font-weight:600}::-webkit-scrollbar{width:5px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:#ffffff14;border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#ffffff1f}.sandbox-layout,[data-mode=sandbox]{grid-template:"topbar""center"minmax(0,1fr)"status"/minmax(0,1fr);height:100dvh;display:grid;overflow:hidden}[data-mode=sandbox] .gameplay-topbar{grid-area:topbar}.sandbox-center-group,[data-mode=sandbox] .gameplay-center{grid-area:center;justify-content:center;align-items:center;gap:24px;padding:16px 24px;display:flex;overflow:hidden}.sandbox-board-col,[data-mode=sandbox] .gameplay-board-col{flex-direction:column;align-items:stretch;display:flex}.sandbox-fen-bar{padding:0 0 16px}.sandbox-layout .gameplay-board-area,[data-mode=sandbox] .gameplay-board-area{justify-content:center;align-items:flex-start;padding:0;display:flex;overflow:hidden}.sandbox-palette-area{align-self:stretch;align-items:flex-start;padding-top:0;display:flex}.sandbox-palette-area .sandbox-editor{margin-top:auto;margin-bottom:auto;transform:translateY(22px)}.sandbox-statusbar{border:0;height:0;padding:0;overflow:hidden}.sandbox-topbar{box-sizing:border-box;min-height:52px;z-index:var(--z-topbar);flex-wrap:wrap}.sandbox-topbar-brand:hover{opacity:.8}.sandbox-menu-wrap{position:relative}.sandbox-menu-toggle{font-size:18px}.sandbox-menu-dropdown{background:var(--bg-elevated);border:1px solid var(--border-light);min-width:180px;z-index:var(--z-menu);border-radius:6px;margin-top:6px;padding:4px 0;display:none;position:absolute;top:100%;right:0;box-shadow:0 8px 24px #00000080}.sandbox-menu-dropdown.open{flex-direction:column;display:flex}.sandbox-menu-item{color:var(--text-secondary);font-family:var(--font-body);cursor:pointer;text-align:left;white-space:nowrap;background:0 0;border:none;align-items:center;gap:8px;padding:10px 16px;font-size:13px;display:flex}.sandbox-menu-item:hover{color:var(--text-primary);background:#ffffff0f}.menu-item-toggle{min-width:220px}.menu-item-toggle.active,.menu-item-toggle.active i{color:var(--text-secondary)}.menu-item-toggle.active:hover,.menu-item-toggle.active:hover i{color:var(--text-primary)}.menu-switch{background:#ffffff24;border-radius:9px;flex:none;width:32px;height:18px;margin-left:auto;transition:background .18s ease-out;position:relative}.menu-switch:after{content:"";background:var(--text-secondary);border-radius:50%;width:14px;height:14px;transition:transform .18s ease-out,background .18s ease-out;position:absolute;top:2px;left:2px}.sandbox-menu-item.active .menu-switch{background:rgb(var(--accent-rgb) / .32)}.sandbox-menu-item.active .menu-switch:after{background:var(--accent);transform:translate(14px)}.sandbox-menu-item.is-locked .menu-switch{opacity:.45}.menu-item-lock{color:var(--text-muted);margin-left:6px;font-size:10px}.menu-item-lock[hidden]{display:none}.menu-overlays-toggle .menu-overlays-chevron{color:var(--text-muted);margin-left:auto;font-size:10px;transition:transform .18s ease-out}.menu-overlays-toggle.expanded .menu-overlays-chevron{transform:rotate(90deg)}.menu-overlays-group{flex-direction:column;display:flex}.menu-overlays-group[hidden]{display:none}.menu-overlays-group .sandbox-menu-item{padding-left:28px;font-size:12.5px}.sandbox-menu-item.menu-item-danger,.sandbox-menu-item.menu-item-danger i{color:var(--danger,#ef4444);background:0 0;border:none}.sandbox-menu-item.menu-item-danger:hover{background:#ef44441f}.sandbox-topbar-center{align-items:center;gap:10px;display:flex}.sandbox-mode-label{font-family:var(--font-heading);letter-spacing:.12em;text-transform:uppercase;color:var(--text-secondary);font-size:14px;font-weight:600}.sandbox-topbar-actions{align-items:center;gap:2px;display:flex}.btn-icon{justify-content:center;align-items:center;min-width:32px;min-height:28px;padding:4px 8px;font-size:14px;line-height:1;display:flex}.sandbox-drag-ghost{pointer-events:none;z-index:var(--z-drag-ghost);filter:drop-shadow(0 4px 12px #0009);opacity:.9;font-size:36px;line-height:1;transition:opacity .1s;position:fixed;transform:translate(-50%,-50%)}.sandbox-drag-ghost .piece-token{border-radius:50%;justify-content:center;align-items:center;width:48px;height:48px;display:flex}.sandbox-drag-ghost .piece-symbol{font-size:32px}.sandbox-phase-controls{align-items:center;gap:8px;display:flex}.sandbox-phase-pill{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;border-radius:20px;padding:4px 14px;font-size:10px;font-weight:600}.sandbox-phase-pill.editing{background:var(--bg-tertiary);color:var(--accent);border:1px solid var(--border)}.sandbox-phase-pill.playing{background:var(--accent);color:var(--bg-primary)}.sandbox-play-toggle{text-transform:uppercase;letter-spacing:.08em;font-weight:600}.sandbox-toggles{align-items:center;gap:16px;display:flex}.sandbox-toggle{cursor:pointer;font-family:var(--font-body);color:var(--text-muted);white-space:nowrap;align-items:center;gap:6px;font-size:11px;display:flex}.sandbox-toggle input[type=checkbox]{appearance:none;border:1px solid var(--border);cursor:pointer;background:0 0;border-radius:3px;flex-shrink:0;width:14px;height:14px;position:relative}.sandbox-toggle input[type=checkbox]:checked{background:var(--accent);border-color:var(--accent)}.sandbox-toggle input[type=checkbox]:checked:after{content:"✓";color:var(--bg-primary);font-size:11px;font-weight:700;position:absolute;top:-1px;left:1px}.sandbox-toggle span{-webkit-user-select:none;user-select:none}.sandbox-measurement-toggle{align-items:center;gap:6px;display:flex}.sandbox-toggle-label{font-family:var(--font-body);color:var(--text-muted);white-space:nowrap;font-size:11px}.sandbox-measurement-btns{gap:2px;display:flex}.sandbox-measurement-btn{border:1px solid var(--border);color:var(--text-muted);font-family:var(--font-mono);cursor:pointer;white-space:nowrap;background:0 0;border-radius:4px;padding:3px 10px;font-size:10px;font-weight:500;transition:all .15s}.sandbox-measurement-btn:hover{border-color:var(--border-light);color:var(--text-secondary)}.sandbox-measurement-btn.active{border-color:var(--accent);color:var(--accent);background:rgb(var(--accent-rgb) / .06)}.gameplay-moves-header{font-family:var(--font-heading);letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);border-bottom:1px solid var(--border);flex-shrink:0;justify-content:space-between;align-items:center;padding:10px 0;font-size:11px;font-weight:600;display:flex}.gameplay-moves-header-left{align-items:center;gap:4px;display:flex}[data-mode=sandbox] .gameplay-moves-header{flex-wrap:wrap;row-gap:8px}[data-mode=sandbox] .gameplay-moves-header-right{margin-left:auto}.gameplay-moves-header-right{align-items:center;gap:6px;display:flex}.gameplay-undo-btn{border-radius:var(--radius-pill);border:1px solid var(--border-light);background:var(--bg-tertiary);width:30px;height:30px;color:var(--text-primary);cursor:pointer;justify-content:center;align-items:center;padding:0;transition:border-color .15s,color .15s,opacity .15s;display:inline-flex}.gameplay-undo-btn i{font-size:14px}.gameplay-undo-btn:hover:not(:disabled),.gameplay-undo-btn:focus-visible{border-color:var(--accent);color:var(--accent)}.gameplay-undo-btn:disabled,.sandbox-menu-item:disabled{opacity:.45;cursor:default}.sandbox-menu-item:disabled:hover{color:var(--text-secondary);background:0 0}.sandbox-rule-icon{color:var(--text-muted);opacity:.35;cursor:pointer;background:0 0;border:none;margin:-4px 0;padding:6px 8px;font-size:14px;transition:opacity .15s,color .15s;position:relative}.sandbox-rule-icon:hover{opacity:.6}.sandbox-rule-icon.active{color:var(--accent);opacity:.8}.sandbox-editing-instructions{text-align:center;flex-direction:column;align-items:center;gap:16px;padding:24px 16px;display:flex}.sandbox-instructions-text{font-family:var(--font-body);color:var(--text-muted);margin:0;font-size:13px;line-height:1.6}.sandbox-play-link{color:var(--accent);cursor:pointer;font-weight:700;text-decoration:none}.sandbox-play-link:hover{text-decoration:underline}.sandbox-instructions-play{text-transform:uppercase;letter-spacing:.08em;padding:8px 32px;font-size:14px;font-weight:600}.gameplay-moves-panel{flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.gameplay-info-tab{font-family:var(--font-heading);letter-spacing:.08em;text-transform:uppercase;color:var(--text-secondary);cursor:pointer;opacity:.85;background:0 0;border:none;padding:2px 0;font-size:11px;font-weight:600;transition:opacity .15s,color .15s}.gameplay-info-tab.active{color:var(--text-secondary);opacity:1;border-bottom:2px solid var(--accent)}.gameplay-info-tab:hover{opacity:1}.gameplay-tab-content{flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.gameplay-tab-pane{display:block}.gameplay-info-tab[data-tab=captured],.gameplay-right-panel .move-history-header{display:none}[data-mode=sandbox] .gameplay-right-panel{border:1px solid var(--border);background:#14102099;border-radius:3px;flex-direction:column;flex:none;align-self:center;width:280px;height:60vh;margin:0 8px;padding:0 12px;display:flex;overflow:hidden;transform:translateY(22px)}.sandbox-palette-area{padding:8px}@media (width>=769px){.sandbox-palette-area{justify-content:center;width:200px}.sandbox-palette-actions .btn{white-space:normal}}.sandbox-layout[data-phase=playing] .sandbox-palette-area .sandbox-palette,.sandbox-layout[data-phase=playing] .sandbox-palette-area .sandbox-palette-actions,[data-mode=sandbox][data-phase=playing] .sandbox-palette-area .sandbox-palette,[data-mode=sandbox][data-phase=playing] .sandbox-palette-area .sandbox-palette-actions{pointer-events:none;opacity:.3}.sandbox-controls{border-top:1px solid var(--border);background:var(--bg-secondary);align-items:center;gap:6px;padding:6px 12px;display:none}@media (width<=768px){.sandbox-controls{display:flex}}.sandbox-fen-bar{align-items:center;gap:6px;display:flex}.sandbox-fen-bar-input{border:1px solid var(--border);background:var(--bg-primary);min-width:0;color:var(--text-muted);font-family:var(--font-mono);border-radius:4px;outline:none;flex:1;padding:6px 10px;font-size:12px}.sandbox-fen-bar-input:focus{border-color:var(--accent)}.sandbox-toggles-mobile{display:none}.sandbox-phase-bar{justify-content:center;align-items:center;gap:10px;padding:12px 16px;display:none}.sandbox-phase-hint{font-family:var(--font-body);color:var(--text-muted);font-size:14px}.sandbox-layout[data-phase=playing] .sandbox-editing-only,[data-mode=sandbox][data-phase=playing] .sandbox-editing-only,.sandbox-layout[data-phase=editing] .sandbox-playing-only,[data-mode=sandbox][data-phase=editing] .sandbox-playing-only,.sandbox-topbar .sandbox-topbar-center{display:none}[data-mode=sandbox]>.gameplay-topbar>.gameplay-topbar-center{gap:10px;display:flex}.sandbox-layout[data-phase=playing] .sandbox-phase-bar,[data-mode=sandbox][data-phase=playing] .sandbox-phase-bar,.sandbox-layout[data-phase=editing] .sandbox-measurement-toggle,[data-mode=sandbox][data-phase=editing] .sandbox-measurement-toggle{display:none}.sandbox-layout[data-phase=playing] .sandbox-toggle,[data-mode=sandbox][data-phase=playing] .sandbox-toggle{pointer-events:none;opacity:.4}.piece-bare{-webkit-user-select:none;user-select:none;font-size:min(5.5vw,48px);line-height:1}.piece-bare.piece-white{color:#fff;filter:drop-shadow(0 1px #00000040)drop-shadow(0 2px 4px #0009)}.piece-bare.piece-black{color:var(--piece-black);filter:drop-shadow(0 -1px #ffffff80)drop-shadow(0 1px #000000b3)drop-shadow(0 0 4px #fff3)}.piece-glow.piece-white{color:#fff;filter:drop-shadow(0 0 1px #fffc)drop-shadow(0 1px #00000040)drop-shadow(0 2px 3px #00000080)}.piece-glow.piece-black{color:var(--piece-black);filter:drop-shadow(0 -1px #ffffff80)drop-shadow(0 1px #000000b3)drop-shadow(0 0 4px #fff3)}.piece-outlined.piece-white{color:#fff;filter:drop-shadow(0 2px 4px #000000b3)}.piece-outlined.piece-white .piece-svg{stroke:var(--accent);stroke-width:1.5px;paint-order:stroke fill}.piece-outlined.piece-black{color:#0a0a0a;filter:drop-shadow(0 2px 4px #000c)}.piece-outlined.piece-black .piece-svg{stroke:var(--accent);stroke-width:2px;paint-order:stroke fill}.piece-token-translucent{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#ffffff0f;border-radius:999px;justify-content:center;align-items:center;width:70%;height:70%;display:inline-flex;position:relative;box-shadow:inset 0 0 0 1px #ffffff1a,0 2px 8px #0000004d}.piece-token-translucent:has(.piece-white){background:#ffffff1a;box-shadow:inset 0 0 0 1px #ffffff2e,0 2px 8px #0000004d}.piece-token-translucent:has(.piece-black){background:#a08cb440;box-shadow:inset 0 0 0 1px #ffffff1a,0 2px 8px #0006}.piece-token-translucent .piece-symbol.piece-white{color:#fff;filter:drop-shadow(0 1px 2px #00000080)}.piece-token-translucent .piece-symbol.piece-black{color:var(--piece-black);filter:drop-shadow(0 -1px #ffffff80)drop-shadow(0 1px #000000b3)drop-shadow(0 0 4px #fff3)}[data-sandbox-theme=void] .board{background:var(--border)}[data-sandbox-theme=void] .sandbox-topbar{border-bottom:1px solid var(--border)}[data-sandbox-theme=amber] .board{box-shadow:0 8px 40px #00000080, inset 0 0 0 1px var(--border);border-radius:6px;overflow:visible}[data-sandbox-theme=amber] .gameplay-right-panel{font-family:var(--font-body)}[data-sandbox-theme=quantum-lab] .gameplay-board-area{position:relative}[data-sandbox-theme=quantum-lab] .gameplay-board-area:before{content:"";background:radial-gradient(circle, rgb(var(--accent-alt-rgb) / .05), transparent 70%);pointer-events:none;width:500px;height:500px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}[data-sandbox-theme=quantum-lab] .board{box-shadow:0 0 60px rgb(var(--accent-alt-rgb) / .05), 0 12px 40px #0006;border:1px solid var(--border);border-radius:12px;overflow:visible}[data-sandbox-theme=emerald] .sandbox-layout:after,[data-sandbox-theme=emerald][data-mode=sandbox]:after{content:"";pointer-events:none;z-index:100;background:repeating-linear-gradient(#0000,#0000 2px,#00000008 2px 4px);position:absolute;inset:0}[data-sandbox-theme=emerald] .board{border:1px solid var(--accent);background:var(--border)}[data-sandbox-theme=rose-glass] .sandbox-layout,[data-sandbox-theme=rose-glass][data-mode=sandbox]{background-image:radial-gradient(at 30% 20%,#fb71850d,#0000 50%),radial-gradient(at 70% 80%,#be507808,#0000 50%)}[data-sandbox-theme=rose-glass] .gameplay-right-panel{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#3c1e2d66;border:1px solid #fb71851f;border-radius:16px;margin:12px 0 12px 12px}[data-sandbox-theme=rose-glass] .sandbox-topbar,[data-sandbox-theme=rose-glass] .gameplay-topbar{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#28141e99}[data-sandbox-theme=rose-glass] .board{border:1px solid #fb71851f;border-radius:16px;overflow:visible;box-shadow:0 0 80px #fb71850a,0 16px 48px #0006}[data-sandbox-theme=rose-glass] .sandbox-palette-area{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#3c1e2d66;border-top:1px solid #fb71851f}.sandbox-layout .board-container,[data-mode=sandbox] .board-container,.sandbox-layout .board-coords,[data-mode=sandbox] .board-coords{max-width:100%;max-height:100%}.lab-ruleset-slot{padding:6px 0 4px;position:relative}.lab-ruleset{border:1px solid var(--border-light);background:#ffffff08;border-radius:8px;align-items:center;gap:10px;min-height:32px;padding:4px 8px 4px 10px;display:flex;position:relative}.lab-ruleset-title{font-family:var(--font-body);letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);flex:none;align-items:center;gap:6px;font-size:11px;font-weight:600;display:inline-flex}.lab-ruleset-title>i{font-size:11px}.lab-ruleset-premium{border:1px solid rgb(var(--accent-gold-rgb,255 196 80) / .5);color:var(--accent-gold,#ffc450);letter-spacing:.06em;border-radius:999px;align-items:center;gap:4px;margin-left:4px;padding:2px 7px;font-size:10px;display:inline-flex}.lab-ruleset-chips{flex-wrap:wrap;align-items:center;gap:6px;min-width:0;display:flex}.lab-ruleset-chip{border:1px solid var(--border-light);color:var(--text-secondary);font-family:var(--font-body);cursor:pointer;white-space:nowrap;background:0 0;border-radius:999px;align-items:center;gap:6px;padding:4px 10px;font-size:12px;line-height:1.2;transition:border-color .15s ease-out,color .15s ease-out,background .15s ease-out;display:inline-flex}.lab-ruleset-chip:hover{color:var(--text-primary);border-color:var(--text-muted)}.lab-ruleset-chip.active{color:var(--accent);border-color:rgb(var(--accent-rgb) / .6);background:rgb(var(--accent-rgb) / .12)}.lab-ruleset-status{letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);font-size:9px}.lab-ruleset-chip-lock{color:var(--text-muted);font-size:10px}.lab-ruleset-chip.is-locked{cursor:default;color:var(--text-muted);border-style:dashed}.lab-ruleset-chip.is-locked:hover{color:var(--text-muted);border-color:var(--border-light)}.lab-ruleset-empty{color:var(--text-muted);font-size:11.5px}.lab-ruleset-actions{flex:none;align-items:center;gap:6px;margin-left:auto;display:flex}.lab-ruleset-actions .btn{white-space:nowrap;padding:4px 10px;font-size:11px;line-height:1.2}.gameplay-screen[data-mode=sandbox] .gameplay-bottom-slot:has(.phase-dial){justify-content:flex-end;padding-top:6px;display:flex}.gameplay-screen[data-mode=sandbox]:has(.phase-dial){--board-dial-h:60px}@media (width<=768px){.gameplay-center-group,.gameplay-screen:not([data-mode=sandbox]) .gameplay-center{flex-direction:column;gap:0;padding:8px}.gameplay-topbar-center{min-width:0}.gameplay-mode-label{letter-spacing:.08em;white-space:nowrap;text-overflow:ellipsis;min-width:0;font-size:11px;overflow:hidden}.gameplay-screen:not([data-mode=sandbox]) .sandbox-menu-toggle{display:none}.gameplay-screen:not([data-mode=sandbox]){grid-template-rows:auto 1fr auto auto;grid-template-areas:"topbar""center""status""cmdbar"}.gameplay-screen:not([data-mode=sandbox]) .gameplay-command-bar{display:flex}.gameplay-screen:not([data-mode=sandbox]) .board{--board-chrome-h:286px}.gameplay-screen:not([data-mode=sandbox]) .sandbox-menu-dropdown{top:auto;left:8px;right:8px;bottom:calc(72px + env(safe-area-inset-bottom,0px) + var(--consent-banner-h,0px));max-height:62dvh;position:fixed;overflow-y:auto}.gameplay-board-col{flex:none;width:100%}.gameplay-top-slot,.gameplay-bottom-slot{align-self:stretch;width:100%;max-width:none}.gameplay-captured-panel{display:none}.gameplay-screen:not([data-mode=sandbox]) .history-nav-controls{gap:6px;padding:8px 0 2px}.gameplay-screen:not([data-mode=sandbox]) .history-nav-btn{min-height:44px}.gameplay-screen:not([data-mode=sandbox]) .history-nav-controls .history-nav-analyze{flex:none;align-items:center;gap:8px;min-height:44px;padding-inline:18px;display:inline-flex}.gameplay-screen:not([data-mode=sandbox]) .history-nav-analyze-label{letter-spacing:.04em;font-size:12px;display:inline}.gameplay-screen:not([data-mode=sandbox]) .gameplay-mobile-strip{display:flex}.gameplay-screen:not([data-mode=sandbox]) .gameplay-footer{bottom:calc(60px + env(safe-area-inset-bottom,0px) + var(--consent-banner-h,0px))}.gameplay-screen:not([data-mode=sandbox]) .gameplay-right-panel{left:0;right:0;bottom:calc(56px + env(safe-area-inset-bottom,0px) + var(--consent-banner-h,0px));z-index:var(--z-menu);border:1px solid var(--border-light);background:var(--bg-elevated);visibility:hidden;border-bottom:none;border-radius:14px 14px 0 0;flex:none;width:auto;height:auto;max-height:64dvh;margin:0;padding:6px 12px 10px;transition:transform .22s,visibility 0s linear .22s;position:fixed;transform:translateY(102%);box-shadow:0 -14px 40px -18px #000000d9}.gameplay-screen:not([data-mode=sandbox]) .gameplay-right-panel.is-open{visibility:visible;transition:transform .22s,visibility;transform:translateY(0)}.gameplay-screen:not([data-mode=sandbox]) .gameplay-moves-panel{height:100%;min-height:0}.gameplay-screen:not([data-mode=sandbox]) .move-sheet-handle{background:var(--border-light);border-radius:999px;width:38px;height:4px;margin:2px auto 8px;display:block}.gameplay-screen:not([data-mode=sandbox]) .move-sheet-close{width:44px;height:44px;color:var(--text-muted);cursor:pointer;background:0 0;border:none;place-items:center;font-size:16px;display:grid;position:absolute;top:6px;right:8px}.gameplay-screen:not([data-mode=sandbox]) .gameplay-info-tab{display:none}.gameplay-screen:not([data-mode=sandbox]) .move-sheet-title{font-family:var(--font-heading);letter-spacing:.14em;text-transform:uppercase;color:var(--text-muted);font-size:11px;font-weight:600;display:inline}.gameplay-screen:not([data-mode=sandbox]) .gameplay-moves-header{padding-right:44px}.move-sheet-backdrop{z-index:calc(var(--z-menu) - 1);background:rgb(var(--bg-primary-rgb) / .5);opacity:0;pointer-events:none;transition:opacity .22s;display:block;position:fixed;inset:0}.gameplay-screen.move-sheet-open .move-sheet-backdrop{opacity:1;pointer-events:auto}.gameplay-info-tabs{flex-shrink:0;gap:12px;padding:8px 0 4px;display:flex}.gameplay-right-panel .gameplay-tab-content{flex:1;min-height:0}.gameplay-right-panel .gameplay-tab-pane{display:none}.gameplay-right-panel .gameplay-tab-pane.active{flex:1;min-height:0;display:block;overflow-y:auto}.gameplay-right-panel .gameplay-captured-tab{display:none}.gameplay-right-panel .gameplay-captured-tab.active{display:block}.gameplay-right-panel .move-history-list{max-height:none}.board{--board-chrome-h:220px;--board-chrome-w:16px;max-width:none;max-height:none}.gameplay-eval-bar{flex-direction:row;gap:6px;width:100%;display:flex;position:static}.gameplay-eval-bar .eval-bar{flex-direction:column;gap:2px}.gameplay-eval-bar .eval-bar-experimental-tooltip{width:min(224px,100vw - 40px);top:calc(100% + 10px);left:50%;transform:translate(-50%,-4px)}.gameplay-eval-bar .eval-bar-experimental-tooltip:before{inset:auto auto 100% 50%;transform:translate(-50%,4px)rotate(135deg)}.gameplay-eval-bar .eval-bar:hover .eval-bar-experimental-tooltip,.gameplay-eval-bar .eval-bar:focus-visible .eval-bar-experimental-tooltip,.gameplay-eval-bar .eval-bar:focus-within .eval-bar-experimental-tooltip{transform:translate(-50%)}.gameplay-eval-bar .eval-bar-track{width:100%;height:8px;min-height:8px}.gameplay-eval-bar .eval-bar-track--classical{border-radius:4px 4px 0 0}.gameplay-eval-bar .eval-bar-track--quantum{border-radius:0 0 4px 4px}.gameplay-eval-bar .eval-bar-fill{border-radius:4px 0 0 4px;transition:width .6s;inset:0 auto 0 0;height:100%!important}.gameplay-eval-bar .eval-bar-fill--quantum{border-top:none;border-right:2px solid rgb(var(--text-primary-rgb) / .6)}.gameplay-eval-bar .eval-bar-labels{flex-direction:column;gap:2px;min-width:34px}.gameplay-eval-bar .eval-bar-label{font-size:11px}.piece-token,.piece-ring-wrap{width:92%;height:92%}.ring-gauge{width:calc(100% + 8px);height:calc(100% + 8px);inset:-4px}.gameplay-eval-bar .eval-bar-label{text-align:right;font-size:11px}.gameplay-controls{padding-bottom:calc(12px + env(safe-area-inset-bottom,0px))}.home-hero{padding:40px 20px 32px}.home-title{font-size:2.4rem}.mode-grid,.mode-grid--featured{grid-template-columns:1fr}.gameover-screen{padding:24px 16px}.gameover-body{padding:24px 16px var(--screen-bottom-gap)}.gameover-title{font-size:2rem}.gameover-actions{flex-direction:column;width:100%;max-width:280px}.gameover-actions .btn{width:100%;min-height:48px}.gameover-stats{gap:10px}.stat{min-width:90px;padding:14px 18px}.setup-screen-body{--setup-body-pad-inline:1.25rem;padding-top:1.5rem;padding-inline:var(--setup-body-pad-inline);padding-bottom:calc(var(--setup-start-wrap-h,130px) + var(--consent-banner-h,0px));justify-content:flex-start;gap:1.75rem}.leaderboard-body,.messages-body,.corr-body,.spectate-list-body,.spectate-view-body{padding-bottom:var(--screen-bottom-gap)}.setup-section{gap:10px}.setup-row{flex-direction:column;gap:1.5rem}.setup-side-visual{gap:8px}.setup-side-btn{gap:6px;padding:12px 8px}.setup-side-icon{font-size:22px}.setup-side-label{font-size:12px}.btn-start{margin-top:.5rem;padding:14px 24px}.modal-dialog{width:94%;padding:20px}.modal-actions{flex-direction:column;gap:8px}.modal-actions .btn{justify-content:center;width:100%;min-height:48px}.play-overlay-root{justify-content:stretch;align-items:stretch}.play-overlay{-webkit-overflow-scrolling:touch;border-radius:0;flex-direction:column;width:100%;height:100dvh;max-height:none;animation:.2s fade-in;display:flex;overflow-y:auto;clip-path:none!important}.play-overlay-body{padding:12px 16px var(--screen-bottom-gap);flex-direction:column;flex:1;gap:18px;display:flex}.play-overlay-body .challenge-overlay-cta{bottom:var(--screen-bottom-gap);z-index:5;margin-top:auto;position:sticky}.play-overlay-body .challenge-cta{box-shadow:0 8px 28px rgb(var(--accent-alt-rgb) / .32), 0 -10px 24px -8px #0806108c, inset 0 0 0 1px #ffffff24}.play-overlay-header{flex-shrink:0;padding:16px 16px 0}.play-overlay-close{justify-content:center;align-items:center;min-width:44px;min-height:44px;display:flex}.play-overlay-body .setup-side-visual{flex-direction:row}.play-overlay-body .setup-side-btn{padding:12px 8px}.play-overlay-body .setup-side-icon{font-size:28px}.play-overlay-body .btn-start{min-height:52px;font-size:16px}.option-btn{min-height:44px;padding:10px 14px}.btn-back{min-height:44px;padding:10px 0}.screen-back-btn{height:40px;padding:0 16px 0 12px;font-size:11px}.toast-container{top:12px;left:12px;right:12px}.toast{width:100%}.sandbox-layout,.sandbox-layout[data-sandbox-theme],[data-mode=sandbox]{flex-direction:column!important;height:100dvh!important;display:flex!important;overflow:hidden!important}.sandbox-center-group,[data-mode=sandbox] .gameplay-center{flex-direction:column;flex:1;align-items:stretch;gap:0;min-height:0;padding:0}.sandbox-center-group .sandbox-palette-area,[data-mode=sandbox] .gameplay-center .sandbox-palette-area{flex:none;order:2;align-self:center;width:auto;padding:clamp(4px,1vh,12px) 4px}.sandbox-center-group .sandbox-palette-area .sandbox-editor,[data-mode=sandbox] .gameplay-center .sandbox-palette-area .sandbox-editor{margin-top:0;margin-bottom:0;transform:none}.sandbox-center-group .sandbox-board-col,[data-mode=sandbox] .gameplay-center .gameplay-board-col{flex:none;order:1}.sandbox-center-group .sandbox-fen-bar,[data-mode=sandbox] .gameplay-center .sandbox-fen-bar{padding:clamp(4px,2vh,48px) 12px clamp(4px,1vh,12px)}.sandbox-center-group .gameplay-board-area,[data-mode=sandbox] .gameplay-center .gameplay-board-area{justify-content:center;align-items:center;padding:4px 0 16px;display:flex}.sandbox-fen-bar{padding:12px 16px 4px}.sandbox-fen-bar-input{font-size:14px}.sandbox-fen-copy,.sandbox-fen-paste{flex-shrink:0}.sandbox-phase-bar{padding:clamp(4px,1vh,12px) 16px;font-size:clamp(11px,1.8vh,14px);display:flex}@media (height<=700px){.sandbox-phase-bar{display:none}}.sandbox-toggles-mobile{justify-content:center;align-items:center;gap:14px;padding:6px 12px;display:flex}.sandbox-toggles-mobile .sandbox-toggle{gap:8px;min-height:36px;font-size:14px}.sandbox-toggles-mobile .sandbox-toggle input[type=checkbox]{width:22px;height:22px}.sandbox-toggles-mobile .sandbox-toggle input[type=checkbox]:checked:after{font-size:16px;top:0;left:3px}.sandbox-toggles-mobile .sandbox-toggle-label{font-size:14px}.sandbox-toggles-mobile .sandbox-measurement-btn{min-height:32px;padding:5px 12px;font-size:13px}.sandbox-topbar .sandbox-toggles,.sandbox-topbar .sandbox-phase-pill{display:none}.sandbox-layout .gameplay-board-area,[data-mode=sandbox] .gameplay-board-area{justify-content:center;align-items:flex-end;padding:4px 4px 2px;display:flex;overflow:hidden}[data-mode=sandbox] .board{--board-chrome-h:300px}[data-mode=sandbox][data-phase=playing] .board{--board-chrome-h:320px}.sandbox-layout .sandbox-info-panel,[data-mode=sandbox] .gameplay-right-panel{border:none;border-top:1px solid var(--border);background:var(--bg-secondary);border-radius:0;flex-direction:column;flex:1;order:3;width:100%;height:auto;min-height:0;margin-top:14px;padding:8px 12px;overflow:hidden;transform:none}[data-mode=sandbox] .gameplay-right-panel .gameplay-moves-header{flex-shrink:0}[data-mode=sandbox] .gameplay-right-panel .gameplay-moves-panel{flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}[data-mode=sandbox] .gameplay-right-panel .gameplay-move-history{flex:1;min-height:0;overflow-y:auto}[data-mode=sandbox] .gameplay-right-panel .gameplay-captured-tab{flex-shrink:0}.gameplay-info-tab[data-tab=captured]{display:inline}.gameplay-tab-pane{display:none}.gameplay-tab-pane.active{flex:1;min-height:0;display:block;overflow-y:auto}.gameplay-tab-content{flex:1;min-height:0}[data-mode=sandbox] .gameplay-right-panel .move-history{overflow:visible}[data-mode=sandbox] .gameplay-right-panel .move-history-list{max-height:none}[data-mode=sandbox][data-phase=editing] .gameplay-right-panel{display:none!important}[data-mode=sandbox][data-phase=playing] .gameplay-right-panel{display:flex!important}.sandbox-layout .sandbox-statusbar,[data-mode=sandbox] .sandbox-statusbar,.sandbox-layout[data-phase=playing] .sandbox-palette-area,[data-mode=sandbox][data-phase=playing] .sandbox-palette-area{display:none!important}.sandbox-layout[data-phase=playing] .sandbox-toggles-mobile .sandbox-toggle,[data-mode=sandbox][data-phase=playing] .sandbox-toggles-mobile .sandbox-toggle{display:none}.sandbox-topbar{flex-wrap:wrap;gap:8px;padding:12px 16px}.sandbox-phase-controls{gap:6px}.sandbox-phase-pill{align-items:center;min-height:28px;padding:5px 12px;font-size:11px;display:flex}.sandbox-play-toggle{min-height:32px;padding:5px 14px;font-size:12px}.sandbox-toggles{flex-wrap:wrap;gap:10px}.sandbox-toggle{gap:6px;min-height:32px;font-size:12px}.sandbox-toggle input[type=checkbox]{width:18px;height:18px}.sandbox-toggle input[type=checkbox]:checked:after{font-size:13px;top:0;left:2px}.sandbox-toggle-label{font-size:12px}.sandbox-measurement-btn{min-height:28px;padding:4px 10px;font-size:11px}.sandbox-topbar-actions{gap:2px}.btn-icon{min-width:36px;min-height:32px;padding:4px 8px;font-size:16px}.sandbox-palette-area{padding:2px 4px}.sandbox-editor{background:0 0;border:none;padding:2px 4px}.sandbox-palette-with-actions{flex-direction:column;justify-content:center}.sandbox-palette{flex-direction:column;gap:3px}.sandbox-palette-row{flex-direction:row;justify-content:center;gap:3px}.sandbox-palette-area .sandbox-piece{width:clamp(40px,7vh,60px);height:clamp(40px,7vh,60px)}.sandbox-piece .piece-symbol{font-size:34px}.sandbox-piece .piece-bare{font-size:38px}.sandbox-piece-token{width:42px;height:42px}.sandbox-fen-row{display:none}.sandbox-controls-play,.sandbox-controls-edit{display:inline-flex}.sandbox-layout[data-phase=playing] .sandbox-controls-edit,[data-mode=sandbox][data-phase=playing] .sandbox-controls-edit{pointer-events:none;opacity:.3}.sandbox-palette-play-btn{display:none}.sandbox-palette-actions{display:none!important}.sandbox-controls{padding:clamp(4px,1.5vh,12px) 16px;padding-bottom:max(clamp(8px, 2vh, 20px), calc(env(safe-area-inset-bottom,8px) + 4px));justify-content:center;gap:8px}.sandbox-controls .btn,.sandbox-controls .btn-sm{min-height:clamp(32px,5vh,44px);padding:clamp(4px,1vh,8px) 20px;font-size:14px}.piece-bare,.piece-glow{font-size:min(9vw,42px)}.piece-symbol{font-size:min(8vw,36px)}}@media (width<=480px){.home-title{letter-spacing:.06em;font-size:1.8rem}.home-hero{padding:24px 16px 20px}.home-subtitle{font-size:11px}.home-toolbar{flex-direction:column;align-items:flex-start}.mode-hero-card{padding:18px 16px 14px}.mode-hero-card-icon{font-size:22px}.mode-hero-card-label{font-size:15px}[data-mode=sandbox] .board{--board-chrome-h:310px;--board-chrome-w:12px}[data-mode=sandbox][data-phase=playing] .board{--board-chrome-h:330px}.sandbox-palette-area .sandbox-piece{width:clamp(36px,6.5vh,52px);height:clamp(36px,6.5vh,52px)}.sandbox-piece .piece-symbol{font-size:28px}.sandbox-piece .piece-bare{font-size:32px}.sandbox-piece-token{width:36px;height:36px}.sandbox-topbar{gap:6px;padding:10px 16px}.sandbox-phase-pill{min-height:26px;padding:4px 10px;font-size:10px}.sandbox-play-toggle{min-height:28px;padding:4px 12px;font-size:11px}.sandbox-toggle{min-height:28px;font-size:10px}.sandbox-toggle input[type=checkbox]{width:16px;height:16px}.sandbox-measurement-btn{min-height:26px;padding:3px 8px;font-size:10px}.btn-icon{min-width:32px;min-height:28px;font-size:14px}.setup-screen-body{padding-top:1.25rem;padding-inline:1rem;padding-bottom:calc(var(--setup-start-wrap-h,130px) + var(--consent-banner-h,0px));justify-content:flex-start;gap:1.5rem}.setup-row{flex-direction:column;gap:1.25rem}.setup-side-btn{gap:4px;padding:10px 6px}.setup-side-icon{font-size:22px}}@media (width<=768px) and (pointer:coarse){.gameplay-screen:not([data-mode=sandbox]) .top-bar-fullscreen-btn{display:none}}.play-overlay-root{z-index:var(--z-modal);justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.play-overlay-backdrop{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#000000a6;position:absolute;inset:0}.play-overlay{z-index:1;background:rgb(var(--bg-secondary-rgb) / .92);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border:1px solid #ffffff14;border-left:3px solid rgb(var(--accent-alt-rgb) / .7);width:min(480px,92vw);max-height:88vh;box-shadow:0 24px 80px #000000bf, 0 0 60px rgb(var(--accent-alt-rgb) / .08);clip-path:var(--clip-corner);animation:.25s fade-up;position:relative;overflow-y:auto}.play-overlay:before{content:"";background:linear-gradient(135deg, rgb(var(--accent-alt-rgb) / .06) 0%, rgb(var(--accent-orange-rgb) / .03) 50%, transparent 80%);pointer-events:none;z-index:0;position:absolute;inset:0}.play-overlay:after{content:"";border-left:2px solid rgb(var(--accent-alt-rgb) / .5);border-top:2px solid rgb(var(--accent-alt-rgb) / .5);pointer-events:none;z-index:1;width:24px;height:24px;position:absolute;top:0;left:0}.play-overlay>*{z-index:2;position:relative}.play-overlay-header{justify-content:space-between;align-items:flex-start;gap:12px;padding:22px 24px 4px;display:flex}.play-overlay-heading{flex-direction:column;gap:4px;min-width:0;display:flex}.play-overlay-eyebrow{font-family:var(--font-mono);letter-spacing:.18em;text-transform:uppercase;color:var(--text-muted);font-size:.65rem;font-weight:500}.play-overlay-header h2{font-family:var(--font-heading);letter-spacing:.14em;text-transform:uppercase;color:var(--text-primary);margin:0;font-size:1.05rem;font-weight:600}.play-overlay-close{color:var(--text-secondary);cursor:pointer;background:#ffffff0a;border:1px solid #ffffff14;border-radius:3px;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;font-size:14px;transition:color .15s,background .15s,border-color .15s;display:inline-flex}.play-overlay-close:hover{color:var(--text-primary);background:rgb(var(--accent-alt-rgb) / .1);border-color:rgb(var(--accent-alt-rgb) / .3)}.play-overlay-body{flex-direction:column;gap:18px;padding:18px 24px 24px;display:flex}.play-overlay-body .btn-start{width:100%;margin-top:8px;padding:12px;font-size:16px}@keyframes ai-thinking-pulse{0%,to{opacity:.5}50%{opacity:1}}.player-banner.ai-thinking{animation:2s ease-in-out infinite ai-thinking-pulse}@media (width>=769px){.gameplay-board-col{position:relative}.gameplay-eval-bar{flex-direction:column;gap:3px;width:32px;margin-right:8px;display:flex;position:absolute;top:0;bottom:0;right:100%}.gameplay-eval-bar .eval-bar-fill{width:100%!important}}.eval-bar--loading .eval-bar-track,.eval-bar--loading~.eval-bar-labels .eval-bar-label{opacity:.72;animation:2s ease-in-out infinite eval-bar-thinking}@keyframes eval-bar-thinking{0%,to{opacity:1}50%{opacity:.68}}.eval-bar--loading-initial .eval-bar-track{animation:1.2s ease-in-out infinite eval-bar-loading-pulse}.eval-bar--loading-initial .eval-bar-fill{opacity:.3}@keyframes eval-bar-loading-pulse{0%,to{opacity:.45}50%{opacity:.85}}.eval-bar--error .eval-bar-track{background:rgb(var(--danger-rgb) / .12);outline:1px solid rgb(var(--danger-rgb) / .35)}.eval-bar--error .eval-bar-fill{opacity:0}.eval-bar--error~.eval-bar-labels .eval-bar-label,.eval-bar--error .eval-bar-label{color:var(--danger);font-weight:600}.eval-bar{flex-direction:row;flex:1;gap:2px;display:flex;position:relative}.eval-bar:focus-visible{outline:1px solid rgb(var(--quantum-ring-rgb) / .75);outline-offset:3px}.eval-bar-experimental-tooltip{z-index:8;border:1px solid rgb(var(--quantum-ring-rgb) / .45);background:rgb(var(--bg-secondary-rgb) / .97);width:224px;color:rgb(var(--text-primary-rgb) / .82);letter-spacing:.01em;pointer-events:none;opacity:0;visibility:hidden;border-radius:6px;flex-direction:column;gap:5px;padding:10px 11px 11px;font-size:11px;line-height:1.45;transition:opacity .12s,transform .12s,visibility 0s linear .12s;display:flex;position:absolute;top:50%;left:calc(100% + 10px);transform:translate(-4px,-50%);box-shadow:0 12px 32px #0000007a}.eval-bar-experimental-tooltip:before{content:"";border-left:1px solid rgb(var(--quantum-ring-rgb) / .45);border-bottom:1px solid rgb(var(--quantum-ring-rgb) / .45);background:rgb(var(--bg-secondary-rgb) / .97);width:7px;height:7px;position:absolute;top:50%;right:100%;transform:translate(4px,-50%)rotate(45deg)}.eval-bar-experimental-label{color:var(--quantum-ring);font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;font-size:9px;font-weight:700;line-height:1}.eval-bar:hover .eval-bar-experimental-tooltip,.eval-bar:focus-visible .eval-bar-experimental-tooltip,.eval-bar:focus-within .eval-bar-experimental-tooltip{opacity:1;visibility:visible;transition-delay:0s;transform:translateY(-50%)}.eval-bar-track{flex:1;position:relative;overflow:hidden}.eval-bar-track--classical{background:rgb(var(--text-primary-rgb) / .08);border-radius:5px 0 0 5px}.eval-bar-track--quantum{background:var(--piece-black);border-radius:0 5px 5px 0}.eval-bar-fill{border-radius:0;transition:height .6s;position:absolute;bottom:0;left:0;right:0}.eval-bar-fill--classical{background:rgb(var(--piece-white-rgb) / .7)}.eval-bar-fill--quantum{background:var(--quantum-ring);border-top:2px solid rgb(var(--text-primary-rgb) / .6)}.eval-bar-tier-chip{letter-spacing:.5px;cursor:pointer;opacity:.45;z-index:2;border:0;border-radius:3px;padding:1px 4px;font-family:inherit;font-size:9px;font-weight:600;transition:opacity .2s;position:absolute;top:4px;right:4px}.eval-bar-tier-chip:hover{opacity:1}.eval-bar-tier-chip:focus-visible{opacity:1;outline:2px solid var(--accent);outline-offset:2px}.eval-bar-tier-chip.tier-std{background:rgb(var(--bg-primary-rgb) / .85);border:1px solid var(--border-light);color:var(--text-primary)}.eval-bar-tier-chip.tier-pro{background:var(--quantum-ring);color:var(--bg-primary)}.eval-bar-tactic-caption{background:rgb(var(--quantum-ring-rgb) / .92);color:var(--bg-primary);letter-spacing:.3px;white-space:nowrap;pointer-events:none;opacity:0;z-index:2;border-radius:3px;padding:2px 6px;font-size:9px;font-weight:600;transition:opacity .25s;position:absolute;bottom:6px;left:50%;transform:translate(-50%)}.eval-bar-tactic-caption--visible{opacity:1}.eval-bar-labels{flex-direction:column;flex-shrink:0;justify-content:space-around;gap:2px;display:flex}.eval-bar-label{font-variant-numeric:tabular-nums;font-size:11px;line-height:1;font-family:var(--font-mono);white-space:nowrap;text-align:center;flex:1}.eval-bar-label--classical{color:rgb(var(--text-primary-rgb) / .7)}.eval-bar-label--quantum{color:var(--quantum-ring)}.promotion-overlay{z-index:var(--z-modal,100);background:#0000004d;border-radius:4px;position:absolute;inset:0}.promotion-picker{z-index:calc(var(--z-modal,100) + 1);border-radius:var(--radius-md,6px);box-shadow:0 8px 32px #0009, 0 0 0 1px rgb(var(--accent-rgb) / .15), 0 0 24px rgb(var(--accent-rgb) / .06);display:flex;position:absolute;overflow:hidden}.promotion-option{aspect-ratio:1;cursor:pointer;background:var(--bg-secondary,#0c0a14);border:none;justify-content:center;align-items:center;width:100%;padding:0;transition:background .12s,transform .1s;display:flex}.promotion-option:first-child{border-radius:var(--radius-md,6px) var(--radius-md,6px) 0 0}.promotion-option:last-child{border-radius:0 0 var(--radius-md,6px) var(--radius-md,6px)}.promotion-option:hover{background:var(--bg-tertiary,#141020);z-index:1;transform:scale(1.08)}.promotion-option:active{transform:scale(.96)}.promotion-option .piece-token{aspect-ratio:1;border-radius:50%;justify-content:center;align-items:center;width:80%;display:flex}.promotion-option .piece-symbol{font-size:clamp(20px,4vw,36px);line-height:1}.online-lobby-screen{flex-direction:column;min-height:100dvh;display:flex}.online-lobby-body{flex-direction:column;flex:1;gap:1rem;width:100%;max-width:1080px;margin:0 auto;padding:1.5rem 1.25rem 2rem;display:flex}.lobby-grid{grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);align-items:start;gap:1.25rem;display:grid}.lobby-col{min-width:0}.lobby-matchmaking-card{background:rgb(var(--bg-secondary-rgb) / .85);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border:1px solid #ffffff14;border-left:3px solid rgb(var(--accent-alt-rgb) / .7);clip-path:var(--clip-corner);flex-direction:column;gap:1rem;padding:1.5rem 1.5rem 1.75rem;display:flex;position:relative;overflow:hidden}.lobby-matchmaking-card:before{content:"";background:linear-gradient(135deg, rgb(var(--accent-alt-rgb) / .06) 0%, rgb(var(--accent-orange-rgb) / .03) 50%, transparent 80%);pointer-events:none;position:absolute;inset:0}.lobby-matchmaking-card:after{content:"";border-left:2px solid rgb(var(--accent-alt-rgb) / .5);border-top:2px solid rgb(var(--accent-alt-rgb) / .5);pointer-events:none;width:24px;height:24px;position:absolute;top:0;left:0}.lobby-matchmaking-card>*{z-index:1;position:relative}.lobby-matchmaking-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;display:flex}.lobby-matchmaking-title{font-family:var(--font-heading);letter-spacing:.14em;text-transform:uppercase;color:var(--text-primary);margin:0;font-size:.95rem;font-weight:600}.lobby-activity-strip{font-family:var(--font-mono);letter-spacing:.04em;color:var(--text-secondary);text-transform:uppercase;align-items:center;gap:.6rem;font-size:.7rem;display:flex}.lobby-activity-item{align-items:center;gap:.4rem;display:inline-flex}.lobby-activity-num{color:var(--accent);font-size:.85rem;font-weight:600}.lobby-activity-sep{color:var(--text-muted);opacity:.4}.lobby-activity-item .is-live{color:#4ade80;font-size:.5rem;animation:2s ease-in-out infinite lobby-live-pulse}@keyframes lobby-live-pulse{0%,to{opacity:.5}50%{opacity:1}}.lobby-rating-card{background:#ffffff06;border:1px solid #ffffff0f;border-radius:3px;align-items:center;gap:1rem;padding:.7rem 1rem;display:flex}.lobby-rating-cat{font-family:var(--font-heading);letter-spacing:.14em;text-transform:uppercase;color:var(--text-secondary);flex-shrink:0;align-items:center;gap:.4rem;font-size:.7rem;display:inline-flex}.lobby-rating-cat.is-bullet{color:var(--accent-orange)}.lobby-rating-cat.is-blitz{color:var(--accent-alt)}.lobby-rating-cat.is-rapid{color:var(--accent)}.lobby-rating-cat i{opacity:.9;font-size:.95em}.lobby-rating-value-row{flex:1;align-items:baseline;gap:.5rem;display:flex}.lobby-rating-value{font-family:var(--font-heading);background:var(--brand-gradient);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;font-size:1.6rem;font-weight:700;line-height:1}.lobby-rating-tag{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.1em;color:var(--text-muted);background:#ffffff0f;border-radius:2px;padding:.15rem .4rem;font-size:.6rem}.lobby-rating-record{font-family:var(--font-mono);flex-shrink:0;align-items:center;gap:.4rem;font-size:.78rem;display:flex}.lobby-rec-w{color:#4ade80}.lobby-rec-l{color:#f87171}.lobby-rec-d{color:var(--text-muted)}.lobby-rec-sep{background:#fff3;border-radius:50%;width:3px;height:3px}.lobby-rec-empty{color:var(--text-muted);font-size:.72rem;font-style:italic}.lobby-rating-card--guest{flex-wrap:wrap}.lobby-rating-guest-text{color:var(--text-secondary);flex:1;font-size:.85rem}.lobby-rating-signin{padding:5px 12px;font-size:.7rem}.time-strip{flex-direction:column;gap:.5rem;display:flex}.time-strip-group{grid-template-columns:5rem 1fr;align-items:center;gap:.75rem;display:grid}.time-strip-cat{font-family:var(--font-heading);letter-spacing:.16em;text-transform:uppercase;color:var(--text-muted);align-items:center;gap:.4rem;font-size:.65rem;font-weight:600;display:inline-flex}.time-strip-group.is-bullet .time-strip-cat{color:var(--accent-orange)}.time-strip-group.is-blitz .time-strip-cat{color:var(--accent-alt)}.time-strip-group.is-rapid .time-strip-cat{color:var(--accent)}.time-strip-cat i{opacity:.9;font-size:.9em}.time-strip-chips{flex-wrap:wrap;gap:.4rem;display:flex}.time-chip{color:var(--text-secondary);font-family:var(--font-mono);cursor:pointer;background:#ffffff08;border:1px solid #ffffff14;border-radius:3px;align-items:center;gap:.4rem;padding:.5rem .85rem;font-size:.85rem;font-weight:500;transition:background .15s,border-color .15s,color .15s,box-shadow .2s;display:inline-flex;position:relative}.time-chip:hover{color:var(--text-primary);background:#ffffff0f;border-color:#ffffff2e}.time-strip-group.is-bullet .time-chip.is-active{border-color:rgb(var(--accent-orange-rgb) / .65);color:var(--accent-orange);background:rgb(var(--accent-orange-rgb) / .09);box-shadow:0 0 14px rgb(var(--accent-orange-rgb) / .18)}.time-strip-group.is-blitz .time-chip.is-active{border-color:rgb(var(--accent-alt-rgb) / .65);color:var(--accent-alt);background:rgb(var(--accent-alt-rgb) / .09);box-shadow:0 0 14px rgb(var(--accent-alt-rgb) / .18)}.time-strip-group.is-rapid .time-chip.is-active{border-color:rgb(var(--accent-rgb) / .65);color:var(--accent);background:rgb(var(--accent-rgb) / .09);box-shadow:0 0 14px rgb(var(--accent-rgb) / .18)}.time-chip-count{color:var(--text-primary);font-size:.62rem;font-weight:600;font-family:var(--font-body);background:#ffffff1a;border-radius:999px;padding:.05rem .32rem}.lobby-queue-toggle{background:#ffffff0a;border:1px solid #ffffff14;border-radius:3px;grid-template-columns:1fr 1fr;gap:2px;padding:3px;display:grid}.lobby-queue-tab{appearance:none;font-family:var(--font-heading);letter-spacing:.14em;text-transform:uppercase;color:var(--text-secondary);cursor:pointer;background:0 0;border:none;border-radius:2px;justify-content:center;align-items:center;gap:.4rem;padding:.55rem .75rem;font-size:.75rem;font-weight:600;transition:background .15s,color .15s,box-shadow .15s;display:inline-flex}.lobby-queue-tab:hover:not(.is-active){color:var(--text-primary);background:#ffffff0a}.lobby-queue-tab.is-active{background:rgb(var(--accent-alt-rgb) / .16);color:#fff;box-shadow:inset 0 0 0 1px rgb(var(--accent-alt-rgb) / .45)}.alchemy-lobby-screen .alchemy-mode-label i{color:#ffc450d9;margin-right:4px}.alchemy-hero{background:radial-gradient(120% 180% at 0% 0%, #ffc4501a, transparent 55%), rgb(var(--bg-secondary-rgb) / .8);border:1px solid #ffc45040;border-left:3px solid #ffc45099;border-radius:3px;margin-bottom:16px;padding:16px 18px}.alchemy-hero-eyebrow{font-family:var(--font-heading);letter-spacing:.16em;text-transform:uppercase;color:#ffd278cc;margin-bottom:4px;font-size:.7rem;font-weight:600}.alchemy-hero-title{font-family:var(--font-heading);color:var(--text-primary);margin-bottom:6px;font-size:1.3rem;font-weight:700}.alchemy-hero-desc{font-family:var(--font-body);color:var(--text-secondary);max-width:60ch;font-size:.9rem;line-height:1.5}.alchemy-hero-desc strong{color:#ffd278f2;font-weight:600}.alchemy-hero-reward{font-family:var(--font-body);color:var(--text-muted);margin-top:10px;font-size:.8rem}.alchemy-hero-reward i{color:#ffc450cc;margin-right:6px}.alchemy-queue-card{border-color:#ffc4502e}.alchemy-warmup-note{color:var(--text-muted);margin:0 0 12px;font-size:.82rem;line-height:1.45}.alchemy-rating-card .lobby-rating-cat{color:#ffd278e6}.alchemy-friend-panel{border-color:#ffc4502e}.alchemy-lobby-screen .lobby-col--secondary>*+*,.alchemy-lobby-screen .lobby-col--primary>*+*{margin-top:12px}.alchemy-friend-note{color:var(--text-muted);margin:-4px 0 10px;font-size:.78rem;line-height:1.45}.time-strip-group.is-custom .time-strip-cat{color:#ffd278e6}.time-strip-group.is-custom .time-chip.is-active{color:#ffd278f2;background:#ffc4501a;border-color:#ffc450a6;box-shadow:0 0 14px #ffc4502e}.alchemy-play-btn{background:#ffc4501f;border-color:#ffc45080}.alchemy-play-btn:hover{background:#ffc45033}.alchemy-standings-card{background:rgb(var(--bg-secondary-rgb) / .8);border:1px solid #ffffff14;border-radius:3px;padding:14px 16px}.alchemy-standings-title{font-family:var(--font-heading);letter-spacing:.12em;text-transform:uppercase;color:var(--text-secondary);margin:0 0 10px;font-size:.8rem;font-weight:700}.alchemy-standings-title i{color:#ffc450cc;margin-right:6px}.alchemy-standings-empty{font-family:var(--font-body);color:var(--text-muted);margin:0;font-size:.82rem;line-height:1.5}.alchemy-standings-list{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.alchemy-standings-row{font-family:var(--font-body);border-bottom:1px solid #ffffff0d;grid-template-columns:26px 1fr auto auto;align-items:center;gap:10px;padding:6px 4px;font-size:.85rem;display:grid}.alchemy-standings-row:last-child{border-bottom:none}.alchemy-standings-rank{font-family:var(--font-mono);color:var(--text-muted);text-align:right;font-size:.75rem}.alchemy-standings-row:first-child .alchemy-standings-rank,.alchemy-standings-row:nth-child(2) .alchemy-standings-rank,.alchemy-standings-row:nth-child(3) .alchemy-standings-rank{color:#ffc450e6}.alchemy-standings-name{color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.alchemy-standings-record{font-family:var(--font-mono);color:var(--text-muted);font-size:.72rem}.alchemy-standings-rating{font-family:var(--font-mono);color:#ffd278f2;font-weight:600}.alchemy-admin-card{background:rgb(var(--bg-secondary-rgb) / .6);border:1px dashed #ffc45059;border-radius:3px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-top:16px;padding:12px 16px;display:flex}.alchemy-admin-card-title{font-family:var(--font-heading);letter-spacing:.12em;text-transform:uppercase;color:#ffd278e6;margin-bottom:3px;font-size:.75rem;font-weight:700}.alchemy-admin-card-desc{font-family:var(--font-body);color:var(--text-muted);font-size:.8rem}.lobby-play-btn{appearance:none;background:var(--brand-gradient);color:var(--on-brand);font-family:var(--font-heading);cursor:pointer;clip-path:var(--clip-corner);text-shadow:0 1px 2px #0000004d;box-shadow:0 6px 24px rgb(var(--accent-alt-rgb) / .25), inset 0 0 0 1px #ffffff1f;background-size:180% 180%;border:none;flex-direction:column;justify-content:center;align-items:center;gap:2px;padding:.85rem 1.5rem;transition:transform .15s,box-shadow .2s,background-position .4s;display:flex;position:relative}.lobby-play-btn:hover:not(.is-locked){box-shadow:0 10px 32px rgb(var(--accent-alt-rgb) / .4), inset 0 0 0 1px #fff3;background-position:100% 100%;transform:translateY(-1px)}.lobby-play-btn:active:not(.is-locked){transform:translateY(0)}.lobby-play-btn-label{letter-spacing:.18em;text-transform:uppercase;font-size:1.05rem;font-weight:700}.lobby-play-btn-sub{font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;background:#00000047;border-radius:3px;padding:2px 8px;font-size:.7rem}.lobby-play-btn.is-locked{color:var(--text-secondary);text-shadow:none;background:#ffffff0f;box-shadow:inset 0 0 0 1px #ffffff1a}.lobby-play-btn.is-locked:hover{background:rgb(var(--accent-alt-rgb) / .1);color:var(--text-primary)}.lobby-queue-active{text-align:center;flex-direction:column;align-items:center;gap:.85rem;padding:1.5rem 0 .5rem;display:flex}.lobby-queue-active-spinner{justify-content:center;align-items:center;display:flex}.lobby-queue-active-spinner .matchmaking-spinner{border-width:3px;width:36px;height:36px}.lobby-queue-active-title{font-family:var(--font-heading);letter-spacing:.14em;text-transform:uppercase;color:var(--text-primary);font-size:.95rem;font-weight:600}.lobby-queue-active-meta{font-family:var(--font-mono);align-items:center;gap:.6rem;font-size:.85rem;display:flex}.lobby-queue-active-tc{background:#ffffff0a;border:1px solid #ffffff14;border-radius:3px;align-items:center;gap:.4rem;padding:.3rem .65rem;display:inline-flex}.lobby-queue-active-tc.is-bullet{color:var(--accent-orange);border-color:rgb(var(--accent-orange-rgb) / .3)}.lobby-queue-active-tc.is-blitz{color:var(--accent-alt);border-color:rgb(var(--accent-alt-rgb) / .3)}.lobby-queue-active-tc.is-rapid{color:var(--accent);border-color:rgb(var(--accent-rgb) / .3)}.lobby-queue-active-type{color:var(--text-secondary);letter-spacing:.1em;text-transform:uppercase;font-size:.72rem}.lobby-queue-active-hint{color:var(--text-muted);font-size:.8rem}.lobby-queue-cancel{margin-top:.5rem}.matchmaking-spinner{border:2px solid #ffffff26;border-top-color:var(--accent);border-radius:50%;width:18px;height:18px;animation:.8s linear infinite matchmaking-spin;display:inline-block}@keyframes matchmaking-spin{to{transform:rotate(360deg)}}.lobby-friend-panel{background:rgb(var(--bg-secondary-rgb) / .55);clip-path:var(--clip-corner);border:1px solid #ffffff0f;flex-direction:column;gap:.5rem;padding:1.25rem 1.25rem 1.5rem;display:flex;position:relative}.lobby-friend-panel:after{content:"";border-left:1px solid rgb(var(--accent-rgb) / .4);border-top:1px solid rgb(var(--accent-rgb) / .4);pointer-events:none;width:18px;height:18px;position:absolute;top:0;left:0}.lobby-friend-panel-heading{font-family:var(--font-mono);letter-spacing:.18em;text-transform:uppercase;color:var(--text-muted);margin:0 0 .5rem;font-size:.7rem;font-weight:500}.lobby-friend-action{width:100%;color:var(--text-primary);text-align:left;cursor:pointer;font-family:var(--font-body);background:#ffffff05;border:1px solid #ffffff0f;border-radius:3px;align-items:center;gap:.85rem;padding:.7rem .85rem;transition:background .15s,border-color .15s,transform .15s;display:flex}.lobby-friend-action:hover:not(:disabled):not(.lobby-friend-action--input){background:rgb(var(--accent-rgb) / .04);border-color:rgb(var(--accent-rgb) / .25);transform:translate(2px)}.lobby-friend-action:hover:not(:disabled):not(.lobby-friend-action--input) .lobby-friend-action-chev{color:var(--accent);transform:translate(2px)}.lobby-friend-action:disabled{opacity:.6;cursor:not-allowed}.lobby-friend-action--input{cursor:default}.lobby-friend-action-icon{background:rgb(var(--accent-rgb) / .08);width:32px;height:32px;color:var(--accent);border-radius:3px;flex-shrink:0;justify-content:center;align-items:center;font-size:.95rem;display:inline-flex}.lobby-friend-action-text{flex-direction:column;flex:1;gap:.15rem;min-width:0;display:flex}.lobby-friend-action-title{font-family:var(--font-heading);letter-spacing:.08em;text-transform:uppercase;color:var(--text-primary);font-size:.78rem;font-weight:600}.lobby-friend-action-desc{color:var(--text-muted);font-size:.72rem;line-height:1.4}.lobby-friend-action-chev{color:var(--text-muted);font-size:.8rem;transition:transform .15s,color .15s}.lobby-friend-join-row{gap:.4rem;margin-top:.35rem;display:flex}.lobby-friend-input{color:var(--text-primary);text-transform:uppercase;letter-spacing:.15em;text-align:center;font-size:.95rem;font-family:var(--font-mono);background:#ffffff0d;border:1px solid #ffffff1a;border-radius:3px;flex:1;min-width:0;padding:.45rem .6rem}.lobby-friend-input::placeholder{color:var(--text-muted);text-transform:none;letter-spacing:normal;opacity:.7}.lobby-friend-input:focus{border-color:rgb(var(--accent-rgb) / .5);box-shadow:0 0 0 2px rgb(var(--accent-rgb) / .15);outline:none}.lobby-friend-join-btn{flex-shrink:0;padding:.45rem .75rem;font-size:.7rem}.lobby-matchmaking-card--offline{text-align:center;align-items:center;padding:2rem 1.5rem}.lobby-offline-text{color:var(--text-secondary);max-width:28rem;margin:0;font-size:.9rem}.online-lobby-outgoing{flex-direction:column;gap:.5rem;display:flex}.time-preset-group{flex-direction:column;gap:.35rem;display:flex}.time-preset-label{font-family:var(--font-heading);letter-spacing:.12em;text-transform:uppercase;color:var(--text-muted);font-size:.65rem;font-weight:500}.time-preset-row{justify-content:center;gap:.5rem;display:flex}.option-btn--sm{padding:6px 14px;font-size:.8rem}.online-lobby-btn{min-width:120px}@media (width<=880px){.lobby-grid{grid-template-columns:1fr}}@media (width<=640px){.online-lobby-body{padding:1rem .875rem var(--screen-bottom-gap);gap:.85rem}.lobby-matchmaking-card{gap:.85rem;padding:1rem}.lobby-matchmaking-head{flex-direction:column;align-items:flex-start;gap:.4rem}.lobby-rating-card{flex-wrap:wrap;gap:.6rem;padding:.6rem .75rem}.lobby-rating-value{font-size:1.35rem}.time-strip-group{grid-template-columns:1fr;gap:.3rem}.time-strip-chips{gap:.3rem}.time-chip{flex:1;justify-content:center;min-height:40px;padding:.5rem .6rem;font-size:.8rem}.lobby-play-btn{min-height:52px;padding:.85rem 1rem}.lobby-friend-panel{padding:1rem}.lobby-friend-action-desc{display:none}.lobby-friend-action{min-height:48px}.option-btn--sm{min-height:40px;padding:8px 12px;font-size:.75rem}.time-preset-group{flex-direction:row;align-items:center;gap:.5rem}.time-preset-label{text-align:right;min-width:2.75rem;font-size:.6rem}.time-preset-row{flex:1;gap:.4rem}}.waiting-room-screen{flex-direction:column;min-height:100dvh;display:flex}.waiting-room-body{flex-direction:column;flex:1;gap:1.25rem;width:100%;max-width:540px;margin:0 auto;padding:1.5rem 1.25rem 2rem;display:flex}.waiting-room-status{font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--text-muted);background:#ffffff08;border:1px solid #ffffff0f;border-radius:3px;align-items:center;gap:.5rem;padding:.3rem .65rem;font-size:.7rem;display:inline-flex}.waiting-connection-dot{background:#ef4444;border-radius:50%;width:7px;height:7px;box-shadow:0 0 6px #ef444480}.waiting-connection-dot.connected{background:#4ade80;animation:2.4s ease-in-out infinite waiting-dot-pulse;box-shadow:0 0 6px #4ade808c}@keyframes waiting-dot-pulse{0%,to{opacity:.85}50%{opacity:1}}body:has(.waiting-room-screen) .toast-container{top:72px}.waiting-room-code-card{background:rgb(var(--bg-secondary-rgb) / .85);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border:1px solid #ffffff14;border-left:3px solid rgb(var(--accent-alt-rgb) / .7);clip-path:var(--clip-corner);text-align:center;flex-direction:column;align-items:center;gap:.6rem;padding:1.4rem 1.5rem 1.6rem;display:flex;position:relative;overflow:hidden}.waiting-room-code-card:before{content:"";background:linear-gradient(135deg, rgb(var(--accent-alt-rgb) / .08) 0%, rgb(var(--accent-orange-rgb) / .04) 50%, transparent 80%);pointer-events:none;position:absolute;inset:0}.waiting-room-code-card:after{content:"";border-left:2px solid rgb(var(--accent-alt-rgb) / .5);border-top:2px solid rgb(var(--accent-alt-rgb) / .5);pointer-events:none;width:24px;height:24px;position:absolute;top:0;left:0}.waiting-room-code-card>*{z-index:1;position:relative}.waiting-room-label{font-family:var(--font-heading);letter-spacing:.18em;text-transform:uppercase;color:var(--text-secondary);margin:0;font-size:.7rem;font-weight:600}.waiting-room-code{appearance:none;cursor:pointer;color:inherit;background:0 0;border:none;align-items:center;gap:.85rem;padding:.25rem .5rem;display:inline-flex}.waiting-room-code-value{font-family:var(--font-mono);letter-spacing:.2em;background:var(--brand-gradient);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;font-size:clamp(2.2rem,7vw,3rem);font-weight:700;line-height:1;transition:filter .15s}.waiting-room-code:hover .waiting-room-code-value{filter:brightness(1.15)}.waiting-room-code-copy{font-family:var(--font-heading);letter-spacing:.16em;text-transform:uppercase;color:var(--text-muted);background:#ffffff08;border:1px solid #ffffff14;border-radius:3px;align-items:center;gap:.35rem;padding:.3rem .55rem;font-size:.65rem;transition:color .15s,border-color .15s,background .15s;display:inline-flex}.waiting-room-code:hover .waiting-room-code-copy{color:var(--text-primary);border-color:rgb(var(--accent-alt-rgb) / .4);background:rgb(var(--accent-alt-rgb) / .08)}.waiting-room-hint{color:var(--text-muted);margin:0;font-size:.78rem}.waiting-room-players{flex-direction:column;gap:.6rem;display:flex}.waiting-room-players-heading{font-family:var(--font-heading);letter-spacing:.18em;text-transform:uppercase;color:var(--text-secondary);align-items:baseline;gap:.5rem;margin:0;font-size:.7rem;font-weight:600;display:flex}.waiting-room-players-count{font-family:var(--font-mono);letter-spacing:.05em;color:var(--text-muted);text-transform:none;font-size:.7rem}.waiting-room-member-list{flex-direction:column;gap:.4rem;display:flex}.waiting-member{background:#ffffff06;border:1px solid #ffffff0f;border-radius:3px;align-items:center;gap:.75rem;padding:.6rem .85rem;transition:border-color .15s,background .15s;display:flex}.waiting-member--self{border-color:rgb(var(--accent-alt-rgb) / .35);background:rgb(var(--accent-alt-rgb) / .05)}.waiting-member.is-ready{background:#4ade800d;border-color:#4ade8066}.waiting-member--empty{color:var(--text-muted);border-style:dashed;border-color:#ffffff1a}.waiting-member-avatar{background:rgb(var(--accent-rgb) / .1);width:32px;height:32px;color:var(--accent);font-family:var(--font-heading);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:.85rem;font-weight:700;display:inline-flex}.waiting-member--self .waiting-member-avatar{background:rgb(var(--accent-alt-rgb) / .15);color:var(--accent-alt)}.waiting-member-avatar--empty{color:var(--text-muted);background:#ffffff0a;font-size:.85rem}.waiting-member-info{flex-direction:column;flex:1;gap:.1rem;min-width:0;display:flex}.waiting-member-name{font-family:var(--font-heading);letter-spacing:.04em;color:var(--text-primary);font-size:.82rem;font-weight:600}.waiting-member-role{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted);font-size:.7rem}.waiting-member-status{font-family:var(--font-heading);letter-spacing:.16em;text-transform:uppercase;color:#4ade80;background:#4ade801a;border:1px solid #4ade804d;border-radius:2px;padding:.2rem .5rem;font-size:.65rem;font-weight:600}.waiting-host-settings{background:rgb(var(--bg-secondary-rgb) / .55);clip-path:var(--clip-corner-sm);border:1px solid #ffffff0f;flex-direction:column;gap:1rem;padding:1rem 1.1rem 1.1rem;display:flex;position:relative}.waiting-host-settings:after{content:"";border-left:1px solid rgb(var(--accent-rgb) / .4);border-top:1px solid rgb(var(--accent-rgb) / .4);pointer-events:none;width:16px;height:16px;position:absolute;top:0;left:0}.waiting-host-settings .setup-side-btn.active{border-color:rgb(var(--accent-alt-rgb) / .6);background:rgb(var(--accent-alt-rgb) / .08);color:var(--text-primary);box-shadow:0 0 18px rgb(var(--accent-alt-rgb) / .15)}.waiting-host-settings--guest{text-align:center}.waiting-guest-hint{color:var(--text-muted);margin:0;font-size:.82rem}.waiting-setting-group{flex-direction:column;gap:.5rem;display:flex}.waiting-setting-label{font-family:var(--font-heading);letter-spacing:.16em;text-transform:uppercase;color:var(--text-muted);font-size:.7rem;font-weight:600}.waiting-setting-hint{color:var(--text-muted);margin:0;font-size:.72rem;line-height:1.45}.waiting-guest-rules{color:#ffd278e6;margin:0 0 .5rem;font-size:.8rem;line-height:1.45}.waiting-guest-rules i{margin-right:.35rem}.waiting-time-locked{flex-wrap:wrap;align-items:center;gap:.6rem;display:flex}.waiting-time-locked-badge{background:rgb(var(--accent-alt-rgb) / .08);border:1px solid rgb(var(--accent-alt-rgb) / .6);color:var(--accent-alt);font-family:var(--font-mono);box-shadow:0 0 14px rgb(var(--accent-alt-rgb) / .18);border-radius:3px;align-items:center;gap:.4rem;padding:.45rem .75rem;font-size:.8rem;font-weight:600;display:inline-flex}.waiting-time-locked-badge i{opacity:.85;font-size:.7rem}.waiting-time-locked-hint{color:var(--text-muted);font-size:.72rem;font-style:italic}.waiting-room-actions{align-items:stretch;margin-top:.25rem;display:flex}.waiting-ready-btn{width:100%;min-height:60px}.waiting-ready-btn.is-cancel{text-shadow:none;background:#ef444433;box-shadow:0 6px 20px #ef44442e,inset 0 0 0 1px #ef444473}.waiting-ready-btn.is-cancel:hover:not(.is-locked){background:#ef444447;box-shadow:0 10px 28px #ef444447,inset 0 0 0 1px #ef4444a6}@media (width<=640px){.waiting-room-body{padding:1rem .875rem var(--screen-bottom-gap);gap:1rem}.waiting-room-code-card{padding:1.1rem 1rem 1.25rem}.waiting-room-code{flex-direction:column;gap:.5rem}.waiting-host-settings{padding:.9rem 1rem 1rem}body:has(.waiting-room-screen) .toast-container{top:84px}.waiting-room-actions{bottom:var(--screen-bottom-gap);z-index:5;margin-top:auto;position:sticky}.waiting-ready-btn{box-shadow:0 8px 28px rgb(var(--accent-alt-rgb) / .32), 0 -10px 24px -8px #0806108c, inset 0 0 0 1px #ffffff24}}.mode-hero-card--lab{--hero-card-accent:var(--category-lab);border-color:rgb(var(--category-lab-rgb) / .25);border-left:3px solid rgb(var(--category-lab-rgb) / .7)}.mode-hero-card--lab .mode-hero-card-bg{background:linear-gradient(135deg, rgb(var(--category-lab-rgb) / .12) 0%, rgb(var(--category-lab-rgb) / .03) 100%)}.mode-hero-card--lab .mode-hero-card-icon{color:var(--category-lab)}.mode-hero-card--lab:after{border-left-color:rgb(var(--category-lab-rgb) / .5);border-top-color:rgb(var(--category-lab-rgb) / .5)}.mode-hero-card--lab:hover{border-color:rgb(var(--category-lab-rgb) / .5);box-shadow:0 8px 32px #00000080, 0 0 40px rgb(var(--category-lab-rgb) / .12)}.mode-hero-card--lab:hover:after{border-left-color:rgb(var(--category-lab-rgb) / .8);border-top-color:rgb(var(--category-lab-rgb) / .8)}.mode-hero-card--lab:hover .mode-hero-card-arrow{color:var(--category-lab);transform:translate(4px)}.mode-hero-card--lab:hover .mode-hero-card-bg{opacity:1}.incoming-challenge-banner{background:linear-gradient(135deg, #8b5cf62e, rgb(var(--category-lab-rgb) / .12));color:var(--text-primary);z-index:50;border-bottom:1px solid #8b5cf666;align-items:center;gap:1rem;padding:.75rem 1.25rem;font-size:.95rem;display:flex;position:relative}.incoming-challenge-text{flex:1;min-width:0}.incoming-challenge-config{font-family:var(--font-mono,monospace);color:var(--accent-cyan,var(--category-lab));margin:0 .25rem}.incoming-challenge-count{background:#ffffff1a;border-radius:999px;margin-left:.5rem;padding:.1rem .5rem;font-size:.8rem}.incoming-challenge-expiry{color:var(--text-muted);white-space:nowrap;margin-left:.35rem;font-size:.8rem}.incoming-challenge-actions{flex-shrink:0;gap:.5rem;display:flex}.online-lobby-outgoing{flex-direction:column;gap:.5rem;margin-bottom:1rem;display:flex}.online-lobby-outgoing-pill{background:rgb(var(--category-lab-rgb) / .08);border:1px solid rgb(var(--category-lab-rgb) / .3);border-radius:8px;align-items:center;gap:.75rem;padding:.6rem 1rem;font-size:.9rem;display:flex}.online-lobby-outgoing-text{flex:1;min-width:0}.online-lobby-outgoing-spinner{border:2px solid rgb(var(--category-lab-rgb) / .3);border-top-color:var(--accent-cyan,var(--category-lab));border-radius:50%;flex-shrink:0;width:14px;height:14px;animation:1s linear infinite spinner-rotate}@keyframes spinner-rotate{to{transform:rotate(360deg)}}.challenge-friend-overlay{max-width:520px}.challenge-pick-summary{background:#ffffff06;border:1px solid #ffffff0f;border-radius:3px;justify-content:space-between;align-items:center;gap:.75rem;padding:.55rem .8rem;display:flex}.challenge-pick-summary-config{font-family:var(--font-mono);letter-spacing:.04em;color:var(--text-secondary);font-size:.8rem}.challenge-pick-summary-edit{appearance:none;color:var(--text-secondary);font-family:var(--font-heading);letter-spacing:.14em;text-transform:uppercase;cursor:pointer;background:#ffffff08;border:1px solid #ffffff14;border-radius:3px;padding:.35rem .7rem;font-size:.65rem;transition:color .15s,border-color .15s,background .15s}.challenge-pick-summary-edit:hover{color:var(--text-primary);border-color:rgb(var(--accent-rgb) / .4);background:rgb(var(--accent-rgb) / .06)}.challenge-pick-tabs{border-bottom:1px solid #ffffff14;gap:.25rem;display:flex}.challenge-pick-tab{appearance:none;color:var(--text-muted);cursor:pointer;font-family:var(--font-heading);letter-spacing:.14em;text-transform:uppercase;background:0 0;border:none;border-bottom:2px solid #0000;margin-bottom:-1px;padding:.55rem .9rem;font-size:.7rem;font-weight:600;transition:color .15s,border-color .15s}.challenge-pick-tab:hover{color:var(--text-primary)}.challenge-pick-tab.active{color:var(--accent);border-bottom-color:var(--accent)}.challenge-pick-body{min-height:200px}.challenge-pick-empty{text-align:center;color:var(--text-muted);padding:1.5rem 1rem;font-size:.85rem;font-style:italic}.challenge-link-intro{text-align:center;color:var(--text-secondary);padding:1rem .5rem;font-size:.85rem;line-height:1.5}.challenge-link-intro p{margin:0}.challenge-friend-list{flex-direction:column;gap:.4rem;max-height:340px;margin:0;padding:0;list-style:none;display:flex;overflow-y:auto}.challenge-friend-row{background:#ffffff06;border:1px solid #ffffff0f;border-radius:3px;align-items:center;gap:.75rem;padding:.55rem .75rem;transition:background .15s,border-color .15s;display:flex}.challenge-friend-row:hover{background:rgb(var(--accent-rgb) / .04);border-color:rgb(var(--accent-rgb) / .2)}.challenge-friend-avatar{object-fit:cover;border-radius:3px;flex-shrink:0;width:32px;height:32px}.challenge-friend-avatar--placeholder{background:rgb(var(--accent-rgb) / .1);color:var(--accent);font-family:var(--font-heading);justify-content:center;align-items:center;font-size:.85rem;font-weight:700;display:flex}.challenge-friend-info{flex-direction:column;flex:1;gap:.1rem;min-width:0;display:flex}.challenge-friend-name{font-family:var(--font-heading);letter-spacing:.04em;color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;font-size:.82rem;font-weight:600;overflow:hidden}.challenge-friend-meta{font-family:var(--font-mono);letter-spacing:.06em;color:var(--text-muted);font-size:.65rem}.challenge-friend-action{flex-shrink:0;align-items:center;gap:.3rem;display:inline-flex}.challenge-friend-btn{appearance:none;color:var(--text-secondary);font-family:var(--font-heading);letter-spacing:.14em;text-transform:uppercase;cursor:pointer;background:#ffffff08;border:1px solid #ffffff1a;border-radius:3px;padding:.4rem .75rem;font-size:.65rem;font-weight:600;transition:color .15s,border-color .15s,background .15s,transform .1s}.challenge-friend-btn:hover:not(:disabled){color:var(--text-primary);border-color:rgb(var(--accent-rgb) / .4);background:rgb(var(--accent-rgb) / .06)}.challenge-friend-btn:disabled{opacity:.55;cursor:not-allowed}.challenge-friend-btn--primary{background:rgb(var(--accent-alt-rgb) / .12);border-color:rgb(var(--accent-alt-rgb) / .45);color:var(--text-primary)}.challenge-friend-btn--primary:hover:not(:disabled){background:rgb(var(--accent-alt-rgb) / .22);border-color:rgb(var(--accent-alt-rgb) / .7);color:#fff}.challenge-friend-sent{font-family:var(--font-heading);letter-spacing:.14em;text-transform:uppercase;color:#4ade80;background:#4ade8014;border:1px solid #4ade804d;border-radius:3px;padding:.35rem .55rem;font-size:.65rem;font-weight:600}.challenge-friend-row--here{background:rgb(var(--accent-rgb) / .06);border-color:rgb(var(--accent-rgb) / .3)}.challenge-friend-row--here .challenge-friend-meta{color:var(--accent)}.challenge-native-invites{flex-direction:column;gap:.5rem;margin-bottom:.3rem;display:flex}.challenge-native-invite{width:100%;font-family:var(--font-heading);letter-spacing:.06em;text-align:left;color:var(--text-primary);background:rgb(var(--accent-rgb) / .05);border:1px solid rgb(var(--accent-rgb) / .25);cursor:pointer;border-radius:3px;align-items:center;gap:.7rem;padding:.7rem .85rem;font-size:.78rem;font-weight:600;transition:border-color .15s,background .15s;display:flex}.challenge-native-invite:hover{background:rgb(var(--accent-rgb) / .11);border-color:rgb(var(--accent-rgb) / .5)}.challenge-native-invite i{color:var(--accent);flex-shrink:0;font-size:1.05rem}.challenge-native-invite.is-active{background:#4ade8014;border-color:#4ade8066}.challenge-native-invite.is-active i{color:#4ade80}.discord-join-request{z-index:1200;animation:.2s ease-out discord-join-in;position:fixed;bottom:1rem;right:1rem}@keyframes discord-join-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.discord-join-card{background:var(--bg-elevated,#0c101cf7);border:1px solid #5865f280;border-radius:4px;align-items:center;gap:.7rem;max-width:min(360px,100vw - 2rem);padding:.7rem .85rem;display:flex;box-shadow:0 8px 28px #00000073}.discord-join-avatar{object-fit:cover;border-radius:50%;flex-shrink:0;width:34px;height:34px}.discord-join-avatar--placeholder{font-family:var(--font-heading);color:var(--text-primary);background:#5865f240;justify-content:center;align-items:center;font-size:.85rem;font-weight:700;display:flex}.discord-join-info{flex-direction:column;flex:1;min-width:0;display:flex}.discord-join-name{font-family:var(--font-heading);color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;font-size:.8rem;font-weight:600;overflow:hidden}.discord-join-meta{color:var(--text-muted);font-size:.7rem}.discord-join-actions{flex-shrink:0;gap:.4rem;display:flex}.challenge-link-result{flex-direction:column;gap:.6rem;display:flex}.challenge-link-help{color:var(--text-muted);text-align:center;margin:0 0 .2rem;font-size:.78rem}.challenge-link-expiry{color:var(--text-muted);text-align:center;font-variant-numeric:tabular-nums;margin:.2rem 0 0;font-size:.78rem}.challenge-link-code{background:rgb(var(--accent-rgb) / .04);border:1px solid rgb(var(--accent-rgb) / .18);border-radius:3px;align-items:center;gap:.6rem;padding:.55rem .7rem;display:flex}.challenge-link-label{font-family:var(--font-heading);letter-spacing:.16em;text-transform:uppercase;color:var(--text-muted);flex-shrink:0;width:38px;font-size:.6rem;font-weight:600}.challenge-link-value{min-width:0;font-family:var(--font-mono);color:var(--accent);letter-spacing:.08em;text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:.9rem;overflow:hidden}.challenge-link-value--url{letter-spacing:.02em;font-size:.75rem}.challenge-overlay-cta{margin-top:.25rem;display:flex}.challenge-cta{width:100%;min-height:56px}.challenge-pick-footer{justify-content:center;margin-top:.6rem;display:flex}.setup-actions{justify-content:flex-end;gap:.5rem;margin-top:1rem;display:flex}.waiting-room-share{justify-content:center;margin-top:.75rem;display:flex}.waiting-room-share-btn{align-items:center;gap:.45rem;min-height:40px;padding:.5rem .9rem;font-size:.78rem;display:inline-flex}.waiting-host-settings--guest:has(.waiting-terms){text-align:left}.waiting-terms{flex-direction:column;gap:.55rem;margin:0;display:flex}.waiting-terms-row{grid-template-columns:5.5rem 1fr;align-items:baseline;gap:.75rem;display:grid}.waiting-terms-key{font-family:var(--font-heading);letter-spacing:.14em;text-transform:uppercase;color:var(--text-muted);margin:0;font-size:.7rem;font-weight:600}.waiting-terms-value{flex-wrap:wrap;align-items:baseline;gap:.5rem;margin:0;display:flex}.waiting-terms-note{color:var(--text-muted);font-size:.75rem;line-height:1.4}.waiting-setting-link{color:var(--accent);text-underline-offset:2px;text-decoration:underline}.waiting-setting-link:hover{color:var(--text-primary)}.waiting-guest-hint--syncing{align-items:center;gap:.55rem;display:flex}.waiting-room-spectators{color:var(--text-muted);align-items:center;gap:.45rem;margin:.6rem 0 0;font-size:.75rem;display:flex}.waiting-time-strip .time-strip-group{grid-template-columns:4.5rem 1fr;gap:.6rem}.time-strip-custom{margin-left:5.1rem}.time-strip-custom-hint{color:var(--text-muted);margin:.35rem 0 0 5.1rem;font-size:.72rem;line-height:1.45}.waiting-start-beat{z-index:60;background:rgb(var(--bg-primary-rgb) / .92);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);place-items:center;animation:.18s ease-out waiting-start-fade;display:grid;position:fixed;inset:0}.waiting-start-beat-inner{text-align:center;flex-direction:column;align-items:center;gap:.6rem;padding:0 1.5rem;display:flex}.waiting-start-beat-label{font-family:var(--font-heading);letter-spacing:.28em;text-transform:uppercase;color:var(--accent);font-size:.75rem;font-weight:600}.waiting-start-beat-names{font-family:var(--font-heading);color:var(--text-primary);font-size:clamp(1.4rem,5vw,2rem)}.waiting-start-beat-sub{font-family:var(--font-mono);color:var(--text-muted);font-size:.8rem}@keyframes waiting-start-fade{0%{opacity:0}to{opacity:1}}.waiting-room-status.is-reconnecting,.waiting-room-status.is-error{color:#fca5a5;border-color:#ef444459}@media (width<=640px){.waiting-terms-row{grid-template-columns:4.5rem 1fr;gap:.6rem}.time-strip-custom,.time-strip-custom-hint{margin-left:0}}.changelog-overlay{z-index:var(--z-modal);justify-content:center;align-items:center;animation:.2s fade-in;display:flex;position:fixed;inset:0}.changelog-overlay.hidden{display:none}.changelog-backdrop{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#050810bf;position:absolute;inset:0}.changelog-panel{background:var(--bg-secondary);border:1px solid rgb(var(--accent-rgb) / .1);width:90%;max-width:520px;max-height:80vh;box-shadow:0 24px 64px #0009, 0 0 40px rgb(var(--accent-rgb) / .04);clip-path:var(--clip-corner);border-radius:2px;flex-direction:column;animation:.3s fade-up;display:flex;position:relative}.changelog-header{border-bottom:1px solid var(--border);flex-shrink:0;justify-content:space-between;align-items:flex-start;padding:24px 28px 16px;display:flex}.changelog-title{font-family:var(--font-heading);margin:0;font-size:18px;font-weight:700}.changelog-subtitle{color:var(--text-muted);margin:4px 0 0;font-size:12px}.changelog-close{color:var(--text-muted);cursor:pointer;transition:color var(--duration-fast) ease;background:0 0;border:none;padding:4px 8px;font-size:18px;line-height:1}.changelog-close:hover{color:var(--text-primary)}.changelog-content{flex-direction:column;flex:1;gap:16px;padding:20px 28px 28px;display:flex;overflow-y:auto}.changelog-intro{color:var(--text-secondary);margin:0;font-size:13px;line-height:1.5}.changelog-empty{color:var(--text-muted);margin:0;font-size:13px}.changelog-entry{border:1px solid var(--border);background:#ffffff05;border-radius:2px;padding:16px 20px}.changelog-entry-header{justify-content:space-between;align-items:flex-start;margin-bottom:12px;display:flex}.changelog-entry-title{font-family:var(--font-heading);margin:0;font-size:14px;font-weight:700}.changelog-entry-date{color:var(--text-muted);margin:2px 0 0;font-size:11px}.changelog-badge{font-size:10px;font-family:var(--font-mono);color:var(--accent,#00e5ff);background:rgb(var(--accent-rgb) / .08);border:1px solid rgb(var(--accent-rgb) / .15);text-transform:uppercase;letter-spacing:.08em;white-space:nowrap;border-radius:2px;padding:2px 8px;font-weight:600}.changelog-entry-list{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.changelog-item h5{font-family:var(--font-heading);color:var(--text-primary);margin:0;font-size:12px;font-weight:600}.changelog-item p{color:var(--text-secondary);margin:2px 0 0;font-size:12px;line-height:1.5}.changelog-item--heading{margin-top:6px}.changelog-item--heading h5{color:var(--text-muted);text-transform:uppercase;letter-spacing:.1em;font-size:10px}.changelog-item--bullet{padding-left:14px;position:relative}.changelog-item--bullet:before{content:"•";color:var(--text-muted);font-size:12px;position:absolute;left:2px}.changelog-notes{color:var(--text-muted);border-left:2px solid var(--border);margin:12px 0 0;padding-left:12px;font-size:12px;font-style:italic;line-height:1.5}.auth-screen{background:var(--bg-primary);max-width:none;min-height:100dvh;color:var(--text-primary);font-family:var(--font-body);flex-direction:column;margin:0;padding:0;display:flex}.auth-profile{flex-direction:column;gap:1.5rem;display:flex}.auth-profile-body{width:100%;max-width:640px;padding:1rem 1rem 0;padding-bottom:var(--screen-bottom-gap);box-sizing:border-box;flex-direction:column;gap:1rem;margin:0 auto;display:flex}.badge-wear-row{align-items:center;gap:12px;display:flex}.badge-wear-row>.qc-badge{flex:none}.badge-wear-text{flex:1;min-width:0}.badge-wear-none{text-align:center;width:34px;color:var(--text-muted);flex:none;font-weight:600}.btn-topbar--danger{color:var(--text-muted);cursor:pointer;background:0 0;border:none;font-size:.8rem}.btn-topbar--danger:hover{color:#ef4444}.profile-header{align-items:center;gap:1rem;display:flex}.profile-header h2{margin:0;font-size:1.4rem}.profile-email{color:var(--text-muted);margin:0;font-size:.85rem}.profile-avatar{object-fit:cover;border-radius:50%;flex-shrink:0;width:56px;height:56px}.profile-stats{grid-template-columns:repeat(5,1fr);gap:.5rem;display:grid}.profile-stats .stat{background:var(--bg-tertiary);border:1px solid var(--border,#333);border-radius:6px;flex-direction:column;align-items:center;padding:.5rem;display:flex}.profile-stats .stat-value{font-size:1.1rem;font-weight:700}.profile-stats .stat-label{text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);margin-top:.2rem;font-size:.7rem}.profile-games h3{margin:0 0 .75rem;font-size:1rem}.game-list{flex-direction:column;gap:.5rem;display:flex}.game-row{background:var(--bg-tertiary);border:1px solid var(--border,#333);border-left:2px solid #0000;border-radius:4px;align-items:center;gap:.75rem;padding:.6rem .75rem;font-size:.85rem;transition:background .12s,border-color .12s;display:flex}.game-mode{min-width:60px;font-weight:600}.game-time-control{min-width:48px;color:var(--text-secondary);font-size:.8rem;font-weight:600}.game-result{min-width:80px;font-weight:600}.game-result--decisive{color:var(--text-primary)}.game-result--draw{color:var(--text-muted)}.game-moves,.game-quantum{color:var(--text-muted);font-size:.8rem}.game-date{color:var(--text-muted);margin-left:auto;font-size:.8rem}.auth-form{text-align:center;max-width:320px;margin:4rem auto 0}.auth-subtitle{color:var(--text-muted);margin:.5rem 0 1.5rem;font-size:.9rem}.auth-form .btn{width:100%;margin-bottom:.5rem;display:block}.auth-error{color:#fca5a5;text-align:center;background:#dc262626;border:1px solid #dc262666;border-radius:8px;margin-bottom:1rem;padding:.6rem .8rem;font-size:.85rem}.auth-form .btn:disabled{opacity:.6;cursor:not-allowed}.payment-past-due-banner{color:var(--text-primary);background:#ef44441a;border:1px solid #ef444480;border-radius:8px;align-items:center;gap:.75rem;margin-bottom:.75rem;padding:.75rem 1rem;display:flex}.payment-past-due-text{flex-direction:column;flex:1;gap:.15rem;font-size:.85rem;display:flex}.payment-past-due-text strong{color:#fca5a5}.steam-dispute-card{color:var(--text-primary);background:#fb923c14;border:1px solid #fb923c80;border-radius:10px;flex-direction:column;gap:.5rem;margin-bottom:.75rem;padding:1rem 1.15rem;display:flex}.steam-dispute-title{color:#fdba74;margin:0;font-size:1rem}.steam-dispute-body{color:var(--text-secondary,#ccc);margin:0;font-size:.9rem;line-height:1.45}.steam-dispute-deadline{color:var(--text-muted,#888);margin:0;font-size:.85rem}.steam-dispute-actions{flex-wrap:wrap;gap:.5rem;margin-top:.4rem;display:flex}.steam-dispute-help{color:var(--text-muted,#888);margin:.4rem 0 0;font-size:.8rem}.steam-dispute-help a{color:var(--accent)}.profile-subscription-card{background:rgb(var(--bg-secondary-rgb) / .7);-webkit-backdrop-filter:blur(12px);border:1px solid #ffffff0f;border-left:2px solid rgb(var(--accent-rgb) / .4);clip-path:var(--clip-corner-sm);flex-direction:column;gap:12px;padding:12px 14px;display:flex;position:relative}.profile-subscription-card--active{border-left-color:rgb(var(--accent-alt-rgb) / .55);background:#140a16b3}.profile-subscription-card--activating{opacity:.85;border-left-color:#a882ff66}.profile-subscription-card--active,.profile-subscription-card--activating{flex-flow:wrap;align-items:center;gap:10px}.profile-subscription-card--active .subscription-expiry,.profile-subscription-card--activating .subscription-source{flex:1;min-width:0}.account-choice-overlay{z-index:9999;background:#000000d9;justify-content:center;align-items:center;padding:1.5rem;display:flex;position:fixed;inset:0}.account-choice-card{background:var(--bg-tertiary);border:1px solid var(--border,#333);width:100%;max-width:460px;color:var(--text-primary);border-radius:12px;flex-direction:column;gap:.85rem;padding:1.75rem;display:flex}.account-choice-card h2{margin:0;font-size:1.25rem}.account-choice-card p{color:var(--text-secondary,#ccc);margin:0;font-size:.95rem;line-height:1.4}.account-choice-actions{flex-direction:column;gap:.5rem;margin-top:.5rem;display:flex}.account-choice-status{color:var(--text-muted,#888);font-size:.85rem}.subscription-badge{font-family:var(--font-heading);text-transform:uppercase;letter-spacing:.16em;background:var(--brand-gradient);color:var(--on-brand);clip-path:var(--clip-corner-sm);white-space:nowrap;flex-shrink:0;align-items:center;padding:4px 8px;font-size:10px;font-weight:700;display:inline-flex}.subscription-badge--free{color:var(--text-muted);background:#ffffff0f;border:1px solid #ffffff14}.subscription-card-headline{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.subscription-headline-text{min-width:0;font-family:var(--font-heading);letter-spacing:.04em;color:var(--text-primary);flex:1;font-size:13px;font-weight:500}.subscription-headline-accent{background:var(--brand-gradient);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;font-weight:700}.subscription-source{color:var(--text-secondary,#ccc);font-size:.78rem}.subscription-expiry{font-family:var(--font-heading);letter-spacing:.08em;text-transform:uppercase;color:var(--text-secondary);font-size:11px}.subscription-trial-notice{color:var(--accent-orange);background:rgb(var(--accent-orange-rgb) / .08);border-left:2px solid var(--accent-orange);width:100%;padding:6px 10px;font-size:.7rem}.subscription-steam-bundle-notice{width:100%;color:var(--accent);background:rgb(var(--accent-rgb) / .08);border-left:2px solid var(--accent);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;padding:8px 10px;font-size:.75rem;display:flex}.subscription-steam-bundle-notice span{flex:180px}.subscription-upgrade-actions{grid-template-columns:1fr 1fr;gap:8px;padding-top:8px;display:grid}.subscription-plan-wrap{display:flex;position:relative}.subscription-plan-btn{color:var(--text-primary);font-family:var(--font-heading);cursor:pointer;clip-path:var(--clip-corner-sm);background:#ffffff08;border:1px solid #ffffff14;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:1px;padding:8px 10px;transition:transform .1s,background .15s,border-color .15s,box-shadow .2s;display:flex;position:relative}.subscription-plan-btn:hover:not(:disabled){border-color:rgb(var(--accent-rgb) / .35);box-shadow:0 0 16px rgb(var(--accent-rgb) / .12);background:#ffffff0f}.subscription-plan-btn:active:not(:disabled){transform:scale(.97)}.subscription-plan-btn:disabled{opacity:.5;cursor:not-allowed}.subscription-plan-btn--yearly{background:var(--brand-gradient);border-color:rgb(var(--accent-alt-rgb) / .45);color:var(--on-brand);box-shadow:0 4px 18px rgb(var(--accent-alt-rgb) / .22);background-size:180% 180%}.subscription-plan-btn--yearly:hover:not(:disabled){background:var(--brand-gradient);border-color:rgb(var(--accent-alt-rgb) / .65);box-shadow:0 6px 22px rgb(var(--accent-alt-rgb) / .32);background-size:180% 180%;animation:3s infinite brand-gradient-flow}.subscription-plan-label{letter-spacing:.14em;text-transform:uppercase;font-size:12px;font-weight:700}.subscription-plan-price{font-family:var(--font-mono);letter-spacing:.06em;color:var(--text-muted);font-size:10px}.subscription-plan-btn--yearly .subscription-plan-price{color:rgb(var(--on-brand-rgb) / .88)}.subscription-plan-tag{z-index:1;font-family:var(--font-mono);letter-spacing:.08em;background:var(--accent);color:#001218;text-transform:uppercase;box-shadow:0 2px 8px rgb(var(--accent-rgb) / .35);pointer-events:none;border-radius:2px;padding:2px 6px;font-size:9px;font-weight:700;position:absolute;top:-8px;right:8px}.auth-error{color:var(--danger);margin:0;font-size:.78rem}.subscription-info-btn{background:rgb(var(--accent-rgb) / .08);border:1px solid rgb(var(--accent-rgb) / .25);width:26px;height:26px;color:var(--accent);cursor:pointer;clip-path:var(--clip-corner-sm);flex-shrink:0;justify-content:center;align-items:center;margin-left:auto;font-size:12px;transition:background .15s,border-color .15s,color .15s,transform .1s;display:inline-flex}.subscription-info-btn:hover{background:rgb(var(--accent-rgb) / .16);border-color:rgb(var(--accent-rgb) / .5);color:var(--accent-hover)}.subscription-info-btn:active{transform:scale(.92)}.premium-benefits-list{flex-direction:column;gap:.75rem;margin:0 0 1rem;padding:0;list-style:none;display:flex}.premium-benefits-list li{color:var(--text-primary);align-items:flex-start;gap:12px;font-size:.9rem;line-height:1.45;display:flex}.premium-benefits-list li i{text-align:center;width:22px;color:var(--accent);flex-shrink:0;margin-top:2px;font-size:14px}.premium-benefits-list strong{color:var(--text-primary);font-weight:600}.premium-benefits-trial{color:var(--text-secondary);background:rgb(var(--accent-rgb) / .06);border-left:2px solid rgb(var(--accent-rgb) / .4);margin:0;padding:10px 12px;font-size:.82rem}.premium-gate-modal{text-align:center;flex-direction:column;align-items:center;gap:.75rem;padding:.25rem 0 .5rem;display:flex}.premium-gate-icon{color:var(--accent);margin-bottom:.25rem;font-size:2.25rem}.premium-gate-description{color:var(--text-primary);margin:0;font-size:.95rem;line-height:1.5}.premium-gate-trial{width:100%;color:var(--text-secondary);background:rgb(var(--accent-rgb) / .06);border-left:2px solid rgb(var(--accent-rgb) / .4);text-align:left;margin:.25rem 0 0;padding:10px 12px;font-size:.82rem}.profile-linked-accounts{flex-direction:column;gap:.5rem;display:flex}.profile-linked-accounts h3{margin:0;font-size:.95rem}.linked-accounts-list{flex-direction:column;gap:.4rem;display:flex}.linked-account-row{background:var(--bg-tertiary);border:1px solid var(--border,#333);border-radius:6px;justify-content:space-between;align-items:center;padding:.6rem .75rem;font-size:.85rem;display:flex}.linked-account-platform{font-weight:600}.linked-account-status--linked{color:#4ade80;font-size:.8rem}.btn-sm{padding:.3rem .6rem;font-size:.78rem}.link-confirm-account{border:1px solid var(--border,#333);background:var(--bg-tertiary);text-align:center;border-radius:8px;margin:1rem 0;padding:.75rem 1rem}.link-confirm-account strong{margin-bottom:.25rem;font-size:1.1rem;display:block}.link-confirm-email{color:var(--text-muted,#888);align-items:center;gap:.25rem;font-size:.85rem;display:inline-flex}.btn-reveal-email{cursor:pointer;color:var(--text-primary,#eee);opacity:.7;vertical-align:middle;background:0 0;border:none;padding:.15rem .3rem;font-size:.85rem;line-height:1}.btn-reveal-email:hover{opacity:1}.btn-reveal-email i{pointer-events:none}.profile-footer{border-top:1px solid #ffffff0a;flex-wrap:wrap;justify-content:center;align-items:center;gap:1rem;margin-top:1rem;padding:2rem 0 1rem;display:flex}@media (width<=480px){.profile-footer{gap:.6rem;padding-top:1.25rem}}.account-choice-warning{color:var(--accent-orange);background:rgb(var(--accent-orange-rgb) / .08);border-left:2px solid var(--accent-orange);text-align:left;padding:8px 10px;font-size:.8rem}.subscription-comp-grant-notice{width:100%;color:var(--accent);background:rgb(var(--accent-rgb) / .08);border-left:2px solid var(--accent);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;margin-bottom:10px;padding:8px 10px;font-size:.75rem;display:flex}.subscription-comp-grant-notice span{flex:200px}.subscription-dunning-notice{width:100%;color:var(--text-primary);background:#ef44441a;border-left:2px solid #ef444480;align-items:center;gap:8px;margin-bottom:10px;padding:8px 10px;font-size:.75rem;display:flex}.subscription-dunning-notice span{flex:auto}.subscription-upgrade-actions--superseded{opacity:.55}.premium-gate-signin{width:100%;color:var(--text-muted);text-align:left;margin:.5rem 0 0;font-size:.82rem}.auth-legal-consent{color:var(--text-muted);text-align:center;margin:14px 0 0;font-size:12px}.auth-legal-consent a{color:var(--text-secondary);text-decoration:underline}.leaderboard-screen{background:var(--bg-primary);min-height:100dvh;color:var(--text-primary);font-family:var(--font-body);flex-direction:column;display:flex}.leaderboard-body{flex-direction:column;flex:1;gap:24px;width:100%;max-width:880px;margin:0 auto;padding:24px 36px 56px;display:flex}.leaderboard-loading,.leaderboard-empty{text-align:center;color:var(--text-muted);letter-spacing:.04em;padding:48px 0;font-size:.9rem}.lb-category-strip{grid-template-columns:repeat(4,1fr);gap:8px;display:grid}.lb-cat-chip{color:var(--text-secondary);font-family:var(--font-heading);letter-spacing:.14em;text-transform:uppercase;cursor:pointer;background:#ffffff06;border:1px solid #ffffff14;border-radius:3px;justify-content:center;align-items:center;gap:.5rem;padding:.7rem .6rem;font-size:.72rem;font-weight:600;transition:background .15s,border-color .15s,color .15s,box-shadow .2s;display:inline-flex;position:relative}.lb-cat-chip:hover{color:var(--text-primary);background:#ffffff0f;border-color:#ffffff2e}.lb-cat-chip-icon{opacity:.9;font-size:.95em}.lb-cat-chip--bullet.is-active{border-color:rgb(var(--accent-orange-rgb) / .65);color:var(--accent-orange);background:rgb(var(--accent-orange-rgb) / .09);box-shadow:0 0 16px rgb(var(--accent-orange-rgb) / .2)}.lb-cat-chip--blitz.is-active{border-color:rgb(var(--accent-alt-rgb) / .65);color:var(--accent-alt);background:rgb(var(--accent-alt-rgb) / .09);box-shadow:0 0 16px rgb(var(--accent-alt-rgb) / .2)}.lb-cat-chip--rapid.is-active{border-color:rgb(var(--accent-rgb) / .65);color:var(--accent);background:rgb(var(--accent-rgb) / .09);box-shadow:0 0 16px rgb(var(--accent-rgb) / .2)}.lb-cat-chip--correspondence.is-active{border-color:rgb(var(--accent-rgb) / .4);color:var(--accent);background:rgb(var(--accent-rgb) / .05);box-shadow:0 0 12px rgb(var(--accent-rgb) / .12)}.lb-hero-card{background:rgb(var(--bg-secondary-rgb) / .85);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);clip-path:var(--clip-corner);border:1px solid #ffffff14;border-radius:2px;padding:22px 24px 18px;position:relative;overflow:hidden}.lb-hero-card:after{content:"";pointer-events:none;border-top:2px solid #0000;border-left:2px solid #0000;width:24px;height:24px;transition:border-color .3s;position:absolute;top:0;left:0}.lb-hero-card-bg{pointer-events:none;opacity:.85;position:absolute;inset:0}.lb-hero-card--bullet{border-color:rgb(var(--accent-orange-rgb) / .25);border-left:3px solid rgb(var(--accent-orange-rgb) / .7)}.lb-hero-card--bullet:after{border-left-color:rgb(var(--accent-orange-rgb) / .5);border-top-color:rgb(var(--accent-orange-rgb) / .5)}.lb-hero-card--bullet .lb-hero-card-bg{background:linear-gradient(135deg, rgb(var(--accent-orange-rgb) / .1) 0%, rgb(var(--accent-alt-rgb) / .04) 50%, transparent 80%)}.lb-hero-card--blitz{border-color:rgb(var(--accent-alt-rgb) / .25);border-left:3px solid rgb(var(--accent-alt-rgb) / .7)}.lb-hero-card--blitz:after{border-left-color:rgb(var(--accent-alt-rgb) / .5);border-top-color:rgb(var(--accent-alt-rgb) / .5)}.lb-hero-card--blitz .lb-hero-card-bg{background:linear-gradient(135deg, rgb(var(--accent-alt-rgb) / .12) 0%, rgb(var(--accent-orange-rgb) / .05) 50%, transparent 80%)}.lb-hero-card--rapid{border-color:rgb(var(--accent-rgb) / .25);border-left:3px solid rgb(var(--accent-rgb) / .7)}.lb-hero-card--rapid:after{border-left-color:rgb(var(--accent-rgb) / .5);border-top-color:rgb(var(--accent-rgb) / .5)}.lb-hero-card--rapid .lb-hero-card-bg{background:linear-gradient(135deg, rgb(var(--accent-rgb) / .1) 0%, rgb(var(--accent-rgb) / .03) 50%, transparent 80%)}.lb-hero-card--correspondence{border-color:rgb(var(--accent-rgb) / .18);border-left:3px solid rgb(var(--accent-rgb) / .4)}.lb-hero-card--correspondence:after{border-left-color:rgb(var(--accent-rgb) / .32);border-top-color:rgb(var(--accent-rgb) / .32)}.lb-hero-card--correspondence .lb-hero-card-bg{background:linear-gradient(135deg, rgb(var(--accent-rgb) / .06) 0%, transparent 70%)}.lb-hero-head{z-index:1;border-bottom:1px solid #ffffff0f;flex-direction:column;gap:4px;margin-bottom:18px;padding-bottom:16px;display:flex;position:relative}.lb-hero-eyebrow{font-family:var(--font-heading);letter-spacing:.16em;text-transform:uppercase;align-items:center;gap:.55rem;font-size:.78rem;font-weight:600;display:inline-flex}.lb-hero-card--bullet .lb-hero-eyebrow{color:var(--accent-orange)}.lb-hero-card--blitz .lb-hero-eyebrow{color:var(--accent-alt)}.lb-hero-card--rapid .lb-hero-eyebrow,.lb-hero-card--correspondence .lb-hero-eyebrow{color:var(--accent)}.lb-hero-eyebrow-icon{opacity:.95;font-size:1em}.lb-hero-tagline{color:var(--text-muted);letter-spacing:.02em;margin:0;font-size:.82rem;font-weight:300}.lb-hero-body{z-index:1;flex-direction:column;gap:18px;display:flex;position:relative}.lb-podium{grid-template-columns:1fr;gap:10px;display:grid}@media (width>=640px){.lb-podium--count-2{grid-template-columns:1fr 1fr}.lb-podium--count-3{grid-template-columns:1.1fr 1fr 1fr}}.lb-podium-card{clip-path:var(--clip-corner-sm);color:inherit;cursor:pointer;background:#ffffff06;border:1px solid #ffffff14;border-radius:2px;grid-template-columns:auto 40px 1fr auto;align-items:center;gap:12px;padding:14px 16px;text-decoration:none;transition:transform .2s,border-color .2s,background .2s,box-shadow .25s;display:grid;position:relative;overflow:hidden}@media (width>=640px){.lb-podium-card{text-align:center;grid-template-rows:auto auto auto auto;grid-template-columns:1fr;justify-items:center;gap:8px;padding:18px 14px 16px}}.lb-podium-card:hover{background:#ffffff0a;transform:translateY(-2px)}.lb-podium-rank{font-family:var(--font-heading);letter-spacing:.1em;color:var(--text-muted);font-size:1.05rem;font-weight:700}@media (width>=640px){.lb-podium-rank{font-size:.95rem;position:absolute;top:10px;left:14px}}.lb-podium-avatar{object-fit:cover;border:1px solid #ffffff1f;border-radius:50%;width:40px;height:40px}@media (width>=640px){.lb-podium-avatar{width:56px;height:56px}}.lb-podium-avatar--placeholder{background:var(--bg-elevated);color:var(--text-secondary);font-family:var(--font-heading);letter-spacing:.04em;justify-content:center;align-items:center;font-weight:700;display:flex}.lb-podium-name{font-family:var(--font-heading);letter-spacing:.04em;color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:.95rem;font-weight:600;overflow:hidden}.lb-podium-rating{font-family:var(--font-mono);letter-spacing:.02em;color:var(--text-primary);font-size:1.4rem;font-weight:700;line-height:1}@media (width>=640px){.lb-podium-rating{margin-top:2px;font-size:2rem}}.lb-podium-meta{font-family:var(--font-mono);color:var(--text-muted);letter-spacing:.04em;align-items:center;gap:.4rem;font-size:.7rem;display:none}@media (width>=640px){.lb-podium-meta{display:inline-flex}}.lb-podium-meta-num{color:var(--text-secondary);font-weight:600}.lb-podium-meta-label{text-transform:uppercase;letter-spacing:.1em;font-size:.65rem}.lb-podium-meta-sep{background:#fff3;border-radius:50%;width:3px;height:3px}.lb-podium-card--gold{border-color:rgb(var(--accent-gold-rgb) / .4);background:linear-gradient(135deg, rgb(var(--accent-gold-rgb) / .08), rgb(var(--accent-orange-rgb) / .04) 60%, transparent);box-shadow:0 0 24px rgb(var(--accent-gold-rgb) / .1)}.lb-podium-card--gold:hover{border-color:rgb(var(--accent-gold-rgb) / .7);box-shadow:0 0 32px rgb(var(--accent-gold-rgb) / .18)}.lb-podium-card--gold .lb-podium-rank{color:var(--accent-gold)}.lb-podium-card--gold .lb-podium-rating{background:var(--brand-gradient-wide,var(--brand-gradient));-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.lb-podium-card--gold .lb-podium-avatar{border-color:rgb(var(--accent-gold-rgb) / .5);box-shadow:0 0 12px rgb(var(--accent-gold-rgb) / .2)}.lb-podium-card--silver{background:linear-gradient(135deg,#dcdce80f,#0000 70%);border-color:#dcdce838}.lb-podium-card--silver:hover{border-color:#dcdce873;box-shadow:0 0 22px #dcdce81a}.lb-podium-card--silver .lb-podium-rank{color:#d6d6e0}.lb-podium-card--silver .lb-podium-rating{color:#ececf2}.lb-podium-card--silver .lb-podium-avatar{border-color:#dcdce859}.lb-podium-card--bronze{background:linear-gradient(135deg,#cd7f3212,#0000 70%);border-color:#cd7f324d}.lb-podium-card--bronze:hover{border-color:#cd7f328c;box-shadow:0 0 22px #cd7f3224}.lb-podium-card--bronze .lb-podium-rank{color:#cd7f32}.lb-podium-card--bronze .lb-podium-rating{color:#f3c69b}.lb-podium-card--bronze .lb-podium-avatar{border-color:#cd7f3273}.lb-podium-card.is-me{outline:1px solid rgb(var(--accent-rgb) / .4);outline-offset:-1px}.leaderboard-table{background:#ffffff0a;border:1px solid #ffffff0f;border-radius:2px;flex-direction:column;gap:1px;display:flex;overflow:hidden}.lb-header-row{color:var(--text-muted);font-family:var(--font-heading);text-transform:uppercase;letter-spacing:.16em;background:#0000004d;grid-template-columns:56px 1fr 84px 64px 110px;align-items:center;padding:10px 16px;font-size:.66rem;font-weight:600;display:grid}.lb-row{background:rgb(var(--bg-secondary-rgb) / .55);cursor:pointer;color:inherit;grid-template-columns:56px 1fr 84px 64px 110px;align-items:center;padding:10px 16px;text-decoration:none;transition:background .15s,box-shadow .15s;display:grid}.lb-row:hover{background:#ffffff0a}.lb-row--me{background:rgb(var(--accent-rgb) / .07);box-shadow:inset 2px 0 0 rgb(var(--accent-rgb) / .7)}.lb-row--me:hover{background:rgb(var(--accent-rgb) / .11)}.lb-rank{font-family:var(--font-mono);color:var(--text-muted);text-align:left;letter-spacing:.03em;font-size:.85rem}.lb-player{align-items:center;gap:10px;min-width:0;display:flex}.lb-avatar{object-fit:cover;border:1px solid #ffffff14;border-radius:50%;flex-shrink:0;width:28px;height:28px}.lb-avatar--placeholder{background:var(--bg-elevated);color:var(--text-secondary);font-size:.8rem;font-weight:600;font-family:var(--font-heading);justify-content:center;align-items:center;display:flex}.lb-username{text-overflow:ellipsis;white-space:nowrap;color:var(--text-primary);font-size:.9rem;font-weight:500;overflow:hidden}.lb-row:hover .lb-username{color:var(--accent)}.lb-you{color:var(--accent);font-size:.7rem;font-family:var(--font-mono);letter-spacing:.06em;margin-left:4px}.lb-rating{font-family:var(--font-mono);color:var(--text-primary);text-align:right;letter-spacing:.02em;font-size:1rem;font-weight:700}.lb-games{font-family:var(--font-mono);color:var(--text-muted);text-align:right;font-size:.85rem}.lb-wld{font-family:var(--font-mono);color:var(--text-secondary);text-align:right;justify-content:flex-end;align-items:center;gap:.25rem;font-size:.85rem;display:inline-flex}.lb-wld-w{color:#4ade80}.lb-wld-l{color:#f87171}.lb-wld-d{color:var(--text-muted)}.lb-wld-sep{color:#ffffff2e}.lb-header-row .lb-rating,.lb-header-row .lb-games,.lb-header-row .lb-wld{color:var(--text-muted);letter-spacing:.16em;font-size:.66rem;font-weight:600;font-family:var(--font-heading)}@media (width<=640px){.leaderboard-body{gap:16px;padding:16px 16px 40px}.lb-category-strip{grid-template-columns:repeat(4,1fr);gap:4px}.lb-cat-chip{letter-spacing:.1em;padding:.55rem .3rem;font-size:.62rem}.lb-cat-chip-icon{font-size:.85em}.lb-hero-card{padding:18px 16px 14px}.lb-header-row,.lb-row{grid-template-columns:36px 1fr 64px 90px;padding:9px 12px}.lb-games{display:none}}.public-profile-screen>.home-topbar,.auth-screen>.home-topbar,.puzzles-screen>.home-topbar{z-index:20;background:var(--bg-primary);position:sticky;top:0}.public-profile-screen{background:var(--bg-primary);min-height:100dvh;color:var(--text-primary);font-family:var(--font-body);flex-direction:column;display:flex}.public-profile-body{width:100%;max-width:640px;padding:1rem 1rem 0;padding-bottom:var(--screen-bottom-gap);box-sizing:border-box;flex-direction:column;gap:1rem;margin:0 auto;display:flex}@media (width>=900px){.public-profile-body{grid-template:"header header""ratings games""stats games""badges games""tournaments games"1fr/minmax(320px,380px) 1fr;align-items:start;column-gap:2rem;max-width:1080px;padding-top:1.5rem;display:grid}.public-profile-body>.profile-header{grid-area:header}.public-profile-body>.public-profile-ratings{grid-area:ratings;grid-template-columns:repeat(2,1fr);padding:0}.public-profile-body>.profile-stats{grid-area:stats}.public-profile-body>.profile-badges-section{grid-area:badges}.public-profile-body>.profile-tournaments-section{grid-area:tournaments}.public-profile-body>.profile-games-section{border-top:none;grid-area:games;padding-top:0}.public-profile-body .game-opponent-cell{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}}.public-profile-screen .profile-header{flex-wrap:wrap}.profile-account-actions{align-items:center;gap:.5rem;margin-left:auto;display:flex}.profile-account-actions .btn-topbar--danger{border:1px solid #ffffff14;padding:6px 14px;font-size:11px}.profile-account-actions .btn-topbar--danger:hover{color:#ef4444;background:#ef444414;border-color:#ef444480}@media (width<=520px){.profile-account-actions{width:100%;margin-left:0}}.public-profile-loading,.public-profile-not-found,.public-profile-no-games{text-align:center;color:var(--text-muted);padding:3rem 1rem;font-size:.95rem}.public-profile-not-found h2{color:var(--text-primary);margin:0 0 .5rem}.public-profile-badge{text-transform:uppercase;letter-spacing:.1em;vertical-align:middle;border-radius:3px;margin-left:.4rem;padding:.15em .5em;font-size:.65rem;font-weight:700;display:inline-block}.badge-free{background:var(--bg-elevated);color:var(--text-secondary);border:1px solid var(--text-muted)}.badge-premium{background:linear-gradient(135deg, var(--accent-gold), var(--accent-orange));color:#000}.public-profile-meta{color:var(--text-muted);margin:.2rem 0 0;font-size:.8rem}.public-profile-rating{background:var(--bg-elevated);border:1px solid var(--border,#333);border-radius:8px;flex-direction:column;align-items:center;gap:.2rem;padding:1rem;display:flex}.public-profile-rating-value{font-size:1.8rem;font-weight:800;font-family:var(--font-display,"Chakra Petch", sans-serif);background:var(--brand-gradient);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.public-profile-rating-label{text-transform:uppercase;letter-spacing:.1em;color:var(--text-muted);font-size:.7rem}.public-profile-rd{color:var(--text-secondary);margin-top:.25rem;font-size:.75rem}.public-profile-rd-tag{background:var(--bg-tertiary);color:var(--text-muted);border-radius:3px;margin-left:.3rem;padding:.1em .4em;font-size:.65rem}.public-profile-ratings{grid-template-columns:repeat(4,1fr);gap:.5rem;padding:0 .5rem;display:grid}.public-profile-rating-card{background:var(--bg-elevated);border:1px solid var(--border,#333);border-radius:8px;flex-direction:column;align-items:center;gap:.1rem;padding:.5rem .4rem;display:flex}.public-profile-rating-card--league{background:linear-gradient(180deg, #ffc45014, transparent 70%), var(--bg-elevated);border-color:#ffc45059;grid-column:1/-1}.public-profile-rating-card--league .rating-card-label,.public-profile-rating-card--league .rating-card-label i{color:#ffd278e6}.public-profile-rating-card--league .public-profile-rating-value{color:#ffd278f2}.rating-card-label{text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);font-size:.7rem}.rating-card-games{color:var(--text-secondary);font-size:.65rem}.rating-card-casual{color:var(--text-muted);font-size:.65rem}.public-profile-rating-value--unrated{-webkit-text-fill-color:var(--text-muted);color:var(--text-muted);background:0 0;font-weight:600}.profile-badges-section{border-top:1px solid var(--border,#333);padding-top:.75rem}.profile-badges-head{justify-content:space-between;align-items:baseline;gap:.5rem;display:flex}.profile-badges-section h3{text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);margin:0 0 .5rem;font-size:.85rem}.profile-badges-catalog-btn{color:var(--text-muted);padding:.15rem .5rem;font-size:.7rem}.profile-badges-catalog-btn:hover{color:var(--text-primary)}.profile-badges-empty{color:var(--text-muted);margin:0;font-size:.8rem}.profile-tournaments-section{border-top:1px solid var(--border,#333);padding-top:.75rem}.profile-tournaments-section h3{text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);margin:0 0 .5rem;font-size:.85rem}.profile-stats.profile-tournament-stats{grid-template-columns:repeat(auto-fit,minmax(62px,1fr));margin-bottom:.6rem}.tournament-history-list{flex-direction:column;gap:.35rem;display:flex}.tournament-history-row{background:var(--bg-tertiary);border:1px solid var(--border,#333);border-radius:var(--radius-sm,6px);cursor:pointer;transition:border-color var(--duration-fast,.15s), background var(--duration-fast,.15s);flex-direction:column;gap:.25rem;padding:.5rem .6rem;display:flex}.tournament-history-row:hover,.tournament-history-row:focus-visible{background:var(--bg-elevated,var(--bg-tertiary));border-color:rgb(var(--accent-rgb) / .5)}.tournament-history-head{justify-content:space-between;align-items:baseline;gap:.5rem;display:flex}.tournament-history-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--text-primary);font-size:.85rem;font-weight:600;overflow:hidden}.tournament-history-trophy{color:var(--accent-gold);margin-right:.3rem;font-size:.7rem}.tournament-history-place{color:var(--text-secondary);white-space:nowrap;flex-shrink:0;font-size:.75rem}.tournament-history-place--winner{color:var(--accent-gold);font-weight:700}.tournament-history-place--live{color:var(--accent)}.tournament-history-meta{color:var(--text-muted);align-items:baseline;gap:.5rem;font-size:.7rem;display:flex}.tournament-history-score{font-variant-numeric:tabular-nums;margin-left:auto}.profile-tournaments-empty{color:var(--text-muted);flex-wrap:wrap;align-items:center;gap:.75rem;font-size:.8rem;display:flex}.profile-tournaments-empty p{margin:0}.profile-games-section{border-top:1px solid var(--border,#333);flex-direction:column;padding-top:.75rem;display:flex;position:relative}.profile-games-section h3{text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);flex-shrink:0;margin:0 0 .5rem;font-size:.85rem}.profile-game-tabs{flex-shrink:0;gap:.25rem;margin-bottom:.5rem;display:flex}.profile-game-tab{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;border-radius:0;flex:1;padding:.5rem .4rem .4rem;font-size:.8rem;transition:color .15s,border-color .15s}.profile-game-tab:hover{color:var(--text-primary)}.profile-game-tab--active{color:var(--text-primary);border-bottom-color:var(--brand-accent,#7c6aef)}.profile-game-tab-count{opacity:.6;font-size:.7rem}.profile-games-section .game-list{flex-direction:column;display:flex}.profile-games-empty{color:var(--text-muted);justify-content:center;align-items:center;padding:2rem 1rem;font-size:.85rem;display:flex}@media (width<=600px){.public-profile-ratings{grid-template-columns:repeat(2,1fr);gap:.4rem;padding:0}.public-profile-rd{display:none}.public-profile-rating-value{font-size:1.4rem}.profile-stats{grid-template-columns:repeat(3,1fr);gap:.35rem}.profile-stats .stat{padding:.4rem .25rem}.profile-stats .stat-value{font-size:.95rem}.profile-stats .stat-label{font-size:.6rem}.profile-game-tabs{gap:.2rem}.profile-game-tab{padding:.4rem .3rem .35rem;font-size:.75rem}.game-row{gap:.5rem;padding:.5rem .6rem;font-size:.8rem}.profile-header h2{font-size:1.1rem}.profile-avatar{width:44px;height:44px}}.profile-avatar-placeholder{background:var(--bg-elevated);border:2px solid var(--text-muted);border-radius:50%;flex-shrink:0;width:56px;height:56px}.game-result--win{color:#22c55e}.game-result--loss{color:#ef4444}.game-opponent-cell{color:var(--text-secondary);min-width:80px;font-size:.85rem}.game-opponent-link{color:var(--accent);cursor:pointer;text-decoration:none}.game-opponent-link:hover{text-decoration:underline}.game-opponent{color:var(--text-muted)}.game-row[data-action=replay-game]{cursor:pointer;transition:background .12s}.game-row[data-action=replay-game]:hover{border-left-color:var(--brand-accent,#7c6aef);background:#ffffff08}.game-row[data-action=replay-game]:focus-visible,.game-opponent-link:focus-visible,.profile-game-tab:focus-visible{outline:2px solid var(--brand-accent,#7c6aef);outline-offset:1px}.game-row[data-action=replay-game]:focus-visible{background:#ffffff08}.game-replay-icon{color:var(--text-secondary);opacity:.5;align-items:center;font-size:.85rem;transition:opacity .15s,color .15s;display:flex}.game-row[data-action=replay-game]:hover .game-replay-icon{opacity:1;color:var(--accent-alt)}@media (width<=540px){.auth-profile-body,.public-profile-body{padding-top:.75rem;gap:.75rem;padding-inline:.75rem}.game-row{flex-wrap:wrap;gap:.4rem}.game-opponent-cell{min-width:unset}}.mode-hero-card--correspondence{--card-accent:var(--category-correspondence);border-color:rgb(var(--category-correspondence-rgb) / .25);border-left:3px solid rgb(var(--category-correspondence-rgb) / .7)}.mode-hero-card--correspondence .mode-hero-card-bg{background:radial-gradient(ellipse at 30% 20%, rgb(var(--category-correspondence-rgb) / .25), transparent 70%)}.mode-hero-card--correspondence .mode-hero-card-icon{color:var(--category-correspondence)}.mode-hero-card--correspondence:after{border-left-color:rgb(var(--category-correspondence-rgb) / .5);border-top-color:rgb(var(--category-correspondence-rgb) / .5)}.mode-hero-card--correspondence:hover{border-color:rgb(var(--category-correspondence-rgb) / .5);box-shadow:0 8px 32px #00000080, 0 0 40px rgb(var(--category-correspondence-rgb) / .12)}.mode-hero-card--correspondence:hover:after{border-left-color:rgb(var(--category-correspondence-rgb) / .8);border-top-color:rgb(var(--category-correspondence-rgb) / .8)}.mode-hero-card--correspondence:hover .mode-hero-card-arrow{color:var(--category-correspondence);transform:translate(4px)}.mode-hero-card--correspondence:hover .mode-hero-card-bg{opacity:1}.mode-hero-card--puzzles{border-color:rgb(var(--category-puzzles-rgb) / .25);border-left:3px solid rgb(var(--category-puzzles-rgb) / .7)}.mode-hero-card--puzzles .mode-hero-card-bg{background:linear-gradient(135deg, rgb(var(--category-puzzles-rgb) / .1) 0%, rgb(var(--category-puzzles-rgb) / .04) 50%, transparent 80%)}.mode-hero-card--puzzles .mode-hero-card-icon{color:var(--category-puzzles)}.mode-hero-card--puzzles:after{border-left-color:rgb(var(--category-puzzles-rgb) / .5);border-top-color:rgb(var(--category-puzzles-rgb) / .5)}.mode-hero-card--puzzles:hover{border-color:rgb(var(--category-puzzles-rgb) / .5);box-shadow:0 8px 32px #00000080, 0 0 40px rgb(var(--category-puzzles-rgb) / .12)}.mode-hero-card--puzzles:hover:after{border-left-color:rgb(var(--category-puzzles-rgb) / .8);border-top-color:rgb(var(--category-puzzles-rgb) / .8)}.mode-hero-card--puzzles:hover .mode-hero-card-arrow{color:var(--category-puzzles);transform:translate(4px)}.mode-hero-card--puzzles:hover .mode-hero-card-bg{opacity:1}.mode-hero-card--amber{border-color:#f59e0b40 #f59e0b40 #f59e0b40 #f59e0bb3;border-left-style:solid;border-left-width:3px}.mode-hero-card--amber .mode-hero-card-bg{background:linear-gradient(135deg,#f59e0b1a 0%,#ea580c0a 50%,#0000 80%)}.mode-hero-card--amber .mode-hero-card-icon{color:#f59e0b}.mode-hero-card--amber:after{border-top-color:#f59e0b80;border-left-color:#f59e0b80}.mode-hero-card--amber:hover{border-color:#f59e0b80;box-shadow:0 8px 32px #00000080,0 0 40px #f59e0b1f}.mode-hero-card--amber:hover:after{border-top-color:#f59e0bcc;border-left-color:#f59e0bcc}.mode-hero-card--amber:hover .mode-hero-card-arrow{color:#f59e0b;transform:translate(4px)}.mode-hero-card--amber:hover .mode-hero-card-bg{opacity:1}.correspondence-screen{background:var(--bg-primary);flex-direction:column;min-height:100dvh;display:flex}.corr-body{width:100%;max-width:720px;padding:var(--space-7) var(--space-5);flex:1;margin:0 auto}.corr-header{justify-content:space-between;align-items:center;gap:var(--space-4);margin-bottom:var(--space-7);display:flex}.corr-title{font-family:var(--font-heading);letter-spacing:.14em;text-transform:uppercase;color:var(--text-primary);margin:0;font-size:1.35rem;font-weight:600}.corr-new-btn{appearance:none;background:var(--brand-gradient);color:var(--on-brand);font-family:var(--font-heading);letter-spacing:.16em;text-transform:uppercase;cursor:pointer;clip-path:var(--clip-corner-sm);text-shadow:0 1px 2px #0000004d;box-shadow:0 6px 20px rgb(var(--accent-alt-rgb) / .22), inset 0 0 0 1px #ffffff1f;background-size:180% 180%;border:none;justify-content:center;align-items:center;padding:.65rem 1.25rem;font-size:.78rem;font-weight:700;transition:transform .15s,box-shadow .2s,background-position .4s;display:inline-flex}.corr-new-btn:hover{box-shadow:0 10px 28px rgb(var(--accent-alt-rgb) / .36), inset 0 0 0 1px #fff3;background-position:100% 100%;transform:translateY(-1px)}.corr-new-btn:active{transform:translateY(0)}.corr-empty,.corr-loading{padding:var(--space-8) var(--space-5);text-align:center;background:rgb(var(--bg-secondary-rgb) / .55);clip-path:var(--clip-corner);border:1px solid #ffffff0f;flex-direction:column;justify-content:center;align-items:center;display:flex;position:relative}.corr-empty:after,.corr-loading:after{content:"";border-left:1px solid rgb(var(--accent-rgb) / .4);border-top:1px solid rgb(var(--accent-rgb) / .4);pointer-events:none;width:18px;height:18px;position:absolute;top:0;left:0}.corr-empty-text,.corr-loading-text{font-family:var(--font-heading);letter-spacing:.1em;text-transform:uppercase;color:var(--text-secondary);margin:0 0 var(--space-3) 0;font-size:.95rem;font-weight:500}.corr-empty-sub{font-family:var(--font-body);color:var(--text-muted);margin:0;font-size:.85rem}.corr-section{margin-bottom:var(--space-7)}.corr-section-title{font-family:var(--font-mono);color:var(--text-muted);text-transform:uppercase;letter-spacing:.18em;margin:0 0 var(--space-4) 0;font-size:.7rem;font-weight:500}.corr-game-list{gap:var(--space-3);flex-direction:column;display:flex}.corr-game-card{justify-content:space-between;align-items:center;gap:var(--space-4);background:rgb(var(--bg-secondary-rgb) / .85);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);cursor:pointer;text-align:left;width:100%;font-family:var(--font-body);color:var(--text-primary);clip-path:var(--clip-corner);border:1px solid #ffffff14;border-left:3px solid #ffffff1f;padding:.85rem 1.1rem;transition:transform .2s,border-color .2s,box-shadow .2s;display:flex;position:relative}.corr-game-card:after{content:"";pointer-events:none;border-top:2px solid #0000;border-left:2px solid #0000;width:24px;height:24px;transition:border-color .2s;position:absolute;top:0;left:0}.corr-game-card:hover{border-color:#ffffff29;transform:translateY(-2px);box-shadow:0 8px 28px #0006}.corr-game-card--active{border-left-color:rgb(var(--accent-rgb) / .45)}.corr-game-card--active:after{border-left-color:rgb(var(--accent-rgb) / .4);border-top-color:rgb(var(--accent-rgb) / .4)}.corr-game-card--active:hover{border-color:rgb(var(--accent-rgb) / .3);box-shadow:0 8px 28px #00000073, 0 0 32px rgb(var(--accent-rgb) / .1)}.corr-game-card--active:hover:after{border-left-color:rgb(var(--accent-rgb) / .7);border-top-color:rgb(var(--accent-rgb) / .7)}.corr-game-card--your-turn{border-left-color:var(--accent-alt);animation:2.4s ease-in-out infinite corr-card-pulse}.corr-game-card--your-turn:after{border-left-color:rgb(var(--accent-alt-rgb) / .6);border-top-color:rgb(var(--accent-alt-rgb) / .6)}.corr-game-card--your-turn:hover{border-color:rgb(var(--accent-alt-rgb) / .35);box-shadow:0 8px 28px #00000073, 0 0 36px rgb(var(--accent-alt-rgb) / .18)}.corr-game-card--your-turn:hover:after{border-left-color:rgb(var(--accent-alt-rgb) / .85);border-top-color:rgb(var(--accent-alt-rgb) / .85)}@keyframes corr-card-pulse{0%,to{box-shadow:0 4px 18px #0000004d, 0 0 0 0 rgb(var(--accent-alt-rgb) / 0)}50%{box-shadow:0 4px 18px #0000004d, 0 0 24px rgb(var(--accent-alt-rgb) / .18)}}.corr-game-card--completed{opacity:.65;border-left-color:#ffffff14}.corr-game-card--completed:hover{opacity:.85}.corr-game-card-left{align-items:center;gap:var(--space-4);z-index:1;min-width:0;display:flex;position:relative}.corr-game-side{color:var(--text-secondary);flex-shrink:0;font-size:1.5rem;line-height:1}.corr-game-info{flex-direction:column;gap:2px;min-width:0;display:flex}.corr-game-opponent{font-family:var(--font-heading);letter-spacing:.06em;color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;font-size:.92rem;font-weight:600;overflow:hidden}.corr-game-meta{font-family:var(--font-mono);letter-spacing:.08em;color:var(--text-muted);text-transform:uppercase;font-size:.7rem}.corr-game-card-right{align-items:center;gap:var(--space-4);z-index:1;flex-shrink:0;display:flex;position:relative}.corr-game-time{font-family:var(--font-mono);letter-spacing:.06em;color:var(--text-muted);white-space:nowrap;text-transform:uppercase;font-size:.72rem}.corr-badge{font-family:var(--font-heading);text-transform:uppercase;letter-spacing:.14em;white-space:nowrap;border:1px solid #0000;border-radius:2px;align-items:center;padding:3px 9px;font-size:.68rem;font-weight:700;display:inline-flex}.corr-badge--your-turn{background:rgb(var(--accent-alt-rgb) / .14);color:var(--accent-alt);border-color:rgb(var(--accent-alt-rgb) / .4);box-shadow:0 0 12px rgb(var(--accent-alt-rgb) / .25);animation:2s ease-in-out infinite corr-badge-pulse}@keyframes corr-badge-pulse{0%,to{box-shadow:0 0 10px rgb(var(--accent-alt-rgb) / .2);border-color:rgb(var(--accent-alt-rgb) / .4)}50%{box-shadow:0 0 18px rgb(var(--accent-alt-rgb) / .5);border-color:rgb(var(--accent-alt-rgb) / .7)}}.corr-badge--waiting{color:var(--text-muted);background:#ffffff0a;border-color:#ffffff14}.corr-badge--won{background:rgb(var(--category-puzzles-rgb) / .12);color:#4ade80;border-color:rgb(var(--category-puzzles-rgb) / .3)}.corr-badge--lost{color:#f87171;background:#ef44441f;border-color:#ef44444d}.corr-badge--draw{background:rgb(var(--accent-gold-rgb) / .12);color:var(--accent-gold);border-color:rgb(var(--accent-gold-rgb) / .3)}.corr-badge--code{background:rgb(var(--accent-rgb) / .08);color:var(--accent);border-color:rgb(var(--accent-rgb) / .25);font-family:var(--font-mono);letter-spacing:.22em;text-transform:uppercase;-webkit-user-select:all;user-select:all;padding:4px 10px;font-size:.78rem;font-weight:600}.corr-alchemy-badge{font-family:var(--font-heading);text-transform:uppercase;letter-spacing:.14em;white-space:nowrap;vertical-align:middle;color:#ffd278f2;background:#ffc4501f;border:1px solid #ffc45059;border-radius:2px;align-items:center;gap:4px;margin-left:6px;padding:2px 7px;font-size:.6rem;font-weight:700;display:inline-flex}.corr-alchemy-badge i{font-size:.62rem}.corr-alchemy-option i{color:#ffc450d9}.corr-alchemy-option.active{color:#ffd278f2;background:#ffc4501f;border-color:#ffc45080}.corr-alchemy-option.is-locked{opacity:.65}.corr-rules-hint{font-family:var(--font-body);color:var(--text-muted);margin:8px 0 0;font-size:.78rem;line-height:1.45}.corr-rules-hint[hidden]{display:none}.corr-join-row{gap:var(--space-3);align-items:stretch;display:flex}.corr-input{font-family:var(--font-mono);letter-spacing:.22em;text-transform:uppercase;color:var(--text-primary);background:#ffffff0a;border:1px solid #ffffff1a;border-radius:3px;outline:none;flex:1;min-height:44px;padding:.65rem .85rem;font-size:.95rem;transition:border-color .15s,box-shadow .15s,background .15s}.corr-input:focus{border-color:rgb(var(--accent-rgb) / .5);background:rgb(var(--accent-rgb) / .04);box-shadow:0 0 0 2px rgb(var(--accent-rgb) / .12)}.corr-input::placeholder{color:#ffffff38;letter-spacing:.12em}.corr-challenge-card{border-left-style:dashed}@media (width<=540px){.corr-body{padding:var(--space-5) var(--space-4)}.corr-header{margin-bottom:var(--space-6)}.corr-game-card{min-height:60px;padding:.75rem .9rem}.corr-game-time{display:none}.corr-new-btn,.corr-join-row .btn{min-height:44px}}.corr-game-list{margin:0;padding:0;list-style:none}.spectate-list-screen{background:var(--bg-primary);flex-direction:column;min-height:100dvh;display:flex}.spectate-list-body{padding:var(--space-6) var(--space-5);flex-direction:column;flex:1;align-items:center;width:100%;max-width:700px;margin:0 auto;display:flex}.spectate-loading{color:var(--text-secondary);font-family:var(--font-body);padding:var(--space-8) 0;text-align:center;font-size:1rem}.spectate-empty{align-items:center;gap:var(--space-4);padding:var(--space-8) var(--space-5);text-align:center;flex-direction:column;display:flex}.spectate-empty-icon{opacity:.5;font-size:3rem}.spectate-empty-title{font-family:var(--font-heading);color:var(--text-primary);margin:0;font-size:1.4rem}.spectate-empty-desc{font-family:var(--font-body);color:var(--text-secondary);max-width:320px;margin:0;font-size:.9rem}.spectate-game-list{gap:var(--space-4);flex-direction:column;width:100%;display:flex}.spectate-game-card{gap:var(--space-4);background:rgb(var(--bg-secondary-rgb) / .85);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);clip-path:var(--clip-corner);cursor:pointer;text-align:left;width:100%;font-family:var(--font-body);color:var(--text-primary);border:1px solid #ffffff14;border-radius:2px;flex-direction:column;padding:16px 20px 14px;transition:transform .25s,box-shadow .25s,border-color .25s;display:flex;position:relative;overflow:hidden}.spectate-game-card:after{content:"";pointer-events:none;z-index:2;border-top:2px solid #0000;border-left:2px solid #0000;width:24px;height:24px;transition:border-color .3s;position:absolute;top:0;left:0}.spectate-game-card-bg{opacity:0;pointer-events:none;transition:opacity .35s;position:absolute;inset:0}.spectate-game-card--cyan{border-color:rgb(var(--accent-rgb) / .22);border-left:3px solid rgb(var(--accent-rgb) / .65)}.spectate-game-card--cyan:after{border-left-color:rgb(var(--accent-rgb) / .5);border-top-color:rgb(var(--accent-rgb) / .5)}.spectate-game-card--cyan .spectate-game-card-bg{background:linear-gradient(135deg, rgb(var(--accent-rgb) / .1) 0%, rgb(var(--accent-rgb) / .03) 50%, transparent 80%)}.spectate-game-card--magenta{border-color:rgb(var(--accent-alt-rgb) / .25);border-left:3px solid rgb(var(--accent-alt-rgb) / .7)}.spectate-game-card--magenta:after{border-left-color:rgb(var(--accent-alt-rgb) / .5);border-top-color:rgb(var(--accent-alt-rgb) / .5)}.spectate-game-card--magenta .spectate-game-card-bg{background:linear-gradient(135deg, rgb(var(--accent-alt-rgb) / .12) 0%, rgb(var(--accent-alt-rgb) / .04) 50%, transparent 80%)}.spectate-game-card--orange{border-color:rgb(var(--accent-orange-rgb) / .25);border-left:3px solid rgb(var(--accent-orange-rgb) / .7)}.spectate-game-card--orange:after{border-left-color:rgb(var(--accent-orange-rgb) / .5);border-top-color:rgb(var(--accent-orange-rgb) / .5)}.spectate-game-card--orange .spectate-game-card-bg{background:linear-gradient(135deg, rgb(var(--accent-orange-rgb) / .1) 0%, rgb(var(--accent-orange-rgb) / .04) 50%, transparent 80%)}.spectate-game-card:hover{transform:translateY(-2px)}.spectate-game-card:hover .spectate-game-card-bg{opacity:1}.spectate-game-card--cyan:hover{border-color:rgb(var(--accent-rgb) / .5);box-shadow:0 8px 28px #00000080, 0 0 36px rgb(var(--accent-rgb) / .1)}.spectate-game-card--cyan:hover:after{border-left-color:rgb(var(--accent-rgb) / .85);border-top-color:rgb(var(--accent-rgb) / .85)}.spectate-game-card--magenta:hover{border-color:rgb(var(--accent-alt-rgb) / .5);box-shadow:0 8px 28px #00000080, 0 0 36px rgb(var(--accent-alt-rgb) / .1)}.spectate-game-card--magenta:hover:after{border-left-color:rgb(var(--accent-alt-rgb) / .85);border-top-color:rgb(var(--accent-alt-rgb) / .85)}.spectate-game-card--orange:hover{border-color:rgb(var(--accent-orange-rgb) / .5);box-shadow:0 8px 28px #00000080, 0 0 36px rgb(var(--accent-orange-rgb) / .1)}.spectate-game-card--orange:hover:after{border-left-color:rgb(var(--accent-orange-rgb) / .85);border-top-color:rgb(var(--accent-orange-rgb) / .85)}.spectate-game-card:active{transform:translateY(-1px)scale(.99)}.spectate-game-card-head{z-index:1;justify-content:space-between;align-items:center;gap:var(--space-3);display:flex;position:relative}.spectate-live-badge{font-family:var(--font-heading);letter-spacing:.18em;text-transform:uppercase;color:var(--success);background:#22c55e1f;border:1px solid #22c55e59;border-radius:2px;align-items:center;gap:6px;padding:3px 8px 3px 7px;font-size:.65rem;font-weight:600;display:inline-flex}.spectate-live-dot{background:var(--success);border-radius:50%;width:6px;height:6px;animation:1.6s ease-in-out infinite spectate-live-pulse;box-shadow:0 0 8px #22c55eb3}.spectate-live-text{line-height:1}@keyframes spectate-live-pulse{0%,to{opacity:.55;transform:scale(.85)}50%{opacity:1;transform:scale(1.1)}}.spectate-game-elapsed{font-family:var(--font-mono);color:var(--text-muted);letter-spacing:.05em;font-size:.72rem}.spectate-game-players{z-index:1;align-items:center;gap:var(--space-3);grid-template-columns:1fr auto 1fr;display:grid;position:relative}.spectate-player{align-items:center;gap:var(--space-3);min-width:0;display:flex}.spectate-player--black{text-align:right;flex-direction:row-reverse}.spectate-player-avatar{background:#ffffff0a;border:1px solid #ffffff14;border-radius:2px;flex-shrink:0;justify-content:center;align-items:center;width:34px;height:34px;transition:border-color .2s,background .2s;display:inline-flex;position:relative}.spectate-player--white .spectate-player-avatar{background:#f0f4ff0f}.spectate-player--black .spectate-player-avatar{background:rgb(var(--accent-orange-rgb) / .06)}.spectate-player.is-to-move .spectate-player-avatar{border-color:rgb(var(--accent-rgb) / .45);box-shadow:0 0 12px rgb(var(--accent-rgb) / .18)}.spectate-player-piece{align-items:center;font-size:1.4rem;line-height:1;display:inline-flex}.spectate-player-piece .piece-svg{width:1em;height:1em}.spectate-player--white .spectate-player-piece{color:var(--piece-white);filter:drop-shadow(0 1px 2px #00000080)}.spectate-player--black .spectate-player-piece{color:var(--accent-orange);filter:drop-shadow(0 1px 2px #00000080)}.spectate-player-info{flex-direction:column;gap:1px;min-width:0;display:flex}.spectate-player-name{font-family:var(--font-heading);letter-spacing:.02em;color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;font-size:.92rem;font-weight:600;overflow:hidden}.spectate-player-rating{font-family:var(--font-mono);color:var(--text-muted);letter-spacing:.04em;font-size:.72rem}.spectate-vs{font-family:var(--font-heading);letter-spacing:.16em;text-transform:uppercase;color:var(--text-muted);opacity:.7;font-size:.7rem;font-weight:600}.spectate-game-footer{z-index:1;justify-content:space-between;align-items:center;gap:var(--space-3);padding-top:var(--space-3);border-top:1px solid #ffffff0d;display:flex;position:relative}.spectate-game-meta{align-items:center;gap:var(--space-4);flex-wrap:wrap;display:flex}.spectate-meta-item{color:var(--text-secondary);white-space:nowrap;align-items:center;gap:6px;font-size:.74rem;display:inline-flex}.spectate-meta-item i{color:var(--text-muted);opacity:.85;font-size:.78rem}.spectate-meta-value{font-family:var(--font-mono);color:var(--text-primary);letter-spacing:.02em;font-weight:600}.spectate-meta-label{color:var(--text-muted)}.spectate-meta-turn .spectate-meta-label{color:var(--text-secondary);font-weight:500}.spectate-turn-dot{border:1px solid #fff3;border-radius:50%;width:8px;height:8px}.spectate-turn-dot--white{background:var(--piece-white)}.spectate-turn-dot--black{background:var(--accent-orange);border-color:rgb(var(--accent-orange-rgb) / .5)}.spectate-game-chev{color:var(--text-muted);flex-shrink:0;font-size:1.4rem;line-height:1;transition:transform .2s,color .2s}.spectate-game-card--cyan:hover .spectate-game-chev{color:var(--accent);transform:translate(3px)}.spectate-game-card--magenta:hover .spectate-game-chev{color:var(--accent-alt);transform:translate(3px)}.spectate-game-card--orange:hover .spectate-game-chev{color:var(--accent-orange);transform:translate(3px)}.spectate-view-screen{background:var(--bg-primary);flex-direction:column;min-height:100dvh;display:flex}.spectate-view-body{padding:var(--space-4) var(--space-5);align-items:center;gap:var(--space-4);flex-direction:column;flex:1;display:flex}.spectate-view-info{text-align:center}.spectate-view-players{align-items:center;gap:var(--space-4);flex-wrap:wrap;justify-content:center;display:flex}.spectate-view-player{align-items:center;gap:var(--space-2);display:flex}.spectate-view-player-piece{align-items:center;font-size:1.4rem;display:inline-flex}.spectate-view-player-piece .piece-svg{width:1em;height:1em}.spectate-view-player-piece.piece-white{color:var(--piece-white)}.spectate-view-player-piece.piece-black{color:var(--accent-orange)}.spectate-view-player-name{font-family:var(--font-heading);color:var(--text-primary);font-size:1.05rem;font-weight:600}.spectate-view-vs{color:var(--text-muted);font-size:.85rem;font-style:italic}.spectate-view-board-wrap{aspect-ratio:1;width:100%;max-width:min(80vw,80vh,560px)}.spectate-board{border-radius:var(--radius-lg);border:2px solid var(--border-light);grid-template-rows:repeat(8,1fr);grid-template-columns:repeat(8,1fr);width:100%;height:100%;display:grid;overflow:hidden}.spectate-square{-webkit-user-select:none;user-select:none;justify-content:center;align-items:center;display:flex;position:relative}.spectate-square.light{background:var(--board-light)}.spectate-square.dark{background:var(--board-dark)}.spectate-square.quantum{box-shadow:inset 0 0 8px rgb(var(--accent-alt-rgb) / .25)}.spectate-piece{pointer-events:none;justify-content:center;align-items:center;font-size:clamp(1.2rem,5vw,2.8rem);line-height:1;display:flex}.spectate-piece .piece-svg{width:1em;height:1em}.spectate-square.piece-white .spectate-piece{color:var(--piece-white);filter:drop-shadow(0 1px 4px #00000080)}.spectate-square.piece-black .spectate-piece{color:var(--accent-orange);filter:drop-shadow(0 1px 4px #00000080)}.spectate-view-status{text-align:center}.spectate-view-meta{gap:var(--space-5);padding:var(--space-2) 0;flex-wrap:wrap;justify-content:center;display:flex}.spectate-status-badge{text-transform:uppercase;letter-spacing:.04em;font-weight:600}.spectate-analyze-btn{background:rgb(var(--accent-alt-rgb) / .12);border:1px solid rgb(var(--accent-alt-rgb) / .3);font-family:var(--font-mono);color:var(--accent-alt);cursor:pointer;border-radius:4px;align-items:center;gap:6px;padding:4px 12px;font-size:.78rem;display:inline-flex}.spectate-analyze-btn:hover{background:rgb(var(--accent-alt-rgb) / .22)}.spectate-status-badge--live{color:var(--success)}.spectate-status-badge--completed{color:var(--text-muted)}@media (width<=600px){.spectate-list-body{padding:var(--space-4) var(--space-3)}.spectate-game-card{gap:var(--space-3);padding:14px 16px 12px}.spectate-game-players{gap:var(--space-2)}.spectate-player-avatar{width:28px;height:28px}.spectate-player-piece{font-size:1.15rem}.spectate-player-name{font-size:.82rem}.spectate-player-rating{font-size:.66rem}.spectate-vs{font-size:.6rem}.spectate-meta-item{font-size:.68rem}.spectate-meta-turn .spectate-meta-label{display:none}.spectate-game-meta{gap:var(--space-3)}.spectate-view-board-wrap{max-width:95vw}.spectate-view-players{gap:var(--space-2)}.spectate-view-player-name{font-size:.9rem}}.tournaments-screen,.tournament-detail-screen,.tournament-create-screen{flex-direction:column;min-height:100%;display:flex}.tournaments-body{flex-direction:column;gap:24px;width:min(1100px,100%);margin:0 auto;padding:20px 20px 64px;display:flex}.tournament-hero{border:1px solid rgb(var(--text-primary-rgb) / .08);background:rgb(var(--bg-secondary-rgb) / .6);border-radius:6px;flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:20px;padding:22px 24px;display:flex}.tournament-hero-text{flex:380px;min-width:0}.tournament-hero-eyebrow{color:var(--text-muted);flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:8px;font-size:12px;display:flex}.tournament-hero-title{font-family:var(--font-heading);color:var(--text-primary);word-break:break-word;margin-bottom:8px;font-size:clamp(22px,3vw,30px);font-weight:600}.tournament-hero-desc{color:var(--text-muted);max-width:62ch;margin:0;font-size:14px;line-height:1.55}.tournament-hero-action{flex:none}.tournament-chip-row{flex-wrap:wrap;gap:8px;margin-top:14px;display:flex}.tournament-chip{border:1px solid rgb(var(--text-primary-rgb) / .12);background:rgb(var(--text-primary-rgb) / .04);color:var(--text-muted);letter-spacing:.04em;white-space:nowrap;border-radius:3px;align-items:center;padding:3px 9px;font-size:11px;display:inline-flex}.tournament-chip--gate.is-premium{border-color:rgb(var(--accent-alt-rgb) / .4);color:var(--accent-alt)}.tournament-chip--gate.is-invite{border-color:rgb(var(--accent-rgb) / .4);color:var(--accent)}.tournament-status-pill{letter-spacing:.1em;text-transform:uppercase;border:1px solid rgb(var(--text-primary-rgb) / .18);color:var(--text-muted);border-radius:3px;align-items:center;padding:2px 9px;font-size:10px;font-weight:600;display:inline-flex}.tournament-status-pill.is-running{border-color:rgb(var(--accent-alt-rgb) / .5);color:var(--accent-alt)}.tournament-status-pill.is-published{border-color:rgb(var(--accent-rgb) / .5);color:var(--accent)}.tournament-status-pill.is-cancelled{opacity:.7}.tournament-bucket-title{font-family:var(--font-heading);letter-spacing:.12em;text-transform:uppercase;color:var(--text-muted);align-items:center;gap:8px;margin:0 0 12px;font-size:13px;display:flex}.tournament-card-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:14px;display:grid}.tournament-card{text-align:left;border:1px solid rgb(var(--text-primary-rgb) / .08);border-left:3px solid rgb(var(--accent-rgb) / .5);background:rgb(var(--bg-secondary-rgb) / .55);width:100%;color:var(--text-primary);cursor:pointer;border-radius:5px;flex-direction:column;gap:10px;padding:16px;transition:border-color .15s,transform .15s,background .15s;display:flex}.tournament-card:hover{border-left-color:var(--accent-alt);background:rgb(var(--bg-secondary-rgb) / .85)}.tournament-card:active{transform:scale(.99)}.tournament-card--over{border-left-color:rgb(var(--text-primary-rgb) / .18);background:rgb(var(--bg-secondary-rgb) / .3);opacity:.72}.tournament-card--over:hover{border-left-color:rgb(var(--text-primary-rgb) / .3);background:rgb(var(--bg-secondary-rgb) / .45);opacity:.9}.tournament-chip--over{border-color:rgb(var(--text-primary-rgb) / .18);color:var(--text-muted)}.tournament-card-head{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.tournament-card-name{font-family:var(--font-heading);word-break:break-word;font-size:16px;font-weight:600;line-height:1.3}.tournament-card-meta{flex-wrap:wrap;gap:6px;display:flex}.tournament-card-foot{color:var(--text-muted);justify-content:space-between;align-items:center;gap:10px;font-size:12px;display:flex}.tournament-card-players{align-items:center;gap:6px;display:inline-flex}.tournament-card-organizer{color:var(--text-muted);opacity:.8;font-size:11px}.tournament-empty{color:var(--text-muted);margin:0;font-size:14px}.tournament-empty-sub{color:var(--text-muted);opacity:.8;margin:0;font-size:13px}.tournament-empty-state{text-align:center;flex-direction:column;align-items:center;gap:10px;padding:48px 20px;display:flex}.tournament-empty-state i{color:rgb(var(--text-primary-rgb) / .2);font-size:30px}.tournament-facts{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px 20px;margin:16px 0 0;display:grid}.tournament-facts div{min-width:0}.tournament-facts dt{letter-spacing:.12em;text-transform:uppercase;color:var(--text-muted);opacity:.75;font-size:10px}.tournament-facts dd{color:var(--text-primary);margin:2px 0 0;font-size:13px}.tournament-entry-card,.tournament-pairing-card,.tournament-organizer-panel,.tournament-panel{border:1px solid rgb(var(--text-primary-rgb) / .08);background:rgb(var(--bg-secondary-rgb) / .5);border-radius:5px;padding:18px 20px}.tournament-entry-card{flex-wrap:wrap;align-items:center;gap:14px;display:flex}.tournament-entry-note{color:var(--text-primary);flex:240px;margin:0;font-size:14px}.tournament-join-row{flex-wrap:wrap;gap:8px;display:flex}.tournament-invite-input{border:1px solid rgb(var(--text-primary-rgb) / .16);background:rgb(var(--bg-primary-rgb) / .6);min-width:140px;color:var(--text-primary);font-family:var(--font-mono,monospace);letter-spacing:.1em;text-transform:uppercase;border-radius:3px;padding:8px 10px}.tournament-upsell{border:1px solid rgb(var(--accent-alt-rgb) / .35);background:rgb(var(--accent-alt-rgb) / .06);border-radius:4px;flex:100%;padding:12px 14px}.tournament-upsell p{color:var(--text-muted);margin:0 0 10px;font-size:13px}.tournament-action-error{flex:100%;margin:0}.tournament-pairing-card{border-left:3px solid var(--accent-alt)}.tournament-pairing-head{font-family:var(--font-heading);letter-spacing:.12em;text-transform:uppercase;color:var(--text-muted);align-items:baseline;gap:10px;font-size:12px;display:flex}.tournament-pairing-deadline{letter-spacing:.04em;text-transform:none;opacity:.85}.tournament-pairing-body{color:var(--text-primary);margin:8px 0 12px;font-size:15px}.tournament-pairing-note{color:var(--text-muted);margin:0;font-size:13px}.tournament-columns{grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);align-items:start;gap:20px;display:grid}.tournament-panel-title{font-family:var(--font-heading);letter-spacing:.12em;text-transform:uppercase;color:var(--text-muted);align-items:center;gap:8px;margin:0 0 14px;font-size:13px;display:flex}.tournament-table-scroll{overflow-x:auto}.tournament-table{border-collapse:collapse;width:100%;font-size:13px}.tournament-table th{text-align:left;letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted);white-space:nowrap;padding:0 8px 8px 0;font-size:10px;font-weight:500}.tournament-table td{border-top:1px solid rgb(var(--text-primary-rgb) / .06);color:var(--text-primary);white-space:nowrap;padding:7px 8px 7px 0}.tournament-table-row.is-inactive td{color:var(--text-muted);opacity:.65}.tournament-table-row.is-me td{background:rgb(var(--accent-alt-rgb) / .08)}.tournament-row-suffix{letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);font-size:10px}.tournament-round-selector{align-items:center;gap:10px;margin-bottom:12px;display:flex}.tournament-round-label{font-family:var(--font-heading);color:var(--text-primary);font-size:13px}.tournament-round-note{color:var(--text-muted);margin:0 0 12px;font-size:12px}.tournament-pairing-list{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.tournament-pairing-row{background:rgb(var(--text-primary-rgb) / .03);border-radius:3px;align-items:center;gap:10px;padding:8px 10px;font-size:13px;display:flex}.tournament-pairing-row.is-pending{border-left:2px solid rgb(var(--accent-alt-rgb) / .5)}.tournament-pairing-players{min-width:0;color:var(--text-primary);overflow-wrap:anywhere;flex:auto}.tournament-pairing-vs{color:var(--text-muted);padding:0 4px;font-size:11px}.tournament-pairing-result{color:var(--text-muted);font-variant-numeric:tabular-nums;white-space:nowrap}.tournament-organizer-panel{border-left:3px solid rgb(var(--accent-rgb) / .5)}.tournament-organizer-invite{color:var(--text-primary);margin:0 0 12px;font-size:13px}.tournament-invite-code{background:rgb(var(--text-primary-rgb) / .06);font-family:var(--font-mono,monospace);letter-spacing:.18em;-webkit-user-select:all;user-select:all;border-radius:3px;padding:2px 8px;display:inline-block}.tournament-organizer-actions{flex-wrap:wrap;gap:8px;margin-bottom:10px;display:flex}.tournament-organizer-hint{color:var(--text-muted);margin:4px 0 0;font-size:12px;display:block}.tournament-form{flex-direction:column;gap:20px;width:min(640px,100%);margin:0 auto;display:flex}.tournament-form [hidden]{display:none}.tournament-form-section{border:1px solid rgb(var(--text-primary-rgb) / .08);background:rgb(var(--bg-secondary-rgb) / .5);border-radius:5px;min-width:0;margin:0;padding:18px 20px;display:block}.tournament-form-body{clear:both;flex-direction:column;gap:14px;display:flex}.tournament-form-heading{font-family:var(--font-heading);letter-spacing:.08em;text-transform:uppercase;color:var(--text-primary);float:left;align-items:center;gap:9px;width:100%;margin:0 0 14px;padding:0;font-size:15px;font-weight:600;display:flex}.tournament-form-heading:before{content:"";background:var(--accent);border-radius:2px;flex:none;width:3px;height:.95em}.tournament-form-guide{color:var(--accent);align-self:flex-start;align-items:center;gap:6px;font-size:12px;text-decoration:none;display:inline-flex}.tournament-form-guide span{text-decoration:underline;-webkit-text-decoration-color:rgb(var(--accent-rgb) / .4);text-decoration-color:rgb(var(--accent-rgb) / .4);text-underline-offset:3px}.tournament-form-guide:hover span{-webkit-text-decoration-color:var(--accent);text-decoration-color:var(--accent)}.tournament-form-hint{color:var(--text-muted);margin:0;font-size:12px}.tournament-hero-headline{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.tournament-hero-headline .tournament-hero-title{flex:auto;min-width:0}.tournament-share-btn{white-space:nowrap;flex:none}.tournament-chip--late{border-color:rgb(var(--accent-rgb) / .4);color:var(--accent)}.tournament-field{color:var(--text-primary);flex-direction:column;gap:6px;min-width:0;font-size:13px;display:flex}.tournament-field>label{letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);font-size:11px}.tournament-field-row{grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));align-items:start;gap:14px;display:grid}.tournament-field-optional{text-transform:none;letter-spacing:0;opacity:.7}.tournament-field input,.tournament-field select,.tournament-field textarea{border:1px solid rgb(var(--text-primary-rgb) / .16);background:rgb(var(--bg-primary-rgb) / .6);color:var(--text-primary);border-radius:3px;min-width:0;padding:9px 10px;font-family:inherit;font-size:14px}.tournament-field input:focus,.tournament-field select:focus,.tournament-field textarea:focus{border-color:rgb(var(--accent-rgb) / .55)}.tournament-field input.tournament-field-lead{padding:12px;font-size:15px}.tournament-field textarea{resize:vertical}.tournament-check{border:1px solid rgb(var(--text-primary-rgb) / .1);cursor:pointer;border-radius:3px;align-items:flex-start;gap:10px;padding:10px 12px;display:flex}.tournament-check input[type=checkbox]{accent-color:var(--accent);flex:none;margin-top:2px}.tournament-check.is-locked{cursor:default;border-style:dashed}.tournament-check.is-locked .tournament-radio-title{opacity:.55}.tournament-datetime{align-items:stretch;gap:6px;min-width:0;display:flex}.tournament-datetime input[type=datetime-local]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;flex:auto}.tournament-datetime input[type=datetime-local]::-webkit-calendar-picker-indicator{display:none}.tournament-datetime-btn{border:1px solid rgb(var(--text-primary-rgb) / .16);background:rgb(var(--bg-primary-rgb) / .6);width:40px;color:var(--text-muted);cursor:pointer;border-radius:3px;flex:none;font-size:14px;transition:color .15s,border-color .15s}.tournament-datetime-btn:hover,.tournament-datetime-btn:focus-visible{color:var(--accent);border-color:rgb(var(--accent-rgb) / .55)}.tournament-field-hint{color:var(--text-muted);font-size:11px;line-height:1.45}.tournament-field-notice{color:var(--accent);font-size:11px}.tournament-field-error{color:var(--danger);font-size:12px}.tournament-field input[aria-invalid=true],.tournament-field select[aria-invalid=true],.tournament-field textarea[aria-invalid=true]{border-color:rgb(var(--danger-rgb) / .6)}.tournament-time-strip .time-strip-group{grid-template-columns:4.5rem 1fr;gap:.6rem}.tournament-time{border:1px solid #0000;border-radius:4px;margin:-8px;padding:8px}.tournament-time[aria-invalid=true]{border-color:rgb(var(--danger-rgb) / .6);background:rgb(var(--danger-rgb) / .06)}.tournament-radio-list{flex-direction:column;gap:8px;display:flex}.tournament-radio{border:1px solid rgb(var(--text-primary-rgb) / .08);background:rgb(var(--text-primary-rgb) / .02);cursor:pointer;border-radius:4px;align-items:flex-start;gap:10px;padding:10px 12px;display:flex}.tournament-radio:hover{border-color:rgb(var(--text-primary-rgb) / .18)}.tournament-radio:has(input:checked){border-color:rgb(var(--accent-rgb) / .5);background:rgb(var(--accent-rgb) / .07)}.tournament-radio input{accent-color:var(--accent);flex:none;margin-top:3px}.tournament-radio-text{flex-direction:column;gap:3px;min-width:0;display:flex}.tournament-radio-title{color:var(--text-primary);font-size:14px}.tournament-radio-desc{color:var(--text-muted);font-size:12px;line-height:1.45}.tournament-form-error{border:1px solid rgb(var(--danger-rgb) / .45);background:rgb(var(--danger-rgb) / .12);color:var(--danger);text-align:left;border-radius:4px;margin:0;padding:10px 12px;font-size:13px;line-height:1.5}.tournament-form-actions{flex-wrap:wrap;align-items:center;gap:14px;display:flex}.lobby-tournaments-panel{margin-top:14px}.admin-organizer-form .admin-field--wide{flex:320px}.admin-organizer-table .admin-promo-row{grid-template-columns:1.1fr 1.8fr 1fr 1fr auto}.admin-organizer-note{white-space:normal;overflow-wrap:anywhere}@media (width<=900px){.tournament-columns{grid-template-columns:1fr}}@media (width<=640px){.tournaments-body{gap:18px;padding:14px 12px 72px}.tournament-field-row{grid-template-columns:1fr}.tournament-hero,.tournament-entry-card,.tournament-pairing-card,.tournament-organizer-panel,.tournament-panel,.tournament-form-section{padding:14px}.tournament-card-grid{grid-template-columns:1fr}.tournament-hero-action{width:100%}}@media (pointer:coarse){.tournament-card{padding:18px 16px}.tournament-radio{min-height:44px;padding:12px}.tournament-round-selector .btn,.tournament-empty-state .btn,.tournament-form-actions .btn{min-width:44px;min-height:44px}.tournament-empty-sub a,.tournament-form-guide,.tournament-form-error a{align-items:center;min-height:44px;display:inline-flex}.tournament-form-guide{margin-top:-8px;margin-bottom:-8px}.tournament-field input,.tournament-field select,.tournament-field textarea,.tournament-time-strip .setup-time-custom input{min-height:44px;font-size:16px}.tournament-time-strip .time-chip{min-height:44px}}.live-thumb{border:1px solid rgb(var(--accent-alt-rgb) / .3);z-index:200;background:#000000b3;border-radius:6px;flex-direction:column;gap:6px;width:200px;padding:8px;display:flex;position:fixed;top:76px;right:16px;box-shadow:0 8px 32px #00000080}.live-thumb__board{aspect-ratio:1;pointer-events:none;width:100%}.live-thumb__board .board-container,.live-thumb__board .board{width:100%!important;min-width:0!important;max-width:100%!important;height:100%!important;min-height:0!important;max-height:100%!important}.live-thumb__board .board{border-radius:2px;box-shadow:none!important}.live-thumb__board .piece-symbol{font-size:14px!important}.live-thumb__board .square-coord-rank,.live-thumb__board .square-coord-file,.live-thumb__board .exact-probability-badge{display:none!important}.live-thumb__btn{background:rgb(var(--accent-alt-rgb) / .16);border:1px solid rgb(var(--accent-alt-rgb) / .4);font-family:var(--font-mono,monospace);color:var(--accent-alt);cursor:pointer;border-radius:4px;justify-content:center;align-items:center;gap:6px;padding:6px 10px;font-size:.85rem;display:inline-flex}.live-thumb__btn:hover{background:rgb(var(--accent-alt-rgb) / .28)}.live-thumb__clocks{font-family:var(--font-mono,monospace);gap:4px;font-size:.78rem;line-height:1;display:flex}.live-thumb__clock{color:var(--text-secondary,#ffffffa6);background:#ffffff0a;border:1px solid #ffffff14;border-radius:3px;flex:1;justify-content:center;align-items:center;gap:4px;padding:3px 6px;display:flex}.live-thumb__clock--active{background:rgb(var(--accent-alt-rgb) / .14);border-color:rgb(var(--accent-alt-rgb) / .4);color:var(--accent-alt)}.live-thumb__clock-dot{opacity:.8;background:currentColor;border-radius:50%;width:6px;height:6px}.live-thumb__clock--white .live-thumb__clock-dot{background:#f0f0f0}.live-thumb__clock--black .live-thumb__clock-dot{background:#1a1a1a;border:1px solid #ffffff80}.gameplay-screen[data-analysis=true] .player-timer{display:none!important}@keyframes live-thumb-pulse{0%,to{box-shadow:0 0 0 0 rgb(var(--accent-alt-rgb) / 0)}20%{box-shadow:0 0 0 6px rgb(var(--accent-alt-rgb) / .55)}60%{box-shadow:0 0 0 14px rgb(var(--accent-alt-rgb) / 0)}}.live-thumb__btn--flash{animation:1.6s ease-out live-thumb-pulse}@media (width<=540px){.live-thumb{width:auto}.live-thumb__board{display:none}}.consent-banner{z-index:10000;padding:var(--space-5);background:var(--bg-elevated);border-top:1px solid var(--border-light);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);animation:.3s ease-out consent-slide-up;position:fixed;bottom:0;left:0;right:0}@keyframes consent-slide-up{0%{transform:translateY(100%)}to{transform:translateY(0)}}.consent-banner-inner{align-items:center;gap:var(--space-6);max-width:960px;margin:0 auto;display:flex}.consent-banner-text{flex:1}.consent-banner-text p{font-family:var(--font-body);color:var(--text-secondary);margin:0;font-size:.85rem;line-height:1.5}.consent-banner-text a{color:var(--accent);text-underline-offset:2px;text-decoration:underline}.consent-banner-actions{gap:var(--space-3);flex-shrink:0;display:flex}.consent-btn{font-family:var(--font-heading);padding:var(--space-3) var(--space-6);border-radius:var(--radius-md);cursor:pointer;border:none;min-height:44px;font-size:.85rem;transition:opacity .15s}.consent-btn:hover{opacity:.85}.consent-btn--accept{background:var(--brand-gradient);color:#2a1205;font-weight:600}.consent-btn--decline{color:var(--text-secondary);border:1px solid var(--border-light);background:0 0}@media (width<=600px){.consent-banner{padding:var(--space-4)}.consent-banner-inner{text-align:center;gap:var(--space-3);flex-direction:column}.consent-banner-text p{font-size:.8rem;line-height:1.45}}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip-to-content{z-index:10000;background:var(--accent);color:var(--bg-primary);letter-spacing:.04em;padding:8px 16px;font-family:Chakra Petch,sans-serif;font-weight:600;text-decoration:none;transition:top .15s;position:absolute;top:-100%;left:0}.skip-to-content:focus{outline:none;top:12px}@media (pointer:coarse){.btn-nav-icon,.top-bar-fullscreen-btn,.top-bar-settings-btn,.screen-back-btn,.btn-sm[data-action=toggle-sound],.btn-sm[data-action=toggle-sandbox-menu]{min-width:44px;min-height:44px}.setup-time-chip,.history-nav-btn{min-height:44px}.gameplay-info-tab{min-width:44px;min-height:32px}.skip-to-content{align-items:center;min-height:44px;display:inline-flex}.sandbox-rule-icon{position:relative;overflow:visible}.sandbox-rule-icon:after{content:"";width:calc(100% + 4px);height:max(100%,36px);position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.eval-bar-tier-chip{overflow:visible}.eval-bar-tier-chip:after{content:"";width:max(100%,44px);height:max(100%,24px);position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px;box-shadow:0 0 0 4px rgb(var(--accent-rgb) / .15)}.btn-primary:focus-visible{outline-color:var(--text-primary);box-shadow:0 0 0 4px rgb(var(--accent-alt-rgb) / .25)}.square:focus-visible{outline:2px solid var(--accent);outline-offset:-2px;z-index:3}.option-btn:focus-visible,.setup-side-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.mode-hero-card:focus-visible{outline:2px solid var(--accent);outline-offset:2px;box-shadow:0 0 0 4px rgb(var(--accent-rgb) / .15)}.toast-close:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.promotion-option:focus-visible,.sandbox-menu-item:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.consent-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}@media (prefers-reduced-motion:reduce){html:not([data-reduce-motion=off]),html:not([data-reduce-motion=off]) *,html:not([data-reduce-motion=off]) :before,html:not([data-reduce-motion=off]) :after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}html:not([data-reduce-motion=off]) .home-hero-glow,html:not([data-reduce-motion=off]) .mode-hero-card-bg{opacity:.3;animation:none!important}html:not([data-reduce-motion=off]) .toast,html:not([data-reduce-motion=off]) .modal-backdrop,html:not([data-reduce-motion=off]) .modal-dialog,html:not([data-reduce-motion=off]) .ring-gauge circle,html:not([data-reduce-motion=off]) .entanglement-ring circle,html:not([data-reduce-motion=off]) .consent-banner{animation:none!important}}html[data-reduce-motion=on],html[data-reduce-motion=on] *,html[data-reduce-motion=on] :before,html[data-reduce-motion=on] :after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}html[data-reduce-motion=on] .home-hero-glow,html[data-reduce-motion=on] .mode-hero-card-bg{opacity:.3;animation:none!important}html[data-reduce-motion=on] .toast,html[data-reduce-motion=on] .modal-backdrop,html[data-reduce-motion=on] .modal-dialog,html[data-reduce-motion=on] .ring-gauge circle,html[data-reduce-motion=on] .entanglement-ring circle,html[data-reduce-motion=on] .consent-banner{animation:none!important}@media (prefers-contrast:more){:root{--bg-primary:#000;--bg-secondary:#0a0a0a;--bg-tertiary:#141414;--bg-elevated:#1e1e1e;--text-primary:#fff;--text-secondary:#ccc;--text-muted:#888;--border:#ffffff40;--border-light:#fff6;--board-light:#5a5aad!important;--board-dark:#0a0a2a!important}.btn{border-width:2px}.btn-primary{border-color:#ff3a8ccc}.btn-secondary{border-color:#ffffff80}.square{border:1px solid #ffffff1f}.square.selected{border-color:var(--selection);border-width:2px}.square.legal-target{border-color:var(--legal-target);border-width:2px}.toast{border-width:2px}.toast-info{border-color:#00e5ff99}.toast-success{border-color:#22c55e99}.toast-warning{border-color:#f59e0b99}.toast-error{border-color:#ef444499}.modal-dialog{border-width:2px;border-color:#ff3a8c66}.exact-probability-badge{border:1px solid #ffffff4d;font-weight:700}.piece-symbol{filter:contrast(1.2)}:focus-visible{outline-width:3px}}.pwa-install-banner{z-index:9000;background:var(--bg-elevated);border:1px solid var(--border);color:var(--text-secondary);border-radius:10px;align-items:center;gap:12px;max-width:calc(100vw - 32px);padding:10px 16px;font-family:Oxanium,sans-serif;font-size:.85rem;display:flex;position:fixed;bottom:16px;left:50%;transform:translate(-50%);box-shadow:0 4px 24px #00000080}.pwa-install-btn{background:var(--accent);color:var(--bg-primary);cursor:pointer;white-space:nowrap;border:none;border-radius:6px;padding:6px 14px;font-family:Chakra Petch,sans-serif;font-size:.8rem;font-weight:600;transition:opacity .15s}.pwa-install-btn:hover{opacity:.85}.pwa-install-dismiss{color:var(--text-muted);cursor:pointer;background:0 0;border:none;padding:2px 4px;font-size:1.1rem;line-height:1}.pwa-install-dismiss:hover{color:var(--text-primary)}.pwa-install-banner--prominent{text-align:center;border-width:2px;border-color:var(--accent);flex-direction:column;align-items:stretch;gap:14px;max-width:360px;padding:22px 26px 18px;font-size:1rem;line-height:1.4;animation:1.6s ease-out 2 pwa-install-attention;top:50%;bottom:auto;transform:translate(-50%,-50%);box-shadow:0 12px 48px #000000b3,0 0 0 6px #e11d6b1f}.pwa-install-banner--prominent .pwa-install-text{color:var(--text-primary);padding-right:18px;display:block}.pwa-install-banner--prominent .pwa-install-btn{align-self:center;min-width:160px;padding:10px 24px;font-size:.95rem}.pwa-install-banner--prominent .pwa-install-dismiss{font-size:1.3rem;position:absolute;top:6px;right:8px}@keyframes pwa-install-attention{0%,to{transform:translate(-50%,-50%)scale(1)}50%{transform:translate(-50%,-50%)scale(1.03)}}@media (prefers-reduced-motion:reduce){html:not([data-reduce-motion=off]) .pwa-install-banner--prominent{animation:none}}html[data-reduce-motion=on] .pwa-install-banner--prominent{animation:none}.guide-screen{background:var(--bg-primary);height:100dvh;color:var(--text-primary);flex-direction:column;display:flex}.guide-topbar{padding:8px 16px;padding-top:max(8px, var(--titlebar-top-inset));padding-right:max(16px, calc(var(--titlebar-right-inset) + 12px));background:var(--bg-secondary,#ffffff08);-webkit-app-region:drag;app-region:drag;border-bottom:1px solid var(--border,#ffffff0f);flex-shrink:0;align-items:center;gap:12px;display:flex}html[data-os=darwin] .guide-topbar{padding-left:max(84px, var(--titlebar-left-inset))}.guide-back-btn{opacity:.7;font-size:.85rem}.guide-back-btn:hover{opacity:1}.guide-topbar button,.guide-topbar a,.guide-topbar nav{-webkit-app-region:no-drag;app-region:no-drag}.guide-topbar-nav{gap:4px;margin-left:auto;display:flex}.guide-tab{color:var(--text-muted,#ffffff80);border-radius:6px;padding:6px 14px;font-size:.85rem;text-decoration:none;transition:background .15s,color .15s}.guide-tab:hover{color:var(--text-primary);background:#ffffff0d}.guide-tab.active{color:var(--accent,#00e5ff);background:rgb(var(--accent-rgb) / .08)}.guide-layout{flex:1;min-height:0;display:flex;overflow:hidden}.guide-sidebar{border-right:1px solid var(--border,#ffffff0f);flex-direction:column;flex-shrink:0;gap:2px;width:200px;padding:20px 12px;display:flex;overflow-y:auto}.guide-sidebar-title{text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted,#fff6);margin-bottom:8px;padding:0 8px;font-size:.7rem}.guide-sidebar-link{color:var(--text-muted);border-radius:4px;padding:5px 8px;font-size:.8rem;text-decoration:none;transition:background .15s,color .15s;display:block}.guide-sidebar-link:hover{color:var(--text-primary);background:#ffffff0d}.guide-content{flex:1;padding:32px 48px 80px;overflow-y:auto}.guide-content>.guide-article{max-width:800px;margin:0 auto}.guide-screen--index .guide-content>.guide-index{max-width:960px;margin:0 auto}.guide-article h1{font-family:var(--font-display,"Chakra Petch", sans-serif);background:var(--brand-gradient-wide);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;margin:0 0 8px;font-size:2rem;font-weight:700}.guide-lead{color:var(--text-muted,#fff9);margin:0 0 32px;font-size:1.05rem;line-height:1.6}.guide-section{margin-bottom:48px;scroll-margin-top:24px}.guide-section h2{font-family:var(--font-display,"Chakra Petch", sans-serif);color:var(--text-primary);margin:0 0 12px;font-size:1.35rem;font-weight:600}.guide-section h3{color:var(--text-primary);opacity:.85;margin:24px 0 8px;font-size:1rem;font-weight:600}.guide-section p{color:var(--text-secondary,#ffffffbf);margin:0 0 12px;font-size:.92rem;line-height:1.7}.guide-section ul,.guide-section ol{margin:0 0 16px;padding-left:20px}.guide-section li{color:var(--text-secondary,#ffffffbf);margin-bottom:4px;font-size:.92rem;line-height:1.7}.guide-section strong{color:var(--text-primary)}.guide-section em{color:var(--accent,#00e5ff);font-style:italic}.guide-section a{color:var(--accent,#00e5ff);text-underline-offset:2px;text-decoration:underline}.guide-section a:hover{color:#fff}.guide-section code{font-family:var(--font-mono,"JetBrains Mono", monospace);background:#ffffff0f;border-radius:3px;padding:2px 6px;font-size:.85em}.guide-section--muted{color:var(--text-secondary)}.diagram-row{flex-wrap:nowrap;align-items:center;gap:16px;margin:16px 0;display:flex}.diagram-row--wrap{flex-wrap:wrap}.diagram-arrow{color:var(--text-muted,#fff6);font-size:1.4rem}.diagram-callout{background:#ffffff05;border:1px solid #ffffff0f;border-radius:8px;margin:20px 0;padding:16px}.demo-piece-wrap{flex-direction:column;align-items:center;gap:6px;display:inline-flex}.demo-piece-square{background:#ffffff0a;border-radius:8px;justify-content:center;align-items:center;width:56px;height:56px;display:flex;position:relative}.demo-piece-square--dark{background:#00000080;border-radius:50%}.guide-measure-icon{justify-content:center;align-items:center;width:80%;height:80%;display:flex}.guide-measure-icon svg{filter:drop-shadow(0 0 6px #38e9e980);width:100%;height:100%}.demo-piece-square .ring-gauge{width:calc(100% + 8px);height:calc(100% + 8px);position:absolute;inset:-4px}.demo-piece-square .entanglement-ring{width:calc(100% + 20px);height:calc(100% + 20px);position:absolute;inset:-10px}.demo-piece-square .phase-indicator{width:100%;height:100%;position:absolute;inset:0}.demo-piece-square .piece-token,.demo-piece-square .piece-symbol{border-radius:999px;justify-content:center;align-items:center;width:42px;height:42px;display:flex}.demo-piece-square .piece-svg{width:28px;height:28px}.demo-piece-label{color:var(--text-muted);text-align:center;max-width:80px;font-size:.7rem;line-height:1.3}.inline-piece{vertical-align:-.15em;justify-content:center;align-items:center;width:1.2em;height:1.2em;display:inline-flex}.inline-piece .piece-svg{width:100%;height:100%}.mini-board-figure{margin:16px 0;display:inline-block}.mini-board{border:1px solid #ffffff14;border-radius:6px;gap:0;display:grid;position:relative;overflow:hidden}.mini-board-figure.mini-board-sm .mini-board{width:min(280px,70vw)}.mini-board-figure.mini-board-md .mini-board{width:min(360px,80vw)}.mini-board-figure.mini-board-lg .mini-board{width:min(440px,85vw)}.mini-sq{aspect-ratio:1}.mini-sq.square{border-color:#0000!important}.mini-sq.square.selected{box-shadow:inset 0 0 0 2px var(--accent,#00e5ff)}.mini-sq.square.legal-target{box-shadow:inset 0 0 0 2px var(--legal-target,#22c55e)}.mini-sq.square.last-move{box-shadow:none}.sq-light{background:#ffffff14}.sq-dark{background:#ffffff08}.sq-light.last-move{background:rgb(var(--last-move-rgb) / .2)}.sq-dark.last-move{background:rgb(var(--last-move-rgb) / .15)}.mini-sq .piece-symbol{font-size:24px}.mini-sq .ring-gauge{z-index:2;width:calc(100% + 4px);height:calc(100% + 4px);position:absolute;inset:-2px}.mini-board-label{color:var(--text-muted,#ffffff80);white-space:nowrap;pointer-events:none;font-size:.55rem;position:absolute;bottom:1px;left:50%;transform:translate(-50%)}.mini-board-caption{color:var(--text-muted,#ffffff80);text-align:center;margin-top:8px;font-size:.8rem;font-style:italic}.mini-coord-rank{color:var(--text-muted,#ffffff4d);pointer-events:none;font-size:.5rem;position:absolute;top:2px;left:3px}.mini-coord-file{color:var(--text-muted,#ffffff4d);pointer-events:none;font-size:.5rem;position:absolute;bottom:2px;right:3px}.mini-web-overlay{pointer-events:none;z-index:4;width:100%;height:100%;position:absolute;inset:0}.step-sequence{align-items:flex-start;gap:8px;margin:16px 0;padding-bottom:8px;display:flex;overflow-x:auto}.step-item{flex-direction:column;flex-shrink:0;align-items:center;gap:6px;display:flex}.step-number{background:var(--accent,#00e5ff);color:#000;border-radius:50%;justify-content:center;align-items:center;width:22px;height:22px;font-size:.7rem;font-weight:700;display:flex}.step-label{color:var(--text-muted,#ffffff8c);text-align:center;max-width:180px;font-size:.75rem;line-height:1.3}.step-arrow{color:var(--text-muted,#ffffff4d);align-self:center;margin-top:24px;font-size:1.4rem}.mode-header{align-items:center;gap:10px;margin-bottom:12px;display:flex}.mode-icon{border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;font-size:1.2rem;display:flex}.mode-icon--orange{background:rgb(var(--accent-orange-rgb) / .15)}.mode-icon--magenta{background:rgb(var(--accent-alt-rgb) / .15)}.mode-icon--cyan{background:rgb(var(--accent-rgb) / .15)}.mode-icon--purple{background:#8b5cf626}.mode-header h2{margin:0}.notation-table{border-collapse:collapse;width:100%;margin:12px 0;font-size:.85rem}.notation-table th{text-align:left;color:var(--text-muted,#ffffff80);text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid #ffffff1a;padding:8px 12px;font-size:.75rem;font-weight:600}.notation-table td{color:var(--text-secondary,#ffffffbf);border-bottom:1px solid #ffffff0a;padding:6px 12px}.notation-table code{font-family:var(--font-mono,"JetBrains Mono", monospace);background:#ffffff0f;border-radius:3px;padding:2px 6px;font-size:.85em}.notation-example{flex-wrap:wrap;align-items:center;gap:20px;margin:16px 0;display:flex}.notation-example>.mini-board-figure{flex:none;margin:0}.notation-example-body{flex:220px;min-width:0}.notation-move{font-family:var(--font-mono,"JetBrains Mono", monospace);letter-spacing:.04em;color:var(--text-primary);background:#ffffff0f;border:1px solid #ffffff14;border-radius:6px;padding:6px 12px;font-size:1.15rem;display:inline-block}.notation-reading{margin:8px 0 0}.notation-log{max-width:380px}.notation-log-num{width:3em;color:var(--text-muted,#fff6)}.notation-log td code{font-size:.95em}.notation-notes code{white-space:nowrap}.coming-soon-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;margin-top:12px;display:grid}.coming-soon-item{background:#ffffff05;border:1px dashed #ffffff14;border-radius:8px;padding:16px}.coming-soon-icon{margin-bottom:8px;font-size:1.5rem;display:block}.coming-soon-item h3{margin:0 0 4px;font-size:.95rem}.coming-soon-item p{margin:0;font-size:.82rem}.guide-index{padding:32px 0}.guide-index-header{text-align:center;margin-bottom:40px}.guide-index-header h1{font-family:var(--font-display,"Chakra Petch", sans-serif);background:var(--brand-gradient-wide);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;margin:0 0 8px;font-size:2.2rem;font-weight:700}.guide-index-subtitle{color:var(--text-muted,#ffffff8c);margin:0;font-size:1rem}.guide-cards{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px;display:grid}.guide-card{color:var(--text-primary);background:#ffffff08;border:1px solid #ffffff0f;border-radius:12px;flex-direction:column;padding:24px;text-decoration:none;transition:background .2s,border-color .2s,transform .2s;display:flex;position:relative;overflow:hidden}.guide-card:hover{background:#ffffff0d;border-color:#ffffff1a;transform:translateY(-2px)}.guide-card--magenta:hover{border-color:rgb(var(--accent-alt-rgb) / .3)}.guide-card--cyan:hover{border-color:rgb(var(--accent-rgb) / .3)}.guide-card--orange:hover{border-color:rgb(var(--accent-orange-rgb) / .3)}.guide-card--green:hover{border-color:#34d3994d}.guide-card--purple:hover{border-color:#8b5cf64d}.guide-card-icon{margin-bottom:12px;font-size:2rem}.guide-card-title{font-family:var(--font-display,"Chakra Petch", sans-serif);margin:0 0 6px;font-size:1.2rem;font-weight:600}.guide-card-desc{color:var(--text-muted,#ffffff8c);flex:1;margin:0;font-size:.85rem;line-height:1.5}.guide-card-arrow{color:var(--text-muted,#ffffff4d);margin-top:12px;font-size:1.2rem;transition:color .15s,transform .15s}.guide-card:hover .guide-card-arrow{color:var(--text-primary);transform:translate(4px)}.idemo{flex-direction:column;align-items:center;gap:12px;display:flex}.idemo-hint{color:var(--text-secondary,#ffffffbf);text-align:center;min-height:1.4em;font-size:.88rem;transition:color .2s}.idemo-hint--done{color:var(--accent,#00e5ff);font-weight:600}.idemo-board-wrap{touch-action:none;-webkit-user-select:none;user-select:none}.idemo-board{cursor:pointer;border:1px solid #ffffff14;border-radius:6px;gap:0;width:280px;display:grid;position:relative;overflow:hidden}.idemo-sq{aspect-ratio:1}.idemo-sq.square{border-color:#0000!important}.idemo-sq.square.selected{box-shadow:inset 0 0 0 2px var(--accent,#00e5ff)}.idemo-sq.square.legal-target{box-shadow:inset 0 0 0 2px var(--legal-target,#22c55e)}.idemo-sq.square.last-move{box-shadow:none}.idemo-board .piece-symbol{pointer-events:none;font-size:28px}.idemo-board .piece-token{pointer-events:none}.idemo-coord-rank{color:#ffffff4d;pointer-events:none;z-index:5;font-size:.5rem;line-height:1;position:absolute;top:1px;left:2px}.idemo-coord-file{color:#ffffff4d;pointer-events:none;z-index:5;font-size:.5rem;line-height:1;position:absolute;bottom:1px;right:2px}.idemo-sq .ring-gauge{z-index:2;pointer-events:none;width:calc(100% + 4px);height:calc(100% + 4px);position:absolute;inset:-2px}.idemo-piece-picker{flex-wrap:wrap;justify-content:center;gap:4px;display:flex}.idemo-piece-btn{color:var(--text-muted,#ffffff80);cursor:pointer;background:#ffffff05;border:1px solid #ffffff0f;border-radius:6px;flex-direction:column;align-items:center;gap:2px;padding:6px 10px;transition:background .15s,border-color .15s,color .15s;display:flex}.idemo-piece-btn:hover{color:var(--text-primary);background:#ffffff0f}.idemo-piece-btn.active{background:rgb(var(--accent-rgb) / .1);border-color:rgb(var(--accent-rgb) / .3);color:var(--text-primary)}.idemo-piece-icon{justify-content:center;align-items:center;width:24px;height:24px;display:flex}.idemo-piece-icon .piece-svg{width:20px;height:20px}.idemo-piece-label{font-size:.65rem;line-height:1}.idemo-scenario-bar{justify-content:center;gap:4px;display:flex}.idemo-scenario-btn{color:var(--text-muted,#ffffff80);cursor:pointer;background:#ffffff05;border:1px solid #ffffff0f;border-radius:4px;padding:3px 10px;font-size:.75rem;transition:background .15s,border-color .15s,color .15s}.idemo-scenario-btn:hover{color:var(--text-primary);background:#ffffff0f}.idemo-scenario-btn.active{background:rgb(var(--accent-rgb) / .08);border-color:rgb(var(--accent-rgb) / .25);color:var(--accent,#00e5ff)}.idemo-scenario-wrap{min-height:28px}.idemo-success-overlay{border-radius:inherit;pointer-events:none;z-index:10;background:#00000040;justify-content:center;align-items:center;animation:.3s idemo-success-fade;display:flex;position:absolute;inset:0}@keyframes idemo-success-fade{0%{opacity:0}to{opacity:1}}.idemo-success-check{filter:drop-shadow(0 0 10px #34d39980);width:48px;height:48px}.idemo-check-circle{stroke-dasharray:151;stroke-dashoffset:151px;animation:.4s .1s forwards idemo-circle-draw}@keyframes idemo-circle-draw{to{stroke-dashoffset:0}}.idemo-check-path{stroke-dasharray:40;stroke-dashoffset:40px;animation:.3s .35s forwards idemo-check-draw}@keyframes idemo-check-draw{to{stroke-dashoffset:0}}.idemo-shake{animation:.4s idemo-shake}@keyframes idemo-shake{0%,to{transform:translate(0)}15%{transform:translate(-6px)}30%{transform:translate(5px)}45%{transform:translate(-4px)}60%{transform:translate(3px)}75%{transform:translate(-2px)}}.idemo-disabled-overlay{border-radius:inherit;pointer-events:none;z-index:10;background:#0000004d;justify-content:center;align-items:center;animation:.2s idemo-success-fade;display:flex;position:absolute;inset:0}.idemo-disabled-x{filter:drop-shadow(0 0 8px #ef444466);width:44px;height:44px}.idemo-x-circle{stroke-dasharray:151;stroke-dashoffset:151px;animation:.3s forwards idemo-circle-draw}.idemo-x-line1{stroke-dasharray:23;stroke-dashoffset:23px;animation:.2s .15s forwards idemo-check-draw}.idemo-x-line2{stroke-dasharray:23;stroke-dashoffset:23px;animation:.2s .25s forwards idemo-check-draw}.idemo-hint--disabled{color:var(--text-muted,#ffffff73);font-style:italic}.idemo-hint--error{color:#ef4444e6;font-weight:600}.idemo-measurement-pair{max-width:100%}.idemo-measurement-boards{justify-content:center;align-items:flex-start;gap:16px;display:flex}.idemo-measurement-col{flex-direction:column;align-items:center;gap:6px;display:flex}.idemo-measurement-label{font-family:var(--font-mono,"JetBrains Mono", monospace);border-radius:4px;padding:2px 10px;font-size:.85rem;font-weight:700}.idemo-measurement-label--m0{color:#ef4444d9;background:#ef44441a}.idemo-measurement-label--m1{color:#34d399e6;background:#34d3991a}.idemo-measurement-label--detail{font-size:.72rem;font-weight:500;font-family:var(--font-body,"Oxanium", sans-serif);text-align:center;max-width:280px;padding:4px 8px;line-height:1.4}.idemo-measurement-col .idemo-board{width:min(42vw,280px)}.idemo-measure-eye,.idemo-measure-result{pointer-events:none;z-index:10;background:#000000b3;border-radius:50%;justify-content:center;align-items:center;display:flex;position:absolute;transform:translate(-50%,-50%)}.idemo-measure-eye svg{width:85%;height:85%}.idemo-measure-result svg{width:55%;height:55%}.idemo-measure-eye svg{filter:drop-shadow(0 0 8px #38e9e9cc)drop-shadow(0 0 16px #38e9e966)}.idemo-measure-eye{animation:.8s ease-in-out infinite idemo-eye-pulse;transform:translate(-50%,-65%)}@keyframes idemo-eye-pulse{0%,to{opacity:.7;transform:translate(-50%,-65%)scale(.9)}50%{opacity:1;transform:translate(-50%,-65%)scale(1.1)}}.idemo-measure-result{animation:.3s idemo-result-pop}.idemo-measure-result svg{filter:drop-shadow(0 0 4px)}@keyframes idemo-result-pop{0%{opacity:0;transform:translate(-50%,-50%)scale(.4)}60%{transform:translate(-50%,-50%)scale(1.15)}to{opacity:1;transform:translate(-50%,-50%)scale(1)}}.idemo-hint-overlay{pointer-events:none;z-index:10;position:absolute;inset:0}.idemo-hint-tap{border:2px solid rgb(var(--accent-rgb) / .6);box-shadow:0 0 12px rgb(var(--accent-rgb) / .3);border-radius:50%;animation:1.5s ease-in-out infinite idemo-pulse;position:absolute;transform:translate(-50%,-50%)}@keyframes idemo-pulse{0%,to{opacity:.4;transform:translate(-50%,-50%)scale(.8)}50%{opacity:1;transform:translate(-50%,-50%)scale(1.1)}}.idemo-hint-drag{width:100%;height:100%;position:absolute;inset:0}.idemo-reset{color:var(--text-muted,#ffffff80);cursor:pointer;background:#ffffff0a;border:1px solid #ffffff1a;border-radius:4px;padding:4px 14px;font-size:.75rem;transition:background .15s,color .15s}.idemo-reset:hover{color:var(--text-primary);background:#ffffff14}.touch-only{display:none}.desktop-only{display:revert}@media (pointer:coarse){.desktop-only{display:none}.touch-only{display:revert}}@media (width<=768px){.guide-sidebar{display:none}.guide-content{padding:20px 16px 60px}.guide-topbar{padding-left:8px;padding-right:max(8px, calc(var(--titlebar-right-inset) + 8px));gap:8px}.guide-topbar-nav{scrollbar-width:none;-ms-overflow-style:none;gap:2px;min-width:0;overflow-x:auto}.guide-topbar-nav::-webkit-scrollbar{display:none}.guide-topbar .screen-back-btn{flex:none}.guide-tab{white-space:nowrap;padding:8px 10px;font-size:.8rem}}@media (width<=480px){.guide-topbar-nav.guide-topbar-nav--overflow{-webkit-mask-image:linear-gradient(90deg,#000 calc(100% - 20px),#0000);mask-image:linear-gradient(90deg,#000 calc(100% - 20px),#0000)}.step-sequence{gap:4px}.guide-cards{grid-template-columns:1fr}.idemo-board{width:min(85vw,320px)}.idemo-measurement-col .idemo-board{width:min(42vw,240px)}.idemo-measurement-boards{gap:8px}}@media (width<=768px) and (pointer:coarse){.guide-topbar .top-bar-fullscreen-btn{display:none}}.guide-reader-backdrop{z-index:var(--z-modal,1000);background:rgb(var(--bg-primary-rgb,10 10 18) / .72);justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.guide-reader{background:var(--bg-primary,#0a0a12);border:1px solid var(--border-light,#ffffff1f);border-radius:var(--radius-lg,14px);flex-direction:column;width:100%;max-width:860px;min-height:0;max-height:88vh;display:flex;overflow:hidden;box-shadow:0 16px 64px #0009}.guide-reader-header{border-bottom:1px solid var(--border,#ffffff0f);flex-shrink:0;justify-content:space-between;align-items:center;gap:12px;padding:14px 18px;display:flex}.guide-reader-title{font-family:var(--font-display,"Chakra Petch", sans-serif);color:var(--text-primary);margin:0;font-size:1rem;font-weight:600}.guide-reader .guide-content>.guide-article>h1{display:none}.guide-reader .guide-content{padding:20px 28px 32px}@media (width<=640px){.guide-reader-backdrop{padding:0}.guide-reader{border:0;border-radius:0;max-width:none;height:100%;max-height:100%}.guide-reader .guide-content{padding:16px 16px 40px}}.admin-screen{flex-direction:column;min-height:100vh;display:flex}.admin-body{flex-direction:column;gap:2rem;width:100%;max-width:960px;margin:0 auto;padding:1.5rem 1rem 4rem;display:flex}.admin-section h2{color:var(--text-primary);margin:0 0 .5rem;font-size:1.1rem;font-weight:600}.admin-section-hint{color:var(--text-muted,#888);margin:0 0 .75rem;font-size:.85rem}.admin-coupon-form{background:var(--bg-tertiary);border:1px solid var(--border,#333);border-radius:10px;flex-wrap:wrap;align-items:flex-end;gap:.6rem;padding:.85rem 1rem;display:flex}.admin-field{color:var(--text-muted,#888);flex-direction:column;gap:.2rem;font-size:.8rem;display:flex}.admin-field input,.admin-field select{border:1px solid var(--border,#333);width:7.5rem;color:var(--text-primary);font:inherit;background:#0003;border-radius:6px;padding:.45rem .55rem}.admin-field input[type=text]{text-transform:uppercase;font-family:var(--font-mono,ui-monospace, monospace)}.admin-field input:focus,.admin-field select:focus{border-color:var(--accent);outline:none}.admin-coupon-result{color:var(--text-primary);background:#22c55e1f;border:1px solid #22c55e66;border-radius:8px;align-items:center;gap:.5rem;margin-top:.65rem;padding:.45rem .75rem;font-size:.9rem;display:inline-flex}.admin-coupon-result code{font-family:var(--font-mono,ui-monospace, monospace);letter-spacing:.04em;background:#0000004d;border-radius:4px;padding:.15rem .4rem;font-weight:600}.admin-promo-table{border:1px solid var(--border,#333);border-radius:10px;flex-direction:column;gap:.25rem;display:flex;overflow:hidden}.admin-promo-row{background:var(--bg-tertiary);grid-template-columns:1.4fr 1.6fr 1fr .9fr .9fr 1.1fr;align-items:center;gap:.5rem;padding:.55rem .85rem;font-size:.85rem;display:grid}.admin-promo-row:not(.admin-promo-row--head):nth-child(odd){background:#ffffff05}.admin-promo-row--head{text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted,#888);background:#00000040;padding:.5rem .85rem;font-size:.72rem}.admin-promo-code{font-family:var(--font-mono,ui-monospace, monospace);font-weight:600}.admin-promo-meta{color:var(--text-muted,#888);font-size:.78rem}.admin-promo-rev{color:#86efac;font-weight:600}@media (width<=720px){.admin-promo-row{grid-template-columns:1fr 1fr;grid-auto-rows:minmax(1.5rem,auto)}.admin-promo-row--head{display:none}}.admin-link-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:.75rem;display:grid}.admin-link-card{border:1px solid var(--border,#333);background:var(--bg-tertiary);color:var(--text-primary);cursor:pointer;text-align:left;font:inherit;border-radius:10px;flex-direction:column;align-items:flex-start;gap:.25rem;padding:1rem;transition:border-color .15s,transform .15s;display:flex}.admin-link-card:hover{border-color:var(--accent);transform:translateY(-1px)}.admin-link-card i{color:var(--accent);font-size:1.25rem}.admin-link-title{font-weight:600}.admin-link-sub{color:var(--text-muted,#888);font-size:.8rem}.admin-search-row{align-items:center;gap:.75rem;margin-bottom:.75rem;display:flex}.admin-search-input{border:1px solid var(--border,#333);background:var(--bg-tertiary);color:var(--text-primary);font:inherit;border-radius:8px;flex:1;padding:.6rem .85rem}.admin-search-input:focus{border-color:var(--accent);outline:none}.admin-search-status{color:var(--text-muted,#888);font-size:.85rem}.admin-user-list{flex-direction:column;gap:.75rem;display:flex}.admin-empty{color:var(--text-muted,#888);padding:.75rem 0;font-size:.9rem}.admin-user-row{border:1px solid var(--border,#333);background:var(--bg-tertiary);border-radius:10px;flex-direction:column;gap:.75rem;padding:.85rem 1rem;display:flex}.admin-user-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;display:flex}.admin-user-identity{align-items:center;gap:.6rem;min-width:0;display:flex}.admin-user-avatar,.admin-user-avatar-placeholder{object-fit:cover;border-radius:50%;flex-shrink:0;width:36px;height:36px}.admin-user-avatar-placeholder{background:linear-gradient(135deg,#a882ff66,#6366f166)}.admin-user-name{color:var(--text-primary);font-weight:600}.admin-user-email{color:var(--text-muted,#888);font-size:.8rem}.admin-user-badges{flex-wrap:wrap;gap:.35rem;display:flex}.admin-pill{color:var(--text-secondary,#ccc);border:1px solid var(--border,#333);background:#ffffff0f;border-radius:999px;align-items:center;padding:.18rem .5rem;font-size:.72rem;display:inline-flex}.admin-pill--admin{color:#f9a8d4;background:#f472b62e;border-color:#f472b666}.admin-pill--premium{color:#c4a8ff;background:#a882ff2e;border-color:#a882ff66}.admin-pill--beta{color:#86efac;background:#22c55e2e;border-color:#22c55e66}.admin-pill--danger{color:#fca5a5;background:#ef44442e;border-color:#ef444466}.admin-pill--warn{color:#fde047;background:#eab3082e;border-color:#eab30866}.admin-dispute-filters{flex-wrap:wrap;gap:.4rem;margin:.6rem 0 .8rem;display:flex}.admin-dispute-list{flex-direction:column;gap:.65rem;display:flex}.admin-dispute-row{border:1px solid var(--border,#333);background:#ffffff06;border-radius:.5rem;flex-direction:column;gap:.4rem;padding:.7rem .85rem;display:flex}.admin-dispute-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;display:flex}.admin-dispute-meta{color:var(--text-secondary,#ccc);flex-wrap:wrap;gap:.85rem;font-size:.85rem;display:flex}.admin-dispute-meta code{font-family:var(--font-mono,monospace);background:#ffffff0d;border-radius:.25rem;padding:.05rem .3rem;font-size:.78rem}.admin-dispute-notes{white-space:pre-wrap;color:var(--text-secondary,#ccc);background:#ffffff0a;border-left:2px solid #f472b666;border-radius:.35rem;padding:.5rem .6rem;font-size:.82rem}.admin-dispute-actions{flex-wrap:wrap;align-items:center;gap:.4rem;display:flex}.admin-link{color:var(--text-link,#93c5fd);text-underline-offset:2px;text-decoration:underline}.admin-user-row--highlight{animation:1.8s ease-out admin-row-highlight}@keyframes admin-row-highlight{0%{background:#f472b62e}to{background:0 0}}.admin-user-actions{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.admin-action-group{flex-wrap:wrap;align-items:center;gap:.35rem;display:flex}.admin-action-label{color:var(--text-muted,#888);margin-right:.25rem;font-size:.78rem}.btn.btn-sm{padding:.35rem .65rem;font-size:.78rem}.admin-test-section{border-top:2px dashed rgb(var(--accent-gold-rgb) / .4);padding-top:1.25rem}.admin-test-target-row{border:1px solid var(--border,#333);background:rgb(var(--accent-gold-rgb) / .05);border-radius:8px;flex-wrap:wrap;align-items:center;gap:.75rem;margin-bottom:1rem;padding:.6rem .85rem;display:flex}.admin-test-state{margin-bottom:1rem}.admin-test-state-block{border:1px solid var(--border,#333);background:#0003;border-radius:8px;padding:.75rem .85rem}.admin-test-state-header{border-bottom:1px solid var(--border,#333);flex-wrap:wrap;gap:1rem;margin-bottom:.5rem;padding-bottom:.5rem;font-size:.8rem;display:flex}.admin-test-subs{flex-direction:column;gap:.4rem;display:flex}.admin-test-sub{background:#ffffff05;border-radius:6px;flex-wrap:wrap;align-items:center;gap:.5rem;padding:.35rem .5rem;font-size:.85rem;display:flex}.admin-test-group-title{color:var(--text-primary);text-transform:uppercase;letter-spacing:.05em;margin:1rem 0 .4rem;font-size:.85rem;font-weight:600}.admin-test-buttons{flex-wrap:wrap;gap:.4rem;margin-bottom:.5rem;display:flex}.admin-test-result{border-left:3px solid var(--accent);font-size:.85rem;font-family:var(--font-mono,ui-monospace, monospace);color:var(--text-primary);background:#0000004d;border-radius:6px;margin-top:.75rem;padding:.6rem .85rem}.admin-test-runner{flex-direction:column;gap:.75rem;margin-bottom:.5rem;display:flex}.admin-test-runner-head{border-bottom:1px solid var(--border,#333);flex-wrap:wrap;align-items:center;gap:.6rem;padding-bottom:.5rem;display:flex}.admin-test-runner-summary{flex-wrap:wrap;gap:.5rem;margin-left:auto;font-size:.85rem;display:flex}.admin-test-runner-stat{background:#ffffff0d;border-radius:999px;padding:.15rem .5rem;font-weight:600}.admin-test-runner-stat--ok{color:#4ade80;background:#4ade8026}.admin-test-runner-stat--fail{color:#ef4444;background:#ef444426}.admin-test-runner-stat--running{color:#a5b4fc;background:#6366f12e}.admin-test-runner-stat--queued{background:rgb(var(--accent-gold-rgb) / .15);color:var(--accent-gold)}.admin-test-runner-stat--idle{color:var(--text-muted,#aaa)}.admin-test-runner-list{flex-direction:column;gap:.45rem;margin:0;padding:0;list-style:none;display:flex}.admin-test-runner-row{background:#ffffff05;border:1px solid #ffffff0f;border-radius:6px;padding:.6rem .75rem;transition:border-color .2s,background .2s}.admin-test-runner-row--passed{border-left:3px solid #4ade80}.admin-test-runner-row--failed{background:#ef44440a;border-left:3px solid #ef4444}.admin-test-runner-row--running{background:#6366f10f;border-left:3px solid #a5b4fc}.admin-test-runner-row--queued{border-left:3px solid var(--accent-gold);opacity:.85}.admin-test-runner-row-main{grid-template-columns:1.4rem minmax(0,1fr) auto;align-items:start;gap:.75rem;display:grid}.admin-test-runner-row-icon{text-align:center;font-size:1rem;font-weight:700;line-height:1.4}.admin-test-runner-row--passed .admin-test-runner-row-icon{color:#4ade80}.admin-test-runner-row--failed .admin-test-runner-row-icon{color:#ef4444}.admin-test-runner-row--running .admin-test-runner-row-icon{color:#a5b4fc;animation:1.2s ease-in-out infinite admin-test-runner-pulse}.admin-test-runner-row--queued .admin-test-runner-row-icon{color:var(--accent-gold)}.admin-test-runner-row--idle .admin-test-runner-row-icon{color:var(--text-muted,#888)}@keyframes admin-test-runner-pulse{0%,to{opacity:.4;transform:scale(.85)}50%{opacity:1;transform:scale(1.05)}}.admin-test-runner-row-body{min-width:0}.admin-test-runner-row-title{margin-bottom:.15rem;font-size:.95rem;line-height:1.3}.admin-test-runner-row-desc{color:var(--text-muted,#aaa);margin:0;font-size:.78rem;line-height:1.4}.admin-test-runner-row-summary{font-size:.8rem;font-family:var(--font-mono,ui-monospace, monospace);word-break:break-word;margin-top:.4rem}.admin-test-runner-row-summary--ok{color:#4ade80}.admin-test-runner-row-summary--fail{color:#fca5a5}.admin-test-runner-row-actions{flex-direction:column;align-items:stretch;gap:.3rem;display:flex}.admin-test-runner-toggle{white-space:nowrap}.admin-test-flow-steps{flex-direction:column;gap:.35rem;margin:0;padding:0;list-style:none;display:flex}.admin-test-flow-step{background:#ffffff05;border-radius:4px;grid-template-columns:1.4rem 1fr;gap:.5rem;padding:.35rem .5rem;font-size:.85rem;display:grid}.admin-test-flow-step-icon{text-align:center;font-weight:600;line-height:1.4}.admin-test-flow-step--ok .admin-test-flow-step-icon{color:#4ade80}.admin-test-flow-step--fail{background:#ef444414}.admin-test-flow-step--fail .admin-test-flow-step-icon{color:#ef4444}.admin-test-flow-step--skipped .admin-test-flow-step-icon{color:var(--text-muted,#aaa)}.admin-test-flow-step-detail{font-family:var(--font-mono,ui-monospace, monospace);color:var(--text-muted,#bbb);word-break:break-word;margin-top:.2rem;font-size:.78rem}.admin-compose{background:#6366f10f;border:1px solid #6366f133;border-radius:6px;flex-direction:column;gap:.6rem;margin-top:.85rem;padding:.85rem 1rem;display:flex}.admin-compose-title{margin:0;font-size:.95rem;font-weight:600}.admin-compose textarea{resize:vertical;width:100%;font-family:inherit;font-size:.9rem}.admin-compose-actions{justify-content:flex-end;gap:.5rem;display:flex}.admin-message-history{background:#ffffff05;border:1px solid #ffffff0f;border-radius:6px;margin-top:.85rem;padding:.85rem 1rem}.admin-message-history h4{margin:0 0 .6rem;font-size:.9rem;font-weight:600}.admin-message-history-list{flex-direction:column;gap:.5rem;margin:0;padding:0;list-style:none;display:flex}.admin-message-history-item{background:#0003;border-radius:4px;padding:.6rem .75rem;font-size:.85rem}.admin-message-history-head{flex-wrap:wrap;align-items:center;gap:.5rem;margin-bottom:.35rem;display:flex}.admin-message-history-promo{font-family:var(--font-mono,ui-monospace, monospace);color:#4ade80;margin-bottom:.35rem;font-size:.8rem}.admin-message-history-promo code{letter-spacing:.05em;font-weight:700}.admin-message-history-body{color:var(--text-muted,#ccc);white-space:pre-wrap;max-height:200px;font-size:.82rem;line-height:1.5;overflow-y:auto}.puzzle-candidates-screen{max-width:1200px;margin:0 auto;padding:1rem}.puzzle-candidates-screen .admin-header{padding-right:max(0px, calc(var(--titlebar-right-inset) - max(0px, (100vw - 1200px) / 2)));padding-top:var(--titlebar-top-inset);align-items:center;gap:.75rem;margin-bottom:1rem;display:flex}html[data-os=darwin] .puzzle-candidates-screen .admin-header{padding-left:max(0px,84px + -1*max(0px,50vw - 600px))}.puzzle-candidates-screen .admin-header h1{flex:1;margin:0;font-size:1.25rem}.puzzle-candidates-screen .admin-stats-row{color:var(--text-muted,#ccc);flex-wrap:wrap;gap:1rem;font-size:.9rem;display:flex}.puzzle-candidates-screen .admin-stats-row strong{color:var(--text-primary)}.puzzle-candidates-screen .admin-filter-row{flex-wrap:wrap;align-items:flex-end;gap:1rem;display:flex}.puzzle-candidates-screen .admin-filter-row label{color:var(--text-muted,#aaa);flex-direction:column;gap:.25rem;font-size:.78rem;display:flex}.puzzle-candidates-screen .admin-filter-row select,.puzzle-candidates-screen .admin-filter-row input[type=number]{color:var(--text-primary);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;background:#ffffff0a;border:1px solid #ffffff1f;border-radius:6px;min-width:8rem;padding:.35rem .5rem}.puzzle-candidates-screen .admin-filter-row select option{color:var(--text-primary);background-color:#1a1a1f}.puzzle-candidates-screen .admin-error{color:#fca5a5;background:#ef444426;border:1px solid #ef444466;border-radius:6px;margin:.75rem 0;padding:.5rem .75rem;font-size:.85rem}.admin-candidates-grid{grid-template-columns:repeat(auto-fill,minmax(420px,1fr));gap:1rem;display:grid}.admin-candidate-card{background:#ffffff08;border:1px solid #ffffff14;border-radius:8px;gap:.85rem;padding:.85rem;display:flex}.admin-candidate-card-selected{background:#78b4ff14;border-color:#78b4ff99}.admin-candidate-check{cursor:pointer;align-items:flex-start;padding-top:.25rem;display:flex}.admin-candidate-check input[type=checkbox]{cursor:pointer;width:1.1rem;height:1.1rem}.admin-bulk-bar{z-index:5;background:#78b4ff14;border:1px solid #78b4ff4d;border-radius:8px;flex-wrap:wrap;align-items:center;gap:.5rem;margin-bottom:.75rem;padding:.6rem .85rem;display:flex;position:sticky;top:0}.admin-bulk-select-all{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:.4rem;display:flex}.admin-bulk-count{opacity:.75;margin-right:auto;font-size:.85rem}.admin-bulk-clear{margin-left:auto}.admin-candidate-board{flex:none}.admin-candidate-board .mini-board{width:9rem}.admin-candidate-body{flex-direction:column;flex:auto;gap:.4rem;min-width:0;display:flex}.admin-candidate-head{align-items:baseline;gap:.5rem;display:flex}.admin-candidate-delta{font-variant-numeric:tabular-nums;color:var(--text-primary);font-size:1.15rem;font-weight:700}.admin-candidate-sub{color:var(--text-muted,#888);font-size:.78rem}.admin-candidate-tactics .tag{color:#93c5fd;background:#3b82f62e;border-radius:999px;margin:.1rem .1rem .1rem 0;padding:.05rem .5rem;font-size:.72rem;display:inline-block}.admin-candidate-tactics .tag-muted{color:var(--text-muted,#aaa);background:#ffffff0f}.admin-candidate-move code,.admin-candidate-source code{background:#ffffff0d;border-radius:3px;padding:.1rem .3rem;font-size:.78rem}.admin-candidate-source{color:var(--text-primary);font-size:.82rem}.admin-candidate-source a{color:#93c5fd;text-decoration:none}.admin-candidate-source a:hover{text-decoration:underline}.admin-candidate-actions{flex-wrap:wrap;gap:.25rem;margin-top:auto;padding-top:.25rem;display:flex}.admin-candidate-actions small{color:var(--text-muted,#888);font-style:italic}.admin-btn{color:var(--text-primary);cursor:pointer;background:#ffffff14;border:1px solid #ffffff26;border-radius:5px;padding:.3rem .6rem;font-size:.78rem}.admin-btn:hover:not(:disabled){background:#ffffff24}.admin-btn:disabled{opacity:.5;cursor:not-allowed}.admin-btn.danger{color:#fca5a5;background:#ef444426;border-color:#ef44444d}.admin-btn.danger:hover:not(:disabled){background:#ef444440}.admin-btn.primary{color:#c5dcff;background:#3b82f640;border-color:#3b82f666}.admin-btn.primary:hover:not(:disabled){background:#3b82f659}.admin-modal-backdrop{z-index:1000;background:#0009;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.admin-modal{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;background:#1a1a22;border:1px solid #ffffff1f;border-radius:10px;flex-direction:column;width:100%;max-width:32rem;display:flex;box-shadow:0 20px 60px #00000080}.admin-modal-head{border-bottom:1px solid #ffffff14;padding:1rem 1.25rem .5rem}.admin-modal-head h2{color:var(--text-primary);margin:0 0 .25rem;font-size:1rem}.admin-modal-body{flex-direction:column;gap:.75rem;padding:1rem 1.25rem;display:flex}.admin-modal-foot{border-top:1px solid #ffffff14;justify-content:flex-end;gap:.5rem;padding:.75rem 1.25rem 1rem;display:flex}.admin-modal .admin-field{color:var(--text-muted,#aaa);flex-direction:column;gap:.25rem;font-size:.78rem;display:flex}.admin-modal .admin-field-row{gap:.75rem;display:flex}.admin-modal .admin-field-grow{flex:1}.admin-modal input[type=text],.admin-modal input[type=number],.admin-modal textarea,.admin-modal select{color:var(--text-primary);background:#ffffff0a;border:1px solid #ffffff1f;border-radius:6px;padding:.4rem .55rem;font-family:inherit;font-size:.9rem}.admin-modal select option{color:var(--text-primary);background-color:#1a1a1f}.admin-modal.admin-modal-wide{max-width:48rem}.admin-pgn-head{justify-content:space-between;align-items:center;gap:.5rem;display:flex}.admin-pgn-toggle{padding:.2rem .5rem;font-size:.75rem}.admin-pgn-viewer,.admin-pgn-editor{color:var(--text-primary);white-space:pre-wrap;word-break:break-word;background:#00000059;border:1px solid #ffffff1f;border-radius:6px;max-height:22rem;margin:0;padding:.6rem .75rem;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.82rem;line-height:1.45;overflow:auto}.admin-pgn-viewer:focus-visible{outline-offset:1px;outline:2px solid #3b82f699}.admin-pgn-editor{resize:vertical;width:100%}.admin-candidate-pv code{margin-right:.25rem}.admin-candidate-pv .pv-mover{color:#c5dcff;background:#3b82f62e}.admin-candidate-pv .pv-opponent{color:var(--text-muted,#aaa);background:#ffffff0d}.admin-candidate-verify{flex-wrap:wrap;align-items:center;gap:.4rem;font-size:.78rem;display:flex}.admin-candidate-verify .verify-det{color:#86efac;background:#22c55e2e;border-radius:999px;padding:.05rem .4rem;font-size:.72rem}.admin-candidate-verify .verify-prob{color:#fde047;background:#eab3082e;border-radius:999px;padding:.05rem .4rem;font-size:.72rem}.admin-candidate-verify .verify-measure{color:#d8b4fe;background:#a855f72e;border-radius:999px;padding:.05rem .4rem;font-size:.72rem}.admin-candidate-pv .pv-alt{color:var(--text-muted,#888);background:#ffffff0a;font-size:.72rem}.admin-screen-header{padding:.6rem 1rem;padding-left:max(1rem, var(--titlebar-left-inset));padding-right:max(1rem, calc(var(--titlebar-right-inset) + 12px));padding-top:max(.6rem, var(--titlebar-top-inset));border-bottom:1px solid #ffffff14;align-items:center;gap:.6rem;display:flex}.setup-screen-header{padding-left:var(--titlebar-left-inset);padding-right:max(0px, calc(var(--titlebar-right-inset) + 12px));padding-top:var(--titlebar-top-inset)}html[data-os=darwin] .admin-screen-header,html[data-os=darwin] .setup-screen-header{padding-left:max(84px, var(--titlebar-left-inset))}.admin-screen-header h1{margin:0;font-size:1.05rem;font-weight:600}.admin-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:.4rem;display:flex}.admin-toolbar-left{color:var(--text-muted,#aaa);font-size:.85rem}.admin-toolbar-left code{background:#ffffff0d;border-radius:4px;padding:.05rem .35rem}.admin-toolbar-right{flex-wrap:wrap;gap:.4rem;display:flex}.admin-upload,.admin-upload-inline{cursor:pointer;align-items:center;gap:.5rem;display:inline-flex}.admin-upload{border:1px dashed #ffffff2e;border-radius:6px;margin-top:.6rem;padding:.8rem}.admin-upload-inline input[type=file]{display:none}.admin-upload-inline span.btn{cursor:pointer}.admin-code-snippet{white-space:pre;background:#0006;border:1px solid #ffffff14;border-radius:6px;margin:.6rem 0;padding:.5rem .7rem;font-size:.78rem;overflow-x:auto}.admin-filters{flex-direction:column;gap:.4rem;display:flex}.admin-filter-row{flex-wrap:wrap;align-items:center;gap:.4rem;display:flex}.admin-filter-label{color:var(--text-muted,#aaa);margin-right:.2rem;font-size:.85rem}.admin-filter{color:inherit;cursor:pointer;background:#ffffff0a;border:1px solid #ffffff14;border-radius:999px;align-items:center;gap:.3rem;padding:.3rem .6rem;font-size:.82rem;display:inline-flex}.admin-filter:hover{background:#ffffff14}.admin-filter-active{color:#bfdbfe;background:#60a5fa29;border-color:#60a5fa80}.admin-filter-count{font-variant-numeric:tabular-nums;background:#0000004d;border-radius:999px;padding:.05rem .4rem;font-size:.72rem}.admin-empty-state{text-align:center;color:var(--text-muted,#aaa);background:#ffffff08;border-radius:6px;padding:1.4rem}.admin-candidate-qf-depth-divergence{border-left:3px solid #60a5facc}.admin-candidate-qf-error{border-left:3px solid #f87171cc}.admin-candidate-qce-qf-only{border-left:3px solid rgb(var(--accent-gold-rgb) / .6)}.admin-candidate-partial{border-left:3px solid #a855f799}.admin-candidate-agreement{opacity:.65;border-left:3px solid #ffffff26}.admin-candidate-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.admin-candidate-header h3{margin:0 0 .2rem;font-size:.98rem;display:inline}.admin-candidate-id{color:var(--text-muted,#aaa);font-size:.78rem}.admin-candidate-id code{background:#ffffff0a;border-radius:3px;padding:.02rem .3rem}.admin-candidate-hint{color:var(--text-muted,#aaa);margin:.5rem 0 .4rem;font-size:.85rem;font-style:italic}.admin-candidate-meta{flex-direction:column;gap:.3rem;margin-bottom:.6rem;font-size:.82rem;display:flex}.admin-candidate-meta code{background:#ffffff0d;border-radius:3px;padding:.05rem .35rem;font-size:.78rem}.admin-candidate-note{color:var(--text-muted,#ccc);background:#ffffff08;border-radius:4px;padding:.4rem .6rem}.admin-candidate-annotation{margin-top:.6rem}.admin-candidate-annotation textarea{width:100%;color:inherit;resize:vertical;background:#0000004d;border:1px solid #ffffff1a;border-radius:4px;padding:.4rem .5rem;font-family:inherit}.admin-data-table{border-collapse:collapse;width:100%;font-size:.82rem}.admin-data-table th,.admin-data-table td{text-align:left;border-bottom:1px solid #ffffff0f;padding:.3rem .5rem}.admin-data-table th{color:var(--text-muted,#aaa);text-transform:uppercase;letter-spacing:.04em;font-size:.76rem;font-weight:500}.admin-data-table code{background:#ffffff0a;border-radius:3px;padding:.02rem .3rem}.admin-error-cell{color:#fca5a5;font-family:var(--font-mono,monospace);background:#f8717114;padding:.4rem .5rem;font-size:.76rem}.admin-error{color:#fca5a5;margin-top:.5rem}.admin-tag{text-transform:uppercase;letter-spacing:.04em;vertical-align:middle;border-radius:999px;margin-left:.4rem;padding:.05rem .45rem;font-size:.7rem;font-weight:600;display:inline-block}.admin-tag-interesting{color:#86efac;background:#22c55e2e}.admin-tag-rejected{color:#fca5a5;background:#f871712e}.admin-candidate-interference-only-at-depth{background:#f472b60a;border-left:3px solid #f472b6f2}.admin-candidate-interference-confirmed{border-left:3px solid #a855f7b3}.admin-int-badge{color:#f0abfc;filter:drop-shadow(0 0 4px #f472b680);margin-left:.3rem;font-size:.85em;display:inline-block}.admin-deep-eval-bar{background:#e6267a14;border:1px solid #e6267a59;border-radius:8px;flex-direction:column;gap:.4rem;padding:.7rem .95rem;display:flex}.admin-deep-eval-bar--done{background:#78b4ff14;border-color:#78b4ff59;flex-flow:wrap;align-items:center;gap:.75rem}.admin-deep-eval-progress{font-weight:600}.admin-deep-eval-current{opacity:.85;font-size:.9rem}.admin-deep-eval-counts{opacity:.85;letter-spacing:.02em;font-size:.85rem}.admin-btn--small{margin-left:auto;padding:2px 8px;font-size:.8rem}.admin-deep-eval-chip{letter-spacing:.02em;cursor:help;white-space:nowrap;border-radius:4px;align-items:center;padding:1px 6px;font-size:.72rem;font-weight:600;display:inline-flex}.admin-deep-eval-chip.deep-eval-confirmed{color:#4ade80;background:#4ade802e;border:1px solid #4ade8066}.admin-deep-eval-chip.deep-eval-downgraded{color:#f87171;background:#f871712e;border:1px solid #f8717166}.admin-deep-eval-chip.deep-eval-stalled{color:#facc15;background:#facc152e;border:1px solid #facc1566}.insights-body{gap:var(--space-6);width:100%;max-width:1440px;padding:var(--space-5) var(--space-4) var(--space-8);flex-direction:column;margin:0 auto;display:flex}.insights-panel{background:var(--bg-tertiary);border:1px solid var(--border);border-radius:var(--radius-xl);padding:var(--space-5);gap:var(--space-4);flex-direction:column;min-width:0;display:flex}.insights-panel-head{justify-content:space-between;align-items:baseline;gap:var(--space-3);flex-wrap:wrap;display:flex}.insights-panel-title{font-family:var(--font-heading);color:var(--text-primary);margin:0;font-size:1rem;font-weight:600}.insights-panel-hint{color:var(--text-muted);margin:0;font-size:.82rem}.insights-row{gap:var(--space-5);grid-template-columns:repeat(auto-fit,minmax(min(320px,100%),1fr));display:grid}.insights-kpis{gap:var(--space-4);grid-template-columns:repeat(auto-fit,minmax(min(210px,100%),1fr));display:grid}.stat-tile{gap:var(--space-2);padding:var(--space-4);background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-lg);flex-direction:column;min-width:0;display:flex}.stat-tile-label{letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted);font-size:.74rem}.stat-tile-value{font-family:var(--font-heading);color:var(--text-primary);font-size:1.55rem;font-weight:600;line-height:1.1}.stat-tile-delta{align-items:center;gap:var(--space-2);font-size:.8rem;font-weight:600;display:inline-flex}.stat-tile-delta--up{color:var(--success)}.stat-tile-delta--down{color:var(--danger)}.stat-tile-delta--flat{color:var(--text-muted)}.stat-tile-spark{margin-top:var(--space-1)}.chart-spark{width:100%;height:auto;display:block}.chart-spark--empty{height:24px;display:block}.stat-tile-hint{color:var(--text-muted);margin:0;font-size:.76rem;line-height:1.35}.chart{gap:var(--space-3);flex-direction:column;min-width:0;display:flex}.chart-scroll{overscroll-behavior-x:contain;padding-bottom:var(--space-1);scrollbar-width:thin;scrollbar-color:rgb(var(--text-muted-rgb) / .45) transparent;overflow:auto hidden}.chart-scroll::-webkit-scrollbar{height:6px}.chart-scroll::-webkit-scrollbar-thumb{border-radius:var(--radius-pill);background:rgb(var(--text-muted-rgb) / .45)}.chart-scroll::-webkit-scrollbar-track{background:0 0}.chart-svg{width:100%;height:auto;display:block}.chart-empty{padding:var(--space-6) var(--space-4);text-align:center;color:var(--text-muted);border:1px dashed var(--border-light);border-radius:var(--radius-lg);margin:0;font-size:.85rem}.chart-grid{stroke:rgb(var(--text-muted-rgb) / .16);stroke-width:1px}.chart-tick{fill:var(--text-muted);font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:10px}.chart-value{fill:var(--text-secondary);font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:10px}.chart-line{fill:none;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round}.chart-dot{stroke:var(--bg-tertiary);stroke-width:2px}.chart-area{stroke:none;fill-opacity:.14}.chart-bar{stroke:none}.chart-bar-empty{fill:none;stroke:rgb(var(--text-muted-rgb) / .35);stroke-width:1px;stroke-dasharray:3 3}.chart-nodata{fill:rgb(var(--text-muted-rgb) / .07)}.chart-nodata-text{fill:rgb(var(--text-muted-rgb) / .75);font-family:var(--font-mono);letter-spacing:.04em;font-size:10px}.chart--donut{align-items:center;gap:var(--space-5);flex-flow:wrap}.chart-donut{flex:none}.chart--donut .chart-legend{gap:var(--space-2);flex-flow:column;flex:220px;max-width:360px}.chart-donut-track{fill:none;stroke:rgb(var(--text-primary-rgb) / .07);stroke-width:16px}.chart-donut-arc{fill:none;stroke-width:16px}.chart-donut-total{fill:var(--text-primary);font-family:var(--font-heading);font-size:18px;font-weight:600}.chart-legend{gap:var(--space-3) var(--space-5);color:var(--text-secondary);flex-wrap:wrap;margin:0;padding:0;font-size:.78rem;list-style:none;display:flex}.chart-legend--stacked{gap:var(--space-2);flex-direction:column;flex:180px}.chart-legend-item{align-items:center;gap:var(--space-3);min-width:0;display:flex}.chart-legend-swatch{border-radius:var(--radius-sm);flex:none;width:10px;height:10px}.chart-legend-label{text-overflow:ellipsis;white-space:nowrap;flex:auto;min-width:0;overflow:hidden}.chart-legend-value{font-family:var(--font-mono);font-variant-numeric:tabular-nums;color:var(--text-muted);flex:none}.chart-heat-empty{fill:none;stroke:rgb(var(--text-muted-rgb) / .3);stroke-width:1px;stroke-dasharray:2 2}.chart-heat-scale{align-items:center;gap:var(--space-3);font-family:var(--font-mono);color:var(--text-muted);font-size:.7rem;display:flex}.chart-heat-ramp{border-radius:var(--radius-pill);background:linear-gradient(to right, rgb(var(--accent-rgb) / .12), rgb(var(--accent-rgb) / .88));flex:0 120px;height:8px}.funnel{gap:var(--space-4);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.funnel-stage{gap:var(--space-2);flex-direction:column;min-width:0;display:flex}.funnel-head{justify-content:space-between;align-items:baseline;gap:var(--space-3);color:var(--text-secondary);font-size:.84rem;display:flex}.funnel-label{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.funnel-value{font-family:var(--font-mono);font-variant-numeric:tabular-nums;color:var(--text-primary);font-weight:600}.funnel-value--missing{color:var(--text-muted);font-weight:500}.funnel-value--floor{font-weight:500}.funnel-track{border-radius:var(--radius-md);background:rgb(var(--text-primary-rgb) / .08);height:8px;overflow:hidden}.funnel-fill{border-radius:var(--radius-md);background:var(--accent);height:100%}.funnel-fill--missing{background:repeating-linear-gradient(135deg, rgb(var(--text-muted-rgb) / .22) 0 5px, transparent 5px 10px);width:100%}.funnel-meta{color:var(--text-muted);margin:0;font-size:.74rem}.insights-stale{align-items:center;gap:var(--space-2);border-radius:var(--radius-pill);border:1px solid rgb(var(--accent-gold-rgb) / .45);background:rgb(var(--accent-gold-rgb) / .12);color:var(--accent-gold);letter-spacing:.04em;text-transform:uppercase;padding:.1rem .5rem;font-size:.7rem;font-weight:600;display:inline-flex}.insights-unconfigured{gap:var(--space-2);padding:var(--space-5);border:1px dashed var(--border-light);border-radius:var(--radius-lg);background:rgb(var(--bg-primary-rgb) / .35);color:var(--text-muted);flex-direction:column;font-size:.84rem;display:flex}.insights-unconfigured-title{color:var(--text-secondary);font-weight:600}.insights-unconfigured code{font-family:var(--font-mono);border-radius:var(--radius-sm);background:rgb(var(--text-primary-rgb) / .06);color:var(--text-secondary);padding:.05rem .3rem;font-size:.78rem}.chart-sr-table{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (width<=640px){.insights-panel{padding:var(--space-4)}.insights-kpis{grid-template-columns:repeat(auto-fit,minmax(min(140px,100%),1fr))}}.insights-toolbar{justify-content:space-between;align-items:center;gap:var(--space-4);flex-wrap:wrap;display:flex}.insights-tabs{gap:var(--space-2);flex-wrap:wrap;min-width:0;display:flex}.insights-tab{align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);border:1px solid var(--border);border-radius:var(--radius-pill);background:var(--bg-secondary);color:var(--text-secondary);font-family:var(--font-heading);cursor:pointer;white-space:nowrap;font-size:.85rem;display:inline-flex}.insights-tab:hover{color:var(--text-primary);border-color:var(--border-light)}.insights-tab--active{color:var(--text-primary);border-color:rgb(var(--accent-rgb) / .55);background:rgb(var(--accent-rgb) / .12)}.insights-toolbar-right{align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.insights-ranges{border:1px solid var(--border);border-radius:var(--radius-md);display:inline-flex;overflow:hidden}.insights-range{padding:var(--space-2) var(--space-3);background:var(--bg-secondary);border:0;border-right:1px solid var(--border);color:var(--text-muted);font-family:var(--font-mono);cursor:pointer;font-size:.78rem}.insights-range:last-child{border-right:0}.insights-range--active{background:rgb(var(--accent-rgb) / .16);color:var(--text-primary)}.insights-refresh{white-space:nowrap}.insights-freshness{gap:var(--space-2);flex-wrap:wrap;display:flex}.insights-chip{align-items:baseline;gap:var(--space-2);padding:var(--space-1) var(--space-3);border-radius:var(--radius-pill);border:1px solid var(--border);background:rgb(var(--text-primary-rgb) / .03);color:var(--text-muted);font-size:.76rem;display:inline-flex}.insights-chip strong{color:var(--text-secondary);font-weight:600}.insights-chip.insights-stale{border-color:rgb(var(--accent-gold-rgb) / .5);color:var(--accent-gold)}.insights-notes{gap:var(--space-1);color:var(--text-muted);flex-direction:column;margin:0;padding-left:1.1rem;font-size:.78rem;line-height:1.45;display:flex}.insights-rates{gap:var(--space-3);grid-template-columns:repeat(auto-fit,minmax(min(140px,100%),1fr));display:grid}.insights-rate{gap:var(--space-1);padding:var(--space-3);border:1px solid var(--border);border-radius:var(--radius-md);background:rgb(var(--text-primary-rgb) / .02);flex-direction:column;display:flex}.insights-rate-value{font-family:var(--font-mono);color:var(--text-primary);font-size:1.25rem}.insights-rate-label{color:var(--text-muted);font-size:.74rem}.insights-table{border-collapse:collapse;width:100%;font-size:.82rem}.insights-table th{text-align:left;padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--border);color:var(--text-muted);font-family:var(--font-heading);letter-spacing:.06em;text-transform:uppercase;white-space:nowrap;font-size:.72rem}.insights-table td{padding:var(--space-2) var(--space-3);border-bottom:1px solid rgb(var(--text-muted-rgb) / .14);color:var(--text-secondary);vertical-align:top}.insights-table tbody tr:last-child td{border-bottom:0}.insights-table tbody tr:nth-child(odd) td{background:rgb(var(--text-primary-rgb) / .02)}.chart-svg{display:block}.insights-utm-out{align-items:center;gap:var(--space-3);padding:var(--space-3);border:1px solid var(--border);border-radius:var(--radius-md);background:rgb(var(--text-primary-rgb) / .03);flex-wrap:wrap;display:flex}.insights-utm-out code{min-width:0;font-family:var(--font-mono);color:var(--accent);overflow-wrap:anywhere;flex:260px;font-size:.8rem}.insights-builder{align-items:flex-end;gap:var(--space-4);flex-wrap:wrap;display:flex}.insights-builder-campaign{flex:260px;min-width:0}.insights-builder-campaign input[type=text]{text-transform:none;width:100%}.insights-lede{border:1px solid var(--border);border-radius:var(--radius-xl);background:radial-gradient(120% 140% at 0% 0%, rgb(var(--accent-rgb) / .12), transparent 55%), var(--bg-tertiary);isolation:isolate;grid-template-columns:repeat(4,minmax(0,1fr));display:grid;position:relative;overflow:hidden}.insights-lede:before{content:"";pointer-events:none;background-image:linear-gradient(rgb(var(--text-primary-rgb) / .035) 1px, transparent 1px), linear-gradient(90deg, rgb(var(--text-primary-rgb) / .035) 1px, transparent 1px);z-index:-1;background-size:28px 28px;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#000000e6,#0000 85%);mask-image:linear-gradient(#000000e6,#0000 85%)}.lede-item{gap:var(--space-1);padding:var(--space-5) var(--space-5) var(--space-4);border-left:1px solid var(--border);flex-direction:column;min-width:0;display:flex}.lede-item:first-child{border-left:0}.lede-q{font-family:var(--font-heading);letter-spacing:.08em;text-transform:uppercase;color:var(--accent);font-size:.78rem;font-weight:600}.lede-n{font-family:var(--font-heading);letter-spacing:-.01em;font-variant-numeric:tabular-nums;color:var(--text-primary);margin-top:var(--space-2);font-size:clamp(2rem,3.2vw,2.9rem);font-weight:700;line-height:1}.lede-unit{color:var(--text-secondary);font-size:.8rem}.lede-delta{align-items:baseline;gap:var(--space-2);margin-top:var(--space-2);font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:.78rem;font-weight:600;display:inline-flex}.lede-delta--up{color:var(--success)}.lede-delta--down{color:var(--danger)}.lede-delta--flat{color:var(--text-muted)}.lede-delta-vs{font-family:var(--font-body);color:var(--text-muted);font-weight:400}.lede-spark{margin-top:var(--space-3);opacity:.85}.lede-sub{margin-top:var(--space-2);color:var(--text-muted);font-size:.76rem;line-height:1.4}@media (width<=900px){.insights-lede{grid-template-columns:repeat(2,minmax(0,1fr))}.lede-item:nth-child(3){border-left:0}.lede-item:nth-child(n+3){border-top:1px solid var(--border)}}@media (width<=520px){.insights-lede{grid-template-columns:minmax(0,1fr)}.lede-item{border-left:0}.lede-item+.lede-item{border-top:1px solid var(--border)}}.rank{gap:var(--space-3);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.rank-row{gap:var(--space-2);flex-direction:column;min-width:0;display:flex}.rank-head{justify-content:space-between;align-items:baseline;gap:var(--space-3);font-size:.84rem;display:flex}.rank-label{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--text-primary);font-weight:600;overflow:hidden}.rank-values{align-items:baseline;gap:var(--space-2);font-family:var(--font-mono);font-variant-numeric:tabular-nums;color:var(--text-secondary);white-space:nowrap;display:inline-flex}.rank-value--secondary{color:var(--accent)}.rank-sep{color:var(--text-muted)}.rank-rate{margin-left:var(--space-2);padding:0 var(--space-2);border-radius:var(--radius-pill);background:rgb(var(--text-primary-rgb) / .06);color:var(--text-secondary);font-size:.74rem}.rank-track{border-radius:var(--radius-md);background:rgb(var(--text-primary-rgb) / .08);height:10px;overflow:hidden}.rank-fill{border-radius:var(--radius-md);background:rgb(var(--accent-rgb) / .32);transform-origin:0;min-width:2px;height:100%;animation:.52s cubic-bezier(.2,.7,.2,1) both rank-grow;animation-delay:calc(80ms + var(--rank-i,0) * 45ms);position:relative}.rank-fill-inner{border-radius:var(--radius-md);background:var(--accent);height:100%}.rank-fill--missing{background:repeating-linear-gradient(135deg, rgb(var(--text-muted-rgb) / .22) 0 5px, transparent 5px 10px);width:100%;animation:none}.rank-swatch--primary{background:rgb(var(--accent-rgb) / .32)}.rank-swatch--secondary{background:var(--accent)}.rank-cancel{align-items:center;gap:var(--space-3);padding-top:var(--space-2);border-top:1px solid rgb(var(--text-muted-rgb) / .14);flex-wrap:wrap;display:flex}@keyframes rank-grow{0%{transform:scaleX(0)}to{transform:scaleX(1)}}.insights-tabpanel{gap:var(--space-6);flex-direction:column;display:flex}.insights-tabpanel>*{animation:.42s cubic-bezier(.2,.7,.2,1) both insights-rise}.insights-tabpanel>:first-child{animation-delay:0s}.insights-tabpanel>:nth-child(2){animation-delay:60ms}.insights-tabpanel>:nth-child(3){animation-delay:.12s}.insights-tabpanel>:nth-child(4){animation-delay:.18s}.insights-tabpanel>:nth-child(5){animation-delay:.24s}.insights-tabpanel>:nth-child(6){animation-delay:.3s}.insights-tabpanel>:nth-child(7){animation-delay:.36s}.insights-tabpanel>:nth-child(n+8){animation-delay:.42s}@keyframes insights-rise{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.insights-panel-title{padding-left:var(--space-3);position:relative}.insights-panel-title:before{content:"";border-radius:var(--radius-pill);background:var(--accent);width:3px;height:.9em;position:absolute;top:.2em;left:0}.insights-tab{border-radius:var(--radius-md);background:0 0;border-color:#0000;position:relative}.insights-tab--active{background:rgb(var(--accent-rgb) / .1);border-color:rgb(var(--accent-rgb) / .35)}.insights-tab--active:after{content:"";left:var(--space-3);right:var(--space-3);border-radius:var(--radius-pill);background:var(--accent);height:2px;position:absolute;bottom:-1px}@media (prefers-reduced-motion:reduce){.insights-tabpanel>*,.rank-fill{animation:none}}.ai-test-body{flex:1;gap:1.5rem;min-height:0;padding:1.5rem;display:flex;overflow-y:auto}.ai-test-left{flex-direction:column;flex:none;align-items:center;display:flex}.ai-test-board-wrap{flex-direction:column;gap:.5rem;display:flex}.ai-test-board-header{color:var(--text-muted,#888);justify-content:space-between;align-items:baseline;font-size:.8rem;display:flex}.ai-test-board-label{color:var(--text-primary,#e0e0e0);font-weight:500}.ai-test-board-container{aspect-ratio:1;width:min(45vh,400px)}.ai-test-board-container .board{border:1px solid #ffffff14;border-radius:6px;grid-template-columns:repeat(8,1fr);gap:0;width:100%;height:100%;overflow:hidden}.ai-test-board-container .square{aspect-ratio:1;cursor:default;border:none}.ai-test-board-empty{width:100%;height:100%;color:var(--text-muted,#888);background:var(--bg-secondary,#1a1a2e);border:1px solid var(--border,#333);border-radius:6px;justify-content:center;align-items:center;font-size:.85rem;display:flex}.ai-test-last-move{color:var(--text-muted,#888);font-family:monospace;font-size:.75rem}.ai-test-right{flex-direction:column;flex:1;gap:.75rem;min-width:0;display:flex}.ai-test-controls{flex-wrap:wrap;gap:.75rem;display:flex}.ai-test-status-bar{color:var(--text-muted,#888);gap:.75rem;font-size:.8rem;display:flex}.ai-test-results{flex-direction:column;gap:.4rem;display:flex}.ai-test-result{background:var(--bg-secondary,#1a1a2e);border:1px solid var(--border,#333);border-radius:6px;padding:.5rem .75rem}.ai-test-result-header{align-items:center;gap:.5rem;font-size:.85rem;display:flex}.ai-test-result-icon{flex-shrink:0;font-size:1rem}.ai-test-result-label{font-weight:500}.ai-test-result-error{color:#f44336;margin-left:auto;font-size:.75rem}.ai-test-result-detail{color:var(--text-muted,#888);margin-top:.25rem;padding-left:1.5rem;font-size:.7rem}.ai-test-result--pending .ai-test-result-icon{color:var(--text-muted,#888)}.ai-test-result--running .ai-test-result-icon{color:var(--accent,#4fc3f7)}.ai-test-result--pass .ai-test-result-icon{color:#4caf50}.ai-test-result--fail .ai-test-result-icon{color:#f44336}.ai-test-run-btn{border:1px solid var(--border,#444);color:var(--accent,#4fc3f7);cursor:pointer;background:0 0;border-radius:4px;margin-left:auto;padding:2px 10px;font-size:.7rem}.ai-test-run-btn:hover{background:#4fc3f71a}.ai-test-game-detail{color:var(--text-muted,#888);margin-top:.25rem;padding-left:1.5rem;font-size:.7rem}.ai-test-game-errors{color:#f44336;margin-top:.15rem;font-size:.7rem}.ai-test-game-detail details{margin-top:.2rem}.ai-test-game-detail summary{cursor:pointer;color:var(--accent,#4fc3f7);-webkit-user-select:none;user-select:none;font-size:.7rem}.ai-test-pgn{background:var(--bg-primary,#0d0d1a);border:1px solid var(--border,#333);white-space:pre-wrap;word-break:break-all;color:var(--text-secondary,#ccc);-webkit-user-select:text;user-select:text;cursor:text;border-radius:4px;max-height:120px;margin-top:.25rem;padding:.5rem;font-family:monospace;font-size:.65rem;overflow-y:auto}.ai-test-log{background:var(--bg-secondary,#1a1a2e);border:1px solid var(--border,#333);min-height:80px;max-height:250px;color:var(--text-muted,#888);white-space:pre-wrap;-webkit-user-select:text;user-select:text;cursor:text;border-radius:8px;flex-shrink:0;padding:.75rem;font-family:monospace;font-size:.7rem;overflow-y:auto}@media (width<=768px){.ai-test-body{flex-direction:column;padding:1rem}.ai-test-board-container{width:min(80vw,350px)}.ai-test-left{align-self:center}}.messages-screen{flex-direction:column;min-height:100dvh;display:flex}.messages-body{width:100%;max-width:720px;margin:0 auto;padding:1rem}.messages-empty{color:var(--text-muted,#aaa);text-align:center;flex-direction:column;justify-content:center;align-items:center;padding:4rem 1rem;display:flex}.messages-empty i{color:var(--text-muted,#555);margin-bottom:1rem;font-size:3rem}.messages-empty p{margin:.25rem 0}.messages-empty-sub{color:var(--text-muted,#777);font-size:.85rem}.messages-list{flex-direction:column;gap:.5rem;margin:0;padding:0;list-style:none;display:flex}.messages-item{background:#ffffff05;border:1px solid #ffffff0f;border-radius:8px;transition:border-color .2s,background .2s;overflow:hidden}.messages-item:hover{border-color:#ffffff1f}.messages-item--unread{border-left:3px solid var(--accent-gold);background:rgb(var(--accent-gold-rgb) / .04)}.messages-item--comp_grant{border-left:3px solid #4ade80}.messages-item--admin{border-left:3px solid #a5b4fc}.messages-item--system{border-left:3px solid var(--text-muted,#888)}.messages-item-summary{width:100%;color:inherit;text-align:left;cursor:pointer;font:inherit;background:0 0;border:none;grid-template-columns:2.5rem 1fr auto;align-items:center;gap:.75rem;padding:.85rem 1rem;display:grid}.messages-item-summary:hover{background:#ffffff08}.messages-item-icon{color:var(--text-muted,#aaa);text-align:center;font-size:1.1rem}.messages-item--comp_grant .messages-item-icon{color:#4ade80}.messages-item--admin .messages-item-icon{color:#a5b4fc}.messages-item-meta{flex-direction:column;min-width:0;display:flex}.messages-item-subject{white-space:nowrap;text-overflow:ellipsis;font-size:.95rem;font-weight:600;overflow:hidden}.messages-item-sender{color:var(--text-muted,#aaa);margin-top:.15rem;font-size:.78rem}.messages-item-unread-dot{background:var(--accent-gold);width:8px;height:8px;box-shadow:0 0 6px rgb(var(--accent-gold-rgb) / .5);border-radius:50%}.messages-item--unread .messages-item-subject{color:var(--text-primary)}.messages-item-body{color:var(--text-primary);border-top:1px solid #ffffff0a;padding:0 1rem 1rem 3.25rem;font-size:.9rem;line-height:1.5}.messages-item-text{margin-top:.75rem}.messages-item-text p{white-space:pre-wrap;margin:.5rem 0}.messages-item-text p:first-child{margin-top:0}.messages-item-text a{color:var(--accent-gold);word-break:break-all;text-decoration:underline}.messages-comp-grant{background:#4ade800f;border:1px solid #4ade8033;border-radius:6px;flex-direction:column;gap:.6rem;margin-top:1rem;padding:.85rem 1rem;display:flex}.messages-comp-code{flex-wrap:wrap;align-items:center;gap:.6rem;display:flex}.messages-comp-code code{font-family:var(--font-mono,ui-monospace, monospace);letter-spacing:.05em;color:#4ade80;-webkit-user-select:all;user-select:all;background:#0000004d;border:1px solid #4ade804d;border-radius:4px;padding:.35rem .75rem;font-size:1.1rem;font-weight:700}.messages-comp-actions{gap:.5rem;display:flex}.messages-comp-expiry{color:var(--text-muted,#aaa);margin:0;font-size:.8rem}.messages-item-actions{border-top:1px solid #ffffff0a;justify-content:flex-end;gap:.5rem;margin-top:1rem;padding-top:.75rem;display:flex}.fullscreen-hint{top:var(--space-6);z-index:var(--z-toast);pointer-events:none;padding:var(--space-3) var(--space-6);background:rgb(var(--bg-secondary-rgb) / .9);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--border-light);border-radius:var(--radius-lg);color:var(--text-primary);font-family:var(--font-body);letter-spacing:.02em;animation:fade-in var(--duration-normal) ease;font-size:.875rem;position:fixed;left:50%;transform:translate(-50%);box-shadow:0 12px 40px #00000080}.settings-modal{width:min(420px,92vw)}.settings-group{flex-direction:column;gap:10px;display:flex}.settings-group+.settings-group{margin-top:20px}.settings-option-row{flex-wrap:wrap;gap:8px;display:flex}.settings-option-row .option-btn{flex:auto;min-width:max-content}.settings-help{color:var(--text-muted);margin:0;font-size:.8rem;line-height:1.4}.settings-option-row .option-btn.is-locked{opacity:.55;cursor:not-allowed}.settings-option-row .option-btn.is-locked .fa-lock{margin-left:4px;font-size:.75em}.settings-theme-row .theme-option{flex-direction:column;align-items:center;gap:8px;padding:10px 18px 8px;display:flex}.theme-swatch{border:1px solid var(--border-light);border-radius:4px;grid-template-columns:repeat(4,13px);grid-auto-rows:13px;display:grid;position:relative;overflow:hidden}.settings-theme-row .theme-option.is-locked{opacity:1}.theme-option.is-locked .theme-option-name{opacity:.55}.theme-option-unlock{letter-spacing:.02em;text-transform:none;color:var(--text-secondary);white-space:normal;max-width:120px;font-size:10px;font-weight:500;line-height:1.35}.theme-option-name{align-items:center;gap:4px;display:inline-flex}.theme-option[data-just-picked] .theme-swatch:after{content:"";background:linear-gradient(115deg, transparent 38%, rgb(var(--text-primary-rgb) / .5) 50%, transparent 62%);animation:.7s ease-out forwards theme-swatch-sweep;position:absolute;inset:-8px;transform:translate(-110%)}@keyframes theme-swatch-sweep{to{transform:translate(110%)}}.theme-option[data-denied]{animation:.3s ease-out theme-option-deny}@keyframes theme-option-deny{25%{transform:translate(-3px)}55%{transform:translate(3px)}80%{transform:translate(-1px)}}@media (prefers-reduced-motion:reduce){html:not([data-reduce-motion=off]) .theme-option[data-just-picked] .theme-swatch:after{opacity:0;animation:none}html:not([data-reduce-motion=off]) .theme-option[data-denied]{animation:none}}html[data-reduce-motion=on] .theme-option[data-just-picked] .theme-swatch:after{opacity:0;animation:none}html[data-reduce-motion=on] .theme-option[data-denied]{animation:none}.itour{z-index:var(--z-modal);font-family:var(--font-body);pointer-events:auto;position:fixed;inset:0}.itour [hidden]{display:none}.itour-dim{background:rgb(var(--bg-primary-rgb) / .8);position:fixed;inset:0}.itour-spot{border-radius:var(--radius-lg);box-shadow:0 0 0 9999px rgb(var(--bg-primary-rgb) / .8);outline:2px solid rgb(var(--accent-rgb) / .85);outline-offset:-1px;pointer-events:none;transition:top var(--duration-normal) ease, left var(--duration-normal) ease, width var(--duration-normal) ease, height var(--duration-normal) ease;position:fixed}.itour[data-motion=reduced] .itour-spot{transition:none}.itour-chips{pointer-events:none;position:fixed;inset:0}.itour-chip{border:1px solid rgb(var(--accent-rgb) / .45);border-radius:var(--radius-pill);background:var(--bg-elevated);max-width:46vw;color:var(--text-primary);letter-spacing:.02em;white-space:nowrap;align-items:center;gap:6px;padding:3px 9px 3px 3px;font-size:11px;line-height:1.4;display:inline-flex;position:fixed;box-shadow:0 6px 18px -8px #000000e6}.itour-chip-num{background:var(--accent);width:17px;height:17px;color:var(--bg-primary);border-radius:50%;justify-content:center;align-items:center;font-size:10px;font-weight:700;display:inline-flex}.itour-chip-text{text-overflow:ellipsis;overflow:hidden}.itour-intro{align-items:center;gap:var(--space-5);border:1px solid var(--border-light);border-radius:var(--radius-xl);background:var(--bg-elevated);max-width:min(560px,100vw - 24px);padding:10px 12px;display:flex;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 18px 48px -20px #000000f2}.itour-intro-text{color:var(--text-primary);margin:0;font-size:13px}.itour-card{border:1px solid var(--border-light);border-radius:var(--radius-xl);background:var(--bg-elevated);width:max-content;max-width:320px;padding:14px;position:fixed;box-shadow:0 18px 48px -20px #000000f2}.itour-card-counter{color:var(--text-muted);letter-spacing:.08em;text-transform:uppercase;margin:0 0 4px;font-size:11px}.itour-card-title{color:var(--text-primary);font-family:var(--font-heading);margin:0 0 6px;font-size:15px;line-height:1.25}.itour-card-body{color:var(--text-secondary);margin:0 0 12px;font-size:13px;line-height:1.5}.itour-card.is-practice{width:min(440px,100vw - 24px);max-width:none;max-height:calc(100vh - 24px);overflow-y:auto}.itour-card-practice{justify-content:center;margin:0 0 12px;display:flex}.itour-card-practice .idemo,.itour-card-practice .idemo-board-wrap{width:100%}.itour-card-practice .idemo-board-wrap{container-type:inline-size}.itour-card-practice .idemo-board{width:100%;max-width:100%}.itour-card-practice .idemo-board .piece-symbol{font-size:clamp(28px,11cqi,56px)}.itour-card-practice .idemo-coord-rank,.itour-card-practice .idemo-coord-file{font-size:clamp(.5rem,2.4cqi,.7rem)}.itour-card-practice .idemo-hint{font-size:.95rem}.itour-link{color:var(--accent);border-bottom:1px solid rgb(var(--accent-rgb) / .4);margin:0 0 12px;font-size:12px;text-decoration:none;display:inline-block}.itour-link:hover,.itour-link:focus-visible{border-bottom-color:rgb(var(--accent-rgb) / .9)}.itour-actions{align-items:center;gap:var(--space-3);display:flex}.itour-card-actions{justify-content:flex-end}.itour-btn,.itour-card-practice .idemo-reset{border:1px solid var(--border-light);border-radius:var(--radius-lg);background:var(--bg-tertiary);min-height:34px;color:var(--text-primary);font-family:var(--font-body);cursor:pointer;padding:7px 14px;font-size:12px;line-height:1.2}.itour-btn:hover:not(:disabled){border-color:rgb(var(--accent-rgb) / .5)}.itour-btn:disabled{opacity:.4;cursor:default}.itour-btn-quiet{color:var(--text-muted);background:0 0;border-color:#0000;margin-right:auto}.itour-card-practice .idemo-reset{color:var(--text-muted);background:0 0;border-color:#0000}.itour-card-practice .idemo-reset:hover{border-color:rgb(var(--accent-rgb) / .5);background:var(--bg-tertiary);color:var(--text-primary)}.itour-btn-primary{background:var(--accent);color:var(--bg-primary);border-color:#0000;font-weight:600}@keyframes itour-nudge{0%{box-shadow:0 0 0 0 rgb(var(--accent-rgb) / .55)}70%{box-shadow:0 0 0 9px rgb(var(--accent-rgb) / 0)}to{box-shadow:0 0 0 0 rgb(var(--accent-rgb) / 0)}}.itour-btn-primary.is-nudge{animation:1.8s ease-out infinite itour-nudge}.itour[data-motion=reduced] .itour-btn-primary.is-nudge{box-shadow:0 0 0 3px rgb(var(--accent-rgb) / .4);animation:none}.itour-card.is-docked{width:auto;max-width:none;top:auto;left:12px;right:12px;bottom:calc(72px + env(safe-area-inset-bottom,0px) + var(--consent-banner-h,0px))}.itour-card.is-practice.is-docked{max-height:calc(100vh - 96px - env(safe-area-inset-bottom,0px) - var(--consent-banner-h,0px))}.itour-card.is-docked.is-docked-top{bottom:auto;top:calc(12px + env(safe-area-inset-top,0px))}@media (width<=560px){.itour-intro{gap:var(--space-3);flex-wrap:wrap;max-width:none;left:12px;right:12px;transform:translateY(-50%)}.itour-intro .itour-actions{justify-content:flex-end;width:100%}.itour-chip{max-width:60vw}}html[data-input=gamepad] :focus{outline:2px solid var(--accent);outline-offset:2px}html[data-input=gamepad] .square:focus{outline:3px solid var(--accent);outline-offset:-3px;z-index:3}html[data-input=gamepad] .btn-primary:focus{outline-color:var(--text-primary);box-shadow:0 0 0 4px rgb(var(--accent-alt-rgb) / .25)}.gamepad-hint-bar{display:none}html[data-input=gamepad] .gamepad-hint-bar{z-index:400;background:rgb(var(--bg-secondary-rgb) / .85);border:1px solid var(--border-light);-webkit-backdrop-filter:blur(8px);pointer-events:none;font-family:var(--font-body);color:var(--text-secondary);white-space:nowrap;border-radius:999px;align-items:center;gap:16px;padding:6px 16px;font-size:12px;display:flex;position:fixed;bottom:10px;left:50%;transform:translate(-50%)}.gp-hint-item{align-items:center;gap:6px;display:inline-flex}.gp-glyph{border:1px solid var(--border-light);background:rgb(var(--bg-elevated-rgb) / .9);min-width:18px;height:18px;font-family:var(--font-heading);color:var(--text-primary);border-radius:50%;justify-content:center;align-items:center;padding:0 3px;font-size:10px;font-weight:700;line-height:1;display:inline-flex}.gp-glyph+.gp-glyph{margin-left:2px}.gp-a{color:#6de37a;border-color:#6de37a80}.gp-b{color:#ff6a6a;border-color:#ff6a6a80}.gp-x{color:#6ab7ff;border-color:#6ab7ff80}.gp-y{color:#ffd75e;border-color:#ffd75e80}.gp-bumper,.gp-pill{border-radius:6px}body:has(.consent-banner) .gamepad-hint-bar{bottom:110px}@property --alchemy-trace{syntax:"<angle>";inherits:false;initial-value:0deg}body[data-theme=alchemy]:not([data-sandbox-theme]) .board-container{--alchemy-trace-rgb:255 196 80}body[data-theme=alchemy]:not([data-sandbox-theme]) .board{box-shadow:0 16px 48px #000000a6,0 0 0 1px #ffc4501a,0 0 80px #ff96280d}body[data-theme=alchemy]:not([data-sandbox-theme]) .board .overlay-phase{--sq-phase:linear-gradient(135deg, #ffc4502e, transparent 55%)}body[data-theme=alchemy]:not([data-sandbox-theme]) .board .piece-token:has(.piece-white){background:radial-gradient(circle at 40% 32%,#fff4e038,#d6c29812);box-shadow:inset 0 0 0 1.5px #ffecc833,0 2px 6px #0000008c}body[data-theme=alchemy]:not([data-sandbox-theme]) .board .piece-token:has(.piece-black){background:radial-gradient(circle at 40% 32%,#80663ef0,#544126eb);box-shadow:inset 0 0 0 1.5px #ffdca047,0 2px 7px #000000b3}body[data-theme=alchemy]:not([data-sandbox-theme]) .board .piece-token .piece-symbol.piece-black{filter:drop-shadow(0 -1px #ffe8bed9)drop-shadow(0 1px #000000d9)drop-shadow(0 0 5px #ffd68c66)}body[data-theme=alchemy]:not([data-sandbox-theme]) .board:after{content:"";pointer-events:none;z-index:6;opacity:0;filter:drop-shadow(0 0 6px rgb(var(--alchemy-trace-rgb) / .45));background:conic-gradient(from var(--alchemy-trace), transparent 0deg, transparent 296deg, rgb(var(--alchemy-trace-rgb) / .32) 330deg, rgb(var(--alchemy-trace-rgb) / .75) 348deg, #fff0c8f2 356deg, transparent 360deg);-webkit-mask-composite:xor;border-radius:6px;padding:2px;animation:21s linear infinite alchemy-rim-trace;position:absolute;inset:-2px;-webkit-mask-image:linear-gradient(#000 0 0),linear-gradient(#000 0 0);mask-image:linear-gradient(#000 0 0),linear-gradient(#000 0 0);-webkit-mask-position:0 0,0 0;mask-position:0 0,0 0;-webkit-mask-size:auto,auto;mask-size:auto,auto;-webkit-mask-repeat:repeat,repeat;mask-repeat:repeat,repeat;-webkit-mask-clip:content-box,border-box;mask-clip:content-box,border-box;-webkit-mask-origin:content-box,border-box;mask-origin:content-box,border-box;-webkit-mask-composite:xor;mask-composite:exclude;-webkit-mask-source-type:auto,auto;mask-mode:match-source,match-source}@keyframes alchemy-rim-trace{0%{--alchemy-trace:0deg;opacity:0}2%{opacity:1}15%{opacity:1}18%{--alchemy-trace:360deg;opacity:0}to{--alchemy-trace:360deg;opacity:0}}body[data-theme=alchemy]:not([data-sandbox-theme]) .board-container.transmuting .board:after{animation:1.5s ease-out alchemy-transmute}body[data-theme=alchemy]:not([data-sandbox-theme]) .board-container.transmuting[data-stage=albedo]{--alchemy-trace-rgb:232 228 220}body[data-theme=alchemy]:not([data-sandbox-theme]) .board-container.transmuting[data-stage=citrinitas]{--alchemy-trace-rgb:255 196 80}body[data-theme=alchemy]:not([data-sandbox-theme]) .board-container.transmuting[data-stage=rubedo]{--alchemy-trace-rgb:214 69 63}@keyframes alchemy-transmute{0%{--alchemy-trace:0deg;opacity:0}8%{opacity:1}70%{opacity:1}to{--alchemy-trace:360deg;opacity:0}}@media (prefers-reduced-motion:reduce){html:not([data-reduce-motion=off]) body[data-theme=alchemy]:not([data-sandbox-theme]) .board:after,html:not([data-reduce-motion=off]) body[data-theme=alchemy]:not([data-sandbox-theme]) .board-container.transmuting .board:after{opacity:0;animation:none}}html[data-reduce-motion=on] body[data-theme=alchemy]:not([data-sandbox-theme]) .board:after,html[data-reduce-motion=on] body[data-theme=alchemy]:not([data-sandbox-theme]) .board-container.transmuting .board:after{opacity:0;animation:none}.puzzle-overlay-backdrop{z-index:1000;background:#0009;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.puzzle-overlay{background:var(--bg-primary,#0a0a12);border:1px solid #ffffff1f;border-radius:12px;flex-direction:column;gap:12px;width:100%;max-width:480px;max-height:85vh;padding:20px 24px;display:flex;overflow-y:auto;box-shadow:0 12px 48px #00000080}.puzzle-overlay-header{justify-content:space-between;align-items:center;display:flex}.puzzle-overlay-header h3{margin:0;font-size:1rem;font-weight:600}.puzzle-overlay-issues{color:#f59e0b;background:#f59e0b1a;border:1px solid #f59e0b4d;border-radius:6px;padding:8px 12px;font-size:.8rem;line-height:1.5}.puzzle-overlay-form{flex-direction:column;gap:4px;display:flex}.puzzle-overlay-form label{color:#ffffff80;margin-top:6px;font-size:.75rem}.puzzle-overlay-field{color:inherit;background:#ffffff0f;border:1px solid #ffffff1a;border-radius:6px;padding:6px 10px;font-family:inherit;font-size:.85rem}.puzzle-overlay-field:focus{border-color:var(--accent,#ff2d78);outline:none}.puzzle-overlay-row{align-items:flex-start;gap:16px;display:flex}.puzzle-overlay-row>div,.puzzle-overlay-pgn-section{flex-direction:column;gap:4px;display:flex}.puzzle-overlay-pgn-section label{color:#ffffff80;font-size:.75rem}.puzzle-overlay-pgn{color:#ffffffb3;resize:vertical;background:#ffffff0a;border:1px solid #ffffff14;border-radius:6px;min-height:60px;padding:8px 10px;font-family:monospace;font-size:.75rem}.puzzle-overlay-actions{justify-content:flex-end;gap:8px;padding-top:4px;display:flex}[data-puzzle=true] .sandbox-palette-area,[data-puzzle=true] .sandbox-measurement-btns,[data-puzzle=true] .sandbox-rule-icon,[data-puzzle=true] .sandbox-undo-btn,[data-puzzle=true] .sandbox-controls,[data-puzzle=true] .sandbox-fen-paste{display:none!important}[data-puzzle=true] .sandbox-fen-bar-input{pointer-events:none;opacity:.5}[data-analysis=true] .sandbox-palette-area,[data-analysis=true] .sandbox-fen-bar,[data-analysis=true] .sandbox-controls,[data-analysis=true] .sandbox-rule-icon,[data-analysis=true] .sandbox-undo-btn{display:none!important}.puzzle-instruction-bar{background:#ffffff08;border:1px solid #ffffff0f;border-radius:8px;align-items:center;gap:10px;min-height:38px;margin-bottom:6px;padding:8px 14px;transition:background .3s;display:flex}.puzzle-instruction-bar.celebrating{background:#22c55e0f;border-color:#22c55e26}.puzzle-instruction-side{border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:24px;height:24px;font-size:.8rem;line-height:1;display:flex}.puzzle-instruction-side.side-white{color:#fff;background:#ffffff1f;box-shadow:inset 0 0 0 1.5px #fff3}.puzzle-instruction-side.side-black{color:#fff9;background:#ffffff0a;box-shadow:inset 0 0 0 1.5px #ffffff14}.puzzle-instruction-text{color:#ffffffbf;flex:1;min-width:0;font-size:.82rem;line-height:1.3}.puzzle-instruction-text strong{color:#fffffff2;font-weight:600}.move-history-status{color:#ffffff8c;text-align:center;border-top:1px solid #ffffff0f;padding:8px 12px;font-size:.78rem;line-height:1.4}.puzzle-hint-btn{color:#ffffff80;cursor:pointer;background:#ffffff0f;border:1px solid #ffffff1a;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:30px;height:30px;padding:0;font-size:.8rem;transition:all .2s;display:flex}.puzzle-hint-btn:hover{color:#f59e0b;background:#f59e0b1f;border-color:#f59e0b4d}.puzzle-restart-btn,.puzzle-flag-btn{color:#ffffff80;cursor:pointer;background:#ffffff0f;border:1px solid #ffffff1a;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:30px;height:30px;padding:0;font-size:.8rem;transition:all .2s;display:flex}.puzzle-restart-btn:hover{color:#60a5fa;background:#60a5fa1f;border-color:#60a5fa4d}.puzzle-flag-btn:hover{color:#ef4444;background:#ef44441f;border-color:#ef44444d}.puzzle-flag-btn.flagged{color:#ef4444;background:#ef44442e;border-color:#ef444480}.puzzle-hint-btn.hint-glow-1{color:#f59e0b99;border-color:#f59e0b40;box-shadow:0 0 6px 1px #f59e0b40}.puzzle-hint-btn.hint-glow-2{color:#f59e0bcc;border-color:#f59e0b66;box-shadow:0 0 10px 2px #f59e0b66}.puzzle-hint-btn.hint-glow-3{color:#f59e0b;border-color:#f59e0b8c;animation:1.5s ease-in-out infinite hint-glow-pulse;box-shadow:0 0 14px 3px #f59e0b8c}@keyframes hint-glow-pulse{0%,to{box-shadow:0 0 14px 3px #f59e0b8c}50%{box-shadow:0 0 20px 5px #f59e0bbf}}.puzzle-branch-dots{flex-shrink:0;align-items:center;gap:5px;display:flex}.puzzle-branch-dot{background:#ffffff14;border:1.5px solid #ffffff26;border-radius:50%;width:10px;height:10px;transition:all .4s cubic-bezier(.34,1.56,.64,1);position:relative}.puzzle-branch-dot.active{border-color:var(--accent,#ff2d78);background:#ff2d7826;box-shadow:0 0 6px #ff2d784d}.puzzle-branch-dot.solved{background:#22c55e;border-color:#22c55e;transform:scale(1.15);box-shadow:0 0 8px #22c55e66}.puzzle-branch-dot.clickable{cursor:pointer;transition:transform .15s,box-shadow .15s}.puzzle-branch-dot.clickable:hover{transform:scale(1.4);box-shadow:0 0 14px #22c55ea6}@keyframes puzzle-dot-solve{0%{transform:scale(1)}40%{transform:scale(1.5);box-shadow:0 0 16px #22c55e99}to{transform:scale(1.15);box-shadow:0 0 8px #22c55e66}}.puzzle-branch-dot.just-solved{animation:.5s cubic-bezier(.34,1.56,.64,1) forwards puzzle-dot-solve}.puzzle-branch-label{color:#ffffff59;text-align:center;white-space:nowrap;margin-top:1px;font-size:.65rem}@keyframes puzzle-slide-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.puzzle-instruction-text.transitioning{color:#22c55e;animation:.3s forwards puzzle-slide-in}.puzzle-branch-solved-backdrop{z-index:1050;pointer-events:none;background:0 0;justify-content:center;align-items:center;padding:16px;animation:.3s forwards puzzle-backdrop-in;display:flex;position:fixed;inset:0}.puzzle-branch-solved-card{background:var(--bg-primary,#0a0a12);text-align:center;opacity:0;border:1px solid #22c55e40;border-radius:14px;width:100%;max-width:320px;padding:24px 32px;animation:.4s cubic-bezier(.34,1.56,.64,1) .1s forwards puzzle-card-in;transform:scale(.9)translateY(6px);box-shadow:0 0 32px #22c55e1a,0 12px 40px #00000080}.puzzle-branch-solved-icon{opacity:0;margin-bottom:8px;font-size:2rem;animation:.35s cubic-bezier(.34,1.56,.64,1) .3s forwards puzzle-check-in}.puzzle-branch-solved-title{color:#22c55e;margin:0 0 4px;font-size:1.05rem;font-weight:600}.puzzle-branch-solved-subtitle{color:#ffffff73;margin:0;font-size:.8rem}.puzzle-branch-solved-dots{justify-content:center;gap:6px;margin-top:12px;display:flex}.puzzle-branch-solved-backdrop.dismissing{animation:.4s forwards puzzle-branch-dismiss}.puzzle-branch-solved-backdrop.dismissing .puzzle-branch-solved-card{animation:.3s forwards puzzle-branch-card-dismiss}@keyframes puzzle-branch-dismiss{to{background:0 0}}@keyframes puzzle-branch-card-dismiss{to{opacity:0;transform:scale(.95)translateY(-8px)}}.puzzle-success-backdrop{z-index:1100;background:0 0;justify-content:center;align-items:center;padding:16px;animation:.4s forwards puzzle-backdrop-in;display:flex;position:fixed;inset:0}@keyframes puzzle-backdrop-in{to{background:#000000a6}}.puzzle-success-card{background:var(--bg-primary,#0a0a12);text-align:center;opacity:0;border:1px solid #22c55e33;border-radius:16px;width:100%;max-width:360px;padding:32px 36px;animation:.5s cubic-bezier(.34,1.56,.64,1) .15s forwards puzzle-card-in;transform:scale(.92)translateY(8px);box-shadow:0 0 40px #22c55e14,0 16px 48px #00000080}@keyframes puzzle-card-in{to{opacity:1;transform:scale(1)translateY(0)}}.puzzle-success-check{color:#22c55e;opacity:0;background:#22c55e1f;border:2px solid #22c55e;border-radius:50%;justify-content:center;align-items:center;width:56px;height:56px;margin:0 auto 16px;font-size:1.6rem;animation:.4s cubic-bezier(.34,1.56,.64,1) .4s forwards puzzle-check-in;display:flex;transform:scale(.5);box-shadow:0 0 24px #22c55e33}@keyframes puzzle-check-in{to{opacity:1;transform:scale(1)}}.puzzle-success-check svg{width:28px;height:28px}.puzzle-success-check .check-path{stroke:#22c55e;stroke-width:3px;stroke-linecap:round;stroke-linejoin:round;fill:none;stroke-dasharray:24;stroke-dashoffset:24px;animation:.4s .6s forwards puzzle-checkmark-draw}@keyframes puzzle-checkmark-draw{to{stroke-dashoffset:0}}.puzzle-success-title{color:#fff;letter-spacing:.01em;margin:0 0 4px;font-size:1.25rem;font-weight:700}.puzzle-success-subtitle{color:#ffffff80;margin:0 0 6px;font-size:.85rem}.puzzle-success-branches{justify-content:center;gap:6px;margin:8px 0 20px;display:inline-flex}.puzzle-success-branches .puzzle-branch-dot{width:8px;height:8px}.puzzle-success-actions{flex-wrap:wrap;justify-content:center;gap:8px;display:flex}.puzzle-success-actions .btn{min-width:90px;padding:6px 14px;font-size:.8rem}.puzzle-branch-indicator{color:#22c55e;background:#22c55e26;border-radius:10px;margin-left:8px;padding:2px 8px;font-size:.75rem;font-weight:600;display:inline-block}.puzzle-recording-slot,.puzzle-palette-slot{display:contents}@media (width>=769px){[data-phase=playing] .sandbox-palette-edit-btn,.puzzle-recording-slot{display:none}[data-mode=sandbox][data-phase=playing] .sandbox-palette-area .sandbox-palette-actions{pointer-events:auto;opacity:1}[data-mode=sandbox][data-phase=playing] .sandbox-palette-area .sandbox-palette{pointer-events:none;opacity:.3}}@media (width<=768px){.puzzle-palette-slot{display:none}}.move-cell.move-puzzle-start{border-left:2px solid #22c55e;padding-left:4px}.move-cell.move-branch-point{color:#f59e0b}.move-cell.move-branch-point:after{content:"";opacity:.7;margin-left:3px;font-family:"Font Awesome 6 Free";font-size:.6em;font-weight:900}.puzzle-editor-solution-line{background:#ffffff0a;border-radius:6px;flex-wrap:wrap;gap:4px;max-height:80px;padding:6px 8px;font-family:monospace;font-size:.8rem;display:flex;overflow-y:auto}.sol-move{border-radius:3px;padding:2px 5px}.sol-move.opponent{color:#fff9;background:#ffffff14}.sol-move.player{color:var(--accent,#ff2d78);background:#ff2d7833}.puzzle-editor-panel h3{margin:0;font-size:.9rem;font-weight:600}.puzzle-editor-form{flex-direction:column;gap:4px;display:flex}.puzzle-editor-form label{color:#ffffff80;margin-top:4px;font-size:.75rem}.puzzle-editor-field{color:inherit;background:#ffffff0f;border:1px solid #ffffff1a;border-radius:4px;padding:4px 8px;font-family:inherit;font-size:.8rem}.puzzle-editor-field:focus{border-color:var(--accent,#ff2d78);outline:none}.puzzle-editor-side-btns{gap:4px;display:flex}.puzzles-screen{background:var(--bg-primary,#0a0a12);min-height:100dvh;color:var(--text-primary,#e8e8f0);flex-direction:column;display:flex}.puzzles-topbar-center{text-align:center;flex:1}.puzzles-title{font-size:1rem;font-weight:600}.puzzles-content{width:100%;max-width:720px;margin:0 auto;padding:16px 24px}.puzzles-section{margin-bottom:32px}.puzzles-section-header{align-items:baseline;gap:10px;margin-bottom:12px;display:flex}.puzzles-section-header h2{margin:0;font-size:1.1rem;font-weight:600}.puzzles-count{color:#ffffff8c;font-size:.8rem}.puzzles-empty{text-align:center;color:#ffffff8c;background:#ffffff08;border:1px dashed #ffffff1a;border-radius:8px;padding:24px}.puzzles-empty p{margin:0 0 12px}.puzzles-list{flex-direction:column;gap:8px;display:flex}.puzzle-card{background:#ffffff0a;border:1px solid #ffffff14;border-radius:8px;align-items:center;gap:12px;padding:12px 16px;transition:border-color .15s;display:flex}.puzzle-card:hover{border-color:#ffffff26}.puzzle-card-main{flex:1;min-width:0}.puzzle-card-title{white-space:nowrap;text-overflow:ellipsis;font-size:.95rem;font-weight:600;overflow:hidden}.puzzle-card-meta{color:#ffffff80;gap:12px;margin-top:4px;font-size:.8rem;display:flex}.puzzle-card-difficulty{color:#f59e0b;letter-spacing:1px}.puzzle-card-tags{flex-wrap:wrap;gap:4px;margin-top:6px;display:flex}.puzzle-tag{color:#ffffff80;background:#ffffff0f;border-radius:10px;padding:2px 8px;font-size:.7rem}.puzzle-card-completed{border-color:#4ade8033}.puzzle-card-check{color:#4ade80;margin-right:2px}.puzzle-card-actions{flex-shrink:0;gap:6px;display:flex}@media (width<=540px){.puzzles-content{padding:12px 16px}.puzzle-card:not(.community-card){flex-direction:column;align-items:stretch}.puzzle-card-actions{justify-content:flex-end}.community-card{flex-direction:row;align-items:center}.community-card .vote-controls{flex-direction:column}}.admin-pack-form{flex-direction:column;gap:20px;max-width:540px;display:flex}.admin-pack-form label{font-size:11px;font-family:var(--font-heading);color:var(--text-muted);text-transform:uppercase;letter-spacing:.1em;flex-direction:column;gap:6px;font-weight:600;display:flex}.admin-pack-form input,.admin-pack-form textarea,.admin-pack-form select{border:1px solid var(--border);background:var(--bg-secondary);color:var(--text-primary);font-family:var(--font-body);border-radius:3px;padding:12px 16px;font-size:15px;transition:border-color .2s,box-shadow .2s}.admin-pack-form input::placeholder,.admin-pack-form textarea::placeholder{color:var(--text-muted);opacity:.5}.admin-pack-form input:focus,.admin-pack-form textarea:focus,.admin-pack-form select:focus{border-color:var(--accent);outline:none;box-shadow:0 0 16px #00e5ff14}.admin-pack-form textarea{resize:vertical;min-height:60px}.admin-pack-form select{appearance:none;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%237a7194' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");background-position:right 14px center;background-repeat:no-repeat;padding-right:40px}.admin-pack-form select option{background:var(--bg-secondary);color:var(--text-primary)}.admin-pack-form .form-row{gap:16px;display:flex}.admin-pack-form .form-row>label{flex:1}.admin-pack-form .btn-primary{width:100%;margin-top:4px;padding:14px;font-size:14px}.pack-picker-dropdown{z-index:20;background:var(--bg-elevated,#1c162c);border:1px solid var(--border-light,#ffffff1a);border-radius:4px;min-width:200px;margin-top:4px;padding:4px 0;animation:.12s pack-picker-in;position:absolute;top:100%;right:12px;box-shadow:0 8px 24px #00000080}@keyframes pack-picker-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.pack-picker-option{width:100%;color:var(--text-primary,#ece4f4);font-family:var(--font-body,sans-serif);text-align:left;cursor:pointer;background:0 0;border:none;padding:8px 14px;font-size:.85rem;transition:background .1s;display:block}.pack-picker-option:hover{background:#ffffff0f}.puzzle-card-expanded{flex-direction:column;align-items:stretch}.puzzle-card-expanded .puzzle-edit-form{gap:12px}.puzzle-card-expanded .puzzle-edit-form .btn-primary{align-self:flex-start;width:auto}.vote-controls{flex-direction:column;flex-shrink:0;align-items:center;gap:0;min-width:36px;display:flex}.vote-btn{width:28px;height:22px;color:var(--text-muted,#7a7194);cursor:pointer;background:0 0;border:none;border-radius:3px;justify-content:center;align-items:center;font-size:1.1rem;transition:color .15s,background .15s;display:flex}.vote-btn:hover{background:#ffffff0f}.vote-btn.vote-active.vote-up{color:#4ade80}.vote-btn.vote-active.vote-down{color:#ef4444}.puzzle-overflow-menu{z-index:20;background:var(--bg-elevated,#1c162c);border:1px solid var(--border-light,#ffffff1a);border-radius:4px;min-width:180px;margin-top:4px;padding:4px 0;animation:.12s pack-picker-in;position:absolute;top:100%;right:12px;box-shadow:0 8px 24px #00000080}.puzzle-overflow-item{width:100%;color:var(--text-primary,#ece4f4);font-family:var(--font-body,sans-serif);text-align:left;cursor:pointer;background:0 0;border:none;align-items:center;gap:10px;padding:8px 14px;font-size:.8rem;transition:background .1s;display:flex}.puzzle-overflow-item i{text-align:center;opacity:.6;width:14px;font-size:.75rem}.puzzle-overflow-item:hover{background:#ffffff0f}.puzzle-overflow-item.danger{color:var(--danger,#ef4444)}.vote-score{font-size:.8rem;font-weight:600;font-family:var(--font-body,sans-serif);color:var(--text-primary,#ece4f4);line-height:1}.lab-guide-backdrop{z-index:1000;background:#000000a6;justify-content:center;align-items:center;padding:16px;animation:.2s lab-guide-fade-in;display:flex;position:fixed;inset:0}@keyframes lab-guide-fade-in{0%{opacity:0}to{opacity:1}}.lab-guide{background:var(--bg-primary,#0a0a12);border:1px solid #ffffff1f;border-radius:14px;flex-direction:column;gap:16px;width:100%;max-width:540px;max-height:85vh;padding:24px 28px;animation:.25s lab-guide-slide-up;display:flex;overflow-y:auto;box-shadow:0 16px 64px #0009}@keyframes lab-guide-slide-up{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.lab-guide-header{justify-content:space-between;align-items:center;display:flex}.lab-guide-header h2{align-items:center;gap:8px;margin:0;font-size:1.1rem;font-weight:600;display:flex}.lab-guide-header h2 i{color:var(--accent,#ff2d78)}.lab-guide h3{color:var(--accent,#ff2d78);text-transform:uppercase;letter-spacing:.04em;margin:0;font-size:.85rem;font-weight:600}.lab-guide-step{align-items:flex-start;gap:12px;display:flex}.lab-guide-step-num{background:var(--accent,#ff2d78);color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:24px;height:24px;font-size:.75rem;font-weight:700;display:flex}.lab-guide-step p{color:#ffffffd9;margin:0;font-size:.85rem;line-height:1.5}.lab-guide-step p strong{color:#fff}.lab-guide-steps{flex-direction:column;gap:10px;display:flex}.lab-guide-section{flex-direction:column;gap:8px;display:flex}.lab-guide-tip{color:#fffc;background:#ff2d7814;border:1px solid #ff2d7833;border-radius:8px;padding:10px 14px;font-size:.8rem;line-height:1.5}.lab-guide-tip i{color:var(--accent,#ff2d78);margin-right:4px}.lab-guide-controls{color:#ffffffb3;font-size:.8rem;line-height:1.6}.lab-guide-controls li{margin-bottom:2px}.lab-guide-controls strong{color:#fffffff2}.lab-guide-controls code{background:#ffffff14;border-radius:3px;padding:1px 5px;font-size:.78rem}.lab-guide-footer{justify-content:flex-end;padding-top:4px;display:flex}.lab-guide-help-btn{color:#fff9;cursor:pointer;background:#ffffff0f;border:1px solid #ffffff26;border-radius:50%;justify-content:center;align-items:center;width:30px;height:30px;font-size:.8rem;font-weight:600;transition:border-color .15s,color .15s,background .15s;display:flex}.lab-guide-help-btn:hover{border-color:var(--accent,#ff2d78);color:var(--accent,#ff2d78);background:#ff2d781a}@media (width<=600px){.lab-guide{border-radius:12px;max-width:100%;max-height:90vh;padding:18px 20px}}.gameplay-board-area.puzzle-autoplay{position:relative}.gameplay-board-area.puzzle-autoplay:after{content:"";pointer-events:auto;border-radius:inherit;z-index:5;background:#14192d2e;animation:.25s puzzle-autoplay-fade-in;position:absolute;inset:0}@keyframes puzzle-autoplay-fade-in{0%{background:#14192d00}to{background:#14192d2e}}.gameplay-board-area.puzzle-autoplay:before{content:"▶ Replaying";color:#fff;letter-spacing:.04em;z-index:6;pointer-events:none;background:#22c55ed9;border-radius:999px;padding:4px 10px;font-size:.72rem;font-weight:600;animation:.25s puzzle-autoplay-fade-in;position:absolute;top:8px;right:8px;box-shadow:0 2px 8px #0000004d}.puzzle-branch-warning{color:#f59e0b;margin-left:2px;font-size:.75rem}.puzzle-branch-record-bar{color:#fbbf24;background:#f59e0b14;border:1px solid #f59e0b38;border-radius:8px;flex-direction:column;gap:6px;margin:0 0 6px;padding:8px 14px;font-size:.82rem;display:flex}.puzzle-branch-record-row{align-items:center;gap:12px;display:flex}.puzzle-branch-record-row.tags{border-top:1px solid #ffffff0f;padding-top:4px}.puzzle-branch-tag-prompt{color:#ffffff73;flex-shrink:0;font-size:.72rem}.puzzle-branch-record-bar.flashing{animation:1.2s ease-in-out 2 branch-record-flash}@keyframes branch-record-flash{0%,to{background:#f59e0b14;border-color:#f59e0b38}50%{background:#f59e0b38;border-color:#f59e0ba6}}.puzzle-branch-record-icon{color:#fbbf24;margin-right:4px;font-size:.95rem}.puzzle-branch-record-text{flex:1;min-width:0}.puzzle-branch-record-text strong{color:#fff;font-weight:600}.puzzle-branch-record-hint{color:#fff6;white-space:nowrap;font-size:.72rem}.puzzle-branch-record-bar .puzzle-branch-dots{flex-shrink:0;gap:6px;margin-left:auto;display:inline-flex}.puzzle-branch-tag-picker{flex-wrap:wrap;gap:4px;display:inline-flex}.puzzle-branch-tag-btn{color:#ffffff8c;cursor:pointer;background:#ffffff0a;border:1px solid #ffffff1a;border-radius:999px;align-items:center;gap:4px;padding:3px 8px;font-size:.7rem;transition:background .12s,border-color .12s,color .12s;display:inline-flex}.puzzle-branch-tag-btn:hover{color:#ffffffd9;background:#ffffff14}.puzzle-branch-tag-btn.active{color:#4ade80;background:#22c55e2e;border-color:#22c55e8c}.puzzle-branch-tag-btn .tag-ico{font-size:.75rem;font-weight:700}.puzzle-branch-prob-header{align-items:center;gap:6px;display:flex}.puzzle-branch-tag-badge{letter-spacing:.04em;text-transform:uppercase;border-radius:999px;padding:1px 7px;font-size:.62rem;font-weight:600;display:inline-block}.puzzle-branch-tag-badge.win{color:#4ade80;background:#22c55e38;border:1px solid #22c55e73}.puzzle-branch-tag-badge.adv{color:#a3e635;background:#84cc162e;border:1px solid #84cc1666}.puzzle-branch-tag-badge.even{color:#cbd5e1;background:#94a3b82e;border:1px solid #94a3b866}.puzzle-branch-tag-badge.draw{color:#fde047;background:#eab3082e;border:1px solid #eab30866}.puzzle-branch-tag-badge.disadv{color:#fb923c;background:#f973162e;border:1px solid #f9731666}.puzzle-branch-tag-badge.lose{color:#f87171;background:#ef444438;border:1px solid #ef444473}@media (width<=720px){.puzzle-branch-tag-btn .tag-lbl{display:none}.puzzle-branch-tag-btn{padding:3px 7px}}.puzzle-success-branches-container{margin:12px 0 16px}.puzzle-success-branches-loading{color:#fff6;padding:8px 0;font-size:.78rem}.puzzle-branch-prob-grid{flex-direction:column;gap:8px;max-width:300px;max-height:min(60vh,360px);margin:0 auto;padding-right:4px;display:flex;overflow-y:auto}.puzzle-branch-prob-grid::-webkit-scrollbar{width:6px}.puzzle-branch-prob-grid::-webkit-scrollbar-track{background:0 0}.puzzle-branch-prob-grid::-webkit-scrollbar-thumb{background:#ffffff26;border-radius:3px}.puzzle-branch-prob-grid::-webkit-scrollbar-thumb:hover{background:#ffffff40}.puzzle-branch-prob-card{background:#ffffff0a;border:1px solid #ffffff14;border-radius:8px;align-items:center;gap:10px;padding:8px 10px;display:flex}.puzzle-branch-prob-thumbnail{flex-shrink:0}.puzzle-branch-prob-info{text-align:left;flex:1}.puzzle-branch-prob-label{color:#ffffff80;font-size:.72rem;display:block}.puzzle-branch-prob-pct{color:#fff;margin-right:6px;font-size:1rem;font-weight:700}.puzzle-branch-prob-ratio{color:#ffffff73;font-family:monospace;font-size:.72rem}.puzzle-trials-footer{justify-content:space-between;align-items:center;gap:10px;margin-top:12px;padding:0 4px;display:flex}.puzzle-trials-total{color:#ffffff73;font-family:monospace;font-size:.72rem}.puzzle-trials-btn{padding:4px 10px;font-size:.72rem}.puzzle-branch-prob-bar{background:#ffffff14;border-radius:2px;height:3px;margin-top:4px;overflow:hidden}.puzzle-branch-prob-fill{background:#22c55e;border-radius:2px;height:100%;transition:width .6s}.puzzle-thumb-board{border:1px solid #ffffff1a;border-radius:3px;grid-template-columns:repeat(8,1fr);width:56px;height:56px;display:grid;overflow:hidden}.puzzle-thumb-sq{justify-content:center;align-items:center;width:7px;height:7px;font-size:5.5px;line-height:1;display:flex}.puzzle-thumb-sq.light{background:#ffffff1f}.puzzle-thumb-sq.dark{background:#ffffff0a}.puzzle-success-card:has(.puzzle-branch-prob-grid){max-width:400px}@media (width>=901px){.puzzle-success-card:has(.puzzle-branch-prob-grid){max-width:560px;padding:36px 44px}.puzzle-branch-prob-grid{gap:12px;max-width:460px;max-height:min(65vh,540px)}.puzzle-branch-prob-card{gap:16px;padding:12px 14px}.puzzle-thumb-board{border-radius:4px;width:112px;height:112px}.puzzle-thumb-sq{width:14px;height:14px;font-size:11px}.puzzle-branch-prob-label{font-size:.82rem}.puzzle-branch-prob-pct{font-size:1.4rem}.puzzle-branch-prob-ratio{font-size:.82rem}.puzzle-branch-prob-bar{height:5px;margin-top:8px}.puzzle-trials-footer{margin-top:16px}}.shared-puzzle-preview{background:rgb(var(--accent-rgb) / .06);border-left:2px solid rgb(var(--accent-rgb) / .4);border-radius:6px;margin-bottom:.75rem;padding:12px 14px}.shared-puzzle-preview-title{color:var(--text-primary);margin-bottom:4px;font-size:1rem;font-weight:600}.shared-puzzle-preview-meta{color:var(--text-muted);flex-wrap:wrap;gap:10px;font-size:.78rem;display:flex}.shared-puzzle-preview-description{color:var(--text-secondary);margin:8px 0 0;font-size:.85rem;line-height:1.45}
