@font-face{font-family:Oxanium Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/oxanium-latin-ext-wght-normal-C7ptlTmX.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Oxanium Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/oxanium-latin-wght-normal-BwpvAp5U.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Manrope Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(data:font/woff2;base64,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)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Manrope Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/manrope-cyrillic-wght-normal-Dvxsihut.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Manrope Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/manrope-greek-wght-normal-DL7QRZyv.woff2)format("woff2-variations");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Manrope Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/manrope-vietnamese-wght-normal-usUDDRr7.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Manrope Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/manrope-latin-ext-wght-normal-Ch3YOpNY.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Manrope Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/manrope-latin-wght-normal-DHIcAJRg.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(data:font/woff2;base64,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)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/assets/jetbrains-mono-cyrillic-wght-normal-D73BlboJ.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/assets/jetbrains-mono-greek-wght-normal-Bw9x6K1M.woff2)format("woff2-variations");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/assets/jetbrains-mono-vietnamese-wght-normal-Bt-aOZkq.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/assets/jetbrains-mono-latin-ext-wght-normal-DBQx-q_a.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/assets/jetbrains-mono-latin-wght-normal-B9CIFXIH.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--bg:#080c13;--bg-2:#0c121c;--surface:#111824c7;--surface-2:#131b28;--surface-3:#1a2433;--line:#96b4d71c;--line-strong:#96b4d738;--text:#e5ecf5;--text-dim:#93a2b7;--text-faint:#5f6d82;--accent:#8fd4ff;--accent-rgb:143 212 255;--accent-ink:#06121c;--accent-glow:#8fd4ff59;--brass:#e6c27e;--brass-rgb:230 194 126;--good-rgb:92 214 146;--bad-rgb:255 96 112;--warn-rgb:255 192 96;--font-display:"Oxanium Variable", "Oxanium", "Segoe UI", system-ui, sans-serif;--font-body:"Manrope Variable", "Manrope", "Segoe UI", system-ui, sans-serif;--font-mono:"JetBrains Mono Variable", "JetBrains Mono", ui-monospace, "SFMono-Regular", monospace;--radius:14px;--radius-sm:9px;--radius-board:10px;--rail:84px;--ease:cubic-bezier(.2, .8, .2, 1);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}[hidden]{display:none!important}*,:before,:after{box-sizing:border-box}html,body,#root{height:100%}body{background:var(--bg);color:var(--text);font:400 15px/1.55 var(--font-body);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0;overflow:hidden}button,input,select,textarea{font:inherit;color:inherit}h1,h2,h3,h4{font-family:var(--font-display);letter-spacing:.01em;text-wrap:balance;margin:0;font-weight:600;line-height:1.15}p{margin:0}a{color:var(--accent)}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}::selection{background:rgb(var(--accent-rgb) / .3)}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background:var(--surface-3);background-clip:padding-box;border:3px solid #0000;border-radius:10px}::-webkit-scrollbar-track{background:0 0}.mono{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.dim{color:var(--text-dim)}.faint{color:var(--text-faint)}.brass{color:var(--brass)}.eyebrow{font:600 11px/1 var(--font-mono);letter-spacing:.16em;text-transform:uppercase;color:var(--text-faint)}.panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);-webkit-backdrop-filter:blur(14px)}.btn{--btn-bg:var(--surface-3);--btn-fg:var(--text);border:1px solid var(--line-strong);border-radius:var(--radius-sm);background:var(--btn-bg);min-height:40px;color:var(--btn-fg);cursor:pointer;transition:background-color .15s, border-color .15s, transform .15s var(--ease), box-shadow .15s;white-space:nowrap;justify-content:center;align-items:center;gap:8px;padding:0 16px;font-size:14px;font-weight:600;display:inline-flex}.btn:hover:not(:disabled){border-color:rgb(var(--accent-rgb) / .5)}.btn:active:not(:disabled){transform:translateY(1px)scale(.99)}.btn:disabled{opacity:.45;cursor:not-allowed}.btn svg{flex:none;width:18px;height:18px}.btn.primary{--btn-bg:var(--accent);--btn-fg:var(--accent-ink);box-shadow:0 8px 30px -10px var(--accent-glow);border-color:#0000}.btn.primary:hover:not(:disabled){box-shadow:0 10px 34px -8px var(--accent-glow);filter:brightness(1.06)}.btn.ghost{--btn-bg:transparent;color:var(--text-dim);border-color:#0000}.btn.ghost:hover:not(:disabled){color:var(--text);background:var(--surface-3);border-color:var(--line)}.btn.danger:hover:not(:disabled){border-color:rgb(var(--bad-rgb) / .6);color:rgb(var(--bad-rgb))}.btn.lg{border-radius:12px;min-height:50px;padding:0 24px;font-size:15px}.btn.sm{min-height:32px;padding:0 11px;font-size:13px}.btn.icon{width:40px;padding:0}.btn.icon.sm{width:32px}.btn.block{width:100%}.input{border-radius:var(--radius-sm);border:1px solid var(--line-strong);background:var(--bg-2);outline:none;width:100%;min-height:42px;padding:0 13px;transition:border-color .15s,box-shadow .15s}.input:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgb(var(--accent-rgb) / .18)}textarea.input{resize:vertical;font-family:var(--font-mono);padding:10px 13px;font-size:13px}.segmented{background:var(--bg-2);border:1px solid var(--line);border-radius:11px;gap:3px;padding:3px;display:inline-flex}.segmented button{min-height:34px;color:var(--text-dim);cursor:pointer;background:0 0;border:0;border-radius:8px;padding:0 14px;font-size:13px;font-weight:600;transition:background-color .15s,color .15s}.segmented button[aria-pressed=true]{background:var(--surface-3);color:var(--text);box-shadow:inset 0 0 0 1px var(--line-strong)}.chip{border:1px solid var(--line);background:var(--bg-2);height:24px;font:600 11px/1 var(--font-mono);letter-spacing:.04em;color:var(--text-dim);border-radius:999px;align-items:center;gap:6px;padding:0 9px;display:inline-flex}.chip.accent{color:var(--accent);border-color:rgb(var(--accent-rgb) / .3)}.chip.brass{color:var(--brass);border-color:rgb(var(--brass-rgb) / .3)}.chip.good{color:rgb(var(--good-rgb));border-color:rgb(var(--good-rgb) / .3)}.chip.bad{color:rgb(var(--bad-rgb));border-color:rgb(var(--bad-rgb) / .3)}.toggle{border:1px solid var(--line-strong);background:var(--bg-2);cursor:pointer;border-radius:999px;flex:none;width:40px;height:22px;transition:background-color .15s;position:relative}.toggle:after{content:"";background:var(--text-dim);width:16px;height:16px;transition:translate .18s var(--ease), background-color .15s;border-radius:50%;position:absolute;top:2px;left:2px}.toggle[aria-checked=true]{background:rgb(var(--accent-rgb) / .25);border-color:rgb(var(--accent-rgb) / .5)}.toggle[aria-checked=true]:after{background:var(--accent);translate:18px}.kbd{border:1px solid var(--line-strong);background:var(--bg-2);min-width:20px;font:600 11px/1.4 var(--font-mono);text-align:center;color:var(--text-dim);border-radius:5px;padding:1px 5px;display:inline-block}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}.shell{grid-template-columns:var(--rail) 1fr;height:100%;padding-top:env(safe-area-inset-top,0px);display:grid;position:relative}.backdrop{pointer-events:none;background:radial-gradient(900px 600px at 85% -10%, rgb(var(--accent-rgb) / .09), transparent 60%), radial-gradient(700px 500px at -10% 110%, rgb(var(--brass-rgb) / .05), transparent 60%), var(--bg);position:fixed;inset:0}.backdrop:after{content:"";background-image:linear-gradient(var(--line) 1px, transparent 1px), linear-gradient(90deg, var(--line) 1px, transparent 1px);opacity:.35;background-size:64px 64px;position:absolute;inset:0;-webkit-mask-image:radial-gradient(at 60% 30%,#000 0%,#0000 70%);mask-image:radial-gradient(at 60% 30%,#000 0%,#0000 70%)}.rail{z-index:5;padding:18px 0 max(18px, env(safe-area-inset-bottom));padding-left:env(safe-area-inset-left,0px);border-right:1px solid var(--line);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#080c13b3;flex-direction:column;align-items:center;gap:18px;display:flex;position:relative}.rail-logo{border:1px solid rgb(var(--accent-rgb) / .35);background:radial-gradient(circle at 30% 20%, rgb(var(--accent-rgb) / .25), transparent 70%), var(--surface-2);cursor:pointer;border-radius:13px;place-items:center;width:44px;height:44px;display:grid}.rail-logo svg{width:24px;height:24px;fill:var(--accent)}.rail-items{flex-direction:column;flex:1;gap:4px;display:flex}.rail-item{width:68px;color:var(--text-faint);cursor:pointer;background:0 0;border:0;border-radius:12px;flex-direction:column;align-items:center;gap:5px;padding:9px 0 8px;font-size:11px;font-weight:600;transition:color .15s;display:flex;position:relative}.rail-item svg{width:21px;height:21px;position:relative}.rail-item span{position:relative}.rail-item:hover{color:var(--text)}.rail-item.active{color:var(--accent)}.rail-pill{background:rgb(var(--accent-rgb) / .1);box-shadow:inset 0 0 0 1px rgb(var(--accent-rgb) / .22);border-radius:12px;position:absolute;inset:0}.stage{perspective:1600px;min-width:0;position:relative;overflow:hidden}.page{transform-style:preserve-3d;transform-origin:50% 40%;padding-block:28px max(40px, env(safe-area-inset-bottom));padding-left:max(28px, env(safe-area-inset-left,0px));padding-right:max(28px, env(safe-area-inset-right,0px));position:absolute;inset:0;overflow:hidden auto}.screen-loading{height:60vh;color:var(--text-dim);place-items:center;display:grid}.container{max-width:1180px;margin:0 auto}.page-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:26px;display:flex}.page-head h1{font-size:clamp(28px,4vw,40px)}.page-head p{color:var(--text-dim);max-width:60ch;margin-top:6px}.toasts{z-index:200;right:max(20px, env(safe-area-inset-right));bottom:max(20px, env(safe-area-inset-bottom));perspective:600px;pointer-events:none;flex-direction:column;align-items:flex-end;gap:8px;display:flex;position:fixed}.toast{background:var(--surface-3);border:1px solid var(--line-strong);border-radius:11px;padding:11px 16px;font-size:14px;font-weight:600;box-shadow:0 16px 40px -10px #0009}.toast.good{border-color:rgb(var(--good-rgb) / .5)}.toast.bad{border-color:rgb(var(--bad-rgb) / .5)}.toast.brass{border-color:rgb(var(--brass-rgb) / .6);color:var(--brass)}.bot-avatar{color:hsl(var(--hue) 90% 82%);background:radial-gradient(circle at 30% 25%, hsl(var(--hue) 70% 55% / .55), transparent 65%), hsl(var(--hue) 35% 14%);box-shadow:inset 0 0 0 1px hsl(var(--hue) 70% 70% / .35), 0 6px 18px -8px hsl(var(--hue) 80% 50% / .7);font-family:"Segoe UI Symbol", "Noto Sans Symbols 2", var(--font-display);border-radius:50%;flex:none;place-items:center;line-height:1;display:grid;position:relative}.bot-avatar.user{font-family:var(--font-display);font-weight:700}.game-layout{grid-template-columns:minmax(0,1fr) 360px;align-items:start;gap:22px;max-width:1280px;margin:0 auto;display:grid}.board-column{flex-direction:column;gap:10px;width:min(100%,100dvh - 210px);margin:0 auto;display:flex}.board-row{align-items:stretch;gap:10px;display:flex}.board-row>.board,.board-row>.board3d{flex:1;min-width:0}.side-panel{flex-direction:column;gap:12px;height:calc(100dvh - 70px);min-height:460px;display:flex;position:sticky;top:0}.side-panel .panel{padding:14px}.side-section-title{justify-content:space-between;align-items:center;gap:8px;margin-bottom:10px;display:flex}.side-section-title h3{letter-spacing:.12em;text-transform:uppercase;font-size:13px;font-family:var(--font-mono);color:var(--text-dim);font-weight:600}.player-strip{border:1px solid #0000;border-radius:12px;align-items:center;gap:12px;min-height:56px;padding:8px 10px;transition:border-color .2s,background-color .2s;display:flex}.player-strip.active{background:var(--surface);border-color:var(--line)}.player-meta{flex:1;min-width:0}.player-name{white-space:nowrap;align-items:center;gap:8px;font-size:15px;font-weight:700;display:flex}.player-name>span:first-child{text-overflow:ellipsis;overflow:hidden}.player-name .rating{color:var(--brass);font-size:12px;font-weight:600}.player-sub{min-height:20px;color:var(--text-faint);font-size:12px}.captured{align-items:center;height:20px;display:flex}.captured img{opacity:.9;width:18px;height:18px;margin-right:-4px}.captured img.stack{margin-left:-6px}.captured .adv{color:var(--text-dim);margin-left:10px;font-size:12px}.thinking{gap:3px;margin-left:2px;display:inline-flex}.thinking i{background:var(--accent);border-radius:50%;width:5px;height:5px;animation:1s ease-in-out infinite think}.thinking i:nth-child(2){animation-delay:.15s}.thinking i:nth-child(3){animation-delay:.3s}@keyframes think{0%,to{opacity:.25;transform:translateY(0)}50%{opacity:1;transform:translateY(-3px)}}.clock{background:var(--bg-2);border:1px solid var(--line);min-width:96px;color:var(--text-dim);text-align:right;letter-spacing:-.01em;border-radius:10px;padding:8px 12px;font-size:22px;font-weight:600;transition:background-color .2s,color .2s,box-shadow .2s}.clock.active{background:var(--text);color:var(--bg);box-shadow:0 0 30px -8px #ffffff59}.clock.active.low{background:rgb(var(--bad-rgb));color:#fff;box-shadow:0 0 30px -6px rgb(var(--bad-rgb) / .7);animation:1s infinite low-pulse}.clock.low:not(.active){color:rgb(var(--bad-rgb))}@keyframes low-pulse{50%{filter:brightness(1.2)}}.move-list{flex:1;min-height:120px;margin:0 -6px;padding:0 6px;font-size:14px;overflow-y:auto}.move-list.empty{place-items:center;font-size:13px;display:grid}.move-row{grid-template-columns:40px 1fr 1fr;align-items:center;gap:2px;display:grid}.move-row:nth-child(odd){background:#ffffff05;border-radius:6px}.move-num{color:var(--text-faint);padding-left:6px;font-size:12px}.move-cell{text-align:left;cursor:pointer;background:0 0;border:0;border-radius:6px;align-items:center;gap:4px;min-height:30px;padding:0 8px;font-weight:600;display:flex}.move-cell:hover{background:var(--surface-3)}.move-cell.current{background:rgb(var(--accent-rgb) / .16);color:var(--accent)}.move-cell em{font-style:normal;font-family:var(--font-mono);font-size:11px;font-weight:700}.mc-inaccuracy em{color:rgb(var(--warn-rgb))}.mc-mistake em{color:#ff9d5c}.mc-blunder em{color:rgb(var(--bad-rgb))}.mc-book em{color:var(--brass)}.eval-bar{width:22px;box-shadow:0 0 0 1px var(--line-strong);background:#1c222b;border-radius:6px;flex:none;position:relative;overflow:hidden}.eval-white{transition:height .5s var(--ease);background:#eef2f7;position:absolute;left:0;right:0}.eval-bar.white .eval-white{bottom:0}.eval-bar.black .eval-white{top:0}.eval-label{text-align:center;z-index:1;font-size:9px;font-weight:700;position:absolute;left:0;right:0}.eval-bar.white .eval-label.w,.eval-bar.black .eval-label.b{bottom:4px}.eval-bar.white .eval-label.b,.eval-bar.black .eval-label.w{top:4px}.eval-label.w{color:#1c222b}.eval-label.b{color:#eef2f7}.controls-row{flex-wrap:wrap;gap:6px;display:flex}.controls-row .grow{flex:1}.nav-row{grid-template-columns:repeat(4,1fr);gap:6px;display:grid}.opening-tag{color:var(--text-dim);min-height:20px;font-size:13px}.opening-tag b{color:var(--text);font-weight:600}@media (width<=1100px){.game-layout{grid-template-columns:1fr}.side-panel{height:auto;min-height:0;position:static}.side-panel .move-list{max-height:220px}.board-column{width:min(100%,640px,100dvh - 190px);min-width:min(100%,320px)}}@media (width<=760px){.shell{grid-template-columns:1fr}.rail{padding:6px max(6px, env(safe-area-inset-right)) max(6px, env(safe-area-inset-bottom)) max(6px, env(safe-area-inset-left));border-right:0;border-top:1px solid var(--line);flex-direction:row;justify-content:space-around;gap:0;position:fixed;inset:auto 0 0}.rail-logo,.rail-settings{display:none}.rail-items{flex-direction:row;justify-content:space-around;gap:0;width:100%}.rail-item{flex:1;width:auto;padding:7px 0;font-size:10px}.page{padding-block:16px calc(90px + env(safe-area-inset-bottom));padding-left:max(16px, env(safe-area-inset-left,0px));padding-right:max(16px, env(safe-area-inset-right,0px))}.clock{min-width:80px;padding:6px 10px;font-size:18px}.board-column{width:100%}.eval-bar{width:14px}}.board3d{aspect-ratio:1;border-radius:var(--radius-board);box-shadow:0 0 0 1px var(--line-strong), 0 30px 60px -20px #0009;background:var(--bg);position:relative;overflow:hidden}.board3d-promo{background:var(--surface-2);border:1px solid var(--line-strong);border-radius:14px;gap:6px;padding:8px;display:flex;position:absolute;top:50%;left:50%;translate:-50% -50%}.board3d-promo .promo-choice{width:64px}.onboarding{flex-direction:column;gap:12px;display:flex}.onboarding h2{font-size:26px}.onboarding form{flex-direction:column;gap:10px;margin-top:8px;display:flex}.consent-banner{z-index:120;left:calc(var(--rail) + 20px);bottom:max(20px, env(safe-area-inset-bottom));background:var(--surface-2);align-items:center;gap:14px;max-width:560px;padding:14px 16px;display:flex;position:fixed;box-shadow:0 24px 60px -20px #000000b3}.consent-banner p{color:var(--text-dim);flex:1;font-size:13.5px}.consent-icon{width:22px;height:22px;color:var(--brass);flex:none}.rail-legal{flex-direction:column;align-items:center;gap:2px;display:flex}.rail-legal a{color:var(--text-faint);text-align:center;font-size:9.5px;line-height:1.3;text-decoration:none}.rail-legal a:hover{color:var(--text)}.site-footer{border-top:1px solid var(--line);color:var(--text-faint);flex-wrap:wrap;justify-content:space-between;gap:10px 20px;margin-top:40px;padding-top:18px;font-size:12.5px;display:flex}.site-footer nav{flex-wrap:wrap;gap:16px;display:flex}.site-footer a{color:var(--text-dim);text-decoration:none}.site-footer a:hover{color:var(--text)}@media (width<=760px){.consent-banner{left:max(12px, env(safe-area-inset-left));right:max(12px, env(safe-area-inset-right));bottom:calc(80px + env(safe-area-inset-bottom));flex-wrap:wrap}}.home-btn{align-self:flex-start;margin-left:-10px}.page-nav{align-items:center;gap:4px;margin-bottom:10px;display:flex}.lesson-nav{gap:2px;margin-left:-10px;display:flex}.lesson-nav .home-btn{margin-left:0}.puzzle-top{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;display:flex}.puzzle-top .home-btn{margin-left:-10px}.game-head{flex-wrap:wrap}.cloud-buttons{flex-direction:column;gap:8px;display:flex}.cloud-buttons.compact{flex-flow:wrap}.cloud-btn{background:var(--surface-2);justify-content:center;gap:10px;min-height:46px}.cloud-btn svg{width:20px;height:20px}.cloud-buttons.compact .cloud-btn{flex:1;min-width:120px;min-height:40px}.guest-gate{text-align:center;flex-direction:column;align-items:center;gap:14px;max-width:560px;margin:40px auto 0;padding:32px;display:flex}.guest-gate h1{font-size:26px}.gate-icon{background:rgb(var(--brass-rgb) / .1);border:1px solid rgb(var(--brass-rgb) / .35);width:56px;height:56px;color:var(--brass);border-radius:16px;place-items:center;display:grid}.gate-icon svg{width:26px;height:26px}.rail-item .lock{width:11px;height:11px;color:var(--text-faint);position:absolute;top:6px;right:12px}.rail-account{cursor:pointer;color:var(--brass);background:0 0;border:0;flex-direction:column;align-items:center;gap:2px;padding:4px 0;font-size:10px;font-weight:700;display:flex}.rail-account svg{width:18px;height:18px}.app-splash{z-index:160;background:var(--bg);place-items:center;display:grid;position:fixed;inset:0}.wordmark{font-family:var(--font-display);letter-spacing:-.02em;text-transform:uppercase;color:var(--text);gap:.18em;font-weight:700;line-height:.9;display:inline-flex}.wordmark.stacked{flex-direction:column;gap:0}.wordmark .wm-outline{color:#0000;-webkit-text-stroke:.022em var(--accent);text-shadow:0 0 .4em rgb(var(--accent-rgb) / .3)}.register,.welcome{z-index:150;background:radial-gradient(800px 600px at 25% 40%, rgb(var(--accent-rgb) / .1), transparent 60%), var(--bg);position:fixed;inset:0}.register{padding-top:env(safe-area-inset-top,0px);grid-template-columns:minmax(0,1fr) minmax(380px,520px);display:grid}.register-visual{min-height:0;position:relative}.register-tag{left:max(28px, env(safe-area-inset-left));background:var(--surface);border:1px solid var(--line);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-radius:14px;align-items:center;gap:12px;padding:10px 16px 10px 10px;display:flex;position:absolute;bottom:28px}.register-tag div{flex-direction:column;display:flex}.register-tag small{color:var(--text-faint);font-size:11px}.register-panel{padding:40px max(28px, env(safe-area-inset-right)) max(28px, env(safe-area-inset-bottom)) 36px;border-left:1px solid var(--line);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#0a0f17c7;flex-direction:column;gap:28px;display:flex;overflow-y:auto}.register-steps{grid-template-columns:repeat(4,1fr);gap:6px;margin:14px 0 0;padding:0;list-style:none;display:grid}.register-steps li{color:var(--text-faint);border-top:2px solid var(--surface-3);flex-direction:column;gap:8px;padding-top:10px;font-size:12px;font-weight:600;transition:color .2s,border-color .3s;display:flex}.register-steps li span{background:var(--surface-3);border-radius:50%;place-items:center;width:22px;height:22px;font-size:11px;display:inline-grid}.register-steps li span svg{width:13px;height:13px}.register-steps li.current{color:var(--text);border-color:var(--accent)}.register-steps li.current span{background:var(--accent);color:var(--accent-ink)}.register-steps li.done{color:var(--text-dim);border-color:rgb(var(--accent-rgb) / .5)}.register-steps li.done span{background:rgb(var(--accent-rgb) / .2);color:var(--accent)}.register-body{perspective:1000px;flex-direction:column;flex:1;gap:24px;display:flex}.register-step{transform-origin:50%;flex-direction:column;gap:14px;display:flex}.register-step h1{font-size:clamp(26px,3vw,34px)}.field{color:var(--text-dim);flex-direction:column;gap:8px;font-size:13px;font-weight:600;display:flex}.lg-input{min-height:54px;padding:0 16px;font-size:20px;font-weight:600}.hint{color:var(--text-faint);font-size:12px}.hint.error{color:rgb(var(--bad-rgb))}.glyph-grid{grid-template-columns:repeat(6,1fr);gap:8px;display:grid}.glyph-grid button{aspect-ratio:1;border:1px solid var(--line);background:var(--bg-2);font:32px/1 "Segoe UI Symbol", "Noto Sans Symbols 2", var(--font-display);color:var(--text-dim);cursor:pointer;transition:border-color .15s, color .15s, transform .2s var(--ease);border-radius:14px}.glyph-grid button:hover{color:var(--text);transform:translateY(-2px)}.glyph-grid button.active{border-color:var(--accent);color:var(--accent);background:rgb(var(--accent-rgb) / .1)}.hue-row{flex-wrap:wrap;gap:10px;display:flex}.hue-row button{background:radial-gradient(circle at 30% 25%, hsl(var(--hue) 80% 70%), hsl(var(--hue) 60% 35%));cursor:pointer;width:38px;height:38px;transition:transform .15s var(--ease);border:2px solid #0000;border-radius:50%}.hue-row button.active{border-color:var(--text);box-shadow:0 0 20px hsl(var(--hue) 80% 60% / .6);transform:scale(1.12)}.level-grid{grid-template-columns:1fr 1fr;gap:10px;display:grid}.level-card{border:1px solid var(--line);background:var(--bg-2);text-align:left;cursor:pointer;border-radius:14px;flex-direction:column;gap:6px;padding:14px;transition:border-color .15s,background-color .15s;display:flex}.level-card.active{border-color:var(--accent);background:rgb(var(--accent-rgb) / .08)}.level-head{justify-content:space-between;gap:8px;display:flex}.level-card small{color:var(--text-dim);font-size:12.5px;line-height:1.45}.level-bot{color:var(--text-faint);align-items:center;gap:6px;margin-top:2px;font-size:12px;display:flex}.recap{grid-template-columns:1fr 1fr;gap:10px;margin:0;display:grid}.recap div{background:var(--bg-2);border:1px solid var(--line);border-radius:12px;padding:12px 14px}.recap dt{font:600 10px/1 var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--text-faint)}.recap dd{margin:8px 0 0;font-size:17px;font-weight:700}.consent{cursor:pointer;align-items:flex-start;gap:10px;font-size:14px;display:flex}.consent input{width:18px;height:18px;accent-color:var(--accent);flex:none;margin-top:2px}.register-actions{justify-content:space-between;align-items:center;margin-top:auto;display:flex}.welcome{place-items:end center;display:grid}.welcome-scene{position:absolute;inset:0}.welcome-copy{text-align:center;padding:0 max(16px, env(safe-area-inset-right)) max(56px, env(safe-area-inset-bottom)) max(16px, env(safe-area-inset-left));perspective:800px;flex-direction:column;align-items:center;gap:14px;display:flex;position:relative}.welcome-copy h1{letter-spacing:-.01em;text-shadow:0 6px 40px #000c;font-size:clamp(34px,6vw,72px);font-weight:700}.welcome-copy h1 span{display:inline-block}.welcome-chips{gap:8px;display:flex}.welcome-actions{flex-wrap:wrap;justify-content:center;gap:10px;display:flex}@media (width<=900px){.register{grid-template-rows:38vh 1fr;grid-template-columns:1fr}.register-panel{border-left:0;border-top:1px solid var(--line);padding:24px max(16px, env(safe-area-inset-right)) max(20px, env(safe-area-inset-bottom)) max(16px, env(safe-area-inset-left));gap:18px}.register-tag{bottom:12px;left:16px}.level-grid,.recap{grid-template-columns:1fr}.glyph-grid button{font-size:24px}}.welcome:after{content:"";background:linear-gradient(to top, var(--bg) 18%, #080c13d9 50%, transparent);pointer-events:none;height:46%;position:absolute;inset:auto 0 0}.welcome-copy{z-index:1}.import-link{color:var(--accent);cursor:pointer;align-self:flex-start;align-items:center;gap:8px;font-size:13px;font-weight:600;display:inline-flex}.import-link svg{width:15px;height:15px}.import-link:hover{text-decoration:underline}.register-cloud{flex-direction:column;gap:14px;display:flex}.cloud-connected{background:rgb(var(--good-rgb) / .08);border:1px solid rgb(var(--good-rgb) / .3);border-radius:10px;align-items:center;gap:10px;padding:10px 12px;font-size:13.5px;display:flex}.cloud-connected img{border-radius:50%;width:26px;height:26px}.register.restoring{grid-template-columns:1fr;place-items:center;display:grid}.restore-card{align-items:center;gap:14px;padding:20px 24px;font-weight:600;display:flex}.spin-ring{border:3px solid var(--surface-3);border-top-color:var(--accent);border-radius:50%;width:22px;height:22px;animation:.9s linear infinite spin}.auth-logo{z-index:1;top:clamp(28px,6vh,64px);left:max(40px, env(safe-area-inset-left));pointer-events:none;flex-direction:column;gap:14px;display:flex;position:absolute}.auth-logo .wordmark{font-size:clamp(64px,8.5vw,132px)}.auth-tagline{color:var(--text-dim);text-shadow:0 2px 20px #000000e6;max-width:26ch;font-size:clamp(16px,1.6vw,21px)}.auth-body{flex-direction:column;gap:14px;display:flex}.auth-body h1{font-size:clamp(26px,3vw,34px)}.auth-tabs{align-self:flex-start}.auth-form{flex-direction:column;gap:12px;display:flex}.field-row{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.link-btn{color:var(--accent);cursor:pointer;background:0 0;border:0;padding:0;font-size:12.5px;font-weight:600}.link-btn:hover{text-decoration:underline}.pw-wrap{display:block;position:relative}.pw-wrap .input{padding-right:44px}.pw-toggle{width:32px;height:32px;color:var(--text-faint);cursor:pointer;background:0 0;border:0;border-radius:8px;place-items:center;display:grid;position:absolute;top:50%;right:6px;translate:0 -50%}.pw-toggle:hover{color:var(--text);background:var(--surface-3)}.pw-toggle svg{width:18px;height:18px}.guest-box{border-top:1px solid var(--line);text-align:center;flex-direction:column;gap:6px;margin-top:6px;padding-top:16px;display:flex}.auth-done{align-items:flex-start}.auth-mail{width:44px;height:44px;color:var(--accent)}@media (width<=900px){.auth-logo{top:18px;left:max(16px, env(safe-area-inset-left));gap:6px}.auth-logo .wordmark{font-size:clamp(40px,13vw,64px)}.auth-tagline{font-size:14px}}.modal-backdrop{z-index:100;padding:max(16px, env(safe-area-inset-top)) max(16px, env(safe-area-inset-right)) max(16px, env(safe-area-inset-bottom)) max(16px, env(safe-area-inset-left));-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);perspective:1200px;background:#04070ca8;place-items:center;display:grid;position:fixed;inset:0}.modal{background:var(--surface-2);width:100%;max-height:calc(100dvh - 32px);box-shadow:0 40px 80px -20px #000000b3, 0 0 0 1px var(--line-strong);transform-origin:50% 0;padding:22px;overflow:auto}.modal-head{justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;display:flex}.modal-head h2{font-size:20px}.settings{flex-direction:column;gap:20px;display:flex}.settings section{flex-direction:column;gap:10px;display:flex}.theme-grid{grid-template-columns:repeat(4,1fr);gap:8px;display:grid}.theme-swatch{border:1px solid var(--line);background:var(--bg-2);cursor:pointer;color:var(--text-dim);border-radius:12px;flex-direction:column;align-items:center;gap:6px;padding:8px;font-size:12px;font-weight:600;display:flex}.theme-swatch.active{border-color:rgb(var(--accent-rgb) / .6);color:var(--text)}.swatch-board{aspect-ratio:1;border-radius:6px;width:100%}.settings-toggles{gap:12px!important}.volume-row{justify-content:space-between;align-items:center;gap:12px;font-size:14px;font-weight:600;display:flex}.volume-row input{max-width:240px;accent-color:var(--accent);flex:1}.settings-account .btn{flex:1}.board{aspect-ratio:1;perspective:1400px;-webkit-user-select:none;user-select:none;touch-action:none;width:100%;position:relative}.board-inner{border-radius:var(--radius-board);box-shadow:0 0 0 1px var(--line-strong), 0 30px 60px -20px #0009, 0 0 80px -30px var(--accent-glow);transform-origin:50% 60%;cursor:default;position:absolute;inset:0;overflow:hidden}.squares{background:repeating-conic-gradient(var(--sq-dark) 0 25%, var(--sq-light) 0 50%) 0 0 / 25% 25%;position:absolute;inset:0}.squares:after{content:"";pointer-events:none;background:linear-gradient(160deg,#ffffff14,#0000 40%,#0000001f);position:absolute;inset:0}.hl,.dest{pointer-events:none;width:12.5%;height:12.5%;position:absolute}.hl-last{background:rgb(var(--accent-rgb) / .32)}.hl-selected{background:rgb(var(--accent-rgb) / .5)}.hl-hover{box-shadow:inset 0 0 0 4px #ffffffa6}.hl-check{background:radial-gradient(circle,#ff465af2 0%,#ff465a8c 40%,#0000 72%)}.hl-mark.hl-good{background:rgb(var(--good-rgb) / .45)}.hl-mark.hl-bad{background:rgb(var(--bad-rgb) / .45)}.hl-mark.hl-hint{box-shadow:inset 0 0 0 4px rgb(var(--warn-rgb) / .9)}.hl-mark.hl-focus{box-shadow:inset 0 0 0 4px rgb(var(--accent-rgb) / .95);animation:1.4s ease-in-out infinite pulse-focus}.hl-circle{box-shadow:inset 0 0 0 4px rgb(var(--good-rgb) / .85);border-radius:50%}@keyframes pulse-focus{50%{box-shadow:inset 0 0 0 7px rgb(var(--accent-rgb) / .55)}}.dest:after{content:"";background:#0a0f1752;border-radius:50%;position:absolute;inset:36%}.dest.capture:after{background:0 0;border:5px solid #0a0f174d;inset:3%}.coord{font:600 clamp(8px, 1.4vmin, 12px) / 1 var(--font-mono);pointer-events:none;position:absolute}.coord.rank{margin-top:3px;left:3px}.coord.file{margin-left:calc(12.5% - 11px);bottom:3px}.coord.on-light{color:var(--sq-dark)}.coord.on-dark{color:var(--sq-light)}.piece{pointer-events:none;will-change:translate;filter:drop-shadow(0 3px 2px #00000047);z-index:2;background-position:50%;background-repeat:no-repeat;background-size:88%;width:12.5%;height:12.5%;position:absolute;top:0;left:0}.board.animated .piece{transition:translate .22s cubic-bezier(.2,.8,.2,1),opacity .22s,scale .22s}.board.animated .piece.snap,.board .piece.dragging{transition:none}.piece.dragging{z-index:10;filter:drop-shadow(0 12px 10px #00000073);scale:1.18}.piece.leaving{opacity:0;z-index:1;scale:1.25}.arrows{pointer-events:none;z-index:5;width:100%;height:100%;position:absolute;inset:0}.arrow{stroke-width:.16px;stroke-linecap:round;opacity:.85}.arrow.user{stroke:rgb(var(--good-rgb))}.arrow.engine{stroke:rgb(var(--accent-rgb))}.arrow.hint{stroke:rgb(var(--warn-rgb))}.arrow.good{stroke:rgb(var(--good-rgb))}.arrow.bad{stroke:rgb(var(--bad-rgb))}.arrow-head.user,.arrow-head.good{fill:rgb(var(--good-rgb))}.arrow-head.engine{fill:rgb(var(--accent-rgb))}.arrow-head.hint{fill:rgb(var(--warn-rgb))}.arrow-head.bad{fill:rgb(var(--bad-rgb))}.promo-backdrop{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:20;background:#05080e8c;position:absolute;inset:0}.promo{background:var(--surface-2);border:1px solid var(--line-strong);border-radius:10px;flex-direction:column;width:12.5%;display:flex;position:absolute;overflow:hidden;box-shadow:0 20px 40px #00000080}.promo.top{transform-origin:top;top:0}.promo.bottom{transform-origin:bottom;flex-direction:column-reverse;bottom:0}.promo-choice{aspect-ratio:1;cursor:pointer;background:50%/82% no-repeat;border:0;transition:background-color .12s}.promo-choice:hover,.promo-choice:focus-visible{background-color:rgb(var(--accent-rgb) / .25);outline:none}@media (prefers-reduced-motion:reduce){.board.animated .piece{transition:none}}.home{flex-direction:column;gap:28px;display:flex}.hero{grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);align-items:center;gap:24px;min-height:420px;display:grid}.hero-copy{perspective:800px;flex-direction:column;gap:18px;display:flex}.hero-title{letter-spacing:-.02em;text-transform:uppercase;font-size:clamp(48px,7.5vw,96px);font-weight:700;line-height:.92}.hero-title span{color:#0000;-webkit-text-stroke:1.5px var(--accent);text-shadow:0 0 40px rgb(var(--accent-rgb) / .25);display:block}.hero-lede{max-width:52ch;color:var(--text-dim);font-size:16px}.hero-actions{flex-wrap:wrap;gap:10px;display:flex}.hero-stats{border-top:1px solid var(--line);grid-template-columns:repeat(4,minmax(0,auto));justify-content:start;gap:28px;margin:6px 0 0;padding-top:18px;display:grid}.hero-stats dt{font:600 10px/1 var(--font-mono);letter-spacing:.16em;text-transform:uppercase;color:var(--text-faint)}.hero-stats dd{align-items:center;gap:4px;margin:8px 0 0;font-size:22px;font-weight:600;display:flex}.hero-stats small{color:var(--text-faint);margin-right:4px;font-size:12px}.hero-stats .flame{width:18px;height:18px;color:var(--brass)}.hero-visual{height:440px;position:relative}.hero-visual canvas{z-index:1;position:relative}.hero-fallback{height:100%}.hero-ring{border:1px solid rgb(var(--accent-rgb) / .14);box-shadow:inset 0 0 80px rgb(var(--accent-rgb) / .06);border-radius:50%;animation:40s linear infinite ring-spin;position:absolute;inset:12% 10%}.hero-ring:before{content:"";background:var(--accent);width:8px;height:8px;box-shadow:0 0 16px var(--accent);border-radius:50%;position:absolute;top:-4px;left:50%}@keyframes ring-spin{to{rotate:360deg}}.home-grid{perspective:1000px;grid-template-columns:1.3fr 1fr 1fr 1fr;gap:14px;display:grid}.home-card{min-width:0;transition:border-color .2s, transform .3s var(--ease);flex-direction:column;gap:12px;padding:18px;display:flex}.home-card:hover{border-color:var(--line-strong)}.home-card header{justify-content:space-between;align-items:center;gap:8px;min-height:32px;display:flex}.home-card h3{font-size:18px}.home-card p{font-size:14px}.home-card .btn{align-self:flex-start;margin-top:auto}.bot-orbit{grid-template-columns:repeat(5,1fr);gap:8px;display:grid}.bot-dot{cursor:pointer;color:var(--text-faint);transition:border-color .15s, background-color .15s, transform .2s var(--ease);background:0 0;border:1px solid #0000;border-radius:10px;flex-direction:column;align-items:center;gap:5px;padding:6px 0;font-size:11px;display:flex}.bot-dot:hover{color:var(--text);transform:translateY(-2px)}.bot-dot.current{border-color:rgb(var(--accent-rgb) / .35);background:rgb(var(--accent-rgb) / .06);color:var(--accent)}.puzzle-card{cursor:pointer}.puzzle-card:hover{transform:translateY(-3px)}.mini-board{pointer-events:none;align-self:center;width:100%;max-width:220px}.mini-board .board-inner{box-shadow:0 0 0 1px var(--line-strong)}.card-cta{color:var(--text);align-items:center;gap:8px;margin-top:auto;font-weight:600;display:flex}.card-cta svg{width:16px;height:16px;color:var(--accent)}.progress-track{background:var(--bg-2);border-radius:6px;height:6px;overflow:hidden}.progress-track i{background:linear-gradient(90deg, var(--accent), var(--brass));height:100%;transition:width .6s var(--ease);border-radius:6px;display:block}@media (width<=1180px){.home-grid{grid-template-columns:1fr 1fr}}@media (width<=860px){.hero{grid-template-columns:1fr}.hero-visual{order:-1;height:300px;margin:-10px -16px 0}.hero-stats{grid-template-columns:repeat(2,auto);gap:18px 32px}}@media (width<=560px){.home-grid{grid-template-columns:1fr}}.guest-banner{border:1px solid rgb(var(--brass-rgb) / .35);background:rgb(var(--brass-rgb) / .07);color:var(--text-dim);border-radius:12px;flex-wrap:wrap;align-items:center;gap:14px;max-width:60ch;padding:12px 14px;font-size:14px;display:flex}.guest-banner b{color:var(--brass)}.guest-banner span{flex:1;min-width:220px}.setup-layout{grid-template-columns:minmax(0,1fr) 380px;align-items:start;gap:18px;display:grid}.bot-grid{perspective:1000px;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:10px;display:grid}.bot-card{border-radius:var(--radius);border:1px solid var(--line);background:var(--surface);text-align:left;cursor:pointer;grid-template-columns:auto 1fr auto;align-items:center;gap:6px 12px;padding:12px 14px;transition:border-color .16s,background-color .16s,box-shadow .2s;display:grid}.bot-card:hover{border-color:var(--line-strong)}.bot-card.selected{border-color:hsl(var(--hue) 80% 70% / .6);background:linear-gradient(120deg, hsl(var(--hue) 60% 50% / .12), transparent 70%), var(--surface);box-shadow:0 10px 30px -14px hsl(var(--hue) 80% 50% / .6)}.bot-card-text{flex-direction:column;flex:1;min-width:0;display:flex}.bot-card-name{font-weight:700;font-family:var(--font-display);align-items:center;gap:6px;font-size:16px;display:flex}.bot-card-title{color:var(--text-faint);white-space:nowrap;text-overflow:ellipsis;font-size:12px;overflow:hidden}.bot-card-elo{color:var(--brass);font-size:15px;font-weight:600}.bot-card-bio{color:var(--text-dim);grid-column:1/-1;font-size:12.5px;line-height:1.45}.beaten{width:15px;height:15px;color:var(--brass)}.setup-panel{flex-direction:column;gap:18px;padding:20px;display:flex;position:sticky;top:0}.bot-focus{align-items:center;gap:16px;display:flex}.bot-focus h2{font-size:26px}.bot-bio{margin-top:-6px;font-size:14px}.setup-block{flex-direction:column;gap:10px;display:flex}.tc-grid{grid-template-columns:repeat(4,1fr);gap:6px;display:grid}.tc{border:1px solid var(--line);background:var(--bg-2);cursor:pointer;border-radius:10px;flex-direction:column;align-items:center;gap:2px;padding:8px 4px;transition:border-color .15s,background-color .15s;display:flex}.tc span{font-size:14px;font-weight:700}.tc small{color:var(--text-faint);text-transform:uppercase;letter-spacing:.08em;font-size:10px}.tc.active{border-color:rgb(var(--accent-rgb) / .6);background:rgb(var(--accent-rgb) / .1)}.tc.active span{color:var(--accent)}.color-pick{grid-template-columns:repeat(3,1fr);gap:6px;display:grid}.color-pick button{border:1px solid var(--line);background:var(--bg-2);cursor:pointer;color:var(--text-dim);border-radius:10px;flex-direction:column;align-items:center;gap:4px;padding:10px 4px;font-size:12px;font-weight:600;display:flex}.color-pick button.active{border-color:rgb(var(--accent-rgb) / .6);background:rgb(var(--accent-rgb) / .1);color:var(--text)}.color-pick img{width:36px;height:36px}.color-pick>button>img,.half-king{background:radial-gradient(circle,#c9d3df 0 55%,#0000 56%);border-radius:50%}.half-king{width:36px;height:36px;position:relative}.half-king img{position:absolute;inset:0}.half-king img:first-child{clip-path:inset(0 50% 0 0)}.half-king img:last-child{clip-path:inset(0 0 0 50%)}.toggle-row{cursor:pointer;justify-content:space-between;align-items:center;gap:12px;display:flex}.toggle-row span{flex-direction:column;display:flex}.toggle-row b{font-size:14px;font-weight:600}.toggle-row small{color:var(--text-faint);font-size:12px}.small{font-size:12px}.fen-field{flex-direction:column;align-items:flex-start;gap:6px;display:flex}.fen-field .input{font-size:12px}.field-error{color:rgb(var(--bad-rgb));font-size:12px}.setup-narrow{flex-direction:column;gap:18px;max-width:560px;margin:0 auto;padding:24px;display:flex}.local-illu{justify-content:center;align-items:center;gap:24px;padding:10px 0;display:flex}.local-illu img{filter:drop-shadow(0 10px 20px #00000080);width:72px;height:72px}.local-illu span{color:var(--text-faint);letter-spacing:.2em;font-weight:700}.online-main{flex-direction:column;gap:12px;display:flex}.conn-banner{align-items:center;gap:14px;padding:14px 16px;display:flex}.conn-banner>svg{width:22px;height:22px;color:rgb(var(--bad-rgb));flex:none}.conn-banner.ok>svg{color:rgb(var(--good-rgb))}.conn-banner div{flex-direction:column;flex:1;display:flex}.spin{animation:1s linear infinite spin}@keyframes spin{to{rotate:360deg}}.me-card{align-items:center;gap:14px;padding:14px 16px;display:flex}.online-actions{flex-direction:column;gap:14px;padding:18px;display:flex}.online-buttons{flex-direction:column;gap:10px;display:flex}.join-row{gap:8px;display:flex}.join-row .input{letter-spacing:.3em;text-align:center;max-width:160px;font-weight:700}.queue-state{align-items:center;gap:16px;padding:10px 0;display:flex}.queue-state>div:nth-child(2){flex:1}.radar{border:1px solid rgb(var(--accent-rgb) / .4);width:56px;height:56px;color:var(--accent);border-radius:50%;place-items:center;display:grid;position:relative}.radar:before,.radar:after{content:"";border:1px solid rgb(var(--accent-rgb) / .5);border-radius:50%;animation:2s ease-out infinite radar;position:absolute;inset:-1px}.radar:after{animation-delay:1s}@keyframes radar{to{opacity:0;transform:scale(1.9)}}.room-state{flex-direction:column;align-items:flex-start;gap:12px;display:flex}.room-code{letter-spacing:.3em;color:var(--accent);text-shadow:0 0 30px rgb(var(--accent-rgb) / .35);font-size:44px;font-weight:700}.leaderboard{padding:16px}.leaderboard ol{flex-direction:column;gap:2px;margin:0;padding:0;list-style:none;display:flex}.leaderboard li{border-radius:8px;grid-template-columns:28px 1fr auto;align-items:center;gap:8px;padding:7px 8px;font-size:14px;display:grid}.leaderboard li:nth-child(-n+3) .rank{color:var(--brass)}.leaderboard li.me{background:rgb(var(--accent-rgb) / .08)}.leaderboard .rank{color:var(--text-faint);font-size:12px}.lb-name{text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}@media (width<=1000px){.setup-layout{grid-template-columns:1fr}.setup-panel{position:static}}@media (width<=480px){.tc-grid{grid-template-columns:repeat(4,1fr)}.bot-grid{grid-template-columns:1fr}}.calibration{flex-direction:column;grid-column:1/-1;gap:12px;padding:16px 18px;display:flex}.calibration dl{grid-template-columns:repeat(3,1fr);gap:16px;margin:0;display:grid}.calibration dt{color:var(--brass);font-size:13px;font-weight:600}.calibration dd{color:var(--text-dim);margin:4px 0 0;font-size:13px;line-height:1.5}@media (width<=700px){.calibration dl{grid-template-columns:1fr}}.or-sep{color:var(--text-faint);align-items:center;gap:10px;font-size:12px;display:flex}.or-sep:before,.or-sep:after{content:"";background:var(--line);flex:1;height:1px}.field-error svg{vertical-align:-2px;width:14px;height:14px}.how-online{flex-direction:column;gap:12px;padding:18px;display:flex}.how-online ol{color:var(--text-dim);flex-direction:column;gap:8px;margin:0;padding-left:18px;font-size:14px;display:flex}.game-head{align-items:center;gap:8px;display:flex}.game-head .btn:last-of-type{margin-right:auto}.moves-panel{flex-direction:column;flex:1;gap:10px;min-height:0;display:flex}.game-actions{flex-direction:column;gap:8px;display:flex}.view-row{justify-content:space-between}.gameover{text-align:center;perspective:600px;flex-direction:column;align-items:center;gap:6px;display:flex}.gameover-mark{font:700 54px/1 var(--font-display);letter-spacing:.04em;color:var(--text);margin:6px 0 8px}.gameover.win .gameover-mark{color:var(--brass);text-shadow:0 0 40px rgb(var(--brass-rgb) / .4)}.gameover.loss .gameover-mark{color:var(--text-dim)}.gameover h2{font-size:28px}.gameover-rating{margin-top:4px;font-size:22px;font-weight:600}.gameover-rating .up{color:rgb(var(--good-rgb));font-size:15px}.gameover-rating .down{color:rgb(var(--bad-rgb));font-size:15px}.gameover-actions{flex-direction:column;gap:8px;width:100%;margin-top:18px;display:flex}.emote-bar{flex-wrap:wrap;gap:4px;display:flex}.emote-bar button{min-width:38px}.emote-float{z-index:30;pointer-events:none;filter:drop-shadow(0 6px 10px #00000080);font-size:28px;position:absolute}.draw-offer{background:rgb(var(--warn-rgb) / .1);border:1px solid rgb(var(--warn-rgb) / .35);border-radius:10px;align-items:center;gap:10px;padding:10px 12px;display:flex}.draw-offer span{flex:1;font-size:14px;font-weight:600}.conn-warn{color:rgb(var(--warn-rgb));font-size:12px}.strip-wrap{position:relative}.conn-icon{width:15px;height:15px;color:rgb(var(--warn-rgb))}.learn-meter{flex-direction:column;align-items:flex-end;display:flex}.learn-meter span{color:var(--brass);font-size:32px;font-weight:600}.learn-meter small{color:var(--text-faint);font-size:12px}.course-list{perspective:1200px;flex-direction:column;gap:14px;display:flex}.course{transform-origin:top;padding:18px}.course-head{grid-template-columns:auto 1fr auto;align-items:center;gap:16px;margin-bottom:14px;display:grid}.course-head h2{font-size:22px}.course-head p{font-size:14px}.course-glyph{width:54px;height:54px;color:hsl(var(--hue) 90% 82%);background:radial-gradient(circle at 30% 20%, hsl(var(--hue) 70% 50% / .45), transparent 70%), hsl(var(--hue) 30% 14%);box-shadow:inset 0 0 0 1px hsl(var(--hue) 70% 70% / .3);font-size:30px;font-family:"Segoe UI Symbol", "Noto Sans Symbols 2", var(--font-display);border-radius:14px;place-items:center;display:grid}.course-meta{flex-direction:column;align-items:flex-end;gap:6px;font-size:13px;display:flex}.lesson-row{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:8px;display:grid}.lesson-chip{border:1px solid var(--line);background:var(--bg-2);text-align:left;cursor:pointer;transition:border-color .15s, transform .2s var(--ease);border-radius:11px;align-items:center;gap:12px;padding:10px 12px;display:flex}.lesson-chip:hover{border-color:hsl(var(--hue) 70% 70% / .5);transform:translateY(-2px)}.lesson-index{width:26px;color:var(--text-faint);flex:none;place-items:center;font-size:13px;display:grid}.lesson-index svg{width:18px;height:18px;color:rgb(var(--good-rgb))}.lesson-text{flex-direction:column;flex:1;min-width:0;display:flex}.lesson-text b{font-size:14px;font-weight:600}.lesson-text small{color:var(--text-faint);white-space:nowrap;text-overflow:ellipsis;font-size:12px;overflow:hidden}.lesson-chip .chev{width:16px;height:16px;color:var(--text-faint)}.lesson-chip.done{border-color:rgb(var(--good-rgb) / .25)}.lesson-layout{grid-template-columns:minmax(0,1fr) 400px;align-items:start;gap:24px;max-width:1200px;margin:0 auto;display:grid}.lesson-board{width:min(100%,100dvh - 90px);margin:0 auto}.lesson-side{perspective:900px;flex-direction:column;gap:14px;padding:20px;display:flex;position:sticky;top:0}.lesson-side .back{align-self:flex-start;margin-left:-8px}.lesson-title{font-size:30px}.step-dots{gap:6px;display:flex}.step-dots i{background:var(--surface-3);border-radius:4px;flex:1;height:4px;transition:background-color .3s}.step-dots i.done{background:hsl(var(--hue) 70% 60%)}.step-dots i.current{background:var(--accent)}.step-panel{flex-direction:column;align-items:flex-start;gap:12px;display:flex}.step-panel h2{font-size:20px}.step-panel .progress-track{width:100%}.step-text{color:var(--text);max-width:60ch;font-size:16px;line-height:1.6}.feedback{border-radius:10px;padding:9px 12px;font-size:14px;font-weight:600}.feedback.good{color:rgb(var(--good-rgb));background:rgb(var(--good-rgb) / .1)}.feedback.bad{color:rgb(var(--bad-rgb));background:rgb(var(--bad-rgb) / .1)}.feedback.info{color:var(--accent);background:rgb(var(--accent-rgb) / .08)}.step-actions{width:100%;margin-top:4px}.lesson-done{flex-direction:column;align-items:flex-start;gap:10px;display:flex}.done-icon{width:44px;height:44px;color:rgb(var(--good-rgb))}@media (width<=1000px){.lesson-layout{grid-template-columns:1fr}.lesson-side{position:static}.lesson-board{width:min(100%,600px)}}.puzzle-layout{grid-template-columns:minmax(0,1fr) 380px;align-items:start;gap:24px;max-width:1200px;margin:0 auto;display:grid}.puzzle-board{width:min(100%,100dvh - 90px);margin:0 auto}.puzzle-side{perspective:800px;flex-direction:column;gap:16px;padding:20px;display:flex;position:sticky;top:0}.puzzle-top{display:flex}.puzzle-rating{justify-content:space-between;align-items:center;display:flex}.puzzle-rating>div:first-child{flex-direction:column;gap:6px;display:flex}.puzzle-rating b{color:var(--brass);align-items:baseline;gap:8px;font-size:34px;font-weight:600;display:flex}.puzzle-rating .up{color:rgb(var(--good-rgb));font-size:16px}.puzzle-rating .down{color:rgb(var(--bad-rgb));font-size:16px}.streak{background:rgb(var(--brass-rgb) / .08);border:1px solid rgb(var(--brass-rgb) / .25);color:var(--brass);border-radius:10px;align-items:center;gap:6px;padding:8px 12px;font-weight:700;display:flex}.streak svg{width:18px;height:18px}.puzzle-card-info{flex-direction:column;gap:8px;display:flex}.puzzle-card-info h2{font-size:24px}.theme-row{flex-wrap:wrap;gap:6px;display:flex}.puzzle-stats{border-top:1px solid var(--line);grid-template-columns:repeat(3,1fr);gap:8px;padding-top:14px;display:grid}.puzzle-stats div{flex-direction:column;gap:6px;display:flex}.puzzle-stats b{font-size:20px;font-weight:600}.rush-cover{aspect-ratio:1;text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:10px;padding:24px;display:flex}.rush-cover h2{font-size:34px}.rush-icon{width:48px;height:48px;color:var(--accent)}.rush-intro,.rush-over{flex-direction:column;align-items:flex-start;gap:14px;display:flex}.rush-over h2{font-size:30px}.rush-hud{grid-template-columns:1fr auto 1fr;align-items:center;gap:10px;display:grid}.rush-timer{align-items:center;gap:6px;font-size:20px;font-weight:600;display:flex}.rush-timer svg{width:18px;height:18px;color:var(--text-faint)}.rush-timer.low{color:rgb(var(--bad-rgb))}.rush-score{color:var(--accent);text-shadow:0 0 30px rgb(var(--accent-rgb) / .35);font-size:48px;font-weight:700}.rush-lives{justify-content:flex-end;gap:2px;display:flex}.rush-lives svg{width:22px;height:22px;color:var(--surface-3);stroke-width:3px}.rush-lives svg.lost{color:rgb(var(--bad-rgb))}.rush-history{flex-wrap:wrap;gap:4px;display:flex}.rush-history i{border-radius:3px;width:12px;height:12px}.rush-history i.ok{background:rgb(var(--good-rgb))}.rush-history i.ko{background:rgb(var(--bad-rgb))}@media (width<=1000px){.puzzle-layout{grid-template-columns:1fr}.puzzle-side{position:static}.puzzle-board{width:min(100%,600px)}}.profile{flex-direction:column;gap:14px;display:flex}.profile-head{grid-template-columns:auto 1fr auto;align-items:center;gap:20px;padding:22px;display:grid}.profile-id h1{align-items:center;gap:8px;font-size:32px;display:flex}.profile-id p{margin-top:4px;font-size:14px}.name-form{gap:8px;max-width:360px;display:flex}.profile-kpis{grid-template-columns:repeat(4,auto);gap:28px;margin:0;display:grid}.profile-kpis div{flex-direction:column;gap:4px;display:flex}.profile-kpis dt{font:600 10px/1 var(--font-mono);letter-spacing:.16em;text-transform:uppercase;color:var(--text-faint)}.profile-kpis dd{margin:4px 0 0;font-size:26px;font-weight:600}.profile-kpis small{font-size:11px}.profile-grid{grid-template-columns:1fr 1fr;gap:14px;display:grid}.chart-panel{min-width:0;padding:16px}.rating-chart{position:relative}.rating-chart svg{width:100%;height:auto;display:block;overflow:visible}.rc-grid{stroke:var(--line);stroke-width:1px}.rc-tick{fill:var(--text-faint);font:500 10px var(--font-mono)}.rc-line{fill:none;stroke:var(--accent);stroke-width:2px;stroke-linejoin:round}.rc-end{fill:var(--accent);stroke:var(--surface-2);stroke-width:2px}.rc-cross{stroke:var(--line-strong);stroke-width:1px}.rc-dot{fill:var(--brass);stroke:var(--surface-2);stroke-width:2px}.rc-tip{background:var(--surface-3);border:1px solid var(--line-strong);white-space:nowrap;pointer-events:none;border-radius:6px;padding:3px 8px;font-size:12px;position:absolute;top:-6px;translate:-50% -100%}.chart-empty{text-align:center;padding:40px 0}.ladder{padding:16px}.ladder-row{grid-template-columns:repeat(9,1fr);gap:8px;display:grid}.ladder-step{border:1px solid var(--line);background:var(--bg-2);color:var(--text-faint);filter:grayscale(.85);opacity:.7;border-radius:12px;flex-direction:column;align-items:center;gap:6px;padding:10px 0;font-size:11px;display:flex;position:relative}.ladder-step.beaten{filter:none;opacity:1;border-color:rgb(var(--brass-rgb) / .4);color:var(--brass)}.ladder-step .crown{width:18px;height:18px;color:var(--brass);position:absolute;top:-8px;right:-4px}.history{padding:16px}.history-table{flex-direction:column;gap:2px;display:flex}.history-row{text-align:left;cursor:pointer;background:0 0;border:0;border-radius:9px;grid-template-columns:90px minmax(0,1.6fr) minmax(0,1fr) 80px 50px 70px 20px;align-items:center;gap:12px;padding:9px 10px;font-size:14px;display:grid}.history-row:hover{background:var(--surface-3)}.history-row .players{text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.history-row .go{width:16px;height:16px;color:var(--text-faint)}.outcome{text-align:center;background:var(--bg-2);color:var(--text-dim);border-radius:6px;padding:3px 8px;font-size:12px;font-weight:700}.outcome.win{color:rgb(var(--good-rgb));background:rgb(var(--good-rgb) / .1)}.outcome.loss{color:rgb(var(--bad-rgb));background:rgb(var(--bad-rgb) / .1)}.data-panel{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;padding:16px;display:flex}.data-panel h3{margin-bottom:4px;font-size:16px}@media (width<=1000px){.profile-head{grid-template-columns:auto 1fr}.profile-kpis{grid-column:1/-1;grid-template-columns:repeat(2,1fr)}.profile-grid{grid-template-columns:1fr}.ladder-row{grid-template-columns:repeat(5,1fr)}.history-row{grid-template-columns:80px minmax(0,1fr) 60px 20px}.history-row>:nth-child(3),.history-row>:nth-child(4),.history-row>:nth-child(5){display:none}}.account-panel{flex-direction:column;gap:14px;padding:18px;display:flex}.account-head h3{margin-bottom:4px;font-size:17px}.account-head p{max-width:80ch}.account-actions{grid-template-columns:repeat(4,1fr);gap:10px;display:grid}.account-action{border:1px solid var(--line);background:var(--bg-2);text-align:left;cursor:pointer;transition:border-color .15s, transform .2s var(--ease);border-radius:12px;align-items:flex-start;gap:12px;padding:14px;display:flex}.account-action:hover{border-color:rgb(var(--accent-rgb) / .45);transform:translateY(-2px)}.account-action>svg{width:20px;height:20px;color:var(--accent);flex:none;margin-top:1px}.account-action span{flex-direction:column;gap:3px;display:flex}.account-action b{font-size:14px}.account-action small{color:var(--text-faint);font-size:12px;line-height:1.4}.account-action.danger>svg{color:rgb(var(--bad-rgb))}.account-action.danger:hover{border-color:rgb(var(--bad-rgb) / .5)}.logout-actions{flex-direction:column;gap:8px;margin-top:18px;display:flex}@media (width<=1000px){.account-actions{grid-template-columns:1fr 1fr}}@media (width<=520px){.account-actions{grid-template-columns:1fr}}.cloud-card{border:1px dashed var(--line-strong);background:var(--bg-2);border-radius:12px;flex-direction:column;gap:12px;padding:14px;display:flex}.cloud-card.on{border-style:solid;border-color:rgb(var(--good-rgb) / .35)}.cloud-card-head{align-items:center;gap:12px;display:flex}.cloud-card-head>svg{width:22px;height:22px;color:var(--accent);flex:none}.cloud-card.on .cloud-card-head>svg{color:rgb(var(--good-rgb))}.cloud-card-head div{flex-direction:column;gap:2px;display:flex}.cloud-card-head b{font-size:14px}.cloud-card-head small{color:var(--text-faint);font-size:12px}.cloud-avatar{border-radius:50%;flex:none;width:34px;height:34px}.legal-doc{flex-direction:column;gap:28px;max-width:900px;padding:clamp(18px,3vw,32px);display:flex}.legal-doc section{flex-direction:column;gap:10px;display:flex}.legal-doc h2{font-size:20px}.legal-doc p{color:var(--text-dim);max-width:72ch;line-height:1.65}.legal-facts{grid-template-columns:minmax(160px,240px) 1fr;gap:8px 20px;margin:0;font-size:14px;display:grid}.legal-facts dt{color:var(--text-faint)}.legal-facts dd{margin:0;font-weight:600}.legal-table{border-collapse:collapse;width:100%;font-size:13.5px;display:block;overflow-x:auto}.legal-table th,.legal-table td{text-align:left;border-bottom:1px solid var(--line);vertical-align:top;padding:10px 12px}.legal-table th{font:600 11px/1.2 var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--text-faint)}.legal-table td{color:var(--text-dim)}@media (width<=640px){.legal-facts{grid-template-columns:1fr;gap:2px}.legal-facts dd{margin-bottom:10px}}.legal-list{color:var(--text-dim);flex-direction:column;gap:6px;max-width:72ch;margin:0;padding-left:20px;font-size:14.5px;line-height:1.55;display:flex}.legal-list b{color:var(--text)}
