@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-ext-wght-normal-BOeWTOD4.woff2)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:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-wght-normal-DqGufNeO.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-greek-ext-wght-normal-DlzME5K_.woff2)format("woff2-variations");unicode-range:U+1F??}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-greek-wght-normal-CkhJZR-_.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:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-vietnamese-wght-normal-CBcvBZtf.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:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-ext-wght-normal-DO1Apj_S.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:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-wght-normal-Dx4kXJAl.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:Fraunces Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/fraunces-vietnamese-wght-normal-CnvboYUG.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:Fraunces Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/fraunces-latin-ext-wght-normal-Ca2vKHc0.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:Fraunces Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/fraunces-latin-wght-normal-ukD16Tqj.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{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg-app:#0d1116;--bg-panel:#1b2330;--bg-inset:#131922;--bg-raised:#273243;--border:#313c4e;--border-control:#6e7e99;--text:#f3f5f8;--text-muted:#b9c2cf;--text-faint:#94a0b2;--accent:#f5b73d;--accent-hover:#e3a42a;--accent-text:#1a1305;--accent-ink:#f5b73d;--accent-graphic:#f5b73d;--success:#4cc38a;--danger:#ff8576;--danger-strong:#c23b2a;--danger-strong-hover:#a93222;--warning:#f2c14e;--info:#7db9ff;--focus-ring:#8fd0ff;--ink-dark:#1b1b1a;--ink-light:#fff;--side-white:#f1f0ee;--side-white-ink:#1b1b1a;--side-black:#5a5856;--side-black-ink:#fff;--side-black-soft:#8b8987;--side-black-deep:#1d1c1a;--eval-black:#403d39;--eval-white:#f0f0f0;--mark-blue:#2b78d6;--mark-yellow:#f2c14e;--mark-green:#3e8e2f;--mark-red:#c23b2a;--mark-orange:#e08a1e;--board-light:#eeeed2;--board-dark:#769656;--board-last-move:#ffff3373;--board-selected:#14551e80;--board-check:#eb3228d9;--board-legal-dot:#14551e80;--tier-brilliant:#1baca6;--tier-great:#6593b8;--tier-best:#3ea870;--tier-excellent:#7fae3f;--tier-good:#8a8a80;--tier-book:#a88865;--tier-inaccuracy:#f7c631;--tier-mistake:#e58f2a;--tier-miss:#ff7769;--tier-blunder:#ca3431;--tier-brilliant-ink:#3fd0c9;--tier-great-ink:#8db4d4;--tier-best-ink:#4cc38a;--tier-excellent-ink:#9ad35a;--tier-good-ink:#c4c4ba;--tier-book-ink:#c3a47f;--tier-inaccuracy-ink:#f7c631;--tier-mistake-ink:#f0a04b;--tier-miss-ink:#ff7769;--tier-blunder-ink:#ff8576;--font-sans:"Inter Variable", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-display:"Fraunces Variable", Georgia, "Times New Roman", serif;--font-mono:ui-monospace, "SF Mono", Menlo, Consolas, monospace;--weight-regular:400;--weight-semibold:600;--weight-heavy:800;--fs-caption:.75rem;--fs-small:.875rem;--fs-body:1rem;--fs-lead:1.125rem;--fs-h3:1.25rem;--fs-h2:1.5rem;--fs-h1:2rem;--fs-display:2.75rem;--text-sm:var(--fs-small);--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--space-6:32px;--space-7:48px;--space-8:64px;--radius-sm:6px;--radius-md:10px;--radius-lg:16px;--radius-xl:20px;--nav-width:232px;--container-md:720px;--container-lg:1040px;--shadow-raised:0 2px 0 #00000040;--shadow-1:0 1px 2px #0000004d;--shadow-2:0 8px 24px #00000059;--shadow-3:0 16px 48px #00000080;--dur-fast:.12s;--dur-base:.2s;--dur-slow:.32s;--ease-out:cubic-bezier(.2, .8, .2, 1);--move-anim:.18s}:root[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg-app:#f6f3ec;--bg-panel:#fff;--bg-inset:#f1ede4;--bg-raised:#f2eee4;--border:#ddd6c8;--border-control:#7d8697;--text:#1d232c;--text-muted:#47505e;--text-faint:#5a6473;--accent-ink:#8a5a00;--accent-graphic:#b07400;--success:#1f7a52;--danger:#b3261e;--warning:#8a6400;--info:#1d5fb8;--focus-ring:#1d5fb8;--tier-brilliant-ink:#086a66;--tier-great-ink:#3b6a92;--tier-best-ink:#1b6f49;--tier-excellent-ink:#436f19;--tier-good-ink:#5a6473;--tier-book-ink:#7a5a32;--tier-inaccuracy-ink:#7d5a00;--tier-mistake-ink:#8c5200;--tier-miss-ink:#b3261e;--tier-blunder-ink:#b3261e;--shadow-raised:0 1px 0 #1d232c2e;--shadow-1:0 1px 2px #1d232c1f;--shadow-2:0 8px 24px #1d232c24;--shadow-3:0 16px 48px #1d232c38}@media (prefers-color-scheme:light){:root:not([data-theme=dark]){--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg-app:#f6f3ec;--bg-panel:#fff;--bg-inset:#f1ede4;--bg-raised:#f2eee4;--border:#ddd6c8;--border-control:#7d8697;--text:#1d232c;--text-muted:#47505e;--text-faint:#5a6473;--accent-ink:#8a5a00;--accent-graphic:#b07400;--success:#1f7a52;--danger:#b3261e;--warning:#8a6400;--info:#1d5fb8;--focus-ring:#1d5fb8;--tier-brilliant-ink:#086a66;--tier-great-ink:#3b6a92;--tier-best-ink:#1b6f49;--tier-excellent-ink:#436f19;--tier-good-ink:#5a6473;--tier-book-ink:#7a5a32;--tier-inaccuracy-ink:#7d5a00;--tier-mistake-ink:#8c5200;--tier-miss-ink:#b3261e;--tier-blunder-ink:#b3261e;--shadow-raised:0 1px 0 #1d232c2e;--shadow-1:0 1px 2px #1d232c1f;--shadow-2:0 8px 24px #1d232c24;--shadow-3:0 16px 48px #1d232c38}}@media (prefers-reduced-motion:reduce){:root{--dur-fast:0s;--dur-base:0s;--dur-slow:0s;--move-anim:0s}}*,:before,:after{box-sizing:border-box}html,body,#root{height:100%}body{background:var(--bg-app);color:var(--text);font-family:var(--font-sans);font-size:var(--fs-body);-webkit-font-smoothing:antialiased;margin:0;line-height:1.45}h1,h2,h3{font-weight:var(--weight-heavy);margin:0;line-height:1.2}h1,h2{font-family:var(--font-display);font-optical-sizing:auto;letter-spacing:-.01em}button{font:inherit;color:inherit}:focus-visible{outline:3px solid var(--focus-ring);outline-offset:2px}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.tabular{font-variant-numeric:tabular-nums}.btn{justify-content:center;align-items:center;gap:var(--space-2);min-height:44px;padding:0 var(--space-5);border-radius:var(--radius-md);background:var(--bg-raised);font-weight:var(--weight-heavy);cursor:pointer;box-shadow:var(--shadow-raised);border:0;display:inline-flex}.btn:hover{filter:brightness(1.12)}.btn--primary{background:var(--accent);color:var(--accent-text)}.btn--primary:hover{background:var(--accent-hover);filter:none}.btn:disabled{opacity:.55;cursor:not-allowed}.field-select{min-height:40px;padding:0 var(--space-3);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-inset);color:var(--text);font:inherit}.main{padding:var(--space-6) var(--space-4);grid-template-columns:minmax(0,1fr);place-items:start center;display:grid}.main:has(>.subnav){grid-template-rows:auto 1fr}.panel{width:min(100%, var(--container-md));gap:var(--space-4);padding:var(--space-5);border-radius:var(--radius-lg);background:var(--bg-panel);flex-direction:column;display:flex}.muted{color:var(--text-muted);margin:0}.error{padding:var(--space-3);border-radius:var(--radius-md);background:var(--bg-inset);color:var(--danger);margin:0}.facts{gap:var(--space-2) var(--space-5);padding:var(--space-4);border-radius:var(--radius-md);background:var(--bg-inset);grid-template-columns:max-content 1fr;margin:0;display:grid}.facts dt{color:var(--text-muted)}.facts dd{font-weight:var(--weight-semibold);overflow-wrap:anywhere;margin:0}.facts dd[data-state=ok]{color:var(--accent-ink)}.facts dd[data-state=error]{color:var(--danger)}@media (width<=999px){.main{padding:var(--space-4)}.facts{grid-template-columns:1fr}}.skip-link{top:-64px;left:var(--space-2);z-index:200;padding:var(--space-2) var(--space-4);border-radius:var(--radius-md);background:var(--accent);color:var(--accent-text);font-weight:var(--weight-semibold);text-decoration:none;position:absolute}.skip-link:focus{top:var(--space-2)}.main:focus{outline:none}.review__links{gap:var(--space-1) var(--space-4);flex-wrap:wrap;display:flex}.error-card{max-width:40rem;margin:var(--space-6) auto}.error-card__actions{gap:var(--space-2);margin:var(--space-4) 0;flex-wrap:wrap;display:flex}.app{grid-template-columns:var(--nav-width) minmax(0, 1fr);min-height:100%;display:grid}.topbar{display:none}.nav{align-self:start;gap:var(--space-4);height:100dvh;padding:var(--space-4) var(--space-3);border-right:1px solid var(--border);background:var(--bg-panel);flex-direction:column;display:flex;position:sticky;top:0;overflow-y:auto}.nav__brand{padding:var(--space-2) var(--space-3) var(--space-4);font-family:var(--font-display);font-size:var(--fs-h2);font-weight:var(--weight-heavy);color:var(--accent-ink)}.nav__list{gap:var(--space-1);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.nav__item{align-items:center;gap:var(--space-3);width:100%;min-height:44px;padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);color:var(--text-muted);font-weight:var(--weight-semibold);text-align:left;transition:background-color var(--dur-fast) var(--ease-out), color var(--dur-fast) var(--ease-out);background:0 0;border:0;text-decoration:none;display:flex;position:relative}.nav__item:hover{background:var(--bg-inset);color:var(--text)}.nav__item[aria-current=page]{background:var(--bg-raised);color:var(--text)}.nav__item[aria-current=page]:before{background:var(--accent-graphic);content:"";border-radius:0 3px 3px 0;width:3px;position:absolute;top:10px;bottom:10px;left:0}.nav__footer{gap:var(--space-2);font-size:var(--fs-small);flex-direction:column;margin-top:auto;display:flex}.nav__badge{background:var(--accent);min-width:1.4em;color:var(--accent-text);font-size:var(--fs-caption);font-weight:var(--weight-heavy);text-align:center;border-radius:999px;margin-left:auto;padding:0 6px;line-height:1.5;display:inline-block}.subnav{margin:calc(-1 * var(--space-6)) calc(-1 * var(--space-4)) var(--space-5);padding:0 var(--space-4);border-bottom:1px solid var(--border);background:var(--bg-app);scrollbar-width:none;justify-self:stretch;overflow-x:auto}.subnav__list{gap:var(--space-1);width:max-content;min-width:100%;margin:0;padding:0;list-style:none;display:flex}.subnav__item{min-height:48px;padding:0 var(--space-4);color:var(--text-muted);font-weight:var(--weight-semibold);white-space:nowrap;transition:color var(--dur-fast) var(--ease-out);border-bottom:3px solid #0000;align-items:center;text-decoration:none;display:flex}.subnav__item:hover{color:var(--text)}.subnav__item[aria-current=page]{border-bottom-color:var(--accent-graphic);color:var(--text)}@media (width<=999px){.app{grid-template-rows:auto 1fr;grid-template-columns:minmax(0,1fr)}.topbar{z-index:30;height:52px;padding:0 var(--space-4);border-bottom:1px solid var(--border);background:var(--bg-panel);justify-content:space-between;align-items:center;display:flex;position:sticky;top:0}.topbar__brand{font-family:var(--font-display);font-size:var(--fs-h3);font-weight:var(--weight-heavy);color:var(--accent-ink);text-decoration:none}.topbar__help{width:44px;height:44px;margin-right:calc(-1 * var(--space-2));color:var(--text-muted);border-radius:50%;place-items:center;display:inline-grid}.topbar__help[aria-current=page]{color:var(--accent-ink)}.nav{z-index:40;height:auto;padding:0 var(--space-2) env(safe-area-inset-bottom);border-top:1px solid var(--border);box-shadow:var(--shadow-2);border-right:0;flex-direction:row;position:fixed;inset:auto 0 0;overflow:visible}.nav__brand,.nav__footer{display:none}.nav__list{flex-direction:row;flex:1;justify-content:space-around;gap:0}.nav__list li{flex:1 1 0;min-width:0}.nav__item{min-height:64px;padding:var(--space-2) 0;font-size:var(--fs-caption);text-align:center;flex-direction:column;justify-content:center;gap:2px}.nav__item[aria-current=page]:before{border-radius:0 0 3px 3px;width:auto;height:3px;inset:0 25% auto}.nav__text{text-overflow:ellipsis;white-space:nowrap;max-width:100%;overflow:hidden}.nav__badge{margin:0;position:absolute;top:6px;left:calc(50% + 6px)}.main{padding-bottom:calc(64px + env(safe-area-inset-bottom) + var(--space-4))}.subnav{margin:calc(-1 * var(--space-4)) calc(-1 * var(--space-4)) var(--space-4)}.app[data-focus=true] .nav,.app[data-focus=true] .topbar,.app[data-focus=true] .subnav{display:none}.app[data-focus=true] .main{padding-bottom:var(--space-4)}}.cg-wrap{box-sizing:content-box;display:block;position:relative}cg-container{width:100%;height:100%;display:block;position:absolute;top:0}cg-board{-webkit-user-select:none;user-select:none;background-size:cover;width:100%;height:100%;line-height:0;position:absolute;top:0;left:0}.cg-wrap.manipulable cg-board{cursor:pointer}cg-board square{pointer-events:none;width:12.5%;height:12.5%;position:absolute;top:0;left:0}cg-board square.move-dest{pointer-events:auto}cg-board square.last-move{will-change:transform}.cg-wrap piece{z-index:2;will-change:transform;pointer-events:none;background-size:cover;width:12.5%;height:12.5%;position:absolute;top:0;left:0}cg-board piece.dragging{cursor:move;z-index:11!important}piece.anim{z-index:8}piece.fading{z-index:1;opacity:.5}.cg-wrap piece.ghost{opacity:.3}.cg-wrap piece svg{pointer-events:none;z-index:2;opacity:.6;width:100%;height:100%;position:relative;top:0;left:0;overflow:hidden}.cg-wrap cg-auto-pieces,.cg-wrap .cg-shapes,.cg-wrap .cg-custom-svgs,.cg-wrap .cg-shapes-below,.cg-wrap .cg-custom-below{pointer-events:none;width:100%;height:100%;position:absolute;top:0;left:0;overflow:visible}.cg-wrap cg-auto-pieces{z-index:2}.cg-wrap cg-auto-pieces piece{opacity:.3}.cg-wrap .cg-shapes{opacity:.6;z-index:2;overflow:hidden}.cg-wrap .cg-shapes-below{z-index:1;overflow:hidden}.cg-wrap .cg-custom-below{z-index:1}.cg-wrap .cg-custom-svgs{z-index:9}.cg-wrap .cg-custom-svgs svg,.cg-wrap .cg-custom-below svg{overflow:visible}.cg-wrap coords{pointer-events:none;opacity:.8;font-family:sans-serif;font-size:9px;display:flex;position:absolute}.cg-wrap coords.ranks{flex-flow:column-reverse;width:12px;height:100%;top:-20px;left:4px}.cg-wrap coords.ranks.black{flex-flow:column}.cg-wrap coords.ranks.left{align-items:flex-end;left:-15px}.cg-wrap coords.files{text-transform:uppercase;text-align:center;flex-flow:row;width:100%;height:16px;bottom:-4px;left:24px}.cg-wrap coords.files.black{flex-flow:row-reverse}.cg-wrap coords coord{flex:auto}.cg-wrap coords.ranks coord{transform:translateY(39%)}.cg-wrap coords.squares{text-transform:uppercase;text-align:right;flex-flow:column-reverse;width:12.5%;height:100%;bottom:0;left:0}.cg-wrap coords.squares.black{flex-flow:column}.cg-wrap coords.squares.left{text-align:left}.cg-wrap coords.squares coord{padding:6% 4%}.cg-wrap coords.squares.rank2{transform:translate(100%)}.cg-wrap coords.squares.rank3{transform:translate(200%)}.cg-wrap coords.squares.rank4{transform:translate(300%)}.cg-wrap coords.squares.rank5{transform:translate(400%)}.cg-wrap coords.squares.rank6{transform:translate(500%)}.cg-wrap coords.squares.rank7{transform:translate(600%)}.cg-wrap coords.squares.rank8{transform:translate(700%)}.board{width:var(--board-size);height:var(--board-size);border-radius:var(--radius-sm);touch-action:none;position:relative;overflow:hidden;box-shadow:0 2px 6px #00000059}.board__cg{width:100%;height:100%}.board cg-board{background-color:var(--board-light);background-image:var(--board-bg);background-size:100% 100%}.board cg-board square.last-move{background-color:var(--board-last-move)}.board cg-board square.selected{background-color:var(--board-selected)}.board cg-board square.check{background:radial-gradient(red 0%,#e70000 25%,#a9000000 89%,#9e000000 100%)}.board cg-board square.move-dest{background:radial-gradient(var(--board-legal-dot) 22%, transparent 24%)}.board cg-board square.oc.move-dest{background:radial-gradient(transparent 0%, transparent 79%, var(--board-legal-dot) 80%)}.board cg-board square.move-dest:hover{background:#ffff3373}.coords{z-index:2;pointer-events:none;font-weight:var(--weight-heavy);font-size:max(12px, calc(var(--board-size) * .024));line-height:1;position:absolute;inset:0}.coords__ranks{grid-template-rows:repeat(8,1fr);width:12.5%;display:grid;position:absolute;top:0;bottom:0;left:0}.coords__ranks span{padding:calc(var(--board-size) * .008) 0 0 calc(var(--board-size) * .008)}.coords__files{grid-template-columns:repeat(8,1fr);height:12.5%;display:grid;position:absolute;bottom:0;left:0;right:0}.coords__files span{padding:0 calc(var(--board-size) * .008) calc(var(--board-size) * .008) 0;place-self:end}.coords .on-light{color:var(--board-dark)}.coords .on-dark{color:var(--board-light)}.promotion{z-index:10;background:#00000080;position:absolute;inset:0}.promotion__column{width:12.5%;position:absolute;top:0;bottom:0}.promotion__column:before{content:"";border-radius:var(--radius-sm);background:var(--ink-light);height:50%;position:absolute;top:0;left:0;right:0;box-shadow:0 4px 14px #00000080}.promotion__column--up:before{top:auto;bottom:0}.promotion__choice{cursor:pointer;background:0 0;border:0;border-radius:50%;width:100%;height:12.5%;padding:0;position:absolute;left:0}.promotion__choice:hover,.promotion__choice:focus-visible{background:radial-gradient(circle,#81b64c8c 0%,#81b64c00 72%)}.promotion__choice img{width:100%;height:100%;display:block}.piece-set-cburnett piece.white.pawn{background-image:url(/pieces/cburnett/wP.svg)}.piece-set-cburnett piece.white.knight{background-image:url(/pieces/cburnett/wN.svg)}.piece-set-cburnett piece.white.bishop{background-image:url(/pieces/cburnett/wB.svg)}.piece-set-cburnett piece.white.rook{background-image:url(/pieces/cburnett/wR.svg)}.piece-set-cburnett piece.white.queen{background-image:url(/pieces/cburnett/wQ.svg)}.piece-set-cburnett piece.white.king{background-image:url(/pieces/cburnett/wK.svg)}.piece-set-cburnett piece.black.pawn{background-image:url(/pieces/cburnett/bP.svg)}.piece-set-cburnett piece.black.knight{background-image:url(/pieces/cburnett/bN.svg)}.piece-set-cburnett piece.black.bishop{background-image:url(/pieces/cburnett/bB.svg)}.piece-set-cburnett piece.black.rook{background-image:url(/pieces/cburnett/bR.svg)}.piece-set-cburnett piece.black.queen{background-image:url(/pieces/cburnett/bQ.svg)}.piece-set-cburnett piece.black.king{background-image:url(/pieces/cburnett/bK.svg)}.piece-set-merida piece.white.pawn{background-image:url(/pieces/merida/wP.svg)}.piece-set-merida piece.white.knight{background-image:url(/pieces/merida/wN.svg)}.piece-set-merida piece.white.bishop{background-image:url(/pieces/merida/wB.svg)}.piece-set-merida piece.white.rook{background-image:url(/pieces/merida/wR.svg)}.piece-set-merida piece.white.queen{background-image:url(/pieces/merida/wQ.svg)}.piece-set-merida piece.white.king{background-image:url(/pieces/merida/wK.svg)}.piece-set-merida piece.black.pawn{background-image:url(/pieces/merida/bP.svg)}.piece-set-merida piece.black.knight{background-image:url(/pieces/merida/bN.svg)}.piece-set-merida piece.black.bishop{background-image:url(/pieces/merida/bB.svg)}.piece-set-merida piece.black.rook{background-image:url(/pieces/merida/bR.svg)}.piece-set-merida piece.black.queen{background-image:url(/pieces/merida/bQ.svg)}.piece-set-merida piece.black.king{background-image:url(/pieces/merida/bK.svg)}.board piece{background-size:cover}.fig-K{background-image:url(/pieces/cburnett/wK.svg)}.fig-Q{background-image:url(/pieces/cburnett/wQ.svg)}.fig-R{background-image:url(/pieces/cburnett/wR.svg)}.fig-B{background-image:url(/pieces/cburnett/wB.svg)}.fig-N{background-image:url(/pieces/cburnett/wN.svg)}.game{--bar-h:56px;--panel-w:380px;--board-size:min(calc(100vh - 2 * var(--bar-h) - 2 * var(--space-4) - 2 * var(--space-2)), calc(100vw - var(--nav-width) - var(--panel-w) - 3 * var(--space-5) - var(--evalbar-w)));--evalbar-w:0px;grid-template-columns:calc(var(--board-size) + var(--evalbar-w)) var(--panel-w);gap:var(--space-5);justify-content:center;align-items:start;width:100%;display:grid}.game .panel{width:auto}.game__board-col{gap:var(--space-2);width:calc(var(--board-size) + var(--evalbar-w));flex-direction:column;display:flex}.game--setup .game__board-col{padding-top:calc(var(--bar-h) + var(--space-2))}.game__panel{height:calc(var(--board-size) + 2 * var(--bar-h) + 2 * var(--space-2));min-height:0}.game__opening{min-height:1.5rem;font-size:var(--fs-small)}.game__status{min-height:48px}.player-bar{align-items:center;gap:var(--space-3);height:var(--bar-h);color:var(--text-muted);display:flex}.player-bar--active{color:var(--text)}.avatar{border-radius:var(--radius-md);flex:none;width:44px;height:44px}.player-bar__name{align-items:center;gap:var(--space-2);font-weight:var(--weight-heavy);display:flex}.player-bar__dots:after{content:"···";letter-spacing:2px;animation:1.2s ease-in-out infinite pulse}@keyframes pulse{50%{opacity:.25}}@media (prefers-reduced-motion:reduce){.player-bar__dots:after{animation:none}}.captured{align-items:center;min-height:20px;display:flex}.captured__piece{width:20px;height:20px;margin-right:-8px}.captured__lead{margin-left:calc(var(--space-2) + 8px);font-size:var(--fs-small);font-weight:var(--weight-heavy);color:var(--text-muted)}.move-list{border-radius:var(--radius-md);background:var(--bg-inset);flex:1;min-height:120px;overflow-y:auto}.move-list__empty{padding:var(--space-4)}.move-list__rows{padding:var(--space-2);margin:0;list-style:none}.move-row{grid-template-columns:2.75em 1fr 1fr;align-items:center;display:grid}.move-row:nth-child(odd){background:#ffffff08}.move-row__number{padding-left:var(--space-2);color:var(--text-faint)}.move{padding:5px var(--space-2);border-radius:var(--radius-sm);font-weight:var(--weight-semibold);text-align:left;cursor:pointer;background:0 0;border:0}.move:hover{background:var(--bg-raised)}.move--active{background:var(--bg-raised);box-shadow:inset 0 -2px 0 var(--accent)}.fig{vertical-align:-.22em;background-repeat:no-repeat;background-size:contain;width:1.15em;height:1.15em;margin-right:1px;display:inline-block}.controls{gap:var(--space-2);flex-direction:column;display:flex}.controls__nav,.controls__actions{gap:var(--space-2);flex-wrap:wrap;display:flex}.controls__nav .icon-btn{border-radius:var(--radius-md);flex:1;width:auto}.controls__actions .btn{flex:auto}.controls__help{gap:var(--space-2);flex-wrap:wrap;display:flex}.controls__help-button{flex:1 1 0;min-width:0}.controls__actions--quiet{padding-top:var(--space-1);border-top:1px solid var(--border)}.controls__actions--quiet .btn--ghost{padding:0 var(--space-2);font-size:var(--fs-small);white-space:nowrap;flex:auto}.game__exit{align-self:flex-start;align-items:center;gap:var(--space-1);min-height:44px;margin-left:calc(-1 * var(--space-2));padding:0 var(--space-3) 0 var(--space-2);border-radius:var(--radius-md);color:var(--text-muted);font-size:var(--fs-small);font-weight:var(--weight-semibold);text-decoration:none;display:none}.controls__confirm{align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);background:var(--bg-inset);flex-wrap:wrap;display:flex}.controls__confirm span{flex:100%}.btn--small{min-height:36px;padding:0 var(--space-3)}.btn--big{min-height:56px;font-size:var(--fs-h3)}.btn--danger{background:var(--danger-strong);color:var(--ink-light)}.btn--danger:hover{background:var(--danger-strong-hover)}.btn--ghost{box-shadow:none;background:0 0}.notice{align-items:center;gap:var(--space-2) var(--space-3);min-height:44px;padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);background:var(--bg-inset);color:var(--text-muted);flex-wrap:wrap;display:flex}.notice>span{flex:auto}.notice--error{color:var(--danger)}.threats{gap:var(--space-2);flex-direction:column;display:flex}.threats .btn{align-self:flex-start}.threats__text p{margin:0}.notice--guard{border-left:4px solid var(--tier-mistake);color:var(--text);flex-direction:column;align-items:stretch}.notice--guard>strong{color:var(--tier-mistake-ink)}.guard__actions{gap:var(--space-2);flex-wrap:wrap;display:flex}.modal-backdrop{z-index:50;padding:var(--space-4);background:#0009;place-items:center;display:grid;position:fixed;inset:0}.modal{gap:var(--space-3);width:min(100%,420px);padding:var(--space-5);border-radius:var(--radius-lg);background:var(--bg-panel);text-align:center;flex-direction:column;display:flex;box-shadow:0 12px 40px #00000080}.modal h2{font-size:var(--fs-h2)}.modal__reason{color:var(--text-muted);margin:0}.modal__result{font-size:var(--fs-h2);font-weight:var(--weight-heavy);margin:0}.modal__actions{gap:var(--space-2);flex-direction:column;display:flex}.modal__note{margin:0}.modal__row{gap:var(--space-2);display:flex}.modal__row .btn{padding:0 var(--space-3);font-size:var(--fs-small);white-space:nowrap;flex:1 1 0}.modal__more .btn{white-space:nowrap}.modal__more{justify-content:center;gap:var(--space-2);display:flex}.setup{gap:var(--space-4)}.persona{align-items:center;gap:var(--space-4);display:flex}.persona .avatar{width:64px;height:64px}.persona__elo{font-size:var(--fs-h1);font-weight:var(--weight-heavy);line-height:1}.persona__band{color:var(--text-muted)}.field{gap:var(--space-2);border:0;flex-direction:column;min-width:0;margin:0;padding:0;display:flex}.field legend,.field>label,.field__label{font-weight:var(--weight-semibold);color:var(--text-muted);padding:0}.field p{margin:0}.small{font-size:var(--fs-small)}.color-picker{gap:var(--space-2);grid-template-columns:repeat(3,1fr);display:grid}.color-picker__option{align-items:center;gap:var(--space-1);padding:var(--space-3) var(--space-2);border-radius:var(--radius-md);background:var(--bg-inset);font-weight:var(--weight-semibold);cursor:pointer;border:2px solid #0000;flex-direction:column;display:flex}.color-picker__option img,.color-picker__random{width:44px;height:44px;font-size:var(--fs-h2);font-weight:var(--weight-heavy);color:var(--text-muted);place-items:center;display:grid}.color-picker__option.is-selected{border-color:var(--accent);background:var(--bg-raised)}.elo-row{align-items:center;gap:var(--space-3);display:flex}.elo-row input[type=range]{min-width:0;accent-color:var(--accent);flex:1}.elo-input{text-align:center;width:88px}.chip{padding:var(--space-1) var(--space-3);background:var(--bg-inset);font-weight:var(--weight-semibold);border-radius:999px;align-self:flex-start}.chip--selected{background:var(--accent);color:var(--accent-text)}.check{align-items:center;gap:var(--space-3);cursor:pointer;display:flex}.check input{width:20px;height:20px;accent-color:var(--accent)}@media (width<=999px){.game{--board-size:calc(100vw - 2 * var(--space-4) - var(--evalbar-w));grid-template-columns:calc(var(--board-size) + var(--evalbar-w));gap:var(--space-4)}.game--setup .game__board-col{padding-top:0}.game__panel{height:auto}.move-list{flex:none;max-height:200px}}.game--evalbar{--evalbar-w:44px}.game--evalbar .player-bar{padding-left:var(--evalbar-w)}.board-row{align-items:flex-start;display:flex}.evalbar{width:36px;height:var(--board-size);border-radius:var(--radius-sm);background:var(--eval-black);flex:none;margin-right:8px;position:relative;overflow:hidden}.evalbar__white{background:var(--eval-white);transition:height .3s;position:absolute;bottom:0;left:0;right:0}.evalbar--b .evalbar__white{top:0;bottom:auto}.evalbar__label{font-size:var(--fs-caption);font-weight:var(--weight-heavy);text-align:center;position:absolute;left:0;right:0}.evalbar--w .evalbar__label--white,.evalbar--b .evalbar__label--black{bottom:2px}.evalbar--w .evalbar__label--black,.evalbar--b .evalbar__label--white{top:2px}.evalbar__label--white{color:var(--side-white-ink)}.evalbar__label--black{color:var(--side-white)}@media (prefers-reduced-motion:reduce){.evalbar__white{transition:none}}.clock{min-width:104px;padding:4px var(--space-3);border-radius:var(--radius-md);background:var(--bg-inset);color:var(--text-muted);font-size:var(--fs-h2);font-weight:var(--weight-heavy);text-align:right;margin-left:auto}.clock--running{background:var(--bg-raised);color:var(--text)}.clock--cue{color:var(--warning)}.game__cue{margin:0}.chip--cue{border-color:var(--warning);color:var(--warning)}.clock--low{color:var(--danger)}.clock--low.clock--running{background:color-mix(in srgb, var(--danger) 30%, transparent)}.daily-due{color:var(--text-muted);font-weight:var(--weight-semibold);font-size:var(--fs-small);margin-left:auto}.game__meta{gap:var(--space-2);flex-wrap:wrap;min-height:1.75rem;display:flex}.modal__rating{color:var(--accent-ink);font-weight:var(--weight-heavy);margin:0}.modal__odds{color:var(--text-muted);font-size:var(--text-sm);margin:0}.persona{align-items:flex-start}.persona__text{min-width:0}.persona__head{align-items:baseline;gap:var(--space-3);display:flex}.persona__name{font-size:var(--fs-h3);font-weight:var(--weight-heavy)}.persona__elo{font-size:var(--fs-h2)}.persona__desc{margin:var(--space-1) 0 0}.tabs{gap:var(--space-2);flex-wrap:wrap;display:flex}.tab{padding:var(--space-2) var(--space-3);background:var(--bg-inset);color:var(--text-muted);font-weight:var(--weight-semibold);cursor:pointer;border:0;border-radius:999px}.tab.is-selected{background:var(--accent);color:var(--accent-text)}.chips{gap:var(--space-2);flex-wrap:wrap;display:flex}.chip--button{color:inherit;font:inherit;font-weight:var(--weight-semibold);cursor:pointer;border:0}.chip--button.chip--selected{color:var(--accent-text)}.custom-tc{gap:var(--space-2);grid-template-columns:repeat(3,1fr);display:grid}.custom-tc label{gap:var(--space-1);flex-direction:column;display:flex}.custom-tc input{width:100%}.segmented{border-radius:var(--radius-md);background:var(--bg-inset);align-self:flex-start;display:inline-flex;overflow:hidden}.segmented__option{padding:var(--space-2) var(--space-4);color:var(--text-muted);font-weight:var(--weight-semibold);cursor:pointer;background:0 0;border:0}.segmented__option.is-selected{background:var(--accent);color:var(--accent-text)}.segmented__option:disabled{opacity:.45;cursor:not-allowed}fieldset[disabled]{opacity:.55}.check:has(>select){flex-wrap:wrap}.check select{flex:11rem;min-width:0}.check>span{min-width:0}.daily-game{align-items:center;gap:var(--space-2) var(--space-3);padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);background:var(--bg-inset);grid-template-columns:36px minmax(0,1fr);display:grid}.daily-game__info{flex-direction:column;min-width:0;display:flex}.daily-game__actions{justify-content:flex-end;gap:var(--space-2);grid-column:1/-1;display:flex}.settings{width:min(100%, var(--container-lg))}.settings__grid{gap:var(--space-5);grid-template-columns:320px minmax(0,1fr);align-items:start;display:grid}.settings__preview{--board-size:320px}.settings__controls{gap:var(--space-4);flex-direction:column;display:flex}.swatches{gap:var(--space-2);flex-wrap:wrap;display:flex}.swatch{align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);background:var(--bg-inset);font-weight:var(--weight-semibold);cursor:pointer;border:2px solid #0000;display:flex}.swatch.is-selected{border-color:var(--accent);background:var(--bg-raised)}.swatch__board{border-radius:var(--radius-sm);width:28px;height:28px;background-size:14px 14px!important}.settings__link{color:var(--accent-ink);font-weight:var(--weight-semibold)}.ratings{gap:var(--space-4);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.rating-card{gap:var(--space-2);padding:var(--space-4);border-radius:var(--radius-md);background:var(--bg-inset);flex-direction:column;display:flex}.rating-card h3{font-size:var(--fs-body);color:var(--text-muted)}.rating-card--empty{padding:var(--space-3) var(--space-4)}.rating-card--empty .rating-card__value{font-size:var(--fs-h2)}.rating-card__value{font-size:var(--fs-display);font-weight:var(--weight-heavy);line-height:1}.rating-card__provisional{margin-left:var(--space-2);color:var(--text-faint);font-size:var(--fs-h3)}.rating-chart{width:100%;height:auto}.rating-chart__label{fill:var(--text-faint);font-size:var(--fs-caption)}@media (width<=999px){.settings__grid{grid-template-columns:1fr}.settings__preview{--board-size:min(320px, calc(100vw - 80px))}.ratings{grid-template-columns:1fr}.clock{min-width:88px;font-size:var(--fs-h3)}}.lesson{gap:var(--space-2);padding:var(--space-3);border-radius:var(--radius-md);background:var(--bg-inset);flex-direction:column;display:flex}.lesson__title{font-size:var(--fs-body);margin:0}.lesson__goal{font-weight:var(--weight-semibold);margin:0}.lesson__idea summary{cursor:pointer;color:var(--text-muted)}.lesson__idea p{margin:var(--space-2) 0 0}.lesson__verdict{font-weight:var(--weight-heavy);margin:0}.lesson__verdict--passed{color:var(--tier-best-ink)}.lesson__verdict--failed{color:var(--tier-mistake-ink)}.lesson__actions{gap:var(--space-2);flex-wrap:wrap;display:flex}.field--danger{padding:var(--space-3) var(--space-4);border:1px solid var(--danger);border-radius:var(--radius-md)}.field--danger legend{padding:0 var(--space-2);color:var(--danger)}.rival{align-items:center;gap:var(--space-2);padding:var(--space-3);border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--bg-inset);display:flex}.rival .persona{flex:1;min-width:0}.rival__step{flex:none}.profile .segmented{align-self:stretch}.profile__desc{min-height:3em}.setup__custom{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--bg-inset)}.setup__custom>summary{padding:var(--space-3) var(--space-6) var(--space-3) var(--space-4);font-weight:var(--weight-semibold);cursor:pointer;flex-direction:column;gap:2px;list-style:none;display:flex;position:relative}.setup__custom>summary::-webkit-details-marker{display:none}.setup__custom>summary:after{top:50%;right:var(--space-4);border-right:2px solid var(--text-muted);border-bottom:2px solid var(--text-muted);content:"";width:8px;height:8px;transition:transform var(--dur-base) var(--ease-out);position:absolute;transform:translateY(-70%)rotate(45deg)}.setup__custom[open]>summary:after{transform:translateY(-30%)rotate(-135deg)}.setup__custom[open]>summary{border-bottom:1px solid var(--border)}.setup__custom-body{gap:var(--space-4);padding:var(--space-4);flex-direction:column;display:flex}.setup__start{z-index:5;gap:var(--space-2);margin-bottom:calc(-1 * var(--space-5));padding:var(--space-4) 0 var(--space-4);background:linear-gradient(to bottom, transparent, var(--bg-panel) 16px);flex-direction:column;display:flex;position:sticky;bottom:0}.setup__start p{text-align:center;margin:0}@media (width<=999px){.game--setup .game__board-col{display:none}.setup__start{bottom:calc(64px + env(safe-area-inset-bottom));padding-bottom:var(--space-2)}}.segmented--fill .segmented__option{padding-inline:var(--space-2);font-size:var(--fs-small)}@media (width<=999px){.game__exit{display:inline-flex}.game__panel .controls{z-index:10;margin:0 calc(-1 * var(--space-5)) calc(-1 * var(--space-5));padding:var(--space-3) var(--space-5) var(--space-4);border-top:1px solid var(--border);border-radius:0 0 var(--radius-lg) var(--radius-lg);background:var(--bg-panel);box-shadow:var(--shadow-2);position:sticky;bottom:0}}.tier-badge{z-index:8;aspect-ratio:1;width:4.6%;left:calc((var(--col) + 1) * 12.5% - 4.2%);top:calc(var(--row) * 12.5% + 0.3%);pointer-events:none;filter:drop-shadow(0 1px 1px #00000080);position:absolute}.tier-badge svg{width:100%;height:100%;display:block}.tier-badge--provisional:after{content:"";border:1.5px dotted #ffffffd9;border-radius:50%;position:absolute;inset:-14%}.tier-icon{vertical-align:middle;flex:none}.move__tier{vertical-align:-.2em;margin-right:4px}.link{color:var(--accent-ink);font:inherit;font-weight:var(--weight-semibold);text-underline-offset:2px;cursor:pointer;background:0 0;border:0;padding:0;text-decoration:underline}.link:hover{color:var(--text)}.dot{border:1px solid var(--border);border-radius:50%;flex:none;width:12px;height:12px;display:inline-block}.dot--w{background:var(--side-white)}.dot--b{background:var(--side-black-deep)}.info{border:1px solid var(--text-faint);width:22px;height:22px;color:var(--text-muted);font:inherit;font-size:var(--fs-caption);font-style:italic;font-weight:var(--weight-semibold);vertical-align:middle;cursor:pointer;background:0 0;border-radius:50%;place-items:center;padding:0;display:inline-grid}.info:hover{border-color:var(--text-muted);color:var(--text)}.modal__accuracy{margin:0 0 var(--space-3);color:var(--text-muted);text-align:center}.review .game__panel,.review.game .game__panel{gap:var(--space-3);flex-direction:column;display:flex;overflow:hidden}.review-player{align-items:center;gap:var(--space-2);height:var(--bar-h);padding-left:var(--evalbar-w);display:flex}.review__nav{padding-left:var(--evalbar-w)}.review__nav .btn:last-child{flex:2}.review__top{gap:var(--space-1);flex-direction:column;display:flex}.review__title{font-size:var(--fs-lead);margin:0}.review__controls{gap:var(--space-2);flex-direction:column;display:flex}.review__progress{align-items:center;gap:var(--space-2);grid-template-columns:1fr auto;display:grid}.review__progress progress{width:100%;height:10px;accent-color:var(--accent);grid-column:1/-1}.review__scroll{gap:var(--space-3);min-height:0;padding-right:var(--space-1);flex-direction:column;flex:1;display:flex;overflow-y:auto}.review__scroll>*{flex:none}.review__scroll .move-list{max-height:260px}.review__retry-all{gap:var(--space-2);padding-bottom:var(--space-2);flex-wrap:wrap;display:flex}.tabs{gap:var(--space-1);border-bottom:1px solid var(--border);display:flex}.tab{padding:var(--space-2) var(--space-3);color:var(--text-muted);font:inherit;font-weight:var(--weight-semibold);cursor:pointer;background:0 0;border:0;border-bottom:3px solid #0000}.tab--active{border-bottom-color:var(--accent);color:var(--text)}.overview__result,.overview__opening,.overview__theory{margin:0 0 var(--space-1)}.overview__table{border-collapse:collapse;table-layout:fixed;width:100%}.overview__col-stats{width:38%}.overview__col-tiers{width:56%}.overview__col-phases{width:28%}.overview__table th,.overview__table td{padding:5px var(--space-2);overflow-wrap:break-word;text-align:right}.overview__table th[scope=row]{color:var(--text-muted);font-weight:var(--weight-regular);text-align:left}.overview__table tbody tr:nth-child(odd){background:#ffffff08}.overview__who{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overview__who .dot{margin-right:6px}.overview__name{max-width:calc(100% - 18px);font-weight:var(--weight-heavy);text-overflow:ellipsis;vertical-align:bottom;white-space:nowrap;display:inline-block;overflow:hidden}.overview__big td{font-size:var(--fs-h2);font-weight:var(--weight-heavy)}.overview__big small{font-size:var(--fs-small);color:var(--text-muted)}.overview__heading{margin:var(--space-4) 0 var(--space-1);font-size:var(--fs-small);color:var(--text-muted)}.overview__tiers th[scope=row]{font-weight:var(--weight-semibold)}.overview__tier{align-items:center;gap:var(--space-2);display:flex}.phase-grade{flex-direction:column;align-items:flex-end;gap:2px;display:inline-flex}.phase-chip{white-space:nowrap;background:var(--bg-raised);font-size:var(--fs-small);font-weight:var(--weight-semibold);border-radius:999px;padding:1px 8px}.phase-chip--excellent{color:var(--tier-excellent-ink)}.phase-chip--good{color:var(--tier-good-ink)}.phase-chip--inaccuracy{color:var(--tier-inaccuracy-ink)}.phase-chip--mistake{color:var(--tier-mistake-ink)}.phase-chip--blunder{color:var(--tier-blunder-ink)}.eval-graph,.time-chart{border-radius:var(--radius-md);cursor:pointer;width:100%;height:110px;display:block}.time-chart{height:70px}.eval-graph__bg{fill:var(--eval-black)}.eval-graph__white{fill:var(--side-white)}.eval-graph__mid{stroke:#00000059;stroke-width:1px;vector-effect:non-scaling-stroke}.eval-graph__cursor{stroke:var(--accent-graphic);stroke-width:2px;vector-effect:non-scaling-stroke}.eval-graph__dot{stroke:var(--bg-panel);stroke-width:1.5px;vector-effect:non-scaling-stroke}.time-chart__bar--w{fill:var(--side-white)}.time-chart__bar--b{fill:var(--side-black-soft)}.time-chart__bar--trouble{fill:var(--tier-blunder)}.time-chart__bar--current{stroke:var(--accent-graphic);stroke-width:2px;vector-effect:non-scaling-stroke}.coach{gap:var(--space-2);padding:var(--space-3);border-left:4px solid var(--border);border-radius:var(--radius-md);background:var(--bg-inset);flex-direction:column;display:flex}.coach[data-tier=brilliant]{border-left-color:var(--tier-brilliant)}.coach[data-tier=great]{border-left-color:var(--tier-great)}.coach[data-tier=best]{border-left-color:var(--tier-best)}.coach[data-tier=excellent]{border-left-color:var(--tier-excellent)}.coach[data-tier=good]{border-left-color:var(--tier-good)}.coach[data-tier=book]{border-left-color:var(--tier-book)}.coach[data-tier=inaccuracy]{border-left-color:var(--tier-inaccuracy)}.coach[data-tier=mistake]{border-left-color:var(--tier-mistake)}.coach[data-tier=miss]{border-left-color:var(--tier-miss)}.coach[data-tier=blunder]{border-left-color:var(--tier-blunder)}.coach__head{align-items:center;gap:var(--space-3);display:flex}.coach__title{flex-direction:column;line-height:1.25;display:flex}.coach__title strong{font-size:var(--fs-lead)}.coach__notes{margin:0;padding-left:1.1em}.coach__notes li+li{margin-top:4px}.coach__best{color:var(--text-muted);margin:0}.coach__lines h4{font-size:var(--fs-small);color:var(--text-faint);text-transform:uppercase;letter-spacing:.04em;margin:0 0 4px}.coach__lines ol{gap:2px;margin:0;padding:0;list-style:none;display:grid}.coach__lines li{align-items:baseline;gap:var(--space-2);font-size:var(--fs-small);grid-template-columns:3.4em 1fr auto;display:grid}.coach__eval{border-radius:var(--radius-sm);background:var(--bg-raised);font-weight:var(--weight-heavy);text-align:center;padding:1px 6px}.coach__pv{overflow-wrap:anywhere;min-width:0}.coach__actions,.retry__actions{gap:var(--space-2);flex-wrap:wrap;display:flex}.retry{gap:var(--space-3);padding:var(--space-3);border-radius:var(--radius-md);background:var(--bg-inset);flex-direction:column;display:flex}.retry__head{justify-content:space-between;align-items:baseline;display:flex}.retry__head h3,.retry__prompt{margin:0}.retry__feedback{min-height:3em;font-weight:var(--weight-semibold);margin:0}.retry__feedback--correct{color:var(--tier-best-ink)}.retry__feedback--wrong,.retry__feedback--same{color:var(--tier-mistake-ink)}.review-list{max-width:var(--container-md);margin:0 auto}.review-list__rows{gap:var(--space-2);margin:0;padding:0;list-style:none;display:grid}.review-list__row{align-items:center;gap:var(--space-3);padding:var(--space-3);border-radius:var(--radius-md);background:var(--bg-inset);grid-template-columns:1fr auto auto;display:grid}@media (width<=600px){.overview__table th,.overview__table td{padding-inline:var(--space-1)}.overview__big td{font-size:var(--fs-h3)}}@media (width<=999px){.review .game__panel,.review__scroll{overflow:visible}.review-player,.review__nav{padding-left:var(--evalbar-w)}.review-list__row{grid-template-columns:1fr auto}.review-list__row .chip{grid-column:1;justify-self:start}}.quiz__sub{align-items:center;gap:var(--space-2);margin:0 0 var(--space-1);font-size:var(--fs-small);display:flex}.quiz__why{gap:var(--space-2);flex-direction:column;display:flex}.quiz__results{gap:var(--space-1);margin:0;padding:0;list-style:none;display:grid}.quiz__ok{color:var(--tier-best-ink)}.quiz__miss{color:var(--tier-mistake-ink)}.review__moments{justify-content:space-between;align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-3);border:1px solid var(--accent);border-radius:var(--radius-md);background:var(--bg-inset);display:flex}.review__moments--none{border-color:var(--border);margin:0;display:block}.review__moments-text{flex-direction:column;min-width:0;display:flex}.review__moments-nav{gap:var(--space-1);flex:none;display:flex}.review__depth summary{min-height:44px;color:var(--text-muted);cursor:pointer;align-items:center;display:flex}.summary{gap:var(--space-2);grid-template-columns:repeat(auto-fit,minmax(9.5rem,1fr));display:grid}.summary__card{gap:var(--space-1);padding:var(--space-3)}.summary__label{color:var(--text-muted);font-size:var(--fs-small);font-weight:var(--weight-semibold);margin:0}.summary__big{font-size:var(--fs-h1);font-weight:var(--weight-heavy);margin:0;line-height:1.1}.summary__pair{gap:var(--space-1);font-size:var(--fs-lead);font-weight:var(--weight-heavy);flex-direction:column;margin:0;display:flex}.summary__text{margin:0}.summary__slips{gap:var(--space-1);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.summary__slips li{align-items:center;gap:var(--space-2);display:flex}.overview__detail>summary{min-height:44px;color:var(--text-muted);cursor:pointer;align-items:center;display:flex}.review__moments-text>span{min-height:1.25em}.overview__jumps{gap:var(--space-1);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.overview__jumps li{align-items:center;gap:0 var(--space-2);flex-wrap:wrap;display:flex}.analysis__opening{align-items:center;gap:var(--space-2);min-height:var(--bar-h);padding-left:var(--evalbar-w);font-size:var(--fs-small);display:flex}.analysis__engine{align-items:flex-end;gap:var(--space-3);flex-wrap:wrap;display:flex}.analysis__select{gap:var(--space-1);flex-direction:column;display:flex}.analysis__status{margin:0}.analysis__actions{gap:var(--space-2);flex-wrap:wrap;display:flex}.analysis__load>summary{cursor:pointer;font-weight:var(--weight-semibold)}.analysis__load[open]>summary{margin-bottom:var(--space-3)}.engine-lines{gap:var(--space-1);margin:0;padding:0;list-style:none;display:grid}.engine-line{align-items:baseline;gap:var(--space-2);padding:var(--space-2);border-radius:var(--radius-md);background:var(--bg-inset);grid-template-columns:4.2em minmax(0,1fr) auto;display:grid}.engine-line__eval{border-radius:var(--radius-sm);background:var(--side-white);color:var(--side-white-ink);font-weight:var(--weight-heavy);text-align:center;padding:2px 6px}.engine-line__eval--black{background:var(--side-black);color:var(--side-black-ink)}.engine-line__moves{gap:2px var(--space-1);flex-wrap:wrap;line-height:1.5;display:flex}.engine-line__step{align-items:baseline;gap:2px;display:inline-flex}.engine-line__move,.tree__move{border-radius:var(--radius-sm);color:var(--text);font:inherit;cursor:pointer;background:0 0;border:0;padding:1px 4px}.engine-line__move:hover,.tree__move:hover{background:var(--bg-raised)}.tree__flow{margin:0;line-height:1.9}.tree__number{color:var(--text-muted);margin-right:2px}.tree__move{font-weight:var(--weight-semibold)}.tree__nag{color:var(--accent-ink);font-weight:var(--weight-heavy);margin-left:1px}.tree__move--active .tree__nag{color:inherit}.studybar{gap:var(--space-2);flex-direction:column;display:flex}.studybar__open{gap:var(--space-2);padding:var(--space-3);border-radius:var(--radius-md);background:var(--bg-inset);flex-direction:column;display:flex}.studybar__head{align-items:center;gap:var(--space-2) var(--space-3);flex-wrap:wrap;display:flex}.studybar__head .btn{margin-left:auto}.studybar__row{gap:var(--space-2);grid-template-columns:repeat(auto-fit,minmax(10rem,1fr));display:grid}.studybar__field{gap:var(--space-1);flex-direction:column;min-width:0;display:flex}.annotate{gap:var(--space-2);flex-direction:column;display:flex}.annotate__comment{font-family:inherit;font-size:var(--fs-small)}.annotate__group{border:0;margin:0;padding:0}.annotate__nags{gap:var(--space-1);flex-wrap:wrap;display:flex}.annotate__nag{min-width:2.25rem;font-weight:var(--weight-heavy)}.annotate__nag[aria-pressed=true]{background:var(--accent);color:var(--accent-text)}.annotate__shapes{align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.tree__comment{margin:0 var(--space-1);color:var(--text-muted);font-style:italic}.tree__move--variation{font-weight:var(--weight-regular);color:var(--text-muted)}.tree__move--active{background:var(--accent);color:var(--accent-text)}.tree__move--active:hover{background:var(--accent-hover)}.tree__variation{border-left:2px solid var(--border);color:var(--text-muted);margin:0 2px;padding:0 4px;display:inline}.import{gap:var(--space-2);flex-direction:column;display:flex}.import__title{font-size:var(--fs-body);margin:0}.import__text{width:100%;padding:var(--space-2);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-inset);color:var(--text);font-family:var(--font-mono);font-size:var(--fs-small);resize:vertical}.import__buttons{gap:var(--space-2);flex-wrap:wrap;display:flex}.import__found,.import__card{gap:var(--space-2);flex-direction:column;display:flex}.import__found p,.import__card p{margin:0}.import__list{gap:var(--space-1);max-height:180px;margin:0;padding:0;list-style:none;display:grid;overflow-y:auto}.import__game{width:100%;padding:var(--space-2);border-radius:var(--radius-md);background:var(--bg-inset);color:var(--text);font:inherit;text-align:left;cursor:pointer;border:1px solid #0000;flex-direction:column;display:flex}.import__game--selected{border-color:var(--accent)}.import__ratings{gap:var(--space-2);grid-template-columns:1fr 1fr;display:grid}.import__hint{grid-column:1/-1}.field-input{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-inset);width:100%;color:var(--text);font:inherit;padding:6px 8px}.history__filters{align-items:flex-end;gap:var(--space-3);margin:var(--space-3) 0;flex-wrap:wrap;display:flex}.history__filter{gap:var(--space-1);flex-direction:column;display:flex}.history__row-actions{gap:var(--space-2);flex-wrap:wrap;justify-content:flex-end;display:flex}.history__tags{gap:var(--space-1) var(--space-2);flex-wrap:wrap;margin-top:2px;display:flex}.history__import{margin-top:var(--space-4);padding-top:var(--space-3);border-top:1px solid var(--border)}.review-list{max-width:820px}.review-list__row{grid-template-columns:1fr auto auto}.review-list__row .history__row-actions{grid-column:1/-1}.about{max-width:820px;margin:0 auto}.about h2{margin:var(--space-4) 0 var(--space-1);font-size:var(--fs-lead)}.about pre{max-height:360px;margin:var(--space-2) 0 0;padding:var(--space-3);border-radius:var(--radius-md);background:var(--bg-inset);font-size:var(--fs-caption);white-space:pre-wrap;overflow:auto}.about details{margin:var(--space-3) 0}.about summary{cursor:pointer;font-weight:var(--weight-semibold)}.data-box{gap:var(--space-2);margin-top:var(--space-2);padding:var(--space-3);border-radius:var(--radius-md);background:var(--bg-inset);flex-direction:column;display:flex}.data-box p{margin:0}.kbd-move{gap:var(--space-1);margin-top:var(--space-2);flex-direction:column;display:flex}.kbd-move__row{gap:var(--space-2);display:flex}.kbd-move__hint{margin:0}@media (width<=999px){.analysis__opening{min-height:0}.engine-line{grid-template-columns:3.8em minmax(0,1fr)}.engine-line__depth{display:none}}.kbd-move>summary{cursor:pointer;font-weight:var(--weight-semibold)}.kbd-move__message--error{color:var(--danger)}.explain{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-inset);padding:var(--space-2) var(--space-3)}.explain>summary{cursor:pointer;font-weight:var(--weight-semibold)}.explain[open]>summary{margin-bottom:var(--space-2)}.explain__body{gap:var(--space-2);flex-direction:column;display:flex}.explain__body p,.explain__body ul{margin:0}.explain__engine{font-weight:var(--weight-semibold)}.explain__verdict{line-height:1.4}.explain__meters,.explain__notes{gap:var(--space-2);flex-direction:column;padding:0;list-style:none;display:flex}.explain__meter{align-items:center;gap:2px var(--space-2);grid-template-columns:7.5rem minmax(4rem,1fr);grid-template-areas:"label track""lean lean";display:grid}.explain__label{font-size:var(--fs-small);grid-area:label}.explain__track{background:var(--bg-raised);border-radius:5px;grid-area:track;height:10px;display:block;position:relative;overflow:hidden}.explain__mid{background:var(--text-faint);z-index:1;width:2px;margin-left:-1px;position:absolute;top:0;bottom:0;left:50%}.explain__fill{position:absolute;top:0;bottom:0}.explain__fill--w{background:var(--side-white)}.explain__fill--b{background:var(--side-black-soft)}.explain__fill--none{display:none}.explain__lean{color:var(--text-muted);grid-area:lean}.explain__scale{text-align:center}.explain__heading{margin:var(--space-1) 0 0;font-size:var(--fs-small)}.explain__note{line-height:1.4;font-size:var(--fs-small)}.explain__tag{padding:0 var(--space-2);border-radius:var(--radius-sm);font-size:var(--fs-caption);font-weight:var(--weight-semibold);white-space:nowrap;display:inline-block}.explain__tag--w{background:var(--side-white);color:var(--side-white-ink)}.explain__tag--b{background:var(--side-black);color:var(--text)}.explain__caveat{line-height:1.4}.analysis__more>summary{min-height:44px;color:var(--text-muted);font-weight:var(--weight-semibold);cursor:pointer;align-items:center;display:flex}.engine-line{grid-template-columns:4.8em minmax(0,1fr) auto}.engine-line__eval{font-size:var(--fs-lead)}.engine-line[data-rank="1"]{box-shadow:inset 0 0 0 1px var(--accent)}.study{gap:var(--space-3);flex-direction:column;display:flex}.study__head{justify-content:space-between;align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.study__head h1{margin:0}.study__filters{gap:var(--space-3);grid-template-columns:repeat(auto-fit,minmax(12rem,1fr));display:grid}.study__field{gap:var(--space-1);flex-direction:column;min-width:0;display:flex}.study__tags{gap:var(--space-2);flex-wrap:wrap;display:flex}.study__list{gap:var(--space-2);margin:0;padding:0;list-style:none;display:grid}.study__row{justify-content:space-between;align-items:center;gap:var(--space-3);padding:var(--space-3);border-radius:var(--radius-md);background:var(--bg-inset);flex-wrap:wrap;display:flex}.study__main{gap:var(--space-1);flex-direction:column;min-width:0;display:flex}.study__main strong{overflow-wrap:anywhere}.study__chips{gap:var(--space-1);flex-wrap:wrap;display:flex}.study__actions{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.study__confirm{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:inline-flex}.infotip{width:min(360px,100vw - 32px);padding:var(--space-3) var(--space-4);border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--bg-raised);color:var(--text);font-size:var(--fs-small);font-weight:var(--weight-regular);text-align:left;font-style:normal;box-shadow:0 8px 24px #00000073}.infotip::backdrop{background:#00000059}.infotip p{margin:0 0 var(--space-2)}.tier-legend{gap:var(--space-2);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.tier-legend li{align-items:flex-start;gap:var(--space-2);display:flex}.tier-legend svg{flex:none;margin-top:1px}.overview__legend{margin:var(--space-2) 0}.overview__legend summary{cursor:pointer;color:var(--text-muted)}.overview__legend .tier-legend{margin-top:var(--space-2)}.tour{gap:var(--space-2);padding:var(--space-3) var(--space-4);border:1px solid var(--accent);border-radius:var(--radius-md);background:var(--bg-inset);flex-direction:column;display:flex}.tour h2,.tour p{margin:0}.tour h2{font-size:var(--fs-lead)}.tour__steps{gap:var(--space-1);flex-direction:column;margin:0;padding-left:1.25em;display:flex}.tour__actions{align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.field__row{align-items:center;gap:var(--space-2);display:flex}.field__row>label{font-weight:var(--weight-semibold);color:var(--text-muted);padding:0}.recommend{margin:0}.help{max-width:820px;margin:0 auto}.help h2{margin:var(--space-5) 0 var(--space-2);font-size:var(--fs-lead)}.help__steps{gap:var(--space-2);flex-direction:column;margin:0;padding-left:1.25em;display:flex}.help__terms{gap:var(--space-3);flex-direction:column;margin:0;display:flex}.help__terms dt{font-weight:var(--weight-semibold)}.help__terms dd{margin:var(--space-1) 0 0;color:var(--text-muted)}.today{gap:var(--space-5);flex-direction:column;max-width:820px;margin:0 auto;display:flex}.today h1,.today h2,.today p,.today dl,.today dd{margin:0}.today h2{margin-bottom:var(--space-2);font-size:var(--fs-lead)}.today section{gap:var(--space-2);flex-direction:column;display:flex}.today__next{gap:var(--space-2);padding:var(--space-3) var(--space-4);border:1px solid var(--accent);border-radius:var(--radius-md);background:var(--bg-inset);flex-direction:column;display:flex}.today__next-title{font-size:var(--fs-lead)}.today__bar{width:100%;height:12px;accent-color:var(--accent)}.today__met{color:var(--accent-ink);font-weight:var(--weight-semibold)}.today__counts{gap:var(--space-2) var(--space-4);flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.today__numbers{gap:var(--space-3) var(--space-6);flex-wrap:wrap;display:flex}.today__numbers dd{font-size:var(--fs-h2);font-weight:var(--weight-semibold)}.today__scroll{position:relative;overflow-x:auto}.today__table{border-collapse:collapse;width:100%}.today__table th,.today__table td{padding:var(--space-2) var(--space-3) var(--space-2) 0;text-align:left;border-bottom:1px solid var(--border)}.today__table thead th{color:var(--text-muted);font-size:var(--fs-small);font-weight:var(--weight-semibold)}.calendar{gap:3px;width:fit-content;max-width:100%;display:flex}.calendar__week{flex-direction:column;gap:3px;display:flex}.calendar__day{box-sizing:border-box;background:var(--bg-raised);border:2px solid #0000;border-radius:3px;width:14px;height:14px}.calendar__day--goal{border-color:var(--accent);background:var(--accent)}.calendar__day--some{border-color:var(--accent);background:0 0}.calendar__day--future{border-color:var(--border);opacity:.4;background:0 0}.calendar__day.is-today{outline:2px solid var(--text);outline-offset:1px}.learn{gap:var(--space-3);flex-direction:column;max-width:820px;margin:0 auto;display:flex}.learn h1,.learn h2,.learn p{margin:0}.learn h1{font-size:var(--fs-h3)}.learn h2{margin-top:var(--space-3);font-size:var(--fs-lead)}.learn section{gap:var(--space-2);flex-direction:column;display:flex}.learn__list{gap:var(--space-2);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.learn__lesson{align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-3);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-inset);display:flex}.learn__lesson[data-next=true]{border-color:var(--accent)}.learn__number{border:1px solid var(--border);width:28px;height:28px;color:var(--text-muted);font-weight:var(--weight-semibold);border-radius:50%;flex:none;place-items:center;display:grid}.learn__lesson[data-done=true] .learn__number{border-color:var(--accent);color:var(--accent-ink)}.learn__what{flex-direction:column;flex:1;min-width:0;display:flex}.learn-lesson,.learn-text>.learn-lesson{width:min(100%, var(--container-md))}.learn-text{justify-content:center;display:flex}.learn__text{font-size:var(--fs-lead);margin:0;line-height:1.5}.learn__options{gap:var(--space-2);flex-direction:column;display:flex}.learn__option{text-align:left;white-space:normal;justify-content:flex-start}.learn__option.is-wrong{opacity:.6;text-decoration:line-through}.learn__option.is-right{border-color:var(--accent)}.learn__actions{gap:var(--space-2);flex-wrap:wrap;display:flex}.learn .learn__hero{align-items:center;gap:var(--space-4);flex-direction:row}.learn__hero-body{align-items:flex-start;gap:var(--space-1);flex-direction:column;flex:1;min-width:0;display:flex}.learn__hero-body>div{margin:var(--space-2) 0}.learn__hero-title{font-size:var(--fs-lead)}.learn__kicker{color:var(--text-muted);font-size:var(--fs-caption);font-weight:var(--weight-heavy);letter-spacing:.06em;text-transform:uppercase;margin:0}.learn__meta{align-items:center;gap:0 var(--space-2);flex-wrap:wrap;display:flex}.learn__chip{padding:0 var(--space-2);background:var(--accent);color:var(--accent-text);font-size:var(--fs-caption);font-weight:var(--weight-heavy);border-radius:999px;align-items:center;display:inline-flex}.learn__chip--done{border:1px solid var(--border-control);color:var(--accent-ink);background:0 0}.learn__lesson[data-done=true] .learn__number{background:var(--accent);color:var(--accent-text)}.learn__dots{gap:var(--space-1);margin:0;padding:0;list-style:none;display:flex}.learn__dot{background:var(--border-control);border-radius:999px;flex:1;height:6px}.learn__dot.is-exercise{flex:2}.learn__dot.is-done{background:var(--accent-graphic)}.learn__dot.is-current{background:var(--accent);box-shadow:0 0 0 2px color-mix(in srgb, var(--accent) 35%, transparent)}.learn__done{text-align:center;align-items:center}.learn__done h1,.learn__done p{margin:0}.learn__badge{background:var(--accent);width:64px;height:64px;color:var(--accent-text);animation:learn-pop var(--dur-slow) var(--ease-out) both;border-radius:50%;place-items:center;display:grid}@keyframes learn-pop{0%{opacity:0;transform:scale(.6)}60%{transform:scale(1.1)}to{opacity:1;transform:scale(1)}}@media (prefers-reduced-motion:reduce){.learn__badge{animation:none}}.learn__done-lesson{color:var(--text-muted);font-weight:var(--weight-semibold)}.learn__takeaway{width:100%;padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);background:var(--bg-inset)}.learn__takeaway p{margin-top:var(--space-1);font-size:var(--fs-lead)}.learn__path{align-items:center;gap:var(--space-1);flex-direction:column;width:100%;display:flex}.learn__path progress{width:min(100%,16rem)}.learn__done .learn__actions{justify-content:center}.learn__go-icon{display:none}@media (width<=640px){.learn__lesson .btn{min-width:44px;padding:0}.learn__go-label{clip:rect(0, 0, 0, 0);white-space:nowrap;width:1px;height:1px;margin:-1px;position:absolute;overflow:hidden}.learn__go-icon{display:block}.learn .learn__hero{gap:var(--space-3)}.panel.learn{padding:var(--space-4)}}.today__head{justify-content:space-between;align-items:center;gap:var(--space-2) var(--space-4);flex-wrap:wrap;display:flex}.today__streak-chip{align-items:center;gap:var(--space-1);padding:var(--space-1) var(--space-3);border:1px solid var(--border-control);font-weight:var(--weight-semibold);border-radius:999px;display:inline-flex}.today__streak-chip .icon{color:var(--accent-graphic)}.today .today__resume,.today .today__next{gap:var(--space-2)}.today__resume h2{margin:0}.update-banner{justify-content:space-between;align-items:center;gap:var(--space-2) var(--space-3);margin-bottom:var(--space-3);padding:var(--space-2) var(--space-3);border:1px solid var(--border-control);border-radius:var(--radius-md);background:var(--bg-panel);flex-wrap:wrap;display:flex}.update-banner__buttons{gap:var(--space-2);display:inline-flex}.today .today__nudge{gap:var(--space-2)}.today__nudge h2,.today__nudge p{margin:0}.today__nudge-buttons{gap:var(--space-2);flex-wrap:wrap;display:flex}.today__also{margin:var(--space-1) 0 0;flex-direction:column;padding:0;list-style:none;display:flex}.today__also-step{justify-content:space-between;align-items:center;gap:var(--space-3);width:100%;min-height:44px;padding:var(--space-1) 0;border:0;border-top:1px solid var(--border);color:var(--text);font:inherit;text-align:left;cursor:pointer;background:0 0;display:flex}.today__also-step:hover span:first-child{text-decoration:underline}.today__quick{gap:var(--space-2);flex-wrap:wrap;display:flex}.today__goal{align-items:center;gap:var(--space-4);display:flex}.today__goal-text{gap:var(--space-1);flex-direction:column;min-width:0;display:flex}.week{gap:var(--space-2);display:flex}.week__day{align-items:center;gap:var(--space-1);flex-direction:column;flex:1;max-width:3.5rem;display:flex}.week__dot{box-sizing:border-box;background:var(--bg-raised);border:2px solid #0000;border-radius:50%;width:28px;height:28px}.week__dot--goal{border-color:var(--accent);background:var(--accent)}.week__dot--some{border-color:var(--accent);background:0 0}.week__dot.is-today{outline:2px solid var(--text);outline-offset:2px}.week__name{font-size:var(--fs-caption);text-transform:uppercase}.today__more>summary{min-height:44px;color:var(--text-muted);font-weight:var(--weight-semibold);cursor:pointer;align-items:center;display:flex}.today__more>*+*{margin-top:var(--space-2)}[data-testid=today-goal][data-met=true] .ring{animation:learn-pop var(--dur-slow) var(--ease-out) both}:root[data-calm=true] .learn__badge,:root[data-calm=true] [data-testid=today-goal][data-met=true] .ring{animation:none}@media (prefers-reduced-motion:reduce){[data-testid=today-goal][data-met=true] .ring{animation:none}}.skills{gap:var(--space-2);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.skills__row{align-items:center;gap:var(--space-3);grid-template-columns:minmax(4.5rem,7rem) auto 1fr;display:grid}.skills__name{font-weight:var(--weight-semibold)}.skills__bar{gap:var(--space-1);display:flex}.skills__step{background:var(--border-control);border-radius:999px;width:1.25rem;height:.5rem}.skills__step.is-filled{background:var(--accent-graphic)}.skills__level{white-space:nowrap}.icon{flex:none}.btn{transition:background-color var(--dur-fast) var(--ease-out), filter var(--dur-fast) var(--ease-out), transform var(--dur-fast) var(--ease-out)}.btn:active:not(:disabled){transform:translateY(1px)scale(.985)}.btn--ghost{box-shadow:none;color:var(--text-muted);background:0 0}.btn--ghost:hover{background:var(--bg-inset);color:var(--text);filter:none}.btn--loading{color:#0000;cursor:progress;position:relative}.btn--loading:after{border:2px solid var(--text-muted);content:"";border-top-color:#0000;border-radius:50%;width:18px;height:18px;animation:.7s linear infinite kit-spin;position:absolute}.btn--primary.btn--loading:after{border-color:var(--accent-text);border-top-color:#0000}@keyframes kit-spin{to{transform:rotate(360deg)}}.icon-btn{background:var(--bg-raised);width:44px;height:44px;color:var(--text);cursor:pointer;box-shadow:var(--shadow-raised);transition:background-color var(--dur-fast) var(--ease-out), transform var(--dur-fast) var(--ease-out);border:0;border-radius:50%;place-items:center;padding:0;display:inline-grid}.icon-btn:hover:not(:disabled){filter:brightness(1.12)}.icon-btn:active:not(:disabled){transform:scale(.94)}.icon-btn:disabled{opacity:.5;cursor:not-allowed}.icon-btn--small{width:36px;height:36px}.field-select,.field-input{border-color:var(--border-control)}.segmented{border:1px solid var(--border-control);background:var(--bg-inset)}.segmented--fill{align-self:stretch;display:flex}.segmented--fill .segmented__option{flex:1 1 0}.segmented__option{transition:background-color var(--dur-base) var(--ease-out), color var(--dur-base) var(--ease-out)}.card{gap:var(--space-3);padding:var(--space-4) var(--space-5);border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--bg-panel);box-shadow:var(--shadow-1);flex-direction:column;display:flex}.card--inset{background:var(--bg-inset);box-shadow:none}.card--highlight{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent), var(--shadow-2)}.ring{flex:none;position:relative}.ring__track{stroke:var(--bg-raised)}.ring__fill{stroke:var(--accent-graphic);transition:stroke-dashoffset var(--dur-slow) var(--ease-out)}.ring__label{font-size:var(--fs-small);font-weight:var(--weight-heavy);text-align:center;place-items:center;display:grid;position:absolute;inset:0}.empty{align-items:center;gap:var(--space-3);padding:var(--space-6) var(--space-4);text-align:center;flex-direction:column;display:flex}.empty__art{width:120px;color:var(--text-faint)}.empty__art svg{width:100%;height:auto;display:block}.empty__title{font-size:var(--fs-h3)}.empty__action{margin-top:var(--space-2)}.skeleton{border-radius:var(--radius-sm);background:linear-gradient(90deg, var(--bg-inset), var(--bg-raised), var(--bg-inset));background-size:200% 100%;animation:1.4s ease-in-out infinite kit-shimmer;display:block}@keyframes kit-shimmer{0%{background-position:100% 0}to{background-position:-100% 0}}@keyframes kit-enter{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.main>*{animation:kit-enter var(--dur-base) var(--ease-out) both}@media (prefers-reduced-motion:reduce){.main>*,.skeleton,.btn--loading:after{animation:none}.btn:active:not(:disabled),.icon-btn:active:not(:disabled){transform:none}}progress{appearance:none;background:var(--bg-raised);height:10px;accent-color:var(--accent-graphic);border:0;border-radius:999px;overflow:hidden}progress::-webkit-progress-bar{background:var(--bg-raised);border-radius:999px}progress::-webkit-progress-value{background:var(--accent-graphic);transition:width var(--dur-slow) var(--ease-out);border-radius:999px}progress::-moz-progress-bar{background:var(--accent-graphic);border-radius:999px}.design h2{margin-top:var(--space-4);padding-top:var(--space-3);border-top:1px solid var(--border)}.design__row{align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.design__stack{gap:var(--space-2);flex-direction:column;display:flex}.design__swatches,.design__icons{gap:var(--space-3);grid-template-columns:repeat(auto-fill,minmax(150px,1fr));display:grid}.design__swatch,.design__icon{align-items:center;gap:var(--space-2);font-size:var(--fs-caption);display:flex}.design__chip{border:1px solid var(--border-control);border-radius:var(--radius-sm);flex:none;width:28px;height:28px}.empty-art{place-items:center;width:96px;height:96px;display:inline-grid;position:relative}.empty-art svg{position:absolute;inset:0}.empty-art__light{fill:var(--bg-inset)}.empty-art__dark{fill:var(--border)}.empty-art__icon{background:var(--bg-panel);width:52px;height:52px;box-shadow:var(--shadow-2);color:var(--accent-graphic);border-radius:50%;place-items:center;display:grid;position:relative}@media (width<=999px),(pointer:coarse){.btn,.btn--small,button.link,.chip--button,.tab,.segmented__option,.field-select,.field-input,.skip-link{min-height:44px}.btn{min-width:44px}button.link{align-items:center;display:inline-flex}.move,.check{min-height:44px}.check input[type=checkbox],.check input[type=radio]{flex:none;width:24px;height:24px}input[type=range]{min-height:44px}summary{padding-block:11px}.topbar__brand{align-items:center;min-height:44px;display:flex}.settings__link,.tour__actions .link{padding-block:11px;display:inline-block}.info{position:relative}.info:after{content:"";position:absolute;inset:-11px}}
