.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{width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.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;font-size:7px;cursor:default}.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;font-size:7px;cursor:default}.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;font-size:7px;cursor:default}.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;font-size:7px;cursor:default}.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;font-size:7px;cursor:default}.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;font-size:7px;cursor:default}.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;font-size:7px;cursor:default}.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:2px solid #0066cc;outline-offset:2px}:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;--bg:#0d0f10;--panel:#171a1d;--panel2:#202428;--line:#30363c;--text:#f4f5f5;--muted:#9ca4aa;--accent:#c7f36a;--danger:#ff7474}*{box-sizing:border-box}body{margin:0;background:radial-gradient(circle at 50% -10%,#22272b 0,#0d0f10 44%);color:var(--text);min-height:100vh}button{font:inherit}.shell{max-width:1180px;margin:auto;padding:26px 18px 40px}.brand{text-align:center;font-size:12px;letter-spacing:.22em;color:#9ca4aa;text-transform:uppercase;margin-bottom:20px}.center-card{max-width:620px;margin:8vh auto 0;padding:32px;border:1px solid var(--line);border-radius:22px;background:#171a1df5;box-shadow:0 25px 70px #0000004d}h1{font-size:clamp(32px,5vw,50px);margin:0 0 10px;line-height:1}.sub{color:var(--muted);margin:0 0 26px}.choice-grid{display:grid;gap:13px}.choice{padding:20px;border-radius:15px;border:1px solid var(--line);background:var(--panel2);color:#fff;text-align:left;cursor:pointer;transition:.15s}.choice:hover{transform:translateY(-2px);border-color:#586069}.choice strong{display:block;font-size:22px;margin-bottom:4px}.choice span{color:var(--muted)}.lengths{display:flex;gap:10px;flex-wrap:wrap}.pill,.secondary{border:1px solid var(--line);background:var(--panel2);color:#fff;border-radius:999px;padding:11px 16px;cursor:pointer}.pill.active{background:var(--accent);color:#111;border-color:var(--accent);font-weight:800}.primary{width:100%;border:0;background:var(--accent);color:#101214;padding:15px;border-radius:12px;font-weight:800;margin-top:20px;cursor:pointer}.training{display:grid;grid-template-columns:minmax(320px,720px) minmax(270px,1fr);gap:24px;align-items:start}.board-shell{position:relative;width:100%;max-width:720px;margin:auto;border-radius:14px;overflow:hidden;box-shadow:0 25px 80px #00000073}#board{width:100%;aspect-ratio:1;background:#222}#board .cm-chessboard{border-radius:14px;overflow:hidden}#board .board .square.white{fill:#e8dfcf}#board .board .square.black{fill:#76907c}#board .board .coordinates{fill:#445047;font-weight:700}#board .piece{filter:drop-shadow(0 2px 1px rgba(0,0,0,.28))}.guide-layer{position:absolute;inset:0;pointer-events:none;z-index:20}.guide-square{position:absolute;width:12.5%;height:12.5%;border:5px solid rgba(199,243,106,.95);background:#c7f36a1a;box-shadow:0 0 0 2px #14171940 inset}.guide-square.to:after{content:"";position:absolute;width:20%;aspect-ratio:1;border-radius:50%;background:#c7f36af2;left:40%;top:40%;box-shadow:0 0 0 5px #00000026}.side-panel{border:1px solid var(--line);border-radius:18px;background:#171a1df2;padding:20px}.kicker{font-size:12px;font-weight:900;letter-spacing:.12em;color:var(--accent);text-transform:uppercase}.title{font-size:28px;margin:5px 0 3px}.meta{color:var(--muted);margin-bottom:18px}.status{min-height:58px;padding:14px;display:flex;align-items:center;border-radius:12px;background:#101214;border:1px solid #292f34;margin-bottom:14px}.status.error{color:var(--danger)}.progress{height:8px;background:#0c0e0f;border-radius:999px;overflow:hidden;margin:8px 0 16px}.progress>div{height:100%;background:var(--accent)}.row{display:flex;gap:10px}.row .secondary{flex:1;border-radius:10px}.stats{margin-top:18px;color:var(--muted);font-size:14px;line-height:1.7}.move-list{margin-top:14px;max-height:220px;overflow:auto;font:13px ui-monospace,SFMono-Regular,Menlo,monospace;color:#c8cfd3}.complete{position:fixed;inset:0;background:#030405bd;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:grid;place-items:center;z-index:100;padding:20px}.complete-card{width:min(460px,100%);padding:28px;border:1px solid var(--line);border-radius:20px;background:var(--panel);text-align:center}@media(max-width:850px){.training{grid-template-columns:1fr}.side-panel{width:100%;max-width:720px;margin:auto}.center-card{padding:24px;margin-top:4vh}}.board-area{display:grid;grid-template-columns:44px minmax(0,1fr);gap:10px;width:100%;max-width:774px;margin:auto;align-items:stretch}.eval-column{display:grid;grid-template-rows:auto minmax(0,1fr) auto;gap:7px;min-height:0}.eval-label{text-align:center;font-size:12px;font-weight:850;color:#eef1f2;font-variant-numeric:tabular-nums}.eval-depth{text-align:center;writing-mode:vertical-rl;transform:rotate(180deg);justify-self:center;color:var(--muted);font-size:10px;line-height:1}.eval-bar{position:relative;width:28px;justify-self:center;min-height:260px;height:100%;overflow:hidden;border-radius:7px;border:1px solid #3b4146;background:#111;box-shadow:inset 0 0 0 1px #ffffff08;display:flex;flex-direction:column}.eval-black{width:100%;height:50%;background:#24272a;transition:height .18s ease}.eval-white{width:100%;height:50%;background:#f0ede6;transition:height .18s ease}@media(max-width:560px){.board-area{grid-template-columns:34px minmax(0,1fr);gap:6px}.eval-bar{width:22px;min-height:220px}.eval-label{font-size:10px}}.side-brief{margin:0 0 16px;padding:16px;border:1px solid #394047;border-radius:14px;background:linear-gradient(180deg,#1b2023,#131619);box-shadow:0 12px 35px #0000002e}.side-brief-title{margin-top:6px;font-size:18px;font-weight:800;line-height:1.25}.side-brief-body{margin-top:8px;color:#d7dde0;line-height:1.5;font-size:14px}.side-brief .brief-dd vif{margin-top:12px;padding:12px;border-radius:10px;background:#0f1214;border:1px solid #2b3136;color:#f0f2f3;line-height:1.45;font-size:14px}.side-play{margin-top:14px;padding:12px 14px}.brief-section{margin-top:13px}.brief-section-label{color:var(--accent);font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.08em;margin-bottom:5px}.brief-open-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:12px}.brief-open-box{padding:11px;border-radius:10px;background:#101315;border:1px solid #2a3035;color:#d7dde0;font-size:13px;line-height:1.45}@media(max-width:850px){.brief-open-grid{grid-template-columns:1fr}}.cue-svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none}.cue-arrow{stroke-linecap:round;stroke-width:.72;opacity:.82}.cue-arrowhead{opacity:.86}.cue-current{stroke:#d7ff73;fill:#d7ff73}.cue-us{stroke:#55d8ff;fill:#55d8ff}.cue-them{stroke:#ff8ab1;fill:#ff8ab1}.cue-circle{position:absolute;width:12.5%;height:12.5%;border-radius:50%;pointer-events:none;box-shadow:inset 0 0 0 4px #fff3}.cue-circle.cue-us{background:#55d8ff1f;box-shadow:inset 0 0 0 4px #55d8ffeb,0 0 14px #55d8ff47}.cue-circle.cue-them{background:#ff8ab11f;box-shadow:inset 0 0 0 4px #ff8ab1eb,0 0 14px #ff8ab147}.cue-circle.cue-current{background:#d7ff731a;box-shadow:inset 0 0 0 4px #d7ff73f2,0 0 16px #d7ff734d}.cue-them-last{stroke:#ff9abf;fill:#ff9abf;opacity:.42}.cue-circle{transform:scale(.72);transform-origin:center}.opening-chip{display:inline-flex;margin-top:8px;padding:5px 9px;border-radius:999px;background:#c7f36a1a;border:1px solid rgba(199,243,106,.28);color:#dfffa0;font-size:11px;font-weight:800}.side-brief{max-height:min(67vh,640px);overflow:auto}.side-brief-body,.brief-dd vif,.brief-open-box{text-wrap:pretty}#hint{border-color:#c7f36a73}#hint:hover{border-color:var(--accent)}.profile-summary{width:min(980px,calc(100% - 28px));margin:0 auto 18px;padding:16px;border-radius:20px;border:1px solid rgba(255,255,255,.08);background:#ffffff06}.profile-summary-head{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:14px}.profile-kicker{color:var(--accent);font-size:11px;font-weight:900;letter-spacing:.12em}.profile-emvif{margin-top:4px;font-weight:800;overflow-wrap:anywhere}.compact{min-height:auto;padding:8px 11px;font-size:12px}.level-counts{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px}.level-count-card{text-align:center;padding:11px 6px;border-radius:14px;background:#ffffff09;border:1px solid rgba(255,255,255,.065)}.level-count-number{font-size:24px;line-height:1;font-weight:900;color:var(--accent)}.level-count-label{margin-top:6px;font-size:12px;font-weight:800}.level-count-sub{margin-top:2px;color:var(--muted);font-size:10px}.emvif-gate{min-height:72vh;display:grid;place-items:center;padding:28px 16px}.emvif-gate-card{width:min(610px,100%);padding:28px;border-radius:24px;background:#12161af0;border:1px solid rgba(255,255,255,.08);box-shadow:0 24px 70px #0000004d}.emvif-gate-card h1{margin:7px 0 8px;font-size:clamp(28px,5vw,42px)}.emvif-row{display:flex;gap:10px;margin-top:20px}.emvif-input{flex:1;min-width:0;border:1px solid rgba(255,255,255,.13);background:#0f1316;color:var(--text);border-radius:14px;padding:13px 14px;font:inherit;outline:none}.emvif-input:focus{border-color:#c7f36ab8;box-shadow:0 0 0 3px #c7f36a14}.emvif-error{min-height:20px;margin-top:8px;color:#ff8fa8;font-size:13px}@media(max-width:760px){.level-counts{grid-template-columns:repeat(3,1fr)}.emvif-row{flex-direction:column}}.emvif-gate-card .emvif-row{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;align-items:stretch!important;gap:10px!important}.emvif-gate-card .emvif-input{display:block!important;width:100%!important;min-width:0!important;height:52px!important;box-sizing:border-box!important;padding:0 16px!important;border-radius:14px!important;line-height:52px!important;writing-mode:horizontal-tb!important}.emvif-gate-card #profileContinue{width:auto!important;min-width:140px!important;height:52px!important;padding:0 22px!important;white-space:nowrap!important}@media(max-width:760px){.emvif-gate-card .emvif-row{grid-template-columns:1fr!important}.emvif-gate-card #profileContinue{width:100%!important}}.profile-elo{margin-left:auto;display:flex;flex-direction:column;align-items:flex-end;gap:2px}.profile-elo span{color:var(--muted);font-size:11px;font-weight:700}.profile-elo strong{font-size:28px;line-height:1;color:var(--accent)}.lengths .pill{display:flex;flex-direction:column;gap:3px;align-items:center}.lengths .pill span{font-size:10px;opacity:.7}.course-head{width:min(1180px,calc(100% - 28px));margin:0 auto 18px;display:flex;align-items:flex-end;justify-content:space-between;gap:20px}.course-head h1{margin:4px 0}.course-score{min-width:120px;text-align:right}.course-score strong{display:block;font-size:34px;color:var(--accent)}.course-score span{color:var(--muted);font-size:12px}.variation-grid{width:min(1180px,calc(100% - 28px));margin:0 auto;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.variation-card{border:1px solid rgba(255,255,255,.08);background:#ffffff06;border-radius:18px;padding:14px}.variation-card.mastered{border-color:#c7f36a59;background:#c7f36a0b}.variation-top{display:flex;justify-content:space-between;gap:10px;font-size:12px;color:var(--muted)}.variation-top strong{color:var(--accent)}.variation-move{margin:12px 0 5px;font-size:20px;font-weight:900}.variation-state{font-size:11px;color:var(--muted);min-height:16px}.variation-actions{display:grid;grid-template-columns:1fr 1.25fr;gap:7px;margin-top:12px}.variation-actions button{width:100%}button:disabled{opacity:.35;cursor:not-allowed}.rank-unlock{width:min(1180px,calc(100% - 28px));margin:18px auto 0;padding:18px;border-radius:20px;border:1px solid rgba(255,255,255,.08);display:flex;align-items:center;justify-content:space-between;gap:18px;background:#ffffff06}.rank-unlock.ready{border-color:#c7f36a59;background:#c7f36a0a}.rank-unlock h2{margin:4px 0}.course-footer{width:min(1180px,calc(100% - 28px));margin:16px auto 28px}.loader{width:38px;height:38px;border-radius:50%;border:4px solid rgba(255,255,255,.12);border-top-color:var(--accent);animation:spin .8s linear infinite;margin:0 auto 14px}@keyframes spin{to{transform:rotate(360deg)}}.rank-result{width:min(760px,calc(100% - 28px));margin:40px auto;text-align:center;padding:30px;border-radius:24px;border:1px solid rgba(255,255,255,.08);background:#ffffff06}.rank-elo{margin-top:12px;font-size:clamp(68px,13vw,128px);font-weight:950;line-height:.9;color:var(--accent)}.rank-result h1{margin:8px 0}.rank-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:24px 0}.rank-metrics>div{padding:14px 8px;border-radius:15px;background:#ffffff0a}.rank-metrics strong{display:block;font-size:24px}.rank-metrics span{display:block;margin-top:4px;color:var(--muted);font-size:11px}.rank-note{color:var(--muted);font-size:12px;margin:18px 0}@media(max-width:960px){.variation-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:620px){.variation-grid{grid-template-columns:1fr}.course-head,.rank-unlock{align-items:stretch;flex-direction:column}.course-score{text-align:left}.rank-metrics{grid-template-columns:1fr}.profile-summary-head{flex-wrap:wrap}.profile-elo{order:3;margin-left:0;align-items:flex-start;width:100%}}.variation-stats{display:flex;flex-wrap:wrap;gap:6px;margin:9px 0}.variation-stats span{font-size:10px;color:var(--muted);padding:5px 7px;border-radius:999px;background:#ffffff0a}.variation-stats b{color:var(--text)}.saved-line-label{display:flex;flex-direction:column;gap:5px;margin:8px 0;font-size:10px;color:var(--muted)}.saved-line-select{width:100%;border:1px solid rgba(255,255,255,.1);background:#11171a;color:var(--text);border-radius:10px;padding:8px 9px;font:inherit;font-size:11px}.no-saved-line{margin:8px 0;color:var(--muted);font-size:11px;font-style:italic}.variation-actions.triple{grid-template-columns:1fr 1fr 1.15fr}.variation-actions.triple button{padding-left:7px;padding-right:7px;font-size:10px}.board-wrap{position:relative}.move-quality{position:absolute;z-index:30;top:12px;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:8px;padding:8px 12px;border-radius:999px;background:#0a0d0feb;border:1px solid rgba(255,255,255,.14);box-shadow:0 10px 28px #00000047;pointer-events:none;white-space:nowrap}.move-quality strong{font-size:12px;letter-spacing:.04em}.move-quality span{font-size:10px;color:var(--muted)}.move-quality.brilliant{border-color:#7fd6ffa6}.move-quality.brilliant strong{color:#8fe1ff}.move-quality.best{border-color:#c7f36a9e}.move-quality.best strong{color:var(--accent)}.move-quality.excellent strong{color:#9fe3a4}.move-quality.good strong{color:#d7e9d9}.move-quality.inaccuracy strong{color:#f1d477}.move-quality.mistake strong{color:#ffb069}.move-quality.blunder strong{color:#ff7f96}@media(max-width:760px){.variation-actions.triple{grid-template-columns:1fr}}.saved-actions{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-top:10px}.saved-actions button{width:100%}.new-training-btn{width:100%;margin-top:7px}.hint-btn{border-color:#ffd3667a!important}.hint-btn:hover{border-color:#ffd366e6!important}.performance-chip{display:inline-flex;margin:4px auto 10px;padding:6px 12px;border-radius:999px;border:1px solid rgba(199,243,106,.32);background:#c7f36a12;color:var(--accent);font-size:12px;font-weight:900}.rank-report-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin:14px 0 20px}.report-stat{padding:12px 7px;border-radius:14px;background:#ffffff09;border:1px solid rgba(255,255,255,.06)}.report-stat strong{display:block;font-size:20px}.report-stat span{display:block;margin-top:4px;color:var(--muted);font-size:10px}.rank-coach-report{text-align:left;margin:18px 0;padding:18px;border-radius:18px;background:#ffffff06;border:1px solid rgba(255,255,255,.07)}.rank-coach-report h2{margin:4px 0 10px}.rank-coach-report ul{margin:0;padding-left:19px}.rank-coach-report li{margin:7px 0;color:var(--text);line-height:1.45;font-size:13px}@media(max-width:760px){.saved-actions{grid-template-columns:1fr}.rank-report-grid{grid-template-columns:repeat(2,1fr)}}.eval-bar.flipped{flex-direction:column-reverse}.saved-lines-ready{margin:8px 0;padding:7px 9px;border-radius:10px;background:#c7f36a0e;border:1px solid rgba(199,243,106,.12);color:var(--muted);font-size:10px}.saved-picker-card{width:min(650px,calc(100% - 28px));margin:38px auto;padding:26px;border-radius:24px;border:1px solid rgba(255,255,255,.08);background:#ffffff06}.saved-picker-card h1{margin:4px 0}.saved-picker-count{display:flex;align-items:baseline;gap:8px;margin:22px 0 14px}.saved-picker-count strong{font-size:34px;color:var(--accent)}.saved-picker-count span{color:var(--muted);font-size:12px}.saved-picker-label{display:flex;flex-direction:column;gap:7px;font-size:11px;color:var(--muted)}.saved-picker-select{width:100%;min-height:50px;padding:0 14px;border-radius:13px;border:1px solid rgba(255,255,255,.12);background:#11171a;color:var(--text);font:inherit;font-size:13px}.saved-picker-info{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:14px 0 18px}.saved-picker-info>div{padding:12px;border-radius:13px;background:#ffffff09}.saved-picker-info span{display:block;color:var(--muted);font-size:10px}.saved-picker-info strong{display:block;margin-top:4px;font-size:20px}.saved-picker-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}.saved-picker-actions button{width:100%}.saved-picker-new{width:100%;margin-top:10px}.ghost-back{width:100%;margin-top:10px;border:0;background:transparent;color:var(--muted);padding:10px;cursor:pointer}.saved-picker-hint{margin:15px 0 0;padding-top:14px;border-top:1px solid rgba(255,255,255,.07);color:var(--muted);font-size:11px;line-height:1.45}@media(max-width:560px){.saved-picker-actions,.saved-picker-info{grid-template-columns:1fr}}.review-mistakes-btn{width:100%;margin-bottom:10px}.rank-result>.secondary#backCourse{width:100%}.rank-review-shell{width:min(1180px,calc(100% - 28px));margin:24px auto 36px}.rank-review-head{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin-bottom:16px}.rank-review-head h1{margin:4px 0}.rank-review-loss{text-align:right}.rank-review-loss strong{display:block;font-size:30px;color:#ff9b6b}.rank-review-loss span{color:var(--muted);font-size:11px}.rank-review-layout{display:grid;grid-template-columns:minmax(420px,700px) minmax(300px,1fr);gap:20px;align-items:start}.rank-review-board-wrap{border-radius:20px;overflow:hidden;background:#ffffff05}.rank-review-board{width:100%;aspect-ratio:1/1}.rank-review-panel{padding:18px;border:1px solid rgba(255,255,255,.08);border-radius:20px;background:#ffffff06}.review-move-card{padding:14px;border-radius:14px;margin-bottom:10px;border:1px solid rgba(255,255,255,.08)}.review-move-card span,.review-move-card small{display:block;color:var(--muted);font-size:10px}.review-move-card strong{display:block;margin:4px 0 2px;font-size:25px}.review-move-card.bad{border-color:#ff708447;background:#ff70840b}.review-move-card.bad strong{color:#ff8799}.review-move-card.best{border-color:#c7f36a47;background:#c7f36a0b}.review-move-card.best strong{color:var(--accent)}.review-why,.review-tip{margin-top:12px;padding:14px;border-radius:14px;background:#ffffff06;border:1px solid rgba(255,255,255,.06)}.review-why p,.review-tip p{margin:6px 0 0;line-height:1.5;font-size:13px}.rank-review-actions{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:14px}.rank-review-actions button{width:100%}@media(max-width:900px){.rank-review-layout{grid-template-columns:1fr}}@media(max-width:560px){.rank-review-head{align-items:flex-start;flex-direction:column}.rank-review-loss{text-align:left}.rank-review-actions{grid-template-columns:1fr}}.move-quality.best strong{letter-spacing:.03em}.board-area.rank-no-eval{grid-template-columns:minmax(0,1fr);max-width:720px}.game-replay-controls{display:grid;grid-template-columns:58px 58px 1fr 58px 58px;gap:7px;margin-top:12px}.game-replay-controls button{width:100%}.replay-progress{text-align:center;color:var(--muted);font-size:11px;margin:8px 0}.review-game-moves{max-height:150px;overflow:auto;border:1px solid rgba(255,255,255,.07);border-radius:13px;padding:9px;background:#ffffff05;font:12px ui-monospace,SFMono-Regular,Menlo,monospace}.review-move-row{display:grid;grid-template-columns:34px 1fr 1fr;gap:5px;align-items:center;min-height:26px}.review-move-row .move-no{color:var(--muted)}.review-san{padding:4px 6px;border-radius:6px}.review-san.active{background:#c7f36a24;color:var(--accent);font-weight:800}@media(max-width:560px){.game-replay-controls{grid-template-columns:44px 44px 1fr 44px 44px;gap:5px}}.global-report-issue{position:fixed;right:18px;bottom:18px;z-index:150;border:1px solid rgba(255,255,255,.16);background:#14181bf0;color:var(--text);border-radius:999px;padding:10px 14px;font:inherit;font-size:12px;font-weight:800;cursor:pointer;box-shadow:0 12px 32px #00000059}.global-report-issue:hover{border-color:var(--accent);transform:translateY(-1px)}.issue-modal{position:fixed;inset:0;z-index:300;display:grid;place-items:center;padding:18px;background:#040607c7;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.issue-card{width:min(640px,100%);max-height:min(88vh,780px);overflow:auto;padding:24px;border-radius:22px;background:#171a1d;border:1px solid rgba(255,255,255,.1);box-shadow:0 28px 90px #0000008c}.issue-card h2{margin:5px 0 7px}.issue-label{display:flex;flex-direction:column;gap:7px;margin-top:14px;color:var(--muted);font-size:12px;font-weight:700}.issue-textarea{width:100%;resize:vertical;min-height:130px;border-radius:14px;border:1px solid rgba(255,255,255,.13);background:#0f1316;color:var(--text);padding:13px 14px;font:inherit;outline:none}.issue-textarea:focus{border-color:#c7f36ab8;box-shadow:0 0 0 3px #c7f36a14}.issue-textarea.error{border-color:var(--danger)}.issue-diagnostics{margin-top:14px;padding:12px;border-radius:13px;background:#ffffff06;border:1px solid rgba(255,255,255,.07)}.issue-diagnostics-title{color:var(--muted);font-size:10px;font-weight:900;letter-spacing:.08em;text-transform:uppercase;margin-bottom:8px}.issue-diagnostics pre{margin:0;white-space:pre-wrap;overflow-wrap:anywhere;color:#cbd2d6;font:11px/1.45 ui-monospace,SFMono-Regular,Menlo,monospace}.issue-actions{display:grid;grid-template-columns:1fr 1.4fr;gap:9px;margin-top:16px}.issue-actions .primary,.issue-actions .secondary{width:100%;margin-top:0;border-radius:12px}.issue-note{margin-top:10px;color:var(--muted);font-size:10px;text-align:center}@media(max-width:560px){.global-report-issue{right:12px;bottom:12px}.issue-actions{grid-template-columns:1fr}}
