@import "https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600&display=swap";.cm-chessboard .board.input-enabled .square{cursor:pointer}.cm-chessboard .coordinates,.cm-chessboard .markers-layer,.cm-chessboard .pieces-layer,.cm-chessboard .markers-top-layer{pointer-events:none}.cm-chessboard-content .list-inline{padding-left:0;list-style:none}.cm-chessboard-content .list-inline-item{display:inline-block}.cm-chessboard-content .list-inline-item:not(:last-child){margin-right:1rem}.cm-chessboard-accessibility.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden}.cm-chessboard-accessibility button:disabled,.cm-chessboard-accessibility button:disabled:hover{opacity:.5;cursor:not-allowed;pointer-events:none}.cm-chessboard.default .board .square.white{fill:#ecdab9}.cm-chessboard.default .board .square.black{fill:#c5a076}.cm-chessboard.default.border-type-thin .board .border{stroke:#c5a076;stroke-width:.7%;fill:#c5a076}.cm-chessboard.default.border-type-none .board .border{stroke:#c5a076;stroke-width:0;fill:#c5a076}.cm-chessboard.default.border-type-frame .board .border{fill:#ecdab9;stroke:none}.cm-chessboard.default.border-type-frame .board .border-inner{fill:#c5a076;stroke:#c5a076;stroke-width:.7%}.cm-chessboard.default .coordinates{pointer-events:none;-webkit-user-select:none;user-select:none}.cm-chessboard.default .coordinates .coordinate{fill:#b5936d;cursor:default;font-size:7px}.cm-chessboard.default .coordinates .coordinate.black{fill:#eeddbf}.cm-chessboard.default .coordinates .coordinate.white{fill:#b5936d}.cm-chessboard.default-contrast .board .square.white{fill:#ecdab9}.cm-chessboard.default-contrast .board .square.black{fill:#c5a076}.cm-chessboard.default-contrast.border-type-thin .board .border{stroke:#c5a076;stroke-width:.7%;fill:#c5a076}.cm-chessboard.default-contrast.border-type-none .board .border{stroke:#c5a076;stroke-width:0;fill:#c5a076}.cm-chessboard.default-contrast.border-type-frame .board .border{fill:#ecdab9;stroke:none}.cm-chessboard.default-contrast.border-type-frame .board .border-inner{fill:#c5a076;stroke:#c5a076;stroke-width:.7%}.cm-chessboard.default-contrast .coordinates{pointer-events:none;-webkit-user-select:none;user-select:none}.cm-chessboard.default-contrast .coordinates .coordinate{fill:#b5936d;cursor:default;font-size:7px}.cm-chessboard.default-contrast .coordinates .coordinate.black,.cm-chessboard.default-contrast .coordinates .coordinate.white{fill:#333}.cm-chessboard.green .board .square.white{fill:#e0ddcc}.cm-chessboard.green .board .square.black{fill:#4c946a}.cm-chessboard.green.border-type-thin .board .border{stroke:#4c946a;stroke-width:.7%;fill:#4c946a}.cm-chessboard.green.border-type-none .board .border{stroke:#4c946a;stroke-width:0;fill:#4c946a}.cm-chessboard.green.border-type-frame .board .border{fill:#e0ddcc;stroke:none}.cm-chessboard.green.border-type-frame .board .border-inner{fill:#4c946a;stroke:#4c946a;stroke-width:.7%}.cm-chessboard.green .coordinates{pointer-events:none;-webkit-user-select:none;user-select:none}.cm-chessboard.green .coordinates .coordinate{fill:#468862;cursor:default;font-size:7px}.cm-chessboard.green .coordinates .coordinate.black{fill:#e2e0d0}.cm-chessboard.green .coordinates .coordinate.white{fill:#468862}.cm-chessboard.blue .board .square.white{fill:#d8ecfb}.cm-chessboard.blue .board .square.black{fill:#86afcf}.cm-chessboard.blue.border-type-thin .board .border{stroke:#86afcf;stroke-width:.7%;fill:#86afcf}.cm-chessboard.blue.border-type-none .board .border{stroke:#86afcf;stroke-width:0;fill:#86afcf}.cm-chessboard.blue.border-type-frame .board .border{fill:#d8ecfb;stroke:none}.cm-chessboard.blue.border-type-frame .board .border-inner{fill:#86afcf;stroke:#86afcf;stroke-width:.7%}.cm-chessboard.blue .coordinates{pointer-events:none;-webkit-user-select:none;user-select:none}.cm-chessboard.blue .coordinates .coordinate{fill:#7ba1be;cursor:default;font-size:7px}.cm-chessboard.blue .coordinates .coordinate.black{fill:#dbeefb}.cm-chessboard.blue .coordinates .coordinate.white{fill:#7ba1be}.cm-chessboard.chess-club .board .square.white{fill:#e6d3b1}.cm-chessboard.chess-club .board .square.black{fill:#af6b3f}.cm-chessboard.chess-club.border-type-thin .board .border{stroke:#692e2b;stroke-width:.7%;fill:#af6b3f}.cm-chessboard.chess-club.border-type-none .board .border{stroke:#692e2b;stroke-width:0;fill:#af6b3f}.cm-chessboard.chess-club.border-type-frame .board .border{fill:#692e2b;stroke:none}.cm-chessboard.chess-club.border-type-frame .board .border-inner{fill:#af6b3f;stroke:#692e2b;stroke-width:.7%}.cm-chessboard.chess-club .coordinates{pointer-events:none;-webkit-user-select:none;user-select:none}.cm-chessboard.chess-club .coordinates .coordinate{fill:#e6d3b1;cursor:default;font-size:7px}.cm-chessboard.chess-club .coordinates .coordinate.black{fill:#e6d3b1}.cm-chessboard.chess-club .coordinates .coordinate.white{fill:#af6b3f}.cm-chessboard.chessboard-js .board .square.white{fill:#f0d9b5}.cm-chessboard.chessboard-js .board .square.black{fill:#b58863}.cm-chessboard.chessboard-js.border-type-thin .board .border{stroke:#404040;stroke-width:.7%;fill:#b58863}.cm-chessboard.chessboard-js.border-type-none .board .border{stroke:#404040;stroke-width:0;fill:#b58863}.cm-chessboard.chessboard-js.border-type-frame .board .border{fill:#f0d9b5;stroke:none}.cm-chessboard.chessboard-js.border-type-frame .board .border-inner{fill:#b58863;stroke:#404040;stroke-width:.7%}.cm-chessboard.chessboard-js .coordinates{pointer-events:none;-webkit-user-select:none;user-select:none}.cm-chessboard.chessboard-js .coordinates .coordinate{fill:#404040;cursor:default;font-size:7px}.cm-chessboard.chessboard-js .coordinates .coordinate.black{fill:#f0d9b5}.cm-chessboard.chessboard-js .coordinates .coordinate.white{fill:#b58863}.cm-chessboard.black-and-white .board .square.white{fill:#fff}.cm-chessboard.black-and-white .board .square.black{fill:#9c9c9c}.cm-chessboard.black-and-white.border-type-thin .board .border{stroke:#9c9c9c;stroke-width:.7%;fill:#9c9c9c}.cm-chessboard.black-and-white.border-type-none .board .border{stroke:#9c9c9c;stroke-width:0;fill:#9c9c9c}.cm-chessboard.black-and-white.border-type-frame .board .border{fill:#fff;stroke:none}.cm-chessboard.black-and-white.border-type-frame .board .border-inner{fill:#9c9c9c;stroke:#9c9c9c;stroke-width:.7%}.cm-chessboard.black-and-white .coordinates{pointer-events:none;-webkit-user-select:none;user-select:none}.cm-chessboard.black-and-white .coordinates .coordinate{fill:#909090;cursor:default;font-size:7px}.cm-chessboard.black-and-white .coordinates .coordinate.black{fill:#fff}.cm-chessboard.black-and-white .coordinates .coordinate.white{fill:#909090}.cm-chessboard .keyboard-focus-indicator .keyboard-focus{fill:none;stroke:#06c;stroke-width:3px;pointer-events:none}.cm-chessboard .keyboard-focus-indicator .keyboard-from-square{fill:#0066cc4d;stroke:#06c;stroke-width:2px;pointer-events:none}.cm-chessboard:focus{outline-offset:2px;outline:2px solid #06c}.cm-chessboard .markers{pointer-events:none}.cm-chessboard .markers .marker.marker-frame{stroke:#000;stroke-width:1.8px;opacity:.5}.cm-chessboard .markers .marker.marker-frame-primary,.cm-chessboard .markers .marker.marker-frame-info{stroke:#00f;stroke-width:1.8px;opacity:.4}.cm-chessboard .markers .marker.marker-frame-danger{stroke:red;stroke-width:1.8px;opacity:.4}.cm-chessboard .markers .marker.marker-frame-warning{stroke:orange;stroke-width:1.8px;opacity:.4}.cm-chessboard .markers .marker.marker-circle{stroke:#000;stroke-width:3px;opacity:.3}.cm-chessboard .markers .marker.marker-circle-primary,.cm-chessboard .markers .marker.marker-circle-info{stroke:#00f;stroke-width:3px;opacity:.4}.cm-chessboard .markers .marker.marker-circle-info-filled{stroke:#00f;fill:#00f;stroke-width:3px;opacity:.4}.cm-chessboard .markers .marker.marker-circle-danger{stroke:red;stroke-width:3px;opacity:.4}.cm-chessboard .markers .marker.marker-circle-danger-filled{stroke:red;fill:red;stroke-width:3px;opacity:.4}.cm-chessboard .markers .marker.marker-circle-warning{stroke:orange;stroke-width:3px;opacity:.4}.cm-chessboard .markers .marker.marker-circle-warning-filled{stroke:orange;fill:orange;stroke-width:3px;opacity:.4}.cm-chessboard .markers .marker.marker-circle-success{stroke:green;stroke-width:3px;opacity:.4}.cm-chessboard .markers .marker.marker-circle-success-filled{stroke:green;fill:green;stroke-width:3px;opacity:.4}.cm-chessboard .markers .marker.marker-square{fill:#000;opacity:.11}.cm-chessboard .markers .marker.marker-dot,.cm-chessboard .markers .marker.marker-bevel{fill:#000;opacity:.2}.cm-chessboard .arrow-warning .arrow-head{fill:orange;fill-rule:nonzero}.cm-chessboard .arrow-warning .arrow-line{stroke:orange;stroke-linecap:round;opacity:.6}.cm-chessboard .arrow-danger .arrow-head{fill:red;fill-rule:nonzero}.cm-chessboard .arrow-danger .arrow-line{stroke:red;stroke-linecap:round;opacity:.5}.cm-chessboard .arrow-success .arrow-head{fill:green;fill-rule:nonzero}.cm-chessboard .arrow-success .arrow-line{stroke:green;stroke-linecap:round;opacity:.5}.cm-chessboard .arrow-info .arrow-head{fill:#00f;fill-rule:nonzero}.cm-chessboard .arrow-info .arrow-line{stroke:#00f;stroke-linecap:round;opacity:.4}.cm-chessboard .arrow-secondary .arrow-head{fill:#666;fill-rule:nonzero}.cm-chessboard .arrow-secondary .arrow-line{stroke:#666;stroke-linecap:butt;opacity:.5}svg.cm-chessboard .promotion-dialog-group rect,svg.cm-chessboard .promotion-dialog-group g[data-piece]{animation:.25s ease-in fade-in}svg.cm-chessboard .promotion-dialog-group .promotion-dialog{fill:#fff;fill-opacity:.7;stroke:#0006}svg.cm-chessboard .promotion-dialog-group .promotion-dialog-button-group{outline:none}svg.cm-chessboard .promotion-dialog-group .promotion-dialog-button-group:focus .promotion-dialog-button{stroke:#0000004d;stroke-width:1px}svg.cm-chessboard .promotion-dialog-group .promotion-dialog-button{fill:#0000;cursor:pointer;outline:none}svg.cm-chessboard .promotion-dialog-group .promotion-dialog-button:hover{fill:#0003}svg.cm-chessboard .promotion-dialog-group .piece{pointer-events:none}@keyframes fade-in{0%{opacity:0}to{opacity:1}}:root{color:#111;--bg:#f8f8f8;--panel:#fff;--panel-soft:#f0f0f0;--line:#ddd;--line-strong:#bbb;--text:#111;--muted:#666;--faint:#999;--accent:#111;--accent-2:#111;--accent-soft:#f0f0f0;--danger:#a00;--danger-soft:#fff0f0;--shadow:0 1px 4px #0000000f;--shadow-strong:0 4px 12px #00000014;--radius:8px;--pill-radius:8px;background:#f8f8f8;font-family:iA Writer Duo,iA Writer Duos,JetBrains Mono,ui-monospace,monospace}*{box-sizing:border-box}body{background:var(--bg);min-width:320px;min-height:100vh;margin:0}button,a{font:inherit}button{color:inherit}main{max-width:1280px;min-height:100vh;margin:0 auto;padding:0 24px 24px;overflow-x:hidden}header{border-bottom:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;min-height:60px;padding:10px 0;display:flex;overflow:visible}.brand{color:var(--accent);letter-spacing:-.04em;cursor:pointer;white-space:nowrap;text-overflow:ellipsis;background:0 0;border:0;max-width:58%;padding:0;font-family:inherit;font-size:clamp(14px,2.2vw,17px);font-weight:700;text-decoration:none;overflow:hidden}.header-actions{align-items:center;gap:8px;min-width:0;display:flex}.sound-toggle{border:1px solid var(--line);background:var(--panel);color:var(--muted);cursor:pointer;text-transform:uppercase;letter-spacing:.04em;white-space:nowrap;border-radius:999px;padding:6px 9px;font:500 10px JetBrains Mono,monospace}.session,.eyebrow,dt,.waiting,.answer-label,.kicker{text-transform:uppercase;letter-spacing:.08em;font-family:JetBrains Mono,monospace;font-size:11px}.session{color:var(--muted);background:var(--panel-soft);border:1px solid var(--line);white-space:nowrap;text-overflow:ellipsis;border-radius:999px;flex-shrink:0;max-width:50%;padding:6px 10px;overflow:hidden}.filters{flex-wrap:wrap;align-items:center;gap:6px;padding:10px 0 0;display:flex}.filters button{border:1px solid var(--line);background:var(--panel);color:var(--muted);cursor:pointer;text-transform:uppercase;letter-spacing:.06em;white-space:nowrap;border-radius:999px;flex-shrink:0;padding:7px 10px;font:500 10px JetBrains Mono,monospace;transition:all .15s}.filters .kicker{white-space:nowrap;flex-shrink:0}.filters .muted{white-space:normal;word-break:break-word;flex:1;min-width:120px}.filters button:hover{border-color:var(--line-strong);color:var(--text)}.filters button.active{background:var(--accent);color:#fff;border-color:var(--accent);box-shadow:0 2px 12px #2d5a3d2e}.main-nav{border-bottom:1px solid var(--line);gap:4px;display:flex}.main-nav button{color:var(--muted);cursor:pointer;background:0 0;border:0;border-bottom:2px solid #0000;padding:15px 16px 13px;font-size:13px;font-weight:600}.main-nav button.active{color:var(--accent);border-bottom-color:var(--accent)}.main-nav span{background:var(--panel-soft);color:var(--muted);border-radius:99px;margin-left:5px;padding:2px 6px;font-size:10px}.trainer{grid-template-columns:minmax(360px,600px) minmax(300px,380px);align-items:start;gap:clamp(16px,3vw,32px);max-height:calc(100vh - 110px);padding-top:12px;display:grid}.board-column{align-self:start;position:sticky;top:12px}.eyebrow{color:var(--accent);align-items:center;gap:8px;margin-bottom:8px;display:flex}.eyebrow:before{content:"";background:var(--accent-2);border-radius:50%;width:6px;height:6px}h1{letter-spacing:-.02em;color:var(--text);margin:0;font-family:inherit;font-size:clamp(22px,3vw,28px);font-weight:700;line-height:1.1}.instruction{color:var(--muted);margin:6px 0 12px;font-size:13px;line-height:1.4}.hint{color:var(--faint);align-items:center;gap:6px;margin-top:10px;font-size:12px;display:flex}.chessboard{aspect-ratio:1;border:1px solid var(--line-strong);width:min(100%,600px);box-shadow:var(--shadow);background:var(--panel);border-radius:16px;position:relative;overflow:hidden}.cm-chessboard.memory-board .board .square.white{fill:#fff}.cm-chessboard.memory-board .board .square.black{fill:#e8e8e8}.cm-chessboard.memory-board .board .square.white.selected{fill:#f0f0f0}.cm-chessboard.memory-board .board .square.black.selected{fill:#d0d0d0}.cm-chessboard.memory-board .board .border{fill:#f8f8f8;stroke:none}.cm-chessboard.memory-board .board .piece{transform-origin:50%;transform:scale(.88)}.cm-chessboard.memory-board .coordinates .coordinate{fill:#999;font-size:6.5px;font-weight:500}.cm-chessboard.memory-board .coordinates .coordinate.black{fill:#666}.cm-chessboard.memory-board .marker-frame{stroke:#111;stroke-width:2.5px;opacity:.9}.cm-chessboard.memory-board .marker-frame-primary{stroke:#111;stroke-width:2.5px}.cm-chessboard.memory-board .marker-dot{fill:#11111114;stroke:#1111111f}.cm-chessboard.memory-board .marker-bevel{fill:#1111110f;stroke:#1111111a}.cm-chessboard.memory-board .marker-frame-danger{stroke:#a00;stroke-width:3px;opacity:1}.cm-chessboard.memory-board .marker-frame-last-origin{fill:none;stroke:#111;stroke-width:2.5px;opacity:.9}.cm-chessboard.memory-board .marker-square-landing-great{fill:#42a5a5;opacity:.62}.cm-chessboard.memory-board .marker-square-landing-best{fill:#4f9d69;opacity:.62}.cm-chessboard.memory-board .marker-square-landing-good{fill:#90be6d;opacity:.58}.cm-chessboard.memory-board .marker-square-landing-inaccuracy{fill:#e9c46a;opacity:.64}.cm-chessboard.memory-board .marker-square-landing-mistake{fill:#f4a261;opacity:.64}.cm-chessboard.memory-board .marker-square-landing-blunder{fill:#e76f51;opacity:.68}.cm-chessboard.memory-board .marker-square-landing-neutral{fill:#9aa39a;opacity:.45}.cm-chessboard.memory-board .arrow{stroke:#111;stroke-width:2.4px;opacity:.9;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 1px 1px #00000014)}.cm-chessboard.memory-board .arrow-best{stroke:#a8d5a2;stroke-width:2.6px;opacity:.92}.cm-chessboard.memory-board .arrow-wrong{stroke:#e8a0a0;stroke-width:2.6px;opacity:.92}.cm-chessboard.memory-board .arrow-soft-green{stroke:#c8e6c0;stroke-width:2.4px;opacity:.88}.cm-chessboard.memory-board .arrow-soft-red{stroke:#f4b5b5;stroke-width:2.4px;opacity:.88}.cm-chessboard.memory-board .arrow-analysis{stroke:#111;opacity:.82}.cm-chessboard.memory-board .arrow-analysis .arrow-line{stroke-width:5px}.chessboard.checkmate{box-shadow:0 0 0 2px #a00, var(--shadow-strong)}.chessboard.checkmate:after{content:"CHECKMATE";color:#fff;letter-spacing:.06em;background:#a00;border-radius:8px;padding:5px 8px;font:700 11px JetBrains Mono,monospace;position:absolute;inset:auto 12px 12px auto}.board-tools{justify-content:flex-end;gap:6px;width:min(100%,600px);margin:-4px 0 8px;display:flex}.board-tools button{border:1px solid var(--line);background:var(--panel);color:var(--muted);cursor:pointer;border-radius:999px;padding:6px 9px;font:500 10px JetBrains Mono,monospace}.board-tools button:hover{color:var(--text);border-color:var(--line-strong)}.board-tools button:disabled{opacity:.5;cursor:wait}.board-stage{align-items:stretch;gap:8px;width:min(100%,600px);display:flex}.board-stage .chessboard{flex:1;width:auto;min-width:0}.eval-bar{background:var(--panel);border:1px solid var(--line);border-radius:10px;flex-direction:column;flex:0 0 30px;align-items:center;gap:6px;width:30px;padding:7px 3px;display:flex}.eval-track{background:#111;border-radius:999px;flex-direction:column;flex:1;justify-content:flex-end;width:13px;min-height:180px;display:flex;position:relative;overflow:hidden}.eval-white{background:#fff;border-top:1px solid #111;width:100%;transition:height .3s}.eval-marker{background:var(--accent-2);height:2px;position:absolute;left:-2px;right:-2px;transform:translateY(1px);box-shadow:0 0 0 1px #fff}.eval-label{color:var(--muted);white-space:nowrap;font:600 9px JetBrains Mono,monospace}.eval-loading{background:var(--line);border-radius:999px;width:13px;height:2px;position:relative;overflow:hidden}.eval-loading:after{content:"";background:linear-gradient(90deg, transparent, var(--line-strong), transparent);animation:1s infinite shimmer;position:absolute;inset:0}@keyframes shimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}aside{scrollbar-width:thin;scrollbar-color:var(--line) transparent;flex-direction:column;gap:10px;max-height:calc(100vh - 120px);padding-top:0;padding-right:4px;display:flex;overflow:hidden auto}.rank-card{background:var(--panel);border:1px solid var(--line);border-radius:12px;flex-wrap:wrap;align-items:baseline;gap:8px 10px;padding:10px 12px;display:flex;box-shadow:0 1px 6px #0000000a}.rank-number{color:var(--accent);letter-spacing:-.02em;font-family:inherit;font-size:22px;font-weight:700}.rank-meta{color:var(--muted);font-size:12px}.chip{text-transform:uppercase;letter-spacing:.06em;border:1px solid var(--line);background:var(--panel-soft);border-radius:999px;padding:4px 8px;font:500 10px JetBrains Mono,monospace}.chip.opening{color:var(--accent);background:var(--accent-soft);border-color:#c8d8c0}.chip.middlegame{color:#6b5a2d;background:#fdf6e3;border-color:#e8d5a0}.chip.endgame{color:#5a3d2d;background:#fdf0e8;border-color:#e8c4a0}.chip.repeated{color:var(--danger);background:var(--danger-soft);border-color:#e8c4a0}.chip.critical{color:#fff;background:#c45a3a;border-color:#c45a3a}.badge{text-transform:uppercase;letter-spacing:.06em;border:1px solid #0000;border-radius:999px;padding:3px 8px;font:700 10px JetBrains Mono,monospace}.badge.best{color:#23643a;background:#dcefe1;border-color:#9dceaa}.badge.great{color:#176b68;background:#dff3f1;border-color:#9bd5d1}.badge.good{color:#2d5a3d;background:#eef4e8;border-color:#c8d8c0}.badge.inaccuracy{color:#92400e;background:#fef3c7;border-color:#fde68a}.badge.mistake{color:#9a3412;background:#ffedd5;border-color:#fed7aa}.badge.blunder{color:#991b1b;background:#fee2e2;border-color:#fecaca}.meta-grid{background:var(--panel);border:1px solid var(--line);border-radius:12px;margin-top:0;overflow:hidden}.meta-grid div{border-bottom:1px solid var(--line);justify-content:space-between;align-items:baseline;gap:10px;padding:8px 12px;display:flex}.meta-grid div:last-child{border-bottom:0}.meta-grid dt{color:var(--muted);flex-shrink:0;margin:0}.meta-grid dd{text-align:right;color:var(--text);margin:0;font-size:13px;font-weight:500;line-height:1.4}.meta-grid dd.muted{color:var(--muted);font-weight:400}.disclosure{border:1px solid var(--line);background:var(--panel);border-radius:10px;margin-top:0;overflow:hidden}.disclosure summary{cursor:pointer;color:var(--muted);text-transform:uppercase;letter-spacing:.06em;padding:8px 12px;font:500 10px JetBrains Mono,monospace}.disclosure[open] summary{color:var(--text);border-bottom:1px solid var(--line)}.disclosure .meta-grid{border:0;border-radius:0;margin:0}.meta-grid.compact div{padding:10px 14px}.opening-row dd{min-width:0;max-width:245px}.opening-name{white-space:nowrap;text-overflow:ellipsis;display:block;overflow:hidden}.source-links{justify-content:flex-end;gap:10px;margin-top:5px;display:flex}.source-links a{color:var(--accent);font-size:10px;font-weight:500;text-decoration:none}.waiting{min-height:48px;color:var(--accent);background:var(--accent-soft);border:1px solid #d8e6cc;border-radius:10px;align-items:center;gap:8px;margin-top:0;padding:10px 12px;font-size:12px;display:flex}.pulse{background:var(--accent);border-radius:50%;width:7px;height:7px;animation:1.6s infinite pulse;box-shadow:0 0 0 5px #2d5a3d1f}@keyframes pulse{0%{box-shadow:0 0 0 6px #2d5a3d1f}50%{box-shadow:0 0 0 9px #2d5a3d0f}to{box-shadow:0 0 0 6px #2d5a3d1f}}.answer{background:var(--panel);border:1px solid var(--line);box-shadow:var(--shadow);border-left:4px solid var(--danger);border-radius:12px;margin-top:0;padding:14px}.answer.correct{border-left-color:var(--accent)}.answer-label{color:var(--danger);font-size:11px;font-weight:600}.answer.correct .answer-label{color:var(--accent)}.answer-summary{grid-template-columns:auto auto 1fr;align-items:center;gap:9px;margin-bottom:8px;display:grid}.answer-summary .answer-label{text-align:right;text-transform:uppercase;letter-spacing:.05em}.answer-move{letter-spacing:-.02em;font-family:inherit;font-size:22px;font-weight:700;line-height:1}.answer p{color:#4a4e4a;margin:0;font-size:12px;line-height:1.5}.answer p strong{color:var(--text)}.review-strip{background:var(--panel-soft);border:1px solid var(--line);border-radius:8px;justify-content:space-between;align-items:center;gap:10px;margin-top:10px;padding:8px 10px;font-size:11px;display:flex}.variation{border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-top:8px}.variation summary{color:var(--muted);cursor:pointer;text-overflow:ellipsis;white-space:nowrap;padding:8px 0;font-size:11px;overflow:hidden}.variation .line-pills{margin:0 0 8px}.answer-actions{gap:6px;margin-top:10px;display:flex}.answer-actions>*{min-width:0;min-height:38px}.answer-actions button{flex:1 1 0}.answer-actions select{flex:0 0 82px!important}.compact-links{justify-content:flex-start;gap:14px;margin-top:9px}.compact-links a{background:0 0;border:0;padding:0;font-size:11px}.line{color:#5a5e5a;background:var(--panel-soft);border:1px solid var(--line);border-radius:8px;margin:12px 0;padding:10px 12px;font:12px/1.5 JetBrains Mono,monospace}.answer a{color:var(--accent);border-bottom:1px solid #2d5a3d33;font-size:12px;font-weight:500;text-decoration:none}.answer a:hover{border-bottom-color:var(--accent)}.model-games{background:var(--panel-soft);border:1px solid var(--line);border-radius:8px;margin-top:10px;padding:10px 12px}.model-games .kicker{color:var(--muted);margin-bottom:6px}.model-games a{font-size:12px}.analysis-card{border-radius:10px;justify-content:space-between;align-items:center;gap:12px;margin-top:12px;padding:12px;display:flex}.analysis-card strong{margin-top:3px;font-size:13px;display:block}.position-analysis{background:var(--accent-soft);border:1px solid #d8e6cc}.engine-analysis{background:#f4f1fb;border:1px solid #ddd4ee;display:block}.analysis-heading{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.engine-count{color:var(--muted);white-space:nowrap;font-size:11px}.engine-count strong{color:var(--text);margin:0;font-size:12px;display:inline}.engine-verdict{border:1px solid var(--line);background:#fff;border-radius:9px;margin:10px 0;padding:10px 12px}.engine-verdict-main{align-items:center;gap:8px;font-size:12px;line-height:1.45;display:flex}.engine-verdict-main .badge{flex:none}.engine-eval{color:var(--muted);margin:4px 0 0;font-size:10px}.move-legend{color:var(--muted);flex-wrap:wrap;gap:5px 9px;margin:9px 0 7px;font-size:9px;display:flex}.move-legend span{align-items:center;gap:4px;display:inline-flex}.move-legend span:before{content:"";border:1px solid #0000;border-radius:2px;width:7px;height:7px}.move-legend .best:before{background:#dcefe1;border-color:#9dceaa}.move-legend .great:before{background:#dff3f1;border-color:#9bd5d1}.move-legend .good:before{background:#eef4e8;border-color:#c8d8c0}.move-legend .inaccuracy:before{background:#fef3c7;border-color:#fde68a}.move-legend .mistake:before{background:#ffedd5;border-color:#fed7aa}.move-legend .blunder:before{background:#fee2e2;border-color:#fecaca}.move-legend .engine:before{background:#f4f1fb;border-color:#ddd4ee}.engine-move-list{background:#ffffff8c;border:1px solid #ddd4ee;border-radius:8px;margin:0 0 10px;overflow:hidden}.engine-move-row{border-bottom:1px solid #e6e0ef;grid-template-columns:32px minmax(0,1fr) minmax(0,1fr);align-items:stretch;display:grid}.engine-move-row:last-child{border-bottom:0}.move-number{color:var(--muted);background:#5b4a7a0d;place-items:center;font:500 10px JetBrains Mono,monospace;display:grid}.notation-move{min-width:0;min-height:34px;color:var(--text);cursor:pointer;text-align:left;background:0 0;border:0;border-left:1px solid #e6e0ef;align-items:baseline;gap:6px;padding:6px 8px;font:11px JetBrains Mono,monospace;display:flex}.notation-move:hover{filter:brightness(.97)}.notation-move strong{text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:12px;display:inline;overflow:hidden}.notation-move small{color:inherit;opacity:.72;text-overflow:ellipsis;white-space:nowrap;font-size:9px;overflow:hidden}.notation-move.best{color:#23643a;background:#dcefe1}.notation-move.great{color:#176b68;background:#dff3f1}.notation-move.good{color:#2d5a3d;background:#eef4e8}.notation-move.inaccuracy{color:#92400e;background:#fef3c7}.notation-move.mistake{color:#9a3412;background:#ffedd5}.notation-move.blunder{color:#991b1b;background:#fee2e2}.notation-move.engine{color:#5b5368;background:#f4f1fb}.notation-move.active{box-shadow:inset 0 0 0 2px var(--text);position:relative}.notation-empty{min-height:34px;color:var(--faint);border-left:1px solid #e6e0ef;align-items:center;padding:6px 8px;font-size:10px;display:grid}.history-controls{grid-template-columns:repeat(5,minmax(36px,1fr));gap:6px;display:grid}.history-controls .ghost{padding:8px 6px}.history-controls .continue-button,.history-controls .analysis-button{grid-column:1/-1;min-height:36px}.history-hint{color:var(--muted);margin:8px 0 0;font-size:10px;line-height:1.4}.answer-links{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.answer-links a,.analysis-button{background:#fff;border:1px solid #2d5a3d33;border-radius:7px;padding:7px 9px}.analysis-button{cursor:pointer;color:#4f3b78;border-color:#d4c8e8;width:100%;font-weight:600}.continue-button{min-width:108px}.games-list{border:1px solid var(--line);background:var(--panel);border-radius:10px;max-height:220px;margin-top:0;overflow:hidden auto}.game-row{border-bottom:1px solid var(--line);grid-template-columns:1fr auto;align-items:center;gap:4px 10px;padding:8px 10px;font-size:11px;display:grid}.game-row:last-child{border-bottom:0}.game-row.mistake{background:var(--danger-soft)}.game-row a{font-size:11px}.line-pills{flex-wrap:wrap;gap:5px;margin:8px 0;display:flex}.pill{border:1px solid var(--line);background:var(--panel);cursor:pointer;border-radius:999px;padding:5px 8px;font:500 10px JetBrains Mono,monospace;transition:all .12s}.pill:hover{border-color:var(--line-strong)}.pill.active{box-shadow:0 0 0 2px var(--text)}.pill.ghost{background:0 0}.pill.best{color:#23643a;background:#dcefe1;border-color:#9dceaa}.pill.great{color:#176b68;background:#dff3f1;border-color:#9bd5d1}.pill.good{color:#2d5a3d;background:#eef4e8;border-color:#c8d8c0}.pill.inaccuracy{color:#92400e;background:#fef3c7;border-color:#fde68a}.pill.mistake{color:#9a3412;background:#ffedd5;border-color:#fed7aa}.pill.blunder{color:#991b1b;background:#fee2e2;border-color:#fecaca}.pill.engine{color:#5b5368;background:#f4f1fb;border-color:#ddd4ee}.next{background:var(--accent);color:#fff;cursor:pointer;border:0;border-radius:10px;justify-content:space-between;align-items:center;width:100%;margin-top:0;padding:10px 14px;font-size:13px;font-weight:600;transition:all .15s;display:flex;box-shadow:0 3px 10px #2d5a3d2e}.next:hover{background:#1e3d29;transform:translateY(-1px);box-shadow:0 4px 14px #2d5a3d38}.engine-row{gap:6px;margin-top:8px;display:flex}.ghost{border:1px solid var(--line);background:var(--panel);cursor:pointer;border-radius:10px;flex:1;padding:10px 12px;font:500 12px Inter,sans-serif}.ghost.primary{background:var(--accent);color:#fff;border-color:var(--accent)}.ghost:disabled{opacity:.5;cursor:not-allowed}.move-error{color:var(--danger);background:var(--danger-soft);border:1px solid #e8c4a0;border-radius:8px;margin-top:12px;padding:10px 12px;font-size:13px}.state{min-height:60vh;color:var(--muted);text-align:center;place-items:center;padding:32px;display:grid}.state.error{color:var(--danger)}.source-credit{color:var(--faint);text-align:center;margin-top:28px;font:10px JetBrains Mono,monospace}.source-credit a{color:var(--muted)}.dashboard-view{padding:44px 0 20px}.view-heading{justify-content:space-between;align-items:end;gap:32px;margin-bottom:28px;display:flex}.view-heading .eyebrow{margin-bottom:12px}.view-heading p{max-width:390px;color:var(--muted);margin:0 0 4px;font-size:13px;line-height:1.6}.list-card,.panel,.insight-hero,.insight-grid article,.metric-grid article{background:var(--panel);border:1px solid var(--line);border-radius:14px;box-shadow:0 2px 12px #00000008}.list-card{overflow:hidden}.error-search{border:1px solid var(--line);background:var(--panel);width:100%;color:var(--text);border-radius:10px;outline:none;margin-bottom:12px;padding:12px 14px;font:13px Inter,sans-serif}.error-search:focus{border-color:var(--accent);box-shadow:0 0 0 3px #2d5a3d14}.load-more{border:1px solid var(--line);background:var(--panel);color:var(--accent);cursor:pointer;border-radius:9px;margin:14px auto 0;padding:10px 16px;font-weight:600;display:block}.list-head,.error-row{text-align:left;grid-template-columns:minmax(260px,2fr) 130px 150px 100px;align-items:center;gap:16px;display:grid}.list-head{background:var(--panel-soft);color:var(--muted);text-transform:uppercase;letter-spacing:.06em;padding:11px 16px;font:500 10px JetBrains Mono,monospace}.error-row{border:0;border-bottom:1px solid var(--line);cursor:pointer;background:#fff;width:100%;padding:13px 16px;font-size:12px}.error-row:last-child{border-bottom:0}.error-row:hover{background:var(--accent-soft)}.error-name{align-items:center;gap:10px;min-width:0;display:flex}.error-name b{color:var(--accent);flex:0 0 32px}.error-name span{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.trend{color:var(--muted)}.trend.improving,.trend.probably-resolved{color:var(--accent)}.trend.regressing{color:var(--danger)}.metric-grid{grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:18px;display:grid}.metric-grid article{padding:18px}.metric-grid span{color:var(--muted);font-size:12px;display:block}.metric-grid strong{margin-top:6px;font:700 26px inherit;display:block}.positive{color:var(--accent)}.negative{color:var(--danger)}.split-panels{grid-template-columns:1fr 1fr;gap:18px;display:grid}.panel{padding:18px}.panel-list{max-height:440px;padding-right:4px;overflow:auto}.panel h2,.insight-hero h2{margin:6px 0 12px;font:700 20px inherit}.mini-row{border:0;border-bottom:1px solid var(--line);cursor:pointer;text-align:left;background:0 0;justify-content:space-between;gap:16px;width:100%;padding:10px 0;font-size:12px;display:flex}.mini-row span{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.mini-row b{color:var(--accent);flex-shrink:0}.empty{color:var(--muted);font-size:13px}.insight-hero{background:var(--accent);color:#fff;padding:24px}.insight-hero .kicker,.insight-hero p{color:#ffffffb3}.insight-hero p{max-width:600px;font-size:13px}.primary-action{color:var(--accent);cursor:pointer;background:#fff;border:0;border-radius:9px;margin-top:10px;padding:10px 14px;font-weight:600}.insight-grid{grid-template-columns:repeat(3,1fr);gap:14px;margin-top:14px;display:grid}.insight-grid article{padding:18px}.insight-grid article>strong{color:var(--accent);margin-top:12px;font:700 24px inherit;display:block}.insight-grid h3{margin:7px 0;font-size:14px}.insight-grid p{color:var(--muted);margin:0;font-size:12px;line-height:1.55}.import-panels{grid-template-columns:1fr 1fr;gap:14px;margin-bottom:10px;display:grid}.import-panel{min-width:0;overflow:hidden}.import-panel h3{font:600 15px Inter,sans-serif}.sync-row{grid-template-columns:1fr 1fr;gap:14px;display:grid}.sync-field label,.upload-grid label{text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font:500 11px JetBrains Mono,monospace;display:block}.sync-input{gap:8px;margin-top:6px;display:flex}.sync-input input{border:1px solid var(--line);border-radius:8px;flex:1;min-width:0;padding:9px 10px;font-size:13px}.upload-grid{grid-template-columns:1fr 1fr;gap:18px;min-width:0;margin-top:8px;display:grid}.upload-grid>div{min-width:0;overflow:hidden}.upload-grid textarea,.upload-grid input{box-sizing:border-box;max-width:100%}.platform{text-transform:uppercase;letter-spacing:.06em;border:1px solid var(--line);background:var(--panel-soft);border-radius:999px;padding:2px 7px;font:500 10px JetBrains Mono,monospace}.platform.chesscom{color:var(--accent);background:#eef4e8;border-color:#c8d8c0}.platform.lichess{color:#5b4a7a;background:#f4f1fb;border-color:#d8d0ea}.platform.upload{color:#7a5a1a;background:#fdf6e3;border-color:#e8d5a0}.games-head{grid-template-columns:minmax(260px,2.2fr) minmax(160px,1.1fr) minmax(130px,.9fr) minmax(150px,1fr);gap:16px;padding:11px 16px;display:grid}.game-table-row{border-bottom:1px solid var(--line);background:#fff;grid-template-columns:minmax(260px,2.2fr) minmax(160px,1.1fr) minmax(130px,.9fr) minmax(150px,1fr);align-items:start;gap:16px;padding:14px 16px;display:grid}.game-table-row:last-child{border-bottom:0}.game-table-row:hover{background:var(--panel-soft)}.game-main{min-width:0;overflow:hidden}.game-title{flex-wrap:wrap;align-items:center;gap:6px;min-width:0;font-size:12px;display:flex}.game-date{color:var(--muted);font:500 11px JetBrains Mono,monospace}.game-players{word-break:break-word;margin-top:4px;font-size:13px;line-height:1.3}.game-meta,.game-stats,.game-training{min-width:0;font-size:12px;line-height:1.4;overflow:hidden}.game-meta span:last-child{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.game-stats{word-break:break-word}.game-stats div{white-space:nowrap;text-overflow:ellipsis;margin-bottom:3px;overflow:hidden}.game-training{word-break:break-word}@media (width<=980px){.import-panels,.sync-row,.upload-grid{grid-template-columns:1fr}.games-head{display:none}.game-table-row{grid-template-columns:1fr 100px;gap:10px}.game-meta,.game-training{grid-column:1}}@media (width<=860px){main{padding:0 16px 24px}header{height:56px}.trainer{grid-template-columns:1fr;gap:16px;max-height:none;padding-top:12px}.board-column{width:100%;position:static}.chessboard{width:100%;max-width:520px;margin:0 auto}aside{flex-direction:column;max-height:none;display:flex;overflow:visible}.answer{order:-1;margin:0 0 12px}.waiting{order:-1;min-height:56px}.main-nav{overflow-x:auto}.main-nav button{white-space:nowrap;padding-inline:11px}.view-heading{display:block}.view-heading p{margin-top:14px}.metric-grid{grid-template-columns:1fr 1fr}.split-panels,.insight-grid{grid-template-columns:1fr}.list-head{display:none}.error-row{grid-template-columns:1fr auto;gap:6px 12px}.error-row .trend{grid-column:1}.dashboard-view{padding-top:28px}.answer-summary{grid-template-columns:auto 1fr}.answer-summary .answer-label{text-align:left;grid-column:1/-1}.answer-actions select{flex-basis:76px!important}.engine-verdict-main{align-items:flex-start}.analysis-heading{flex-direction:column;align-items:flex-start;gap:3px}}
