@font-face{font-family:Archivo Variable;font-style:normal;font-display:swap;font-weight:100 900;font-stretch:62% 125%;src:url(/assets/archivo-vietnamese-wdth-normal-rJmnGBSt.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:Archivo Variable;font-style:normal;font-display:swap;font-weight:100 900;font-stretch:62% 125%;src:url(/assets/archivo-latin-ext-wdth-normal-7khWdh9v.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:Archivo Variable;font-style:normal;font-display:swap;font-weight:100 900;font-stretch:62% 125%;src:url(/assets/archivo-latin-wdth-normal-DY7AcnAa.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:#1c2230;--surface:#252c3c;--surface-2:#2d3548;--line:#343d52;--ink:#e8eaf0;--muted:#98a1b3;--brass:var(--accent-d,#d9a441);--on-brass:#1c2230;--shadow:0 1px 2px #0000004d, 0 8px 24px #00000040;--edge:inset 0 0 0 1px #ffffff12;--card:inset 0 1px 0 #ffffff0a, 0 2px 8px #0003;--lift:inset 0 1px 0 #ffffff12, inset 0 -2px 0 #0003, 0 1px 2px #0000004d;--q-brilliant:#22b8b0;--q-great:#5b8def;--q-best:#7fb24a;--q-good:#9db58a;--q-book:#b39771;--q-inaccuracy:#e5b53c;--q-mistake:#e8833a;--q-blunder:#e0484a;--q-miss:#e0484a;--win:#7fb24a;--loss:#e0484a;--radius-s:6px;--radius-m:10px;--radius-l:16px;--font:"Archivo Variable", "Archivo", system-ui, sans-serif;--t-13:.8125rem;--t-16:1rem;--t-20:1.25rem;--t-25:1.5625rem;--t-31:1.9375rem;--t-39:2.4375rem;--t-61:3.8125rem;--anim:.2s;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}@media (prefers-color-scheme:light){:root:not([data-theme=dark]){--bg:#eef0f4;--surface:#fff;--surface-2:#f5f6f9;--line:#d5dae3;--ink:#1c2230;--muted:#5b6578;--brass:var(--accent-l,#906316);--on-brass:#fff;--shadow:0 1px 2px #1c223014, 0 8px 24px #1c223014;--edge:inset 0 0 0 1px var(--line);--card:0 1px 2px #1c22300f, 0 4px 12px #1c22300d;--lift:inset 0 1px 0 #fff9, inset 0 -2px 0 #1c223014, 0 1px 2px #1c223014;--q-inaccuracy:#b98a12;--q-good:#6f8f5a;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}}:root[data-theme=light]{--bg:#eef0f4;--surface:#fff;--surface-2:#f5f6f9;--line:#d5dae3;--ink:#1c2230;--muted:#5b6578;--brass:var(--accent-l,#906316);--on-brass:#fff;--shadow:0 1px 2px #1c223014, 0 8px 24px #1c223014;--edge:inset 0 0 0 1px var(--line);--card:0 1px 2px #1c22300f, 0 4px 12px #1c22300d;--lift:inset 0 1px 0 #fff9, inset 0 -2px 0 #1c223014, 0 1px 2px #1c223014;--q-inaccuracy:#b98a12;--q-good:#6f8f5a;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-reduced-motion:reduce){:root{--anim:0s}}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;font-size:100%}body{background:var(--bg);color:var(--ink);font-family:var(--font);font-size:var(--t-16);font-feature-settings:"tnum" 1;-webkit-font-smoothing:antialiased;margin:0;line-height:1.5}h1,h2,h3{letter-spacing:-.01em;text-wrap:balance;margin:0 0 .5em;font-weight:800;font-stretch:125%;line-height:1.15}h1{font-size:var(--t-39)}h2{font-size:var(--t-20);font-weight:750}h3{font-size:var(--t-16)}p{max-width:68ch;margin:0 0 .75em}a{color:var(--brass)}img{max-width:100%}button,input,select,textarea{font:inherit;color:inherit}:focus-visible{outline:2px solid var(--brass);outline-offset:2px}::selection{background:color-mix(in oklab, var(--brass) 40%, transparent)}.muted{color:var(--muted)}.small{font-size:var(--t-13)}.error{color:var(--q-blunder)}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.skip{z-index:100;background:var(--brass);color:var(--on-brass);border-radius:var(--radius-s);padding:8px 12px;position:absolute;top:-48px;left:8px}.skip:focus{top:8px}.big-num{font-weight:800;font-stretch:125%;font-size:var(--t-31);letter-spacing:-.02em;align-items:center;gap:4px;line-height:1;display:inline-flex}.icon{flex:none}.boot,.page-loading{place-items:center;min-height:60vh;display:grid}.shell{grid-template-columns:208px minmax(0,1fr);min-height:100dvh;display:grid}.shell-bare{grid-template-columns:1fr}.rail{border-right:1px solid var(--line);background:var(--bg);z-index:20;flex-direction:column;gap:4px;height:100dvh;padding:20px 12px;display:flex;position:sticky;top:0}.rail ul{gap:2px;margin:12px 0 0;padding:0;list-style:none;display:grid}.rail a{border-radius:var(--radius-m);color:var(--muted);align-items:center;gap:12px;padding:10px 12px;font-weight:550;text-decoration:none;display:flex}.rail a:hover{color:var(--ink);background:var(--surface)}.rail a.active{color:var(--ink);background:var(--surface);box-shadow:inset 3px 0 0 var(--brass)}.rail a.active .icon{color:var(--brass)}.rail .brand{color:var(--ink);font-weight:800;font-stretch:125%;font-size:var(--t-20);padding:6px 10px}.rail .brand:hover{background:0 0}.rail-settings{margin-top:auto}.main{min-width:0}.page{max-width:1240px;padding:36px 40px 64px}.page-cols{grid-template-columns:minmax(0,1fr);align-items:start;gap:40px;display:grid}@media (width>=1180px){.page-cols{grid-template-columns:minmax(0,1fr) 340px;gap:48px}.play-aside{position:sticky;top:24px}}.page-aside{gap:16px;min-width:0;display:grid}.page-aside>section,.page-main>section,.page-aside>section:first-child,.page-main>section:first-child{margin-top:28px}.unit-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:12px;display:flex}.unit-head .muted{align-items:center;gap:4px;display:inline-flex}.page section{margin-top:36px}.page>h1+p,.side-head+p{margin-top:-4px}.side-head{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:12px;display:flex}.side-head h1{font-size:var(--t-25);margin:0}.page>.side-head h1{font-size:var(--t-39)}.side-head .muted.small{margin-left:auto}.back{width:36px;height:36px;color:var(--muted);border-radius:50%;flex:none;place-items:center;display:inline-grid}.back:hover{color:var(--ink);background:var(--surface)}.row,.actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.actions{margin:14px 0}.btn{border:1px solid var(--line);border-radius:var(--radius-m);background:var(--surface);min-height:44px;color:var(--ink);cursor:pointer;transition:background var(--anim), border-color var(--anim), transform 80ms;white-space:nowrap;justify-content:center;align-items:center;gap:8px;padding:0 18px;font-weight:600;text-decoration:none;display:inline-flex}.btn:hover:not(:disabled){border-color:color-mix(in oklab, var(--ink) 30%, var(--line))}.btn:active:not(:disabled){transform:translateY(1px)}.btn:disabled{opacity:.45;cursor:not-allowed}.btn.on,.btn[aria-pressed=true]{border-color:var(--brass);color:var(--brass)}.btn-primary{background:var(--brass);border-color:var(--brass);color:var(--on-brass)}.btn-primary.on,.btn-primary[aria-pressed=true]{color:var(--on-brass)}.btn-ghost{color:var(--muted);background:0 0;border-color:#0000}.btn-ghost:hover:not(:disabled){color:var(--ink);border-color:var(--line)}.btn-danger{border-color:color-mix(in oklab, var(--q-blunder) 60%, transparent);color:var(--q-blunder);background:0 0}.btn-small{min-height:36px;font-size:var(--t-13);padding:0 12px}.btn-big{min-height:54px;font-size:var(--t-20);padding:0 28px;font-stretch:112%}.btn-icon{width:44px;padding:0}.btn-link{color:var(--brass);cursor:pointer;background:0 0;border:0;padding:4px 0;font-weight:600}.chips{flex-wrap:wrap;gap:8px;margin:8px 0;display:flex}.chip{border:1px solid var(--line);min-height:40px;color:var(--ink);cursor:pointer;background:0 0;border-radius:999px;align-items:center;padding:0 14px;font-weight:550;text-decoration:none;display:inline-flex}.chip:hover{border-color:color-mix(in oklab, var(--ink) 35%, var(--line))}.chip.on{background:var(--brass);border-color:var(--brass);color:var(--on-brass)}.chip-hot{border-color:color-mix(in oklab, var(--q-mistake) 70%, transparent);color:var(--q-mistake)}.small-chips .chip{min-height:34px;font-size:var(--t-13);padding:0 11px}.tag{background:var(--surface-2);border:1px solid var(--line);color:var(--muted);font-size:var(--t-13);border-radius:999px;align-items:center;padding:2px 9px;font-weight:550;text-decoration:none;display:inline-flex}a.tag:hover{color:var(--ink)}.themes{flex-wrap:wrap;gap:6px;display:flex}.field{gap:6px;margin:10px 0;display:grid}.field>span{font-weight:600;font-size:var(--t-13);color:var(--muted)}.field input,textarea{border:1px solid var(--line);border-radius:var(--radius-m);background:var(--surface);width:100%;min-height:44px;padding:10px 12px}.field-inline{grid-template-columns:auto 1fr;align-items:center;gap:12px}input[type=range]{accent-color:var(--brass);background:0 0;border:0;width:100%;min-height:0;padding:0}input[type=checkbox]{accent-color:var(--brass);width:20px;height:20px}details.advanced{border-top:1px solid var(--line);margin:16px 0;padding-top:10px}details>summary{cursor:pointer;min-height:36px;color:var(--muted);align-items:center;font-weight:600;display:flex}details>summary:hover{color:var(--ink)}.notice{border:1px solid color-mix(in oklab, var(--brass) 45%, var(--line));background:color-mix(in oklab, var(--brass) 8%, var(--surface));border-radius:var(--radius-m);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin:12px 0;padding:12px 16px;display:flex}.empty{border:1px dashed var(--line);border-radius:var(--radius-l);margin:20px 0;padding:28px}.empty h3{font-size:var(--t-20)}.spinner{color:var(--muted);align-items:center;gap:10px;display:inline-flex}.spinner-dot{border:2px solid var(--line);border-top-color:var(--brass);border-radius:50%;width:16px;height:16px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.bar{background:var(--line);border-radius:99px;height:6px;margin:8px 0;overflow:hidden}.bar>span{background:var(--brass);height:100%;transition:width .3s;display:block}.toast{background:var(--ink);color:var(--bg);border-radius:var(--radius-m);z-index:50;padding:10px 18px;font-weight:600;animation:2.6s forwards toast;position:fixed;bottom:28px;left:50%;transform:translate(-50%)}@keyframes toast{0%{opacity:0;transform:translate(-50%,8px)}8%,85%{opacity:1;transform:translate(-50%)}to{opacity:0}}.mark{vertical-align:middle;align-items:center;gap:8px;display:inline-flex}.mark-glyph{color:var(--q);place-items:center;font-weight:800;font-stretch:125%;line-height:1;display:inline-grid}.mark-s .mark-glyph,.mark-m .mark-glyph{background:var(--q);color:#141821;min-width:26px;height:22px;font-size:var(--t-13);border-radius:6px;padding:0 5px}.mark-m .mark-glyph{min-width:32px;height:28px;font-size:var(--t-16)}.mark-l .mark-glyph{font-size:var(--t-39);letter-spacing:-.04em}.mark-xl .mark-glyph{font-size:var(--t-61);letter-spacing:-.05em}.mark-label{font-weight:650}.game-layout{--side:380px;--bsz:min(calc(100dvh - 48px), calc(100vw - 208px - var(--side) - 96px));grid-template-columns:var(--bsz) var(--side);justify-content:center;align-items:start;gap:28px;padding:24px 28px;display:grid}.game-layout:has(.player){--bsz:min(calc(100dvh - 160px), calc(100vw - 208px - var(--side) - 96px))}.game-layout.review{--bsz:min(calc(100dvh - 230px), calc(100vw - 208px - var(--side) - 96px))}.game-layout:has(.with-eval){--bsz:min(calc(100dvh - 110px), calc(100vw - 208px - var(--side) - 128px))}.board-col{gap:10px;min-width:0;display:grid;position:relative}.board-row{align-items:stretch;gap:8px;display:flex}.board-row .board-wrap{flex:1}.with-eval{grid-template-columns:auto 1fr;column-gap:8px}.with-eval>.evalbar{grid-area:1/1}.with-eval>.board-wrap,.with-eval>.stepper{grid-column:2}.with-eval>.board-wrap{grid-row:1}.board-wrap{aspect-ratio:1;width:100%;box-shadow:var(--shadow);border-radius:4px;position:relative;container-type:inline-size}.board-wrap .board{width:100%;height:100%}.board-wrap .cg-wrap{border-radius:4px;overflow:visible}.board-wrap:has(cg-board){box-shadow:none}.board-wrap cg-board{box-shadow:var(--shadow);border-radius:4px}.board-empty{background:var(--surface);color:var(--muted);place-items:center;display:grid}.board-wrap.coords-outside{width:calc(100% - 18px);margin:0 0 18px 18px}cg-board square.last-move{background:#9bc70069}cg-board square.selected{background:#14551e80}cg-board square.move-dest{cursor:pointer;background:radial-gradient(#14551e80 19%,#0000 20%)}cg-board square.move-dest:hover{background:#14551e4d}cg-board square.oc.move-dest{background:radial-gradient(#0000 0 79%,#14551e4d 80%)}cg-board square.check{background:radial-gradient(red 0%,#e70000 25%,#a9000000 89%,#9e000000 100%)}.cg-wrap piece.dragging{filter:drop-shadow(0 6px 8px #00000059)}.board-wrap .cg-wrap coords{font-family:var(--font);opacity:1;text-transform:lowercase;font-size:clamp(8px,2.1cqw,13px);font-weight:700}.coords-inside .cg-wrap coords.ranks{width:auto;height:100%;top:2px;left:3px}.coords-inside .cg-wrap coords.ranks coord{transform:none}.board-wrap .cg-wrap coords.files{text-transform:lowercase}.coords-inside .cg-wrap coords.files{text-align:right;height:auto;bottom:2px;left:0}.coords-inside .cg-wrap coords.files coord{padding-right:4px}.board-wrap .cg-wrap coords coord:nth-child(odd){color:var(--sq-light)}.board-wrap .cg-wrap coords coord:nth-child(2n),.board-wrap .cg-wrap coords.black coord:nth-child(odd){color:var(--sq-dark)}.board-wrap .cg-wrap coords.black coord:nth-child(2n){color:var(--sq-light)}.coords-outside .cg-wrap coords coord{color:var(--muted)!important}.coords-outside .cg-wrap coords.ranks{width:12px;top:0;left:-16px}.coords-outside .cg-wrap coords.ranks coord{transform:translateY(40%)}.coords-outside .cg-wrap coords.files{bottom:-20px;left:0}.board-glyph{z-index:12;color:#141821;letter-spacing:-.04em;pointer-events:none;border-radius:50%;place-items:center;width:5.4cqw;min-width:20px;height:5.4cqw;min-height:20px;font-size:max(11px,2.5cqw);font-weight:800;font-stretch:125%;animation:.26s cubic-bezier(.3,1.6,.6,1) pop;display:grid;position:absolute;transform:translate(-62%,-38%);box-shadow:0 2px 6px #00000059}@keyframes pop{0%{opacity:0;transform:translate(-62%,-38%)scale(.3)}}.promo{z-index:20;background:#0a0c1299;border-radius:4px;flex-wrap:wrap;place-content:center;gap:10px;display:flex;position:absolute;inset:0}.promo button{aspect-ratio:1;background:var(--surface);cursor:pointer;width:21%;box-shadow:var(--shadow);border:0;border-radius:50%}.promo button:hover{background:var(--brass)}.promo .promo-cancel{aspect-ratio:auto;border-radius:var(--radius-m);flex-basis:100%;width:auto;max-width:120px;padding:10px;font-weight:600}.shake{animation:.36s shake}@keyframes shake{20%,60%{transform:translate(-6px)}40%,80%{transform:translate(6px)}}.stepper{justify-content:center;gap:6px;display:flex}.evalbar{height:var(---cg-height,auto);width:20px;box-shadow:var(--shadow);background:#2b2b2b;border-radius:4px;flex-direction:column-reverse;align-self:start;display:flex;position:relative;overflow:hidden}.evalbar.flipped{flex-direction:column}.evalbar-white{background:#f2f2f2;transition:height .4s}.evalbar-num{text-align:center;color:#333;font-size:9px;font-weight:800;position:absolute;bottom:4px;left:0;right:0}.evalbar-num.on-black{color:#ddd;top:4px;bottom:auto}.evalbar.flipped .evalbar-num.on-white{top:4px;bottom:auto}.evalbar.flipped .evalbar-num.on-black{top:auto;bottom:4px}.evalgraph{border-radius:var(--radius-s);cursor:crosshair;width:100%;height:80px;display:block}.evalgraph-bg{fill:#2b303b}.evalgraph-area{fill:#d6d9e0}.evalgraph-mid{stroke:var(--brass);stroke-width:1px;opacity:.5}.evalgraph-cursor{stroke:var(--brass);stroke-width:2px;vector-effect:non-scaling-stroke}.evalgraph-dot{stroke:#1c2230;stroke-width:1.5px;vector-effect:non-scaling-stroke}.movetimes{cursor:crosshair;border-radius:var(--radius-s);background:var(--surface);width:100%;height:64px;display:block}.mt-mine{fill:var(--muted)}.mt-opp{fill:var(--line)}.time-use{margin-top:20px}.time-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:4px 12px;margin-bottom:8px;display:flex}.time-head h2{font-size:var(--t-16);margin:0}.time-notes{gap:6px;max-width:68ch;margin:10px 0 0;padding-left:18px;display:grid}.side{flex-direction:column;gap:12px;min-width:0;max-height:calc(100dvh - 48px);padding:2px 4px 2px 2px;display:flex;position:sticky;top:24px;overflow-y:auto}.side>*{margin-top:0;margin-bottom:0}.side .actions{margin:0}.coach{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-l);padding:16px 18px}.coach p:last-child{margin-bottom:0}.coach h2{font-size:var(--t-20)}.coach .actions{margin:12px 0 0}.coach-move{border-left:4px solid var(--q)}.coach-head{align-items:center;gap:12px;margin-bottom:8px;display:flex}.coach-head strong{font-size:var(--t-20);line-height:1.2}.state-wrong{border-color:color-mix(in oklab, var(--q-blunder) 60%, var(--line))}.state-solved,.state-won,.state-drawn{border-color:color-mix(in oklab, var(--q-best) 60%, var(--line))}.state-slip,.state-failed{border-color:color-mix(in oklab, var(--q-mistake) 60%, var(--line))}.status{font-weight:650;font-size:var(--t-20);align-items:center;gap:10px;min-height:32px;display:flex}.opening-name{color:var(--muted);margin:-4px 0 0;font-weight:600}.movelist{border:1px solid var(--line);border-radius:var(--radius-m);background:var(--surface);grid-template-columns:1fr;min-height:80px;max-height:260px;margin:0;padding:4px;list-style:none;display:grid;overflow-y:auto}.movelist li{grid-template-columns:34px 1fr 1fr;align-items:center;display:grid}.movelist li:nth-child(2n){background:color-mix(in oklab, var(--surface-2) 70%, transparent)}.mv-n{color:var(--muted);font-size:var(--t-13);text-align:right;padding-right:8px}.mv{border-radius:var(--radius-s);text-align:left;cursor:pointer;background:0 0;border:0;justify-content:space-between;align-items:center;gap:4px;min-height:32px;padding:0 8px;font-weight:550;display:flex}.mv:hover{background:var(--surface-2)}.mv.active{background:var(--brass);color:var(--on-brass)}.mv-q{color:var(--q);font-weight:800;font-stretch:125%;font-size:var(--t-13)}.mv.active .mv-q{color:var(--on-brass)}.player{align-items:center;gap:10px;min-height:44px;display:flex}.player-name{flex:1;align-items:baseline;gap:8px;min-width:0;display:flex}.player-name span{color:var(--muted);font-size:var(--t-13)}.avatar img{width:74%;height:74%}.avatar{border-radius:50%;flex:none;place-items:center;font-family:Segoe UI Symbol,"Noto Sans Symbols 2",DejaVu Sans,sans-serif;line-height:1;display:inline-grid}.avatar-you{background:var(--surface-2);border:1px solid var(--line);width:36px;height:36px;font-family:var(--font);font-weight:800;font-size:var(--t-16)}.clock{font-weight:800;font-stretch:125%;font-size:var(--t-25);border-radius:var(--radius-s);background:var(--surface);color:var(--muted);text-align:right;min-width:96px;padding:2px 12px}.clock.running{background:var(--ink);color:var(--bg)}.clock.low.running{background:var(--q-blunder);color:#fff}.thinking{gap:4px;display:inline-flex}.thinking i{background:var(--muted);border-radius:50%;width:6px;height:6px;animation:1.2s infinite blink}.thinking i:nth-child(2){animation-delay:.2s}.thinking i:nth-child(3){animation-delay:.4s}@keyframes blink{0%,80%,to{opacity:.25}40%{opacity:1}}.result-card{background:var(--surface);border:1px solid var(--brass);border-radius:var(--radius-l);padding:20px;animation:.24s ease-out rise}.result-card h2{font-size:var(--t-31)}@keyframes rise{0%{opacity:0;transform:translateY(8px)}}.rating-change{align-items:baseline;gap:10px;display:flex}.up{color:var(--win);font-weight:700}.down{color:var(--loss);font-weight:700}.today-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;display:flex}.today-head h1{margin:0}.today-stats{color:var(--muted);align-items:center;gap:18px;font-weight:600;display:flex}.streak{align-items:center;gap:4px;display:inline-flex}.streak.lit{color:var(--q-mistake)}.goal{align-items:center;gap:8px;display:inline-flex}.goal-ring{--p:0;background:conic-gradient(var(--brass) calc(var(--p) * 360deg), var(--line) 0);border-radius:50%;width:28px;height:28px;-webkit-mask:radial-gradient(circle,#0000 52%,#000 54%);mask:radial-gradient(circle,#0000 52%,#000 54%)}.hero{border-radius:var(--radius-l);background:var(--surface);border:1px solid var(--line);grid-template-columns:auto 1fr;align-items:center;gap:28px;margin-top:28px;padding:24px;display:grid}.hero-board{box-shadow:var(--shadow);border-radius:4px;display:block;position:relative}.hero-board .mark{text-shadow:0 2px 10px #00000059;position:absolute;top:-26px;right:-18px}.hero-text h2{font-size:var(--t-31)}.hero-bot .avatar{width:120px!important;height:120px!important;font-size:70px!important}.plan ol{border-top:1px solid var(--line);margin:0;padding:0;list-style:none}.plan li a{border-bottom:1px solid var(--line);color:var(--ink);grid-template-columns:40px 1fr auto;align-items:center;gap:14px;padding:14px 4px;text-decoration:none;display:grid}.plan li a:hover{background:var(--surface)}.plan-n{border:1.5px solid var(--line);border-radius:50%;place-items:center;width:34px;height:34px;font-weight:800;font-stretch:125%;display:grid}.plan li.done .plan-n{background:var(--q-best);border-color:var(--q-best);color:#141821}.plan li.done strong{text-decoration:line-through;-webkit-text-decoration-color:var(--muted);text-decoration-color:var(--muted);color:var(--muted)}.plan-body{display:grid}.plan-body span{color:var(--muted);font-size:var(--t-13)}.plan li a>.icon{color:var(--muted)}.today-ratings,.stat-tiles{flex-wrap:wrap;gap:36px;margin:32px 0 0;padding:0;list-style:none;display:flex}.today-ratings>*,.stat-tiles li{color:var(--ink);gap:4px;text-decoration:none;display:grid}.today-ratings a:hover .big-num{color:var(--brass)}.today-ratings span:not(.big-num),.stat-tiles span:not(.big-num){color:var(--muted);font-size:var(--t-13)}.welcome{flex-direction:column;max-width:640px;min-height:100dvh;margin:0 auto;padding:48px 20px;display:flex}.welcome-brand{font-weight:800;font-stretch:125%;font-size:var(--t-20);align-items:center;gap:10px;margin-bottom:48px;display:flex}.welcome-step h1{font-size:var(--t-61);letter-spacing:-.03em}.welcome-step .row{margin-top:28px}.choices{gap:8px;margin:20px 0;display:grid}.choices-row{grid-template-columns:repeat(auto-fit,minmax(110px,1fr))}.choice{text-align:left;border:1px solid var(--line);border-radius:var(--radius-m);background:var(--surface);cursor:pointer;align-items:center;gap:10px;min-height:56px;padding:12px 16px;display:flex}.choice.on{border-color:var(--brass);box-shadow:inset 0 0 0 1px var(--brass)}.choices-row .choice{flex-direction:column;justify-content:center;gap:2px}.welcome-dots{gap:8px;margin:auto 0 0;padding:40px 0 0;list-style:none;display:flex}.welcome-dots li{background:var(--line);border-radius:9px;width:28px;height:4px}.welcome-dots li.on{background:var(--brass)}.look-preview{margin:16px 0}.swatches{flex-wrap:wrap;gap:8px;margin:12px 0;display:flex}.swatch{border-radius:var(--radius-s);outline:1px solid var(--line);cursor:pointer;background-size:cover;border:2px solid #0000;width:48px;height:48px;padding:0}.swatch.on{border-color:var(--bg);outline:3px solid var(--brass)}.swatch-piece{background:var(--surface);place-items:center;display:grid}.swatch-piece img{width:40px;height:40px}.bots{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:8px;display:grid}.bot{text-align:left;border:1px solid var(--line);border-radius:var(--radius-m);background:var(--surface);cursor:pointer;align-items:center;gap:12px;padding:12px;display:flex}.bot.on{border-color:var(--brass);box-shadow:inset 0 0 0 1px var(--brass)}.bot-text{gap:2px;min-width:0;display:grid}.bot-text>span{color:var(--muted);font-size:var(--t-13);line-height:1.35}.bot-elo{color:var(--muted);margin-left:4px;font-weight:600}.modes{grid-template-columns:1fr 1fr;gap:8px;display:grid}.mode{text-align:left;border:1px solid var(--line);border-radius:var(--radius-m);background:var(--surface);cursor:pointer;align-items:flex-start;gap:12px;padding:14px;display:flex}.mode>span{gap:2px;display:grid}.mode>span>span{color:var(--muted);font-size:var(--t-13)}.mode.on{border-color:var(--brass);box-shadow:inset 0 0 0 1px var(--brass)}.mode.on .icon{color:var(--brass)}.play-start{flex-wrap:wrap;align-items:center;gap:14px;margin-top:32px;display:flex}.review-head{align-items:center;gap:8px;min-height:40px;display:flex}.review-head>span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.self-move{justify-items:start;gap:10px;display:grid}.self-move p{margin:0}.reveal{gap:6px;display:grid}.reveal .btn{width:100%}.report-top{grid-template-columns:auto auto 1fr;align-items:center;gap:18px;display:grid}.acc{gap:2px;display:grid}.acc>span:last-child{font-size:var(--t-13);color:var(--muted)}.acc .big-num{font-size:var(--t-39)}.acc-opp .big-num{color:var(--muted);font-size:var(--t-25)}.spotted p{font-size:var(--t-13);margin:0;line-height:1.35}.counts{flex-wrap:wrap;gap:6px 14px;margin:0;padding:0;list-style:none;display:flex}.counts li{font-size:var(--t-13);align-items:center;gap:6px;display:flex}.moments{gap:2px;margin:0;padding:0;list-style:none;display:grid}.moments button{border-radius:var(--radius-s);cursor:pointer;text-align:left;background:0 0;border:0;align-items:center;gap:10px;width:100%;min-height:40px;padding:4px 6px;display:flex}.moments button:hover{background:var(--surface-2)}.retry{border-radius:var(--radius-m);background:var(--surface-2);margin-top:8px;padding:10px 12px}.retry p{margin:0 0 6px}.retry-right{box-shadow:inset 3px 0 0 var(--q-best)}.retry-wrong{box-shadow:inset 3px 0 0 var(--q-blunder)}.retry-close{box-shadow:inset 3px 0 0 var(--q-inaccuracy)}.line{margin-top:8px}.line-moves{word-spacing:2px;font-weight:550;line-height:1.6}.games{border-top:1px solid var(--line);margin:20px 0 0;padding:0;list-style:none}.games a{border-bottom:1px solid var(--line);color:var(--ink);grid-template-columns:auto 1fr auto;align-items:center;gap:16px;padding:12px 4px;text-decoration:none;display:grid}.games a:hover{background:var(--surface)}.game-text{gap:2px;min-width:0;display:grid}.game-text>span:not(.muted){color:var(--muted);font-size:var(--t-13)}.game-review{text-align:right;justify-items:end;gap:2px;display:grid}.outcome{font-stretch:125%}.outcome.won{color:var(--win)}.outcome.lost{color:var(--loss)}.outcome.draw{color:var(--muted)}.miniboard{border-radius:3px;flex:none;grid-template-rows:repeat(8,1fr);grid-template-columns:repeat(8,1fr);display:grid;overflow:hidden}.mb-sq{position:relative}.mb-sq.l{background:var(--sq-light)}.mb-sq.d{background:var(--sq-dark)}.mb-sq.hl:after{content:"";background:color-mix(in srgb, var(--brass) 42%, transparent);position:absolute;inset:0}.mb-sq img{z-index:1;width:100%;height:100%;position:absolute;inset:0}.modes-grid{border-top:1px solid var(--line);margin:20px 0 0;padding:0;list-style:none}.mode-card{border-bottom:1px solid var(--line);color:var(--ink);grid-template-rows:auto auto;grid-template-columns:44px 1fr auto;align-items:center;column-gap:14px;padding:16px 4px;text-decoration:none;display:grid}.mode-card:hover{background:var(--surface)}.mode-card .icon{color:var(--brass);grid-row:1/3;justify-self:center}.mode-card strong{font-size:var(--t-20);font-stretch:112%}.mode-card>span:not(.mode-stat){color:var(--muted);font-size:var(--t-13);grid-column:2}.mode-stat{color:var(--muted);font-weight:650;font-size:var(--t-13);text-align:right;grid-area:1/3/3}.mode-card.hot .mode-stat{color:var(--q-mistake)}.theme-chips .chip{min-height:34px;font-size:var(--t-13)}.theme-all{margin-top:8px}.theme-all>summary{color:var(--brass)}.theme-group h3{color:var(--muted);font-size:var(--t-13);margin:14px 0 0}.rating-line{color:var(--muted);align-items:baseline;gap:10px;display:flex}.rating-line .big-num{color:var(--ink);font-size:var(--t-39)}.delta{font-weight:750}.delta.up{color:var(--win)}.delta.down{color:var(--loss)}.set-progress{gap:4px;display:flex}.set-progress span{background:var(--line);border-radius:9px;flex:1;height:6px}.set-progress span.done{background:var(--brass)}.set-progress span.miss{background:var(--q-mistake)}.set-progress span.now{background:color-mix(in oklab, var(--brass) 45%, var(--line))}.pz-intro{margin:0}.pz-history{border-top:1px solid var(--line);gap:10px;padding-top:14px;display:grid}.pz-stats{flex-wrap:wrap;gap:8px 22px;margin:0;display:flex}.pz-stats dt{color:var(--muted);font-size:var(--t-13)}.pz-stats dd{font-size:var(--t-20);font-variant-numeric:tabular-nums;margin:0;font-weight:750}.pz-strip-title{color:var(--muted);font-size:var(--t-13);margin:4px 0 0;font-weight:700}.pz-strip{flex-wrap:wrap;gap:4px;margin:0;padding:0;list-style:none;display:flex}.pz-strip li{border-radius:var(--radius-s);min-width:42px;font-size:var(--t-13);font-variant-numeric:tabular-nums;text-align:center;color:var(--ink);padding:3px 6px;font-weight:700}.pz-strip li.ok{background:color-mix(in oklab, var(--win) 30%, transparent)}.pz-strip li.miss{background:color-mix(in oklab, var(--loss) 26%, transparent)}.streak-note{color:var(--q-mistake);align-items:center;gap:6px;font-weight:700;display:flex}.sprint-cover{color:var(--brass)}.sprint-hud{flex-wrap:wrap;align-items:center;gap:18px;display:flex}.sprint-hud .big-num{font-size:var(--t-61)}.sprint-clock{font-weight:800;font-stretch:125%;font-size:var(--t-31);border-radius:var(--radius-m);background:var(--ink);color:var(--bg);padding:4px 14px}.sprint-clock.low{background:var(--q-blunder);color:#fff}.strikes{gap:4px;display:flex}.strikes span{border:1.5px solid var(--line);width:30px;height:30px;color:var(--line);border-radius:50%;place-items:center;display:grid}.strikes span.hit{background:var(--q-blunder);border-color:var(--q-blunder);color:#fff}.combo{color:var(--q-mistake);font-weight:750}.sprint-log{flex-wrap:wrap;gap:4px;margin:10px 0 14px;padding:0;list-style:none;display:flex}.sprint-log a{font-size:var(--t-13);color:#141821;border-radius:5px;padding:2px 7px;font-weight:650;text-decoration:none;display:inline-block}.sprint-log .ok a{background:var(--q-best)}.sprint-log .miss a{background:var(--q-blunder);color:#fff}.rep-list{border-top:1px solid var(--line);margin:20px 0;padding:0;list-style:none}.rep-list a{border-bottom:1px solid var(--line);color:var(--ink);align-items:center;gap:14px;padding:14px 4px;text-decoration:none;display:flex}.rep-list a:hover{background:var(--surface)}.rep-list a>span:last-child{display:grid}.rep-color{border:1.5px solid var(--muted);border-radius:50%;flex:none;width:22px;height:22px}.rep-color.white{background:#f2f2f2}.rep-color.black{background:#222}.from-games{margin:28px 0 8px}.from-games h2,.rep-head{margin-bottom:4px}.rep-head{margin-top:32px}.og-list{border-top:1px solid var(--line);gap:0;margin:16px 0 0;padding:0;list-style:none;display:grid}.og-row{border-bottom:1px solid var(--line);grid-template-columns:112px 1fr;align-items:start;gap:18px;padding:16px 0;display:grid}.og-row>.rep-color{justify-self:center;margin-top:4px}.og-body{gap:4px;min-width:0;display:grid}.og-body p{max-width:60ch;margin:6px 0 0}.og-actions{flex-wrap:wrap;align-items:center;gap:8px 16px;margin-top:10px;display:flex}@media (width<=520px){.og-row{grid-template-columns:88px 1fr;gap:14px}.og-row .miniboard{width:88px!important;height:88px!important}}.new-rep{border:1px solid var(--line);border-radius:var(--radius-l);max-width:480px;margin-top:32px;padding:20px}.human-moves{gap:4px;margin:10px 0 0;padding:0;list-style:none;display:grid}.human-moves button{border-radius:var(--radius-s);background:var(--surface-2);cursor:pointer;text-align:left;border:1px solid #0000;grid-template-columns:64px 1fr 44px;align-items:center;gap:8px;width:100%;min-height:36px;padding:0 8px;display:grid;position:relative}.human-moves button:hover{border-color:var(--line)}.human-moves button.in-rep{border-color:var(--q-best)}.hm-san{font-weight:700}.hm-bar{background:var(--brass);border-radius:9px;justify-self:start;height:6px}.hm-p{text-align:right;color:var(--muted);font-size:var(--t-13)}.opening-search,.rep-lines{gap:2px;margin:8px 0;padding:0;list-style:none;display:grid}.opening-search button,.rep-lines button{text-align:left;border-radius:var(--radius-s);cursor:pointer;background:0 0;border:0;width:100%;padding:8px;line-height:1.4;display:block}.opening-search button:hover,.rep-lines button:hover{background:var(--surface-2)}.opening-search .muted{display:block}.rep-lines button{font-size:var(--t-13)}.lesson{color:var(--ink);gap:4px;text-decoration:none;display:grid}.lesson .miniboard{aspect-ratio:1;box-shadow:var(--shadow);margin-bottom:6px;transition:transform .15s;width:100%!important;height:auto!important}.lesson:hover .miniboard{transform:translateY(-2px)}.lesson.done strong:after{content:" ✓";color:var(--q-best)}.vision-wrap{overflow:hidden}.vision-board{touch-action:manipulation;border-radius:4px;grid-template-rows:repeat(8,1fr);grid-template-columns:repeat(8,1fr);width:100%;height:100%;display:grid;overflow:hidden}.vb-sq{cursor:pointer;border:0;padding:0;transition:background .12s}.vb-sq.l{background:var(--sq-light)}.vb-sq.d{background:var(--sq-dark)}.vb-sq.ok{background:var(--q-best)}.vb-sq.bad{background:var(--q-blunder)}.vision-target{pointer-events:none;place-items:center;display:grid;position:absolute;inset:0}.vt-now{color:#fff;text-shadow:0 4px 30px #0000008c,0 0 2px #0009;font-size:22cqw;font-weight:800;font-stretch:125%;line-height:1}.vt-next{color:#ffffff8c;text-shadow:0 0 8px #00000080;font-size:7cqw;font-weight:800;font-stretch:125%;position:absolute;bottom:6%}.panel{border:1px solid var(--line);border-radius:var(--radius-m);background:var(--surface);padding:10px 12px}.page .panel{margin-top:0}.toggle{cursor:pointer;align-items:center;gap:10px;min-height:32px;font-weight:650;display:flex}.toggle .muted{margin-left:auto}.pv-lines{gap:4px;margin:6px 0 0;padding:0;list-style:none;display:grid}.pv-lines li{grid-template-columns:54px 1fr;align-items:start;gap:8px;display:grid}.pv-score{padding:2px 0;font-weight:800;font-stretch:112%}.pv-moves{flex-wrap:wrap;gap:0 2px;min-width:0;display:flex}.pv-moves button{cursor:pointer;font-size:var(--t-13);background:0 0;border:0;border-radius:4px;padding:2px 3px}.pv-moves button:hover{background:var(--surface-2)}.side textarea{min-height:90px;font-size:var(--t-13);margin-bottom:8px}.two-col{grid-template-columns:1fr 1fr;gap:0 40px;display:grid}.chart{width:100%;height:auto;display:block}.chart-grid{stroke:var(--line);stroke-width:1px}.chart-tick{fill:var(--muted);font-size:11px;font-family:var(--font)}.chart-line{fill:none;stroke-width:2.5px;stroke-linejoin:round;stroke-linecap:round}.chart-line.puzzle{stroke:var(--q-great)}.chart-line.play{stroke:var(--brass)}.chart-line.acc{stroke:var(--q-best)}.legend{font-size:var(--t-13);color:var(--muted);gap:16px;display:flex}.lg:before{content:"";vertical-align:middle;border-radius:2px;width:14px;height:3px;margin-right:6px;display:inline-block}.lg.puzzle:before{background:var(--q-great)}.lg.play:before{background:var(--brass)}.bars{gap:8px;margin:0;padding:0;list-style:none;display:grid}.bars li{font-size:var(--t-13);grid-template-columns:minmax(90px,140px) 1fr auto;align-items:center;gap:10px;display:grid}.bar-label a{color:var(--ink)}.bar-track{background:var(--line);border-radius:9px;height:8px;overflow:hidden}.bar-fill{background:var(--brass);border-radius:9px;height:100%;display:block}.bar-value{text-align:right;min-width:40px;font-weight:700}.heatmap{grid-template-rows:repeat(7,1fr);grid-auto-columns:1fr;grid-auto-flow:column;gap:3px;max-width:420px;display:grid}.hm{aspect-ratio:1;background:var(--line);border-radius:2px}.hm-1{background:color-mix(in oklab, var(--brass) 30%, var(--line))}.hm-2{background:color-mix(in oklab, var(--brass) 55%, var(--line))}.hm-3{background:color-mix(in oklab, var(--brass) 80%, var(--line))}.hm-4{background:var(--brass)}.hm-f{background:0 0}.calib{align-items:center;gap:14px;display:flex}.calib .big-num{font-size:var(--t-39);color:var(--brass)}.custom-board{grid-template-columns:auto 1fr;align-items:start;gap:28px;display:grid}.custom-preview .miniboard{box-shadow:var(--shadow)}.piece-grid{grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:8px;display:grid}.piece-opt{border:1px solid var(--line);border-radius:var(--radius-m);background:var(--surface);cursor:pointer;font-size:var(--t-13);justify-items:center;gap:4px;padding:10px 6px;font-weight:600;display:grid}.piece-opt.on{border-color:var(--brass);box-shadow:inset 0 0 0 1px var(--brass)}.piece-imgs{display:flex}.piece-imgs img{width:40px;height:40px}.setting{border-bottom:1px solid var(--line);gap:6px;padding:12px 0;display:grid}.setting-label{font-weight:650}.setting .chips{margin:0}.toggle-row{cursor:pointer;grid-template-columns:1fr auto;align-items:center}.toggle-row>span{display:grid}.credits p{font-size:var(--t-13);color:var(--muted)}.credit-list{font-size:var(--t-13);color:var(--muted);columns:2;padding-left:18px}.today-tools{display:none}.panel{border-radius:var(--radius-l);background:var(--surface);border:1px solid var(--line);padding:18px}.page-aside>.panel{margin-top:0}.panel-head{justify-content:space-between;align-items:baseline;gap:10px;margin-bottom:12px;display:flex}.panel-head h2{font-size:var(--t-16);margin:0}.panel-head a{text-decoration:none}.panel>p:last-child{margin-bottom:0}.daily-board{box-shadow:var(--shadow);transition:transform var(--anim);border-radius:4px;margin-bottom:10px;display:block;overflow:hidden}.daily-board:hover{transform:translateY(-2px)}.daily-board .miniboard{aspect-ratio:1;width:100%!important;height:auto!important}.daily-empty{aspect-ratio:1;background:var(--surface-2)}.tag-ok{color:var(--win);border-color:color-mix(in oklab, var(--win) 50%, transparent)}.ladder-row{flex-wrap:wrap;gap:6px;margin:0 0 12px;padding:0;list-style:none;display:flex}.ladder-row li{filter:grayscale();opacity:.35;position:relative}.ladder-row li.beaten{filter:none;opacity:1}.ladder-row .crown{position:absolute;top:-7px;right:-5px}.ladder-next{border-radius:var(--radius-m);background:var(--surface-2);color:var(--ink);justify-content:space-between;align-items:center;gap:8px;padding:10px 12px;text-decoration:none;display:flex}.ladder-next:hover{color:var(--brass)}.medal-row{flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none;display:flex}.today-ratings .big-num small{color:var(--muted);font-size:.55em;font-weight:700}.medal{border-radius:50%;flex:none;place-items:center;display:inline-grid}.medal.earned{background:radial-gradient(circle at 35% 30%, color-mix(in oklab, var(--brass) 70%, #fff), var(--brass) 60%, color-mix(in oklab, var(--brass) 70%, #000));color:var(--on-brass);box-shadow:0 0 0 3px color-mix(in oklab, var(--brass) 30%, transparent), 0 4px 12px #00000040}.medal.locked{border:2px dashed var(--line);color:var(--muted);opacity:.7}.stars{color:var(--line);gap:2px;display:inline-flex}.stars .on{color:var(--brass)}.stars .on svg{fill:currentColor}.crown{vertical-align:-2px;margin-left:6px;display:inline-flex}.crown svg{fill:currentColor}.crown-gold{color:#e2b43c}.crown-silver{color:#b8c0cc}.badge-shelf{margin-top:48px}.badge-group h3,.badge-sub{color:var(--muted);font-size:var(--t-13);margin:20px 0 10px}.badge-all{margin-top:24px}.badge-all>summary{cursor:pointer;color:var(--brass);padding:8px 0;font-weight:600}.badge-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:10px;margin:0;padding:0;list-style:none;display:grid}.badge-grid li{border-radius:var(--radius-m);border:1px solid var(--line);align-items:center;gap:12px;padding:10px 12px;display:flex}.badge-grid li.earned{background:var(--surface)}.badge-grid li>span{gap:1px;min-width:0;display:grid}.badge-grid li>span>span{color:var(--muted);font-size:var(--t-13);line-height:1.35}.badge-grid li.locked strong{color:var(--muted)}.badge-toast{z-index:60;border-radius:var(--radius-l);background:var(--surface);border:1px solid color-mix(in oklab, var(--brass) 60%, var(--line));box-shadow:var(--shadow);color:var(--ink);align-items:center;gap:12px;padding:12px 18px 12px 12px;text-decoration:none;animation:.42s cubic-bezier(.2,1.4,.4,1) badge-in;display:flex;position:fixed;bottom:24px;right:24px}.badge-toast .medal{width:44px;height:44px}.badge-toast>span:last-child{display:grid}@keyframes badge-in{0%{opacity:0;transform:translateY(24px)scale(.9)}}.learn-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:16px;display:flex}.learn-head h1{margin:0}.lede{margin-top:8px}.learn-next{margin-bottom:12px}.learn-next .hero-text>.muted{margin-bottom:4px;display:block}.unit{margin-top:40px}.unit-head h2{margin:0}.unit>p{margin:4px 0 14px}.lesson-grid{grid-template-columns:repeat(auto-fill,minmax(148px,1fr));gap:14px;margin:0;padding:0;list-style:none;display:grid}.lesson-tile{border-radius:var(--radius-m);color:var(--ink);border:1px solid #0000;gap:6px;padding:8px 8px 10px;text-decoration:none;display:grid}.lesson-tile:hover{background:var(--surface);border-color:var(--line)}.lesson-tile .miniboard{aspect-ratio:1;box-shadow:var(--shadow);border-radius:3px;width:100%!important;height:auto!important}.lesson-tile strong{font-size:var(--t-13);line-height:1.3}.lesson-tile.is-next{border-color:var(--brass);background:color-mix(in oklab, var(--brass) 8%, transparent)}.lesson .side-head h1{font-size:var(--t-25)}.lesson .side-head .muted{margin-bottom:2px;display:block}.lesson-idea{font-size:var(--t-20);line-height:1.45}.lesson-card h2{font-size:var(--t-16);margin-top:18px}.lesson-done{text-align:center;justify-items:center}.lesson-done .stars{margin:4px 0 8px}.lesson-done .actions{justify-content:center}.captured{align-items:center;gap:6px;min-width:0;display:inline-flex;overflow:hidden}.cap-group{display:inline-flex}.cap-group img{width:20px;height:20px}.cap-group img+img{margin-left:-11px}.cap-lead{color:var(--muted);font-size:var(--t-13);font-weight:700}.bot-chat{align-items:flex-start;gap:10px;margin:0 0 14px;animation:.25s chat-in;display:flex}.bot-chat p{background:var(--surface);color:var(--ink);border:1px solid var(--line);font-size:var(--t-13);border-radius:4px 14px 14px;margin:0;padding:8px 13px;font-weight:550}@keyframes chat-in{0%{opacity:0;transform:translateY(-4px)}}@media (prefers-reduced-motion:reduce){.bot-chat{animation:none}}.movelist-empty{border:1px dashed var(--line);border-radius:var(--radius-m);margin:0;padding:12px 14px}.board-cover-wrap{position:relative}.board-cover{z-index:4;background:color-mix(in oklab, var(--bg) 72%, transparent);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);color:var(--ink);pointer-events:none;border-radius:4px;place-content:center;justify-items:center;gap:4px;display:grid;position:absolute;inset:0}.cover-big{color:var(--brass);font-size:clamp(3rem,14cqi,7rem);font-weight:800;font-stretch:125%;line-height:1}.cover-label{color:var(--muted);font-weight:650}@media (width<=1023px){.shell{padding-bottom:calc(64px + env(safe-area-inset-bottom));grid-template-columns:1fr}.shell-bare{padding-bottom:0}.rail{height:auto;padding:4px 4px calc(4px + env(safe-area-inset-bottom));border-right:0;border-top:1px solid var(--line);background:color-mix(in oklab, var(--bg) 92%, transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);flex-direction:row;position:fixed;inset:auto 0 0}.rail .brand{display:none}.rail ul{flex:1;margin:0;display:flex}.rail li{flex:1}.rail a{flex-direction:column;justify-content:center;gap:2px;min-height:54px;padding:6px 2px;font-size:11px}.rail a.active{box-shadow:none;background:0 0}.rail .rail-settings,.rail .rail-desk{display:none}.today-tools{gap:2px;margin-left:auto;display:inline-flex}.today-stats{flex:1;gap:14px}.badge-toast{left:16px;right:16px;bottom:calc(76px + env(safe-area-inset-bottom))}.page{padding:24px 16px 40px}.game-layout,.game-layout.review{--bsz:100%;grid-template-columns:minmax(0,1fr);gap:14px;padding:0 0 24px}.game-layout:has(.player){--bsz:100%;grid-template-columns:minmax(0,1fr);gap:14px;padding:0 0 24px}.game-layout:has(.with-eval){--bsz:100%;grid-template-columns:minmax(0,1fr);gap:14px;padding:0 0 24px}.board-col{width:100%;max-width:min(100%,100dvh - 190px);margin:0 auto}.board-col>.player,.board-col>.stepper,.board-col>.review-head,.board-col>.evalgraph{padding:0 12px}.board-wrap,.board-wrap cg-board{box-shadow:none;border-radius:0}.side{max-height:none;padding:0 16px;position:static;overflow:visible}h1{font-size:var(--t-31)}.welcome-step h1{font-size:var(--t-39)}.two-col{grid-template-columns:1fr}.clock{font-size:var(--t-20);min-width:80px}}@media (width<=600px){.hero{grid-template-columns:1fr;padding:18px}.hero-board .mark{top:-20px;right:8px}.hero-bot .avatar{width:84px!important;height:84px!important;font-size:50px!important}.modes,.bots,.custom-board{grid-template-columns:1fr}.custom-preview .miniboard{width:200px!important;height:200px!important}.report-top{grid-template-columns:auto auto}.spotted{grid-column:1/-1}.games a{grid-template-columns:auto 1fr}.game-review{text-align:left;grid-column:2;place-items:baseline start;gap:8px;display:flex}.game-review .big-num{font-size:var(--t-20)}.today-ratings,.stat-tiles{gap:24px}.credit-list{columns:1}.bars li{grid-template-columns:96px 1fr auto}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:1ms!important;animation-duration:1ms!important;animation-iteration-count:1!important}}.san{white-space:nowrap}.fig{vertical-align:-.28em;width:1.25em;height:1.25em;margin-right:1px}.san-step{white-space:nowrap;border-radius:5px;padding:1px 3px}.san-step.on{background:var(--brass);color:var(--on-brass)}.line-buttons{margin-top:10px}.line-view{border-top:1px solid var(--line);margin-top:12px;padding-top:12px}.line-banner{border-radius:var(--radius-m);background:var(--surface);border:1px solid var(--brass);font-size:var(--t-13);justify-content:space-between;align-items:center;gap:10px;padding:6px 6px 6px 12px;font-weight:600;display:flex}.line-title{margin:0 0 4px;font-weight:650}.line-view .line-moves{flex-wrap:wrap;gap:2px 0;margin:0 0 10px;display:flex}.online-games{margin-top:20px}.online-games h2{font-size:var(--t-16);margin:0 0 4px}.online-games p{margin:4px 0 10px}.online-fields{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:0 14px;display:grid}.site-tag{vertical-align:1px;margin-right:6px}.blunder-check{border-radius:var(--radius-m);background:var(--surface);border:1px solid var(--line);border-left:4px solid var(--q-mistake);margin:0 0 14px;padding:14px 16px}.blunder-check h2{font-size:var(--t-16);margin:0 0 4px}.blunder-check p{margin:0 0 12px}.btn{background:linear-gradient(var(--surface-2), var(--surface));box-shadow:var(--lift)}.btn:active:not(:disabled){box-shadow:inset 0 1px 2px #00000040}.btn-primary{background:linear-gradient(var(--brass), color-mix(in oklab, var(--brass) 86%, #000));border-color:color-mix(in oklab, var(--brass) 80%, #000);box-shadow:inset 0 1px 0 #ffffff38, inset 0 -2px 0 #0000002e, 0 2px 8px color-mix(in srgb, var(--brass) 28%, transparent)}.btn-primary:hover:not(:disabled){background:linear-gradient(color-mix(in oklab, var(--brass) 92%, #fff), var(--brass));border-color:color-mix(in oklab, var(--brass) 80%, #000)}.btn-ghost,.btn-danger,.btn-link{box-shadow:none}.btn-ghost,.btn-danger{background:0 0}.chip.on{box-shadow:inset 0 1px #fff3,inset 0 -2px #00000026}.evalbar:after{content:"";pointer-events:none;background:repeating-linear-gradient(#0000 0 calc(12.5% - 1px),#80808066 calc(12.5% - 1px) 12.5%);position:absolute;inset:0}@media (width>=1024px){.game-layout>.side{border-radius:var(--radius-m);background:var(--surface);box-shadow:var(--edge), var(--shadow);gap:14px;padding:16px}.game-layout>.side:has(.movelist){align-self:stretch}.game-layout>.side .movelist{flex:140px;max-height:none}.game-layout>.side>.actions{grid-template-columns:repeat(auto-fill,minmax(104px,1fr));display:grid}.game-layout>.side>.actions .btn{font-size:var(--t-13);padding:0 10px}.game-layout>.side .bot-chat p,.game-layout>.side .movelist,.game-layout>.side .movelist-empty{background:var(--bg)}}.movelist{align-content:start;padding:0;overflow-x:hidden}.movelist li{grid-template-columns:40px 1fr 1fr;align-items:stretch}.mv-n{background:color-mix(in oklab, var(--surface-2) 70%, var(--line));font-variant-numeric:tabular-nums;place-items:center end;padding-right:10px;display:grid}.mv{border-radius:0;min-height:30px;padding:0 10px}.mv.active{font-weight:750;box-shadow:inset 0 -2px #0000002e}.hero,.panel,.coach,.result-card,.bot,.mode,.choice,.lesson-tile{box-shadow:var(--card)}.bot,.mode,.choice,.lesson-tile{transition:transform var(--anim), box-shadow var(--anim), border-color var(--anim)}.bot:hover,.mode:hover,.choice:hover,.lesson-tile:hover{box-shadow:var(--card), 0 4px 0 color-mix(in oklab, var(--line) 80%, #000);transform:translateY(-2px)}@media (prefers-reduced-motion:reduce){.bot:hover,.mode:hover,.choice:hover,.lesson-tile:hover{transform:none}}.history-summary{border-radius:var(--radius-l);background:var(--surface);border:1px solid var(--line);box-shadow:var(--card);grid-template-columns:auto minmax(220px,2fr) auto auto;align-items:end;gap:16px 36px;margin:24px 0 20px;padding:18px 22px;display:grid}.history-summary .stat{gap:6px;display:grid}.wdl-bar{background:var(--surface-2);border-radius:999px;gap:2px;height:12px;display:flex;overflow:hidden}.wdl-bar .won{background:var(--win)}.wdl-bar .draw{background:var(--muted)}.wdl-bar .lost{background:var(--loss)}.history-tabs{border-bottom:1px solid var(--line);flex-wrap:wrap;gap:2px;display:flex}.history-tab{min-height:44px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-bottom:3px solid #0000;align-items:center;gap:6px;margin-bottom:-1px;padding:0 14px;font-weight:600;display:inline-flex}.history-tab:hover{color:var(--ink)}.history-tab.on{color:var(--ink);border-bottom-color:var(--brass)}.history-tab .count{background:var(--surface-2);font-size:var(--t-13);font-variant-numeric:tabular-nums;border-radius:999px;padding:0 7px}.history-filters{flex-wrap:wrap;align-items:center;gap:8px 20px;margin:14px 0 4px;display:flex}.history-filters .chips{gap:6px;margin:0}.history-filters .chip{gap:6px;min-height:36px}.history-search input{width:180px;min-height:36px}.side-dot{border:1px solid color-mix(in oklab, var(--ink) 45%, transparent);vertical-align:0;border-radius:3px;width:11px;height:11px;display:inline-block}.side-dot.white{background:#f2f2f2}.side-dot.black{background:#2b2b2b}.games .game-text strong{flex-wrap:wrap;align-items:center;gap:4px 8px;display:flex}.result-chip{border-radius:var(--radius-s);min-width:46px;font-size:var(--t-13);text-align:center;padding:1px 8px;font-weight:750;font-stretch:112%}.result-chip.won{background:color-mix(in oklab, var(--win) 22%, transparent);color:var(--win)}.result-chip.lost{background:color-mix(in oklab, var(--loss) 20%, transparent);color:var(--loss)}.result-chip.draw{background:var(--surface-2);color:var(--muted)}.rating-diff{font-size:var(--t-13);font-weight:700}.rating-diff.up{color:var(--win)}.rating-diff.down{color:var(--loss)}.tag-cta{color:var(--brass);border-color:color-mix(in oklab, var(--brass) 50%, transparent)}.history-more{margin-top:16px}.history-none{padding:24px 4px}.history-side{gap:20px;margin-top:20px;display:grid}.history-openings table{border-collapse:collapse;width:100%;font-size:var(--t-13);font-variant-numeric:tabular-nums}.history-openings th,.history-openings td{border-bottom:1px solid var(--line);text-align:right;padding:6px 4px}.history-openings th:first-child{text-align:left;font-weight:550}.history-openings thead th{color:var(--muted);font-weight:600}.history-openings tr.on th .btn-link{text-decoration:underline}.history-openings .btn-link{text-align:left;padding:2px 0}@media (width<=1023px){.history-summary{grid-template-columns:repeat(3,auto)}.history-summary .stat-wdl{order:9;grid-column:1/-1}}@media (width<=600px){.history-summary{gap:12px 20px;padding:14px 16px}.history-tabs,.history-filters .chips{scrollbar-width:none;flex-wrap:nowrap;margin-inline:-16px;padding-inline:16px;overflow-x:auto}.history-tab,.history-filters .chip{flex:none}.history-filters .chips{flex:100%}.history-search input{width:100%}.history-search{flex:100%}}.page-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.page-head h1{margin-bottom:.3em}.page.narrow{max-width:720px}.row-gap{flex-wrap:wrap;align-items:center;gap:8px;display:inline-flex}.btn-block{justify-content:center;width:100%}.linkish{color:var(--brass);font:inherit;cursor:pointer;text-underline-offset:3px;background:0 0;border:0;padding:8px 0;text-decoration:underline}.form-error{color:var(--loss);margin:8px 0;font-weight:550}.field select{border:1px solid var(--line);border-radius:var(--radius-m);background:var(--surface);width:100%;min-height:44px;color:var(--ink);font:inherit;padding:10px 12px}.field small{font-size:var(--t-13);font-weight:400}.seg{background:var(--surface-2);box-shadow:var(--edge);border-radius:999px;gap:2px;margin:8px 0 14px;padding:3px;display:inline-flex}.seg button{min-height:36px;color:var(--muted);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:999px;padding:6px 16px;font-weight:600}.seg button.on{background:var(--surface);color:var(--ink);box-shadow:var(--lift)}.account .panel{margin:0 0 16px}.account-why{color:var(--muted);gap:8px;margin:0 0 16px;padding:0;list-style:none;display:grid}.account-why li{align-items:center;gap:10px;display:flex}.account-why .icon{color:var(--brass)}.auth-form{margin-bottom:16px;padding:20px}.pw{align-items:center;gap:6px;display:flex}.pw input{flex:1}.account-name{font-size:var(--t-20);font-weight:700}.account-more>summary{padding:2px 0}.account-more[open]>summary{margin-bottom:8px}.people{margin:0;padding:0;list-style:none}.people li{border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:8px 14px;min-height:52px;padding:8px 0;display:flex}.people li:last-child{border-bottom:0}.people li>:first-child{flex:1;min-width:0}.person{align-items:center;gap:10px;display:inline-flex}.person a{font-weight:650}.person-dot{background:color-mix(in oklab, var(--brass) 22%, var(--surface-2));width:34px;height:34px;color:var(--ink);border-radius:50%;flex:none;place-items:center;font-weight:750;display:inline-grid}.person-dot.big{width:64px;height:64px;font-size:var(--t-25)}.people-stats{white-space:nowrap}.invite-url{word-break:break-all;color:var(--muted)}.add-friend{flex-wrap:wrap;align-items:end;gap:10px;display:flex}.add-friend .field{flex:220px;margin:0}.lb-table{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%}.lb-table th{text-align:left;font-size:var(--t-13);color:var(--muted);border-bottom:1px solid var(--line);padding:6px 8px;font-weight:600}.lb-table td{border-bottom:1px solid var(--line);padding:8px}.lb-table .num{text-align:right}.lb-table td.num:first-child{width:3ch;color:var(--muted)}.lb-table tr.me td{background:color-mix(in oklab, var(--brass) 10%, transparent);font-weight:650}.daily-list,.your-move-list{gap:6px;margin:0;padding:0;list-style:none;display:grid}.your-move-list{grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}.daily-row{border-radius:var(--radius-m);color:var(--ink);align-items:center;gap:14px;padding:8px;text-decoration:none;display:flex}.daily-row:hover{background:var(--surface-2)}.daily-row .miniboard,.daily-row svg{border-radius:4px;flex:none}.daily-info{justify-items:start;gap:2px;display:grid}.daily-clock{font-size:var(--t-13);color:var(--brass);font-variant-numeric:tabular-nums;margin-left:auto;font-weight:650}.daily-send{margin-top:0}.panel h2 .count{background:var(--brass);min-width:22px;height:22px;color:var(--on-brass);font-size:var(--t-13);vertical-align:2px;border-radius:999px;place-items:center;margin-left:6px;padding:0 6px;display:inline-grid}.your-move{margin-bottom:20px}.profile-head{flex-wrap:wrap;align-items:center;gap:16px;margin-bottom:8px;display:flex}.profile-head h1{margin:0}.profile-actions{margin-left:auto}.stat-tiles .stat{gap:4px;display:grid}.profile .stat-tiles{margin:20px 0 28px}@media (width<=600px){.profile .stat-tiles{grid-template-columns:1fr 1fr;gap:20px;display:grid}.profile-actions{width:100%;margin-left:0}}p.notice{max-width:none}.shared-cta{margin-top:20px}.shared-title{font-size:var(--t-20);margin:0 0 4px}.review-head .share-btn{margin-left:auto}.prose{line-height:1.6}.prose h2{font-size:var(--t-20);margin-top:28px}.prose li{margin:6px 0}.rail-account{margin-top:auto}.rail-account+.rail-settings{margin-top:0}.rail-account span{text-overflow:ellipsis;white-space:nowrap;max-width:130px;overflow:hidden}@media (width<=1023px){.rail .rail-account{display:none}.people-stats{white-space:normal}}
