.cg-wrap{box-sizing:content-box;position:relative;display:block}cg-container{position:absolute;width:100%;height:100%;display:block;top:0}cg-board{position:absolute;top:0;left:0;width:100%;height:100%;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;line-height:0;background-size:cover}.cg-wrap.manipulable cg-board{cursor:pointer}cg-board square{position:absolute;top:0;left:0;width:12.5%;height:12.5%;pointer-events:none}cg-board square.move-dest{pointer-events:auto}cg-board square.last-move{will-change:transform}.cg-wrap piece{position:absolute;top:0;left:0;width:12.5%;height:12.5%;background-size:cover;z-index:2;will-change:transform;pointer-events:none}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{overflow:hidden;position:relative;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:2;opacity:.6}.cg-wrap cg-auto-pieces,.cg-wrap .cg-shapes,.cg-wrap .cg-custom-svgs{overflow:visible;position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none}.cg-wrap cg-auto-pieces{z-index:2}.cg-wrap cg-auto-pieces piece{opacity:.3}.cg-wrap .cg-shapes{overflow:hidden;opacity:.6;z-index:2}.cg-wrap .cg-custom-svgs{z-index:9}.cg-wrap .cg-custom-svgs svg{overflow:visible}.cg-wrap coords{position:absolute;display:flex;pointer-events:none;opacity:.8;font-family:sans-serif;font-size:9px}.cg-wrap coords.ranks{left:4px;top:-20px;flex-flow:column-reverse;height:100%;width:12px}.cg-wrap coords.ranks.black{flex-flow:column}.cg-wrap coords.ranks.left{left:-15px;align-items:flex-end}.cg-wrap coords.files{bottom:-4px;left:24px;flex-flow:row;width:100%;height:16px;text-transform:uppercase;text-align:center}.cg-wrap coords.files.black{flex-flow:row-reverse}.cg-wrap coords coord{flex:1 1 auto}.cg-wrap coords.ranks coord{transform:translateY(39%)}.cg-wrap coords.squares{bottom:0;left:0;text-transform:uppercase;text-align:right;flex-flow:column-reverse;height:100%;width:12.5%}.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%)}:root{color-scheme:dark;--gray-900: #262421;--gray-800: #312e2b;--gray-700: #4b4847;--gray-500: #8b8987;--bg: #302e2b;--panel: #262421;--panel-head: #21201d;--surface: rgba(255, 255, 255, .08);--surface-hover: rgba(255, 255, 255, .14);--surface-pressed: rgba(255, 255, 255, .2);--inset: rgba(0, 0, 0, .2);--inset-strong: rgba(0, 0, 0, .32);--border: rgba(255, 255, 255, .1);--border-strong: rgba(255, 255, 255, .25);--text: #ffffff;--text-2: rgba(255, 255, 255, .85);--text-3: rgba(255, 255, 255, .72);--muted: rgba(255, 255, 255, .55);--faint: rgba(255, 255, 255, .4);--focus: #4dc3ea;--link: #4dc3ea;--danger: #ff8a75;--danger-bg: rgba(250, 65, 45, .14);--danger-edge: rgba(250, 65, 45, .35);--green-100: #d8fa9d;--green-200: #b2e068;--green-300: #81b64c;--green-400: #5d9948;--green-500: #45753c;--cta: var(--green-300);--cta-hover: #8fc45a;--cta-edge: var(--green-500);--bubble: #ffffff;--bubble-text: #312e2b;--bubble-muted: #666564;--board-light: #ebecd0;--board-dark: #739552;--c-brilliant: #26c2a3;--c-great: #749bbf;--c-best: #81b64c;--c-excellent: #81b64c;--c-good: #95b776;--c-book: #d5a47d;--c-inaccuracy: #f7c631;--c-mistake: #ffa459;--c-miss: #ff7769;--c-blunder: #fa412d;--c-forced: #81b64c;--c-tricky: #9881f2;--graph-white: #ffffff;--graph-black: #403d39;--r-xs: 2px;--r-sm: 3px;--r: 5px;--r-lg: 10px;--lift: inset 0 1px 0 rgba(255, 255, 255, .08), 0 1px 2px rgba(0, 0, 0, .14), 0 2px 4px rgba(0, 0, 0, .1);--lift-hover: inset 0 1px 0 rgba(255, 255, 255, .14), 0 1px 2px rgba(0, 0, 0, .14), 0 2px 4px rgba(0, 0, 0, .1);--lift-pressed: inset 0 1px 3px rgba(0, 0, 0, .3);--lift-green: inset 0 1px 0 color-mix(in srgb, var(--green-200), transparent 55%), inset 0 2px 4px color-mix(in srgb, var(--green-200), transparent 55%), inset 0 -1px 0 var(--green-500), inset 0 -2px 4px color-mix(in srgb, var(--green-500), transparent 45%), 0 1px 2px rgba(0, 0, 0, .14), 0 2px 4px rgba(0, 0, 0, .1);--panel-shadow: 0 1px 1px rgba(0, 0, 0, .2), 0 8px 24px rgba(0, 0, 0, .12);--ease: cubic-bezier(.2, .8, .2, 1);font-family:Segoe UI Variable Text,Segoe UI,system-ui,-apple-system,BlinkMacSystemFont,Roboto,Helvetica Neue,Arial,sans-serif;font-size:15px;line-height:1.45;font-weight:400;color:var(--text-3);background:var(--bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}*{box-sizing:border-box}html,body{margin:0;min-height:100%;background:var(--bg)}body{background:radial-gradient(1200px 700px at 50% -10%,rgba(255,255,255,.035),transparent 70%),var(--bg);background-attachment:fixed}h1,h2,h3{margin:0;line-height:1.2;color:var(--text);font-weight:700;letter-spacing:-.01em}h1{font-size:1.6rem}strong{color:var(--text-2);font-weight:600}code{font-family:ui-monospace,Cascadia Code,SF Mono,Menlo,monospace;font-size:.88em;padding:1px 5px;border-radius:var(--r-sm);background:var(--inset)}::selection{background:#81b64c73;color:#fff}:focus-visible{outline:2px solid var(--focus);outline-offset:2px}button{-webkit-tap-highlight-color:transparent}.muted{color:var(--muted)}.small{font-size:.85rem}.row{display:flex;align-items:center}.gap-s{gap:8px}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}*{scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.18) transparent}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-thumb{border-radius:8px;background:#ffffff29;border:2px solid transparent;background-clip:padding-box}::-webkit-scrollbar-thumb:hover{background-color:#ffffff42}.logo{display:inline-flex;align-items:center;gap:10px}.logo-mark{display:inline-flex;align-items:center;justify-content:center;flex:none;padding:2px;border-radius:22%;background:linear-gradient(160deg,#9ccf63 0%,var(--green-300) 45%,var(--green-400) 100%);box-shadow:inset 0 1px #ffffff59,inset 0 -2px #0000002e,0 1px 2px #00000040}.logo-mark svg{display:block;width:100%;height:100%;filter:drop-shadow(0 1px 0 rgba(0,0,0,.25))}.logo__word{font-size:1.12rem;font-weight:800;letter-spacing:-.02em;color:var(--text)}.logo__accent{margin-left:.28em;color:var(--green-300)}.topbar{position:sticky;top:0;z-index:20;display:flex;align-items:center;height:56px;padding:0 24px;background:color-mix(in srgb,var(--panel-head) 88%,transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 1px #00000040}.main{max-width:1180px;margin:0 auto;padding:28px 24px 40px}.main--review{max-width:none;padding:16px;height:100vh;height:100dvh}.card{position:relative;background:var(--panel);border-radius:var(--r);box-shadow:var(--panel-shadow);padding:18px}.card__header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.card__title,.section-label{display:block;margin:0 0 10px;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}.section-label__san{text-transform:none;letter-spacing:0;color:var(--text-2)}.card__header .card__title{margin:0}.notice{border-radius:var(--r);padding:10px 14px;margin:12px 0;font-size:.92rem}.notice--error{background:var(--danger-bg);box-shadow:inset 0 0 0 1px var(--danger-edge);color:var(--danger)}.notice--error code{background:#00000040}.button{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:36px;padding:0 14px;border-radius:var(--r);border:0;background:var(--surface);box-shadow:var(--lift);color:var(--text-2);font:inherit;font-size:.92rem;font-weight:600;cursor:pointer;-webkit-user-select:none;user-select:none;transition:background-color .12s,box-shadow .12s,color .12s}.button:hover:not(:disabled){background:var(--surface-hover);box-shadow:var(--lift-hover);color:var(--text)}.button:active:not(:disabled){box-shadow:var(--lift-pressed)}.button:disabled{opacity:.45;cursor:not-allowed}.button--primary{background:var(--cta);box-shadow:var(--lift-green);color:#fff;font-weight:700;text-shadow:0 1px 0 rgba(0,0,0,.2)}.button--primary:hover:not(:disabled){background:var(--cta-hover);box-shadow:var(--lift-green)}.button--primary:disabled{opacity:1;background:#81b64c47;box-shadow:none;color:#ffffff80;text-shadow:none}.button--ghost{background:transparent;box-shadow:inset 0 0 0 1px var(--border)}.button--ghost:hover:not(:disabled){box-shadow:inset 0 0 0 1px var(--border-strong)}.button--block{width:100%;margin-top:18px;min-height:52px;border-radius:var(--r-lg);font-size:1.12rem;font-weight:800}.field{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:14px;font-size:.92rem}select{font:inherit;color:var(--text-2);background-color:var(--surface);border:0;box-shadow:inset 0 0 0 1px var(--border);border-radius:var(--r);padding:5px 28px 5px 10px;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M3 4.5l3 3 3-3' fill='none' stroke='%23ffffffb0' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 8px center;background-size:12px;cursor:pointer}select:hover{background-color:var(--surface-hover)}select option{background:var(--gray-800);color:var(--text)}.segmented{display:grid;grid-template-columns:repeat(4,1fr);gap:4px;padding:4px;border:0;margin:0;border-radius:var(--r-lg);background:var(--inset)}.segmented label{display:flex;flex-direction:column;align-items:center;gap:1px;padding:8px 4px;border-radius:7px;cursor:pointer;font-weight:600;font-size:.92rem;color:var(--text-3);transition:background-color .12s,color .12s}.segmented label:hover{color:var(--text);background:var(--surface)}.segmented label.is-active{background:var(--surface-hover);box-shadow:var(--lift-hover);color:var(--text)}.segmented label .small{font-size:.72rem;font-weight:500}.segmented label:focus-within{outline:2px solid var(--focus)}.landing{--serif: "Iowan Old Style", "Palatino Linotype", Palatino, "Book Antiqua", Georgia, serif;position:relative}.landing__hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,500px);gap:clamp(28px,5vw,72px);align-items:start;padding:clamp(8px,4vh,48px) 0 40px}.landing__copy{display:flex;flex-direction:column;min-width:0;max-width:600px}.landing__kicker{margin:0 0 14px;font-size:.78rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--green-200)}.landing__title{font-family:var(--serif);font-size:clamp(2.2rem,4.6vw,3.5rem);font-weight:600;line-height:1.04;letter-spacing:-.02em;text-wrap:balance}.landing__lede{margin:18px 0 28px;max-width:34em;font-size:1.06rem;line-height:1.55;color:var(--text-3)}.landing .card--online{padding:16px;border-radius:var(--r-lg);box-shadow:var(--panel-shadow),inset 0 0 0 1px var(--border)}.landing .online-form__input{padding:12px 14px;font-size:1.02rem}.landing .online-form .button{padding-inline:20px}.pgn-drawer{margin-top:14px}.pgn-drawer summary{display:inline-flex;align-items:center;gap:8px;cursor:pointer;list-style:none;color:var(--text-3);font-size:.92rem;font-weight:600;border-radius:var(--r-sm)}.pgn-drawer summary::-webkit-details-marker{display:none}.pgn-drawer summary:before{content:"";width:6px;height:6px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(-45deg);transition:transform .15s var(--ease)}.pgn-drawer[open] summary:before{transform:rotate(45deg)}.pgn-drawer summary:hover{color:var(--text)}.pgn-drawer__body{margin-top:12px;padding:16px;border-radius:var(--r-lg);background:var(--panel);box-shadow:var(--panel-shadow)}.pgn-drawer__head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.pgn-drawer__head .card__title{margin:0}.landing .pgn-input{min-height:200px}.setup{margin-top:20px;padding:16px;border-radius:var(--r-lg);background:var(--panel);box-shadow:var(--panel-shadow),inset 0 0 0 1px #81b64c59;animation:fade-in .18s ease-out;scroll-margin:16px}.setup .card__title+.segmented{margin-top:2px}.segmented--sides{grid-template-columns:repeat(3,1fr)}.segmented--sides label{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.setup__start{margin-top:18px}.landing__figure{margin:0;position:sticky;top:80px}.mini-board{display:grid;grid-template-columns:repeat(8,1fr);grid-template-rows:repeat(8,1fr);aspect-ratio:1;border-radius:var(--r);box-shadow:0 0 0 6px var(--gray-900),0 18px 48px #00000073}.mini-board__sq{position:relative;aspect-ratio:1;min-width:0;container-type:inline-size}.mini-board__sq:nth-child(1){border-top-left-radius:var(--r)}.mini-board__sq:nth-child(8){border-top-right-radius:var(--r)}.mini-board__sq:nth-child(57){border-bottom-left-radius:var(--r)}.mini-board__sq:nth-child(64){border-bottom-right-radius:var(--r)}.mini-board__sq.has-badge{z-index:1}.mini-board__sq.is-light{background:var(--board-light)}.mini-board__sq.is-dark{background:var(--board-dark)}.mini-board__sq.is-lit:before{content:"";position:absolute;inset:0;background:#ffff3380}.mini-board__sq .pc{position:relative;display:block}.mini-board__rank,.mini-board__file{position:absolute;z-index:1;font-size:max(9px,18cqi);font-weight:700;line-height:1}.mini-board__rank{top:6%;left:7%}.mini-board__file{right:7%;bottom:5%}.is-light>.mini-board__rank,.is-light>.mini-board__file{color:var(--board-dark)}.is-dark>.mini-board__rank,.is-dark>.mini-board__file{color:var(--board-light)}.mini-board__badge{position:absolute;z-index:2;top:-14%;right:-14%;width:48%;filter:drop-shadow(0 2px 3px rgba(0,0,0,.35))}.mini-board__badge .cls-icon{width:100%;height:auto}.landing__figure figcaption{display:grid;gap:2px;margin-top:20px;padding-left:14px;border-left:2px solid var(--border-strong);font-family:var(--serif);font-size:1rem}.landing__figure-players{color:var(--text);font-weight:600}.landing__figure-where{color:var(--muted);font-style:italic}.landing__figure-note{margin-top:6px;color:var(--text-3)}.landing__figure-note strong{color:var(--c-brilliant)}.topbar{justify-content:space-between}.gh-stars{display:inline-flex;align-items:stretch;height:32px;border-radius:var(--r);overflow:hidden;box-shadow:inset 0 0 0 1px var(--border-strong);color:var(--text-2);font-size:.86rem;font-weight:600;text-decoration:none;transition:background-color .12s}.gh-stars:hover{background:var(--surface);color:var(--text)}.gh-stars__label,.gh-stars__count{display:inline-flex;align-items:center;gap:7px;padding:0 11px}.gh-stars__count{border-left:1px solid var(--border-strong);font-variant-numeric:tabular-nums;color:var(--text)}.site-footer{border-top:1px solid var(--border);background:var(--panel-head)}.site-footer__inner{display:grid;grid-template-columns:1fr auto;gap:6px 24px;max-width:1180px;margin:0 auto;padding:24px;font-size:.86rem;color:var(--muted)}.site-footer p{margin:0}.site-footer a{color:var(--text-3);text-decoration:none}.site-footer a:hover{color:var(--text);text-decoration:underline}.site-footer__links{display:flex;gap:20px;grid-row:span 2;align-items:center}.site-footer__fine{font-size:.8rem;color:var(--faint)}.app{display:flex;flex-direction:column;min-height:100vh}.app>.main{flex:1;width:100%}.landing .dropzone{position:fixed;inset:16px;z-index:30}.segmented--sites{grid-template-columns:repeat(2,auto)}.segmented--sites label{padding:6px 12px}.online-form{display:flex;gap:8px}.online-form__input{flex:1;min-width:0;font:inherit;font-size:.95rem;padding:8px 12px;border:0;border-radius:var(--r);background:var(--inset);color:var(--text);box-shadow:inset 0 0 0 1px var(--border)}.online-form__input:focus{outline:none;box-shadow:inset 0 0 0 1px #81b64cb3,0 0 0 3px #81b64c2e}.card--online .notice,.card--online .empty-hint{margin:12px 0 0}.online-games{list-style:none;padding:0;margin:12px 0 0;max-height:min(420px,60vh);overflow:auto;display:flex;flex-direction:column;gap:4px}.online-game{display:flex;align-items:center;gap:10px;width:100%;padding:8px 12px;border:0;border-radius:var(--r);background:var(--inset);color:var(--text-2);font:inherit;text-align:left;cursor:pointer;transition:background-color .12s,box-shadow .12s}.online-game:hover{background:var(--surface)}.online-game.is-picked{background:#81b64c1f;box-shadow:inset 0 0 0 1px #81b64c8c}.online-game__outcome{flex:none;display:grid;place-items:center;width:24px;height:24px;border-radius:var(--r-sm);font-size:.8rem;font-weight:800;color:#fff;background:var(--faint)}.online-game__outcome--won{background:var(--c-best)}.online-game__outcome--lost{background:var(--c-blunder)}.online-game__outcome--drawn{background:var(--gray-500)}.online-game__text{display:flex;flex-direction:column;gap:1px;min-width:0;flex:1}.online-game__text strong{color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.online-game__side{flex:none}.online-games>li.is-picked{border-radius:var(--r);background:#81b64c14;box-shadow:inset 0 0 0 1px #81b64c8c}.online-games>li.is-picked .online-game{background:transparent;box-shadow:none}.picked-game{padding:4px 12px 12px;animation:fade-in .18s ease-out;scroll-margin:16px}.picked-game .setup__start{margin-top:12px}.picked-game>.notice{margin:4px 0 0}.picked-game__loading{margin:4px 0 0;min-height:1.4em}@media(prefers-reduced-motion:reduce){.picked-game,.setup{animation:none}}.pgn-input{display:block;width:100%;min-height:380px;resize:vertical;font-family:ui-monospace,Cascadia Code,SF Mono,Menlo,monospace;font-size:.86rem;line-height:1.6;padding:14px 16px;border-radius:var(--r);border:0;box-shadow:inset 0 0 0 1px var(--border),inset 0 2px 6px #0000002e;background:var(--inset);color:var(--text-2);transition:box-shadow .15s}.pgn-input::placeholder{color:var(--faint)}.pgn-input:focus{outline:none;box-shadow:inset 0 0 0 1px #81b64cb3,0 0 0 3px #81b64c2e}.landing.is-dragging .pgn-input{box-shadow:inset 0 0 0 2px var(--green-300)}.dropzone{position:absolute;inset:62px 18px 18px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;border-radius:var(--r);border:2px dashed var(--green-300);background:#262421eb;color:var(--muted);pointer-events:none;animation:fade-in .12s ease-out}.dropzone strong{color:var(--text);font-size:1.1rem}@keyframes fade-in{0%{opacity:0}}.empty-hint{margin:0 0 18px;padding:18px 14px;border-radius:var(--r);background:var(--inset);color:var(--muted);font-size:.9rem;text-align:center}.game-list{list-style:none;padding:0;margin:0 0 18px;max-height:240px;overflow:auto;display:flex;flex-direction:column;gap:4px}.game-option{display:flex;gap:10px;align-items:flex-start;padding:10px 12px;border-radius:var(--r);cursor:pointer;background:var(--inset);transition:background-color .12s,box-shadow .12s}.game-option:has(input:checked){background:#81b64c1f;box-shadow:inset 0 0 0 1px #81b64c8c}.game-option input{margin-top:3px;accent-color:var(--green-300)}.game-option>span{display:flex;flex-direction:column;gap:1px;min-width:0}.game-option strong{color:var(--text)}.game-option:hover{background:var(--surface)}.game-option--error{color:var(--danger);cursor:default}.engine-status{display:flex;align-items:center;justify-content:center;gap:7px;margin:12px 0 0;color:var(--muted);font-size:.8rem}.engine-status__dot{width:7px;height:7px;border-radius:50%;background:var(--green-300);box-shadow:0 0 0 3px #81b64c33}.progress-card{max-width:540px;margin:72px auto;display:flex;flex-direction:column;gap:18px;align-items:stretch;padding:22px}.progress-card .button{align-self:center;min-width:120px}.progress-card>h1{text-align:center}.progress{display:flex;align-items:center;gap:12px}.progress__track{flex:1;height:10px;border-radius:999px;background:var(--inset-strong);box-shadow:inset 0 1px 2px #0000004d;overflow:hidden}.progress__fill{height:100%;border-radius:inherit;background:linear-gradient(180deg,var(--green-200),var(--green-300) 60%,var(--green-400));background-size:100% 100%;transition:width .45s var(--ease);position:relative}.progress__fill:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.35),transparent);background-size:60% 100%;background-repeat:no-repeat;animation:shimmer 1.4s linear infinite}@keyframes shimmer{0%{background-position:-60% 0}to{background-position:160% 0}}.progress__pct{min-width:40px;text-align:right;font-weight:700;font-variant-numeric:tabular-nums;color:var(--text-2)}.coach__bubble .progress{margin-top:10px}.coach__bubble .progress__track{height:8px;background:#e6e4e1;box-shadow:inset 0 1px 2px #0000001f}.coach__bubble .progress__pct{color:var(--bubble-muted);font-size:.85rem}.review{--strip-h: 52px;--eval-w: 22px;--panel-w: clamp(360px, 30vw, 460px);--gap: 16px;--board-size: min( calc(100dvh - 32px - 2 * var(--strip-h)), calc(100vw - 32px - var(--panel-w) - var(--gap) - var(--eval-w) - 8px) );display:flex;justify-content:center;align-items:flex-start;gap:var(--gap);height:100%}.board-col{display:flex;flex-direction:column;width:calc(var(--board-size) + var(--eval-w) + 8px);flex:none}.board-row{display:flex;gap:8px;height:var(--board-size)}.board-wrap{position:relative;width:var(--board-size);height:var(--board-size);flex:none;container-type:inline-size}.board{position:relative;width:100%;height:100%;border-radius:var(--r-sm);box-shadow:0 2px 8px #00000040}.board-badge{position:absolute;z-index:5;width:4.6%;aspect-ratio:1;transform:translate(-62%,-38%);pointer-events:none;filter:drop-shadow(0 1px 1px rgba(0,0,0,.3)) drop-shadow(0 2px 4px rgba(0,0,0,.25))}.board .cg-wrap{position:absolute;inset:0}.board-squares,.board-arrows{position:absolute;top:0;left:0;width:var(---cg-width, 100%);height:var(---cg-height, 100%)}.board-squares{display:grid;grid-template:repeat(8,1fr) / repeat(8,1fr);border-radius:var(--r-sm);overflow:hidden}.board-square{position:relative}.board-square--light{background-color:var(--board-light)}.board-square--dark{background-color:var(--board-dark)}.board-coord{position:absolute;-webkit-user-select:none;user-select:none}.board-arrows{z-index:10;pointer-events:none}.board cg-board{cursor:default}.board .cg-wrap piece{filter:drop-shadow(0 .04em 0 rgba(0,0,0,.18))}.board--movable .cg-wrap cg-board piece{pointer-events:auto;cursor:grab}.board .cg-wrap cg-board piece.dragging{cursor:grabbing;background-size:112%;background-position:center;filter:drop-shadow(0 6px 6px rgba(0,0,0,.35))}.board .cg-wrap piece.ghost{opacity:.5}.board-layer{position:absolute;inset:0;pointer-events:none}.board-layer--under{z-index:1}.board-layer--over{z-index:3}.board-layer>span{position:absolute;width:12.5%;height:12.5%}.sq{position:relative;width:100%;height:100%}.sq-select{overflow:hidden}.sq-select>span{position:absolute;left:50%;top:50%;width:100%;height:100%;border-radius:50%;background:#ff3;opacity:.5;transform:translate(-50%,-50%) scale(1.4142);animation:sq-select-grow .2s ease-out}@keyframes sq-select-grow{0%{transform:translate(-50%,-50%) scale(.4)}}.board-layer>.sq-hint{pointer-events:auto;cursor:pointer}.sq-hint:before{content:"";position:absolute;inset:33.5%;border-radius:50%;background:#00000024;animation:sq-hint-grow .15s cubic-bezier(.34,1.56,.64,1)}.sq-hint--capture:before{inset:0;background:radial-gradient(circle closest-side at center,transparent 0 90%,rgba(0,0,0,.14) 90% 100%);animation-name:sq-capture-grow}@keyframes sq-hint-grow{0%{opacity:0;transform:scale(0)}}@keyframes sq-capture-grow{0%{opacity:0;transform:scale(.4)}}.sq-mark{position:absolute;inset:0;background:#eb6150;opacity:.8;pointer-events:none}.sq-held{box-shadow:inset 0 0 0 .625cqw #ffffffa6}.sq-refused{overflow:hidden}.sq-refused__flash{position:absolute;inset:0;background:#e63946;opacity:0;animation:sq-refused-fade .7s cubic-bezier(.33,1,.68,1)}.sq-refused__circle{position:absolute;left:50%;top:50%;width:100%;height:100%;border-radius:50%;background:#000;opacity:0;animation:sq-refused-circle-fade .3s ease-in-out,sq-refused-circle-grow .4s cubic-bezier(.33,1,.68,1)}@keyframes sq-refused-fade{0%{opacity:.55}}@keyframes sq-refused-circle-fade{0%{opacity:.07}}@keyframes sq-refused-circle-grow{0%{transform:translate(-50%,-50%) scale(.6)}to{transform:translate(-50%,-50%) scale(1.5)}}@media(prefers-reduced-motion:reduce){.sq-select>span,.sq-hint:before,.sq-refused__circle{animation:none}}.promotion{position:absolute;inset:0;z-index:6;border-radius:var(--r-sm);background:#00000073}.promotion__piece{position:absolute;width:12.5%;height:12.5%;padding:1.2%;border:0;border-radius:50%;background:#f0f0f0eb;box-shadow:0 2px 6px #0006;cursor:pointer;transition:background-color .1s,border-radius .1s}.promotion__piece:hover,.promotion__piece:focus-visible{border-radius:var(--r-sm);background:#fff;outline:none}.promotion__piece svg{display:block;width:100%;height:100%}.board-badge svg{display:block;width:100%;height:100%}.board-wrap{--land: .18s}.board-badge{animation:badge-fade .15s cubic-bezier(0,0,.4,1) var(--land) both}.board-badge--after-effect{animation-delay:calc(var(--land) + 1.3s);animation-duration:.01s}@keyframes badge-fade{0%{opacity:0}}.board-effect{position:absolute;z-index:0;width:12.5%;height:12.5%;pointer-events:none}.board-effect--over{z-index:6}.board-effect__square{position:absolute;inset:0;background:color-mix(in srgb,var(--effect-color) 80%,transparent);opacity:0;animation:effect-square-in .3s cubic-bezier(0,0,.2,1) var(--land) forwards,effect-square-out .3s cubic-bezier(.42,0,.58,1) calc(var(--land) + 1s) forwards}.board-effect__icon{position:absolute;left:50%;top:62.5%;width:70%;aspect-ratio:1;opacity:0;transform:translate(-50%,-50%) scale(.4);filter:drop-shadow(0 1px 0 rgba(0,0,0,.35));animation:effect-icon-in .3s cubic-bezier(0,0,.2,1) var(--land) forwards,effect-icon-corner .3s cubic-bezier(.42,0,.58,1) calc(var(--land) + 1s) forwards}.board-effect__icon svg{display:block;width:100%;height:100%}.board-effect__pill{position:absolute;left:95%;top:25%;padding:0 2.12cqw;border-radius:500px;background:#fff;color:var(--effect-color);box-shadow:0 1px #00000059;font-size:2.73cqw;font-weight:700;line-height:4.55cqw;white-space:nowrap;opacity:0;transform:translate(-50%,-50%);animation:effect-pill-in .3s cubic-bezier(0,0,.2,1) var(--land) forwards,effect-pill-out .3s cubic-bezier(.42,0,.58,1) calc(var(--land) + 1s) forwards}@keyframes effect-square-in{to{opacity:1}}@keyframes effect-square-out{0%{opacity:1}to{opacity:0}}@keyframes effect-icon-in{to{opacity:1;transform:translate(-50%,-50%) scale(1)}}@keyframes effect-icon-corner{0%{opacity:1;left:50%;top:62.5%;transform:translate(-50%,-50%) scale(1)}99%{opacity:1}to{opacity:0;left:95%;top:6%;transform:translate(-50%,-50%) scale(.55)}}@keyframes effect-pill-in{to{opacity:1;top:5%}}@keyframes effect-pill-out{0%{opacity:1;top:5%;transform:translate(-50%,-50%)}to{opacity:0;top:5%;transform:translate(-50%,-50%) scaleX(0)}}.board-check{position:absolute;width:12.5%;height:12.5%;pointer-events:none;animation:check-square-grow 50ms linear var(--land) both,check-square-shrink .25s cubic-bezier(.16,1,.3,1) calc(var(--land) + 50ms) forwards}.board-check__overlay{position:absolute;inset:0;background:#e63946;opacity:.55;animation:check-pulse 2s cubic-bezier(.33,1,.68,1) calc(var(--land) + .4s) infinite}@keyframes check-square-grow{0%{transform:scale(1)}to{transform:scale(1.15)}}@keyframes check-square-shrink{0%{transform:scale(1.15)}to{transform:scale(1)}}@keyframes check-pulse{50%{opacity:.25}}.cg-wrap piece.cg-check-wiggle{animation:king-check-jitter .14s ease-in-out .23s 2}@keyframes king-check-jitter{0%,to{translate:0 0}25%{translate:-2.5% 0}75%{translate:2.5% 0}}@media(prefers-reduced-motion:reduce){.board-badge,.board-check,.board-check__overlay,.cg-wrap piece.cg-check-wiggle,.coach__bubble--brilliant,.coach__bubble--brilliant:before,.coach__bubble--great,.coach__bubble--great:before{animation:none}.board-effect{display:none}}.player-strip{display:flex;align-items:center;gap:10px;height:var(--strip-h);padding-left:calc(var(--eval-w) + 8px)}.avatar{display:inline-flex;align-items:center;justify-content:center;flex:none;width:40px;height:40px;border-radius:var(--r-sm);overflow:hidden;box-shadow:inset 0 0 0 1px #0000001f,0 1px 2px #0003}.avatar{align-items:flex-end}.avatar .piece-icon{margin-bottom:-3px}.avatar--white{background:linear-gradient(180deg,#5d5955,#3a3734)}.avatar--black{background:linear-gradient(180deg,#f6f5f2,#d2cec7)}.avatar--lg{width:48px;height:48px;border-radius:var(--r)}.player-strip__info{display:flex;flex-direction:column;justify-content:center;gap:1px;min-width:0;line-height:1.2}.player-strip__name{display:flex;align-items:baseline;gap:6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:.95rem}.player-strip__name strong{color:var(--text);font-weight:600;overflow:hidden;text-overflow:ellipsis}.player-strip__elo{color:var(--muted);font-size:.88rem}.captured{display:flex;align-items:center;min-height:20px;margin-left:-2px}.captured__piece{opacity:.9}.captured__piece.is-stacked{margin-left:-12px}.captured__lead{margin-left:6px;font-size:.78rem;font-weight:600;color:var(--muted)}.player-strip__turn{margin-left:auto;display:inline-flex;align-items:center;height:22px;padding:0 10px;border-radius:999px;background:#81b64c29;color:var(--green-200);font-size:.72rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.player-strip__turn:before{content:"";width:7px;height:7px;margin-right:6px;border-radius:50%;background:var(--green-300);animation:pulse 1.8s ease-in-out infinite}.player-strip__turn:after{content:"To move"}.clock{margin-left:auto;display:inline-flex;align-items:center;justify-content:flex-end;gap:8px;flex:none;min-width:96px;height:36px;padding:0 10px;border-radius:var(--r-sm);background:var(--panel);color:#fff9;font-size:1.25rem;font-weight:600;font-variant-numeric:tabular-nums;transition:background .15s,color .15s}.clock.is-running{background:var(--text);color:var(--gray-800)}.clock__icon{flex:none;margin-right:auto}@keyframes pulse{50%{opacity:.35}}.piece-icon{display:inline-flex;flex:none}.piece-icon svg{display:block}.eval-bar{position:relative;width:var(--eval-w);flex:none;border-radius:var(--r-xs);overflow:hidden;background:var(--graph-black);display:flex;flex-direction:column-reverse;box-shadow:0 2px 8px #0003}.eval-bar--flipped{flex-direction:column}.eval-bar__white{background:var(--graph-white);transition:height .6s var(--ease)}.eval-bar:after{content:"";position:absolute;left:0;right:0;top:50%;height:2px;margin-top:-1px;background:#80808073;pointer-events:none}.eval-bar__label{position:absolute;left:0;right:0;z-index:1;text-align:center;font-size:.66rem;font-weight:700;font-variant-numeric:tabular-nums;letter-spacing:-.02em}.eval-bar__label--white{bottom:6px;color:var(--graph-black)}.eval-bar__label--black{top:6px;color:#fff}.eval-bar--flipped .eval-bar__label--white{bottom:auto;top:6px}.eval-bar--flipped .eval-bar__label--black{top:auto;bottom:6px}.eval-bar--idle .eval-bar__white{opacity:.35}.eval-bar--idle .eval-bar__label{color:var(--faint)}.panel{display:flex;flex-direction:column;width:var(--panel-w);height:calc(var(--board-size) + 2 * var(--strip-h));min-height:520px;flex:none;background:var(--panel);border-radius:var(--r);box-shadow:var(--panel-shadow);overflow:hidden}.panel__header{display:grid;grid-template-columns:80px 1fr 80px;align-items:center;height:56px;padding:0 8px;background:var(--panel-head);box-shadow:0 1px #0000004d,0 2px #ffffff06;flex:none;position:relative;z-index:1}.panel__title{display:flex;align-items:center;justify-content:center;gap:10px;font-size:1.2rem;font-weight:800;letter-spacing:-.015em}.icon-btn{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border:0;border-radius:var(--r);background:transparent;color:var(--muted);cursor:pointer;transition:background-color .12s,color .12s}.icon-btn:hover,.icon-btn[aria-pressed=true]{color:var(--text);background:var(--surface)}.icon-btn-spacer{width:40px}.panel__header-end{display:flex;justify-content:flex-end}.panel__header-start{display:flex;justify-content:flex-start}.panel__scroll{flex:1;min-height:0;overflow-y:auto;position:relative;padding:18px 16px 10px}.panel__footer{display:flex;flex-direction:column;align-items:center;gap:8px;padding:14px 16px 12px;background:var(--panel-head);box-shadow:0 -1px #0000004d;flex:none}.cta{display:inline-flex;align-items:center;justify-content:center;gap:10px;width:100%;height:60px;border:0;border-radius:var(--r-lg);background:var(--cta);box-shadow:var(--lift-green);color:#fff;font:inherit;font-size:1.35rem;font-weight:800;letter-spacing:-.01em;cursor:pointer;text-shadow:0 1px 0 rgba(0,0,0,.22);transition:background-color .12s,transform .08s}.cta:hover{background:var(--cta-hover)}.cta:active{transform:translateY(1px)}.link-btn{border:0;background:none;padding:4px 8px;border-radius:var(--r-sm);color:var(--muted);font:inherit;font-size:.85rem;font-weight:600;cursor:pointer}.link-btn:hover{color:var(--text);text-decoration:underline;text-underline-offset:3px}.coach{--tail: 10px;display:flex;align-items:flex-start;gap:calc(var(--tail) + 6px)}.coach__avatar{display:inline-flex;align-items:flex-end;justify-content:center;flex:none;width:64px;height:64px;border-radius:var(--r-lg);overflow:hidden;background:radial-gradient(120% 90% at 30% 15%,#a6d86d 0%,var(--green-300) 45%,var(--green-500) 100%);box-shadow:inset 0 1px #ffffff4d,inset 0 -3px #00000026,0 2px 4px #0003}.coach__avatar .piece-icon{width:52px!important;height:52px!important;margin-bottom:-2px;filter:drop-shadow(0 2px 2px rgba(0,0,0,.25));transform-origin:50% 90%;transition:transform .3s var(--ease),filter .3s var(--ease)}.coach__avatar--happy .piece-icon{animation:avatar-hop .45s var(--ease)}.coach__avatar--impressed{background:radial-gradient(120% 90% at 30% 15%,#7ff0d8 0%,var(--c-brilliant) 50%,#138a73 100%);box-shadow:inset 0 1px #ffffff59,0 0 0 2px #26c2a373,0 0 14px #26c2a38c}.coach__avatar--impressed .piece-icon,.coach__avatar--great .piece-icon{transform:scale(1.06);animation:avatar-hop .5s var(--ease) 2}.coach__avatar--great{background:radial-gradient(120% 90% at 30% 15%,#b5d0e8 0%,var(--c-great) 50%,#44698c 100%);box-shadow:inset 0 1px #ffffff59,0 0 0 2px #749bbf73,0 0 14px #749bbf8c}.coach__avatar--concerned{background:radial-gradient(120% 90% at 30% 15%,#ffd2a8,#e8995a,#a8612c)}.coach__avatar--concerned .piece-icon{transform:rotate(-8deg)}.coach__avatar--sad{background:radial-gradient(120% 90% at 30% 15%,#b9b5b0,#8a8580,#5b5752)}.coach__avatar--sad .piece-icon{transform:rotate(-14deg) translateY(4px);filter:drop-shadow(0 2px 2px rgba(0,0,0,.25)) saturate(.6) brightness(.92);animation:avatar-slump .5s var(--ease)}@keyframes avatar-hop{40%{transform:translateY(-6px) scale(1.04)}}@keyframes avatar-slump{0%{transform:none}}.coach__bubble{position:relative;flex:1;min-width:0;padding:12px 14px 13px;border-radius:var(--r-lg);background:var(--bubble);color:var(--bubble-text);box-shadow:0 1px 2px #0003,0 4px 12px #0000001f;animation:bubble-in .2s var(--ease)}@keyframes bubble-in{0%{opacity:.4;transform:translateY(2px)}}.coach__bubble--brilliant{--lit: var(--c-brilliant)}.coach__bubble--great{--lit: var(--c-great)}.coach__bubble--brilliant,.coach__bubble--great{animation:bubble-in .2s var(--ease),bubble-lit 1.05s linear}.coach__bubble--brilliant:before,.coach__bubble--great:before{animation:bubble-lit 1.05s linear}@keyframes bubble-lit{0%,71.4%{background-color:var(--lit)}to{background-color:var(--bubble)}}.coach__bubble:before{content:"";position:absolute;left:calc(-1 * var(--tail) + 1px);top:18px;width:var(--tail);height:16px;background:var(--bubble);clip-path:polygon(100% 0,0 50%,100% 100%)}.coach__bubble strong{color:inherit}.coach__head{display:flex;align-items:center;gap:10px;min-height:28px}.coach__title{flex:1;min-width:0;color:var(--bubble-text);font-size:1.06rem;font-weight:700;line-height:1.3;letter-spacing:-.01em}.coach__glyph{display:inline-flex;color:var(--bubble-muted)}.coach__glyph svg{width:24px;height:24px}.coach__body{margin-top:6px;color:var(--bubble-muted);font-size:.95rem;font-weight:500;line-height:1.34}.coach__body p{margin:3px 0 0}.coach__ref{font-weight:700}.coach__ref--live{display:inline;margin:0 -2px;padding:0 2px;border:0;border-radius:3px;background:none;color:var(--bubble-text);font:inherit;font-weight:700;text-decoration:underline dotted rgba(49,46,43,.45);text-decoration-thickness:1.5px;text-underline-offset:3px;cursor:pointer;transition:background-color .12s var(--ease)}.coach__ref--live:hover,.coach__ref--live.is-active{background:#ffa45947;text-decoration-color:transparent}.coach__ref--live[aria-pressed=true]{background:#ffa4596b}.coach__ref--live:focus-visible{outline:2px solid var(--focus);outline-offset:1px}.coach__lines{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}.coach__line-btn{display:inline-flex;align-items:center;gap:6px;height:30px;padding:0 11px 0 9px;border:0;border-radius:15px;background:#ecebe8;color:var(--bubble-text);font:inherit;font-size:.86rem;font-weight:700;cursor:pointer;box-shadow:inset 0 -2px #00000014}.coach__line-btn svg{width:16px;height:16px;color:#8a8886}.coach__line-btn:hover{background:#e1dfdb}.coach__line-btn:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.show-line__count{flex:none;padding:2px 8px;border-radius:10px;background:#ecebe8;color:var(--bubble-muted);font-size:.8rem;font-weight:700;font-variant-numeric:tabular-nums}.show-line__narration{min-height:2.7em;color:var(--bubble-text);font-weight:600}.show-line__moves{display:flex;flex-wrap:wrap;gap:2px;margin-top:8px;padding-top:8px;border-top:1px solid #ecebe8}.show-line__moves .line__move{color:var(--bubble-muted)}.show-line__moves .line__move:hover{background:#f1f0ed}.show-line__moves .line__move.is-active{background:#ffc44066;color:var(--bubble-text)}.show-line__moves .line__num{color:#a3a19f}.retry-hint{display:flex;gap:6px;align-items:flex-start;color:var(--bubble-text);font-weight:600}.retry-hint svg{flex:none;width:16px;height:16px;margin-top:1px;color:#d9a400}.coach__comment{margin:10px 0 0;padding:6px 10px;border-radius:var(--r-sm);background:#f3f2ef;border-left:3px solid #d8d5d0;color:var(--bubble-muted);font-style:italic;font-size:.9rem}.coach__end{font-weight:600;color:var(--bubble-text)}.coach__note{font-size:.85rem;color:var(--bubble-muted)}.retry-wrong{color:#c2412f;font-weight:600}.win-chance{display:flex;align-items:center;gap:6px;margin-top:8px!important;font-size:.86rem}.win-chance strong{color:var(--bubble-text);font-variant-numeric:tabular-nums}.win-chance__arrow{font-weight:800}.win-chance.is-up .win-chance__arrow{color:#4f8a2a}.win-chance.is-down .win-chance__arrow{color:#d2412e}.eval-pill{flex:none;padding:2px 7px;border-radius:var(--r-sm);font-size:.84rem;font-weight:700;font-variant-numeric:tabular-nums;line-height:1.45;letter-spacing:-.01em}.eval-pill--white{background:#fff;color:var(--gray-800);box-shadow:inset 0 0 0 1px #0000001f,0 1px 1px #00000014}.eval-pill--black{background:var(--graph-black);color:#fff;box-shadow:inset 0 1px #ffffff14}.san{display:inline-flex;align-items:baseline;white-space:nowrap}.san__piece{align-self:center;width:1.2em!important;height:1.2em!important;margin-right:1px;margin-top:-.12em}.coach-actions{display:grid;gap:8px;margin-top:14px}.coach-btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-width:0;height:44px;padding:0 8px;border:0;border-radius:var(--r);background:var(--surface);box-shadow:var(--lift);color:var(--text-2);font:inherit;font-size:.95rem;font-weight:600;white-space:nowrap;cursor:pointer;-webkit-user-select:none;user-select:none;transition:background-color .12s,box-shadow .12s,color .12s}.coach-btn svg{flex:none;opacity:.8}.coach-btn:hover{background:var(--surface-hover);box-shadow:var(--lift-hover);color:var(--text)}.coach-btn:active{box-shadow:var(--lift-pressed)}.coach-btn.is-pressed{background:var(--surface-pressed);color:var(--text);box-shadow:var(--lift-pressed)}.coach-btn.is-pressed svg{opacity:1;color:var(--c-inaccuracy)}.coach-actions.is-dense{gap:6px}.coach-actions.is-dense .coach-btn{gap:5px;padding:0 4px;font-size:.88rem}.coach-actions.is-dense .coach-btn svg{width:16px;height:16px}.coach-btn--primary{background:var(--cta);box-shadow:var(--lift-green);color:#fff;font-size:1.02rem;font-weight:800;text-shadow:0 1px 0 rgba(0,0,0,.2)}.coach-btn--primary:hover{background:var(--cta-hover);box-shadow:var(--lift-green)}.coach-btn--primary:active{box-shadow:var(--lift-green);transform:translateY(1px)}.coach-btn--primary svg{opacity:1}.details{margin-top:12px;padding:12px 14px;border-radius:var(--r);background:var(--inset);box-shadow:inset 0 0 0 1px #ffffff0a;font-size:.88rem;animation:drawer-in .18s ease-out}@keyframes drawer-in{0%{opacity:0;transform:translateY(-4px)}}.details__stats{display:grid;grid-template-columns:repeat(4,auto);justify-content:space-between;gap:8px 12px;margin:0}.details__stats div{min-width:0}.details__stats dt{font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--faint)}.details__stats dd{margin:2px 0 0;font-variant-numeric:tabular-nums;color:var(--text-2);white-space:nowrap}.details__stats dd strong{color:var(--text)}.details__stats dd.is-bad{color:var(--c-mistake);font-weight:700}.details__facts{margin:10px 0 0;padding-left:18px;color:var(--text-3)}.details__facts li+li{margin-top:2px}.details__lines{margin-top:12px}.details__lines ol{list-style:none;padding:0;margin:0}.details__hint{margin:6px 0 0;color:var(--faint);font-size:.78rem}.live-lines ol{list-style:none;padding:0;margin:0}.live-lines__head{display:flex;align-items:baseline;gap:8px}.live-lines__meta{text-transform:none;letter-spacing:0;font-weight:500;font-variant-numeric:tabular-nums;color:var(--faint)}.live-lines__spinner{align-self:center;width:10px;height:10px;border:2px solid var(--faint);border-right-color:transparent;border-radius:50%;animation:live-spin .8s linear infinite}@keyframes live-spin{to{transform:rotate(360deg)}}.live-lines__deeper{margin-left:6px;padding:0 4px;font-size:inherit}.line{display:grid;grid-template-columns:60px 1fr;gap:8px;align-items:start;padding:5px 0}.line+.line{border-top:1px solid var(--border)}.line .eval-pill{text-align:center;margin-top:1px}.line__moves{display:flex;flex-wrap:wrap;gap:1px 2px;color:var(--text-2)}.line__move{display:inline-flex;align-items:baseline;gap:3px;background:none;border:0;padding:1px 4px;border-radius:var(--r-sm);color:inherit;font:inherit;font-weight:600;cursor:pointer}.line__move:hover{background:var(--surface)}.line__move.is-active{background:#ffff3338;color:#fff}.line__num{color:var(--faint);font-weight:500}.review-pane{display:flex;flex-direction:column;flex:1;min-height:0}.review-pane__coach{position:relative;flex:none;max-height:55%;overflow-y:auto;padding:16px 16px 14px}.review-pane__details{position:relative;flex:0 1 auto;min-height:0;max-height:42%;overflow-y:auto;padding:0 16px 12px}.review-pane__details .details{margin-top:0}.review-pane__graph{flex:none;padding:10px 12px 0;box-shadow:0 -1px #00000040}.move-list{position:relative;flex:1;min-height:84px;overflow-y:auto;box-shadow:inset 0 1px #0000004d,inset 0 2px #ffffff06;padding:2px 0}.move-table{width:100%;border-collapse:collapse;table-layout:fixed}.move-table tr.is-striped{background:#ffffff06}.move-table__sideline>td{padding:2px 8px 4px 46px}.sideline{display:flex;flex-wrap:wrap;align-items:center;gap:1px 2px;padding:3px 4px;border-left:3px solid var(--c-best);border-radius:0 var(--r-sm) var(--r-sm) 0;background:#0000002e}.sideline__number{padding-left:4px;font-size:.85rem;font-weight:600;font-variant-numeric:tabular-nums;color:var(--faint)}.move--sideline{height:26px;padding:0 6px;font-size:.9rem}.sideline__variation{color:var(--faint);font-size:.9rem}.variation-picker{position:fixed;z-index:20;min-width:120px;min-height:40px;overflow-x:auto;border-top:3px solid var(--gray-500);background:var(--gray-900);box-shadow:0 2px 5px #00000080;color:var(--text-3);font-size:13px;line-height:20px}.variation-picker__row{display:flex;align-items:center;padding:2px;cursor:pointer}.variation-picker__row.is-selected{background:#ffffff0d}.variation-picker__arrow{width:20px;margin-right:5px;font-size:16px;text-align:center}.move-table__number{width:50px;padding:0 4px 0 16px;text-align:left;font-weight:600;font-size:.85rem;font-variant-numeric:tabular-nums;color:var(--faint)}.move-cell{padding:2px 3px}.move-table__result>td{height:32px;text-align:center;font-weight:700;font-size:.85rem;color:var(--muted)}.move-cell--empty{color:var(--faint);padding-left:34px}.move{display:inline-flex;align-items:center;gap:5px;max-width:100%;height:28px;padding:0 7px 0 3px;border:0;border-bottom:3px solid transparent;border-radius:var(--r-sm);background:transparent;color:var(--text-2);font:inherit;font-size:.95rem;font-weight:600;cursor:pointer;text-align:left;transition:background-color .1s}.move:hover{background:var(--surface)}.move--active{background:var(--surface-hover)!important;border-bottom-color:#ffffff1a;font-weight:700;cursor:default}.move--active:not([style]){color:#fff}.move.is-dim{opacity:.3}.move__icon{display:inline-flex;width:18px;flex:none}.eval-graph{position:relative;border-radius:var(--r-sm);overflow:visible;background:var(--graph-black);cursor:pointer;box-shadow:0 1px 2px #0003}.eval-graph svg{display:block;width:100%;height:100%;border-radius:var(--r-sm)}.eval-graph__white{fill:var(--graph-white)}.eval-graph__mid{stroke:#80808099;stroke-width:1}.eval-graph__phase{stroke:#808080b3;stroke-width:1;stroke-dasharray:3 3}.eval-graph__hover{stroke:#808080cc;stroke-width:1}.eval-graph__cursor{stroke:#8b8987;stroke-width:2}.eval-graph__markers{position:absolute;inset:0;pointer-events:none}.eval-graph__marker{position:absolute;width:8px;height:8px;border-radius:50%;transform:translate(-50%,-50%);box-shadow:0 0 0 1.5px #0000004d;transition:width .12s,height .12s}.eval-graph__marker.is-current{width:12px;height:12px;box-shadow:0 0 0 2px #fff,0 1px 3px #0006}.eval-graph__tip{position:absolute;bottom:calc(100% + 6px);transform:translate(-50%);display:flex;gap:8px;align-items:baseline;padding:5px 9px;border-radius:var(--r);background:#000000d1;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);color:#fff;font-size:.8rem;font-weight:600;white-space:nowrap;pointer-events:none;z-index:3;box-shadow:0 4px 12px #0000004d}.eval-graph__tip.is-left{transform:translate(-85%)}.nav{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;padding:12px 12px 8px;flex:none}.nav__btn{display:inline-flex;align-items:center;justify-content:center;height:48px;border:0;border-radius:var(--r);background:var(--surface);box-shadow:var(--lift);color:var(--text-3);cursor:pointer;transition:background-color .12s,box-shadow .12s,color .12s}.nav__btn svg{width:24px;height:24px;fill:currentColor}.nav__btn:hover{background:var(--surface-hover);box-shadow:var(--lift-hover);color:#fff}.nav__btn:active{box-shadow:var(--lift-pressed)}.panel__tools{display:flex;align-items:center;gap:14px;padding:4px 14px 12px;font-size:.82rem;color:var(--muted);flex:none}.tool{position:relative;display:inline-flex;align-items:center;gap:7px;cursor:pointer;white-space:nowrap}.tool:hover{color:var(--text-2)}.tool select{font-size:.82rem;padding:3px 24px 3px 8px;background-position:right 6px center}.tool--toggle input{position:absolute;opacity:0;width:1px;height:1px}.switch{position:relative;width:30px;height:18px;border-radius:999px;background:var(--surface-pressed);box-shadow:inset 0 1px 2px #0000004d;transition:background .15s}.switch:after{content:"";position:absolute;top:2px;left:2px;width:14px;height:14px;border-radius:50%;background:#d6d4d1;box-shadow:0 1px 2px #0000004d;transition:transform .18s var(--ease)}.tool--toggle input:checked+.switch{background:var(--cta)}.tool--toggle input:checked+.switch:after{transform:translate(12px);background:#fff}.tool--toggle input:focus-visible+.switch{outline:2px solid var(--focus);outline-offset:2px}.tool__ply{margin-left:auto;padding:2px 8px;border-radius:999px;background:var(--inset);font-variant-numeric:tabular-nums;font-weight:600;color:var(--muted)}.report{display:flex;flex-direction:column;flex:1;min-height:0}.takeaways{margin:16px 0 4px}.takeaways ul{display:grid;gap:6px;margin:0;padding:0;list-style:none}.takeaway{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:4px 10px;padding:8px 10px;border-radius:var(--r);background:var(--surface);border-left:3px solid var(--c-mistake)}.takeaway--missed{border-left-color:var(--c-miss)}.takeaway--error{border-left-color:var(--c-blunder)}.takeaway--found{border-left-color:var(--c-best)}.takeaway__side.avatar{grid-row:span 2;width:28px;height:28px}.takeaway__text{color:var(--text);font-weight:700}.takeaway__moves{display:flex;flex-wrap:wrap;gap:4px}.takeaway__move{display:inline-flex;align-items:baseline;gap:3px;padding:1px 6px;border:0;border-radius:var(--r-sm);background:var(--inset);color:var(--text-2);font:inherit;font-size:.86rem;font-weight:600;cursor:pointer}.takeaway__move:hover{background:var(--surface-hover);color:var(--text)}.takeaway__move:focus-visible{outline:2px solid var(--focus);outline-offset:1px}.coach__line{margin:0;color:var(--bubble-text);font-size:.94rem;font-weight:600}.report__graph{margin:16px 0 6px}.report__table{width:100%;border-collapse:collapse;table-layout:fixed}.report__col-side{width:80px}.report__col-glyph{width:28px}.report__table th,.report__table td{padding:0}.report__table tbody th{text-align:left;font-size:.875rem;font-weight:600;color:var(--text)}.report__table td{text-align:center}.report__names th{padding:6px 0;vertical-align:bottom}.report__name{display:block;font-size:.75rem;font-weight:700;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.report__players td .avatar{display:flex;margin:0 auto}.report__players th,.report__players td{padding-bottom:12px}.report__accuracy th,.report__accuracy td{padding-bottom:14px}.acc-box{display:inline-flex;align-items:center;justify-content:center;width:64px;height:36px;border-radius:5px;font-size:17px;font-weight:700;font-variant-numeric:tabular-nums}.acc-box--white{background:#fff;color:var(--gray-800)}.acc-box--black{background:#ffffff0d;color:#fff}.report__tally{border-top:1px solid var(--border)}.report__tally tr:first-child th,.report__tally tr:first-child td{padding-top:6px}.report__tally th,.report__tally td{height:40px}.report__tally tr.is-extra:not([hidden]){animation:tally-in .18s var(--ease)}@keyframes tally-in{0%{opacity:0}}.report__glyph .cls-icon{display:block;margin:0 auto}.report__count{font-size:17px;font-weight:700;font-variant-numeric:tabular-nums}.report__count-btn{min-width:42px;height:30px;border:0;border-radius:var(--r);background:transparent;color:inherit;font:inherit;cursor:pointer;transition:background-color .12s}.report__count-btn:hover{background:var(--surface)}.report__fold{display:flex;justify-content:center;padding:6px 0 4px;border-bottom:1px solid var(--border)}.report__fold-btn{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border:0;border-radius:5px;background:transparent;color:var(--muted);cursor:pointer;transition:background-color .12s,color .12s}.report__fold-btn:hover{background:var(--surface);color:var(--text)}.report__fold-btn svg{transition:transform .18s var(--ease)}.report__fold-btn[aria-expanded=true] svg{transform:rotate(180deg)}.report__none{color:var(--faint);font-weight:700}.report__phases th,.report__phases td{height:36px}.report__phases tr:first-child th,.report__phases tr:first-child td{padding-top:6px}.report__phase{display:inline-flex;align-items:center;gap:6px;font-weight:700;font-variant-numeric:tabular-nums;color:var(--text-2)}.report__notes{margin:14px 0 0;padding:0;list-style:none;font-size:.86rem;color:var(--text-2)}.report__notes li+li{margin-top:4px}.report__about{margin-top:16px;padding:10px 12px;border-radius:var(--r);background:var(--inset);font-size:.82rem;color:var(--muted)}.report__about summary{cursor:pointer;font-weight:600;color:var(--text-3)}.report__about summary:hover{color:var(--text)}.report__about ul{margin:8px 0 0;padding-left:18px}.cls-icon{flex:none;display:inline-block;vertical-align:middle}@media(max-width:900px){.main{padding:16px 16px 28px}.topbar{padding:0 16px}.main--review{height:auto;padding:8px 8px 0}.landing__hero{grid-template-columns:1fr}.landing__figure{position:static;max-width:440px}.site-footer__inner{grid-template-columns:1fr;padding:20px 16px}.site-footer__links{grid-row:auto}.pgn-input{min-height:220px}.review{--strip-h: 46px;--eval-w: 16px;--board-size: min(calc(100vw - 16px - var(--eval-w) - 6px), 640px);flex-direction:column;align-items:center;height:auto}.board-row{gap:6px}.player-strip{padding-left:calc(var(--eval-w) + 6px)}.avatar{width:34px;height:34px}.panel{width:min(100%,calc(var(--board-size) + var(--eval-w) + 6px));height:auto;min-height:0;overflow:visible;margin-bottom:8px}.panel__header{border-radius:var(--r) var(--r) 0 0}.review-pane__coach{max-height:none}.move-list{flex:none;max-height:220px}.review-pane__details{max-height:none}.nav{position:sticky;bottom:0;z-index:10;background:var(--panel);padding-bottom:10px;box-shadow:0 -8px 16px #00000040}.panel__scroll{overflow:visible}.report__table,.report__fold{max-width:420px;margin-inline:auto}.panel__footer{position:sticky;bottom:0;z-index:10;border-radius:0 0 var(--r) var(--r);box-shadow:0 -8px 16px #00000040}}@media(max-width:480px){.segmented{grid-template-columns:repeat(2,1fr)}.coach__avatar{width:46px;height:46px;border-radius:8px}.coach__avatar .piece-icon{width:38px!important;height:38px!important}.coach{--tail: 8px;gap:12px}.coach-btn{font-size:.85rem;gap:5px;padding:0 4px}.coach-btn svg{width:16px;height:16px}.details__stats{grid-template-columns:repeat(2,auto)}.panel__tools{flex-wrap:wrap;gap:8px 14px}.player-strip__turn:after{content:none}.player-strip__turn{padding:0 6px}.player-strip__turn:before{margin-right:0}.clock{min-width:78px;height:32px;padding:0 8px;font-size:1.05rem}.cta{height:54px;font-size:1.2rem}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
