@media(pointer:coarse){.app-shell-v2 button,.app-shell-v2 [role=button],.app-shell-v2 select,.app-shell-v2 input[type=date],.train-queue-item,.train-duration-tabs button,.train-runtime-back{min-height:44px}}@media(min-width:821px)and (max-width:1100px)and (orientation:portrait){.app-shell-v2 .app-main:has(.train-room){padding-inline:20px}.train-room{grid-template-columns:1fr;gap:14px}.train-room-rail{position:static;max-height:none;padding:0 0 10px;border-right:0;border-bottom:1px solid var(--chess-color-separator);display:grid;grid-template-columns:auto minmax(0,1fr);gap:10px 16px;align-items:center}.train-room-rail-heading{min-width:150px;min-height:44px;padding:0;border-bottom:0}.train-duration-tabs{padding:0;border-bottom:0}.train-queue{grid-column:1 / -1;display:flex;gap:6px;margin:0;padding:0 0 2px;overflow-x:auto;overflow-y:hidden;scrollbar-width:none}.train-queue::-webkit-scrollbar{display:none}.train-queue-item{flex:0 0 230px;min-height:52px;border:1px solid var(--chess-color-separator)}.train-rail-progress{display:none}.train-room-board-column{order:2}.train-preview-board{width:min(100%,720px)}.train-room-coach{order:3;position:static;grid-column:auto;max-height:none;display:grid;grid-template-columns:minmax(0,1fr) 260px;gap:14px 24px;padding:16px 0 0;border-top:1px solid var(--chess-color-separator);overflow:visible}.train-task-copy{grid-row:auto;padding:0;border-bottom:0}.train-task-actions{padding:0;border-bottom:0}.train-session-facts{grid-column:1 / -1;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px 18px;padding:12px 0 0;border-top:1px solid var(--chess-color-separator)}.train-session-facts>div{grid-template-columns:auto 1fr}.train-placement-action,.train-coach-note{grid-column:1 / -1}}@media(min-width:821px)and (max-width:1180px)and (orientation:landscape){.train-room{grid-template-columns:170px minmax(440px,1fr) minmax(230px,280px);gap:16px}.train-room-coach{position:sticky;top:calc(var(--chess-topbar-height) + 18px);grid-column:auto;max-height:calc(100dvh - var(--chess-topbar-height) - 36px);display:block;padding:0 0 0 2px;border-top:0;overflow-y:auto}.train-task-copy{padding:3px 0 14px;border-bottom:1px solid var(--chess-color-separator)}.train-task-actions{padding:12px 0}.train-session-facts{padding:12px 0;border-bottom:1px solid var(--chess-color-separator)}.train-placement-action,.train-coach-note{grid-column:auto}.train-preview-board{width:min(100%,calc(100dvh - var(--chess-topbar-height) - 112px),650px)}}@media(max-width:820px){.app-shell-v2{max-width:100%;overflow-x:clip}.app-shell-v2 .train-room{grid-template-columns:minmax(0,1fr);max-width:100%}.app-shell-v2 .train-room>*{min-width:0}.app-shell-v2 .train-queue{min-width:0;max-width:100%;overflow-x:auto}.app-topbar{min-height:var(--chess-mobile-topbar-safe-height);padding-left:var(--chess-native-inline-start);padding-right:var(--chess-native-inline-end)}.app-brand{min-height:46px}.app-shell-v2 .app-main{padding-left:var(--chess-native-inline-start);padding-right:var(--chess-native-inline-end);padding-bottom:calc(var(--chess-mobile-nav-safe-height) + 18px)}.mobile-nav{min-height:var(--chess-mobile-nav-safe-height);padding-inline:max(5px,env(safe-area-inset-left)) max(5px,env(safe-area-inset-right))}.mobile-nav button{min-height:50px}.train-room-rail-heading{align-items:center}.train-duration-tabs{grid-template-columns:repeat(3,minmax(68px,1fr));overflow-x:auto}.train-duration-tabs button{min-height:44px}.train-queue{scroll-snap-type:x proximity;overscroll-behavior-x:contain}.train-queue-item{scroll-snap-align:start}.train-preview-board{width:min(100%,calc(100dvh - 210px),620px)}.train-task-actions{position:sticky;bottom:var(--chess-mobile-nav-safe-height);z-index:15;margin-inline:calc(var(--chess-native-gutter) * -1);padding:10px var(--chess-native-gutter);background:#0d0f10f7;border-top:1px solid var(--chess-color-separator);border-bottom:0;backdrop-filter:blur(14px)}.training-session-open .app-topbar,.play-session-open .app-topbar{border-bottom-color:transparent}.training-session-open .train-runtime-header{top:var(--chess-mobile-topbar-safe-height)}.training-session-open .train-runtime-progress{top:calc(104px + env(safe-area-inset-top))}.train-runtime-body.board-first-sheet .lesson-stage,.train-runtime-body.calculation-sheet .calculation-stage,.train-runtime-body.endgame-technique-sheet .endgame-recognition-layout,.train-runtime-body.endgame-technique-sheet .endgame-play-layout,.train-runtime-body.model-game-sheet .model-game-runner-layout,.train-runtime-body.assessment-sheet .assessment-stage,.train-runtime-body.adaptive-game-sheet .game-layout{align-items:start}.train-runtime-body .lesson-button-row,.train-runtime-body .calculation-actions,.train-runtime-body .endgame-actions{bottom:env(safe-area-inset-bottom);padding-bottom:max(10px,env(safe-area-inset-bottom))}}@media(max-width:430px){.app-brand strong{font-size:16px}.app-progress-link,.topbar-experience .experience-trigger{width:40px;min-height:40px}.train-room{gap:9px}.train-room-rail{gap:6px}.train-room-rail-heading{min-height:34px}.train-duration-tabs button{padding-inline:4px}.train-queue-item{flex-basis:min(82vw,286px)}.train-board-context{min-height:22px;font-size:8px}.train-preview-board{width:100%}.train-board-status{min-height:20px}.train-room-coach{padding-top:10px}.train-task-copy{padding-bottom:10px}}@media(max-width:960px)and (orientation:landscape)and (max-height:650px){.training-session-open .app-topbar,.play-session-open .app-topbar{display:none}.app-shell-v2.training-session-open .app-main{padding:max(4px,env(safe-area-inset-top)) var(--chess-native-inline-end) max(4px,env(safe-area-inset-bottom)) var(--chess-native-inline-start)}.app-shell-v2.play-session-open .app-main{padding-top:max(4px,env(safe-area-inset-top))}.train-runtime-page{min-height:100dvh}.train-runtime-header{position:static;min-height:42px}.train-runtime-progress{position:static}.train-runtime-body{padding-top:6px}.train-runtime-body.board-first-sheet .lesson-stage,.train-runtime-body.calculation-sheet .calculation-stage,.train-runtime-body.endgame-technique-sheet .endgame-recognition-layout,.train-runtime-body.endgame-technique-sheet .endgame-play-layout,.train-runtime-body.model-game-sheet .model-game-runner-layout,.train-runtime-body.assessment-sheet .assessment-stage,.train-runtime-body.adaptive-game-sheet .game-layout{grid-template-columns:minmax(280px,52vw) minmax(240px,1fr);gap:12px}.train-runtime-body.board-first-sheet .lesson-board-column,.train-runtime-body.model-game-sheet .model-game-board,.train-runtime-body.assessment-sheet .assessment-board,.train-runtime-body.endgame-technique-sheet .endgame-preview-board,.train-runtime-body.endgame-technique-sheet .endgame-board-column,.train-runtime-body.adaptive-game-sheet .game-board-column{position:sticky;top:4px}.train-runtime-body.board-first-sheet .chess-board-wrap,.train-runtime-body.model-game-sheet .chess-board-wrap,.train-runtime-body.assessment-sheet .chess-board-wrap,.train-runtime-body.endgame-technique-sheet .chess-board-wrap,.train-runtime-body.adaptive-game-sheet .chess-board-wrap{width:min(50vw,calc(100dvh - 58px))}.train-runtime-body .lesson-instruction,.train-runtime-body .calculation-instruction,.train-runtime-body .game-side-panel,.train-runtime-body .assessment-panel{max-height:calc(100dvh - 54px);overflow-y:auto;overscroll-behavior:contain}}@media(min-width:1536px){.app-shell-v2 .app-main:has(.train-room),.app-shell-v2.training-session-open .app-main{width:min(var(--chess-workspace-max-wide),100%)}.train-room{grid-template-columns:minmax(190px,var(--chess-rail-width-large)) minmax(620px,1fr) minmax(330px,var(--chess-context-width-large));gap:clamp(24px,2vw,34px)}.train-room-rail{padding-right:18px}.train-room-coach{padding-left:8px}.train-preview-board{width:min(100%,var(--chess-board-max-large),calc(100dvh - var(--chess-topbar-height) - 126px))}.train-board-context,.train-board-status{width:min(100%,var(--chess-board-max-large))}.train-task-copy h1{max-width:16ch}.train-task-subtitle,.train-task-reason,.train-coach-note p{max-width:36ch}.train-runtime-page{width:min(var(--chess-workspace-max-analysis),100%)}.train-runtime-body.board-first-sheet .lesson-stage,.train-runtime-body.calculation-sheet .calculation-stage,.train-runtime-body.endgame-technique-sheet .endgame-recognition-layout,.train-runtime-body.endgame-technique-sheet .endgame-play-layout,.train-runtime-body.model-game-sheet .model-game-runner-layout,.train-runtime-body.assessment-sheet .assessment-stage,.train-runtime-body.adaptive-game-sheet .game-layout{grid-template-columns:minmax(640px,1fr) minmax(340px,390px);gap:clamp(28px,2.4vw,42px)}.train-runtime-body.board-first-sheet .chess-board-wrap,.train-runtime-body.model-game-sheet .chess-board-wrap,.train-runtime-body.assessment-sheet .chess-board-wrap,.train-runtime-body.endgame-technique-sheet .chess-board-wrap,.train-runtime-body.adaptive-game-sheet .chess-board-wrap{width:min(100%,calc(100dvh - 176px),var(--chess-board-max-large))}}@media(min-width:1920px){.train-room{grid-template-columns:var(--chess-rail-width-large) minmax(700px,1fr) var(--chess-context-width-large)}.train-room-board-column{justify-self:center;width:min(100%,860px)}}@media(min-width:1536px)and (min-height:1050px){.train-preview-board,.train-runtime-body.board-first-sheet .chess-board-wrap,.train-runtime-body.model-game-sheet .chess-board-wrap,.train-runtime-body.assessment-sheet .chess-board-wrap,.train-runtime-body.endgame-technique-sheet .chess-board-wrap,.train-runtime-body.adaptive-game-sheet .chess-board-wrap{width:min(100%,var(--chess-board-max-large))}}:root{--chess-color-bg-app: #0d0f10;--chess-color-bg-workspace: #131516;--chess-color-bg-raised: #191b1c;--chess-color-bg-inset: #101213;--chess-color-text-primary: #f0eee9;--chess-color-text-secondary: #aba9a3;--chess-color-text-muted: #747570;--chess-color-separator: rgba(255, 255, 255, .08);--chess-color-separator-strong: rgba(255, 255, 255, .13);--chess-color-accent: #357bd8;--chess-color-accent-soft: rgba(53, 123, 216, .16);--chess-color-correct: #5fa77a;--chess-color-error: #c86464;--chess-color-concept: #c99c52;--chess-board-light: #d5cebd;--chess-board-dark: #62665f;--chess-board-frame: #171918;--chess-board-coordinate-light: rgba(20, 22, 21, .5);--chess-board-coordinate-dark: rgba(244, 241, 233, .48);--chess-font-ui: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--chess-font-editorial: ui-serif, Georgia, Cambria, "Times New Roman", serif;--chess-font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;--chess-text-xs: .75rem;--chess-text-sm: .875rem;--chess-text-md: 1rem;--chess-text-lg: 1.125rem;--chess-text-section: clamp(1.125rem, 1.5vw, 1.375rem);--chess-text-title: clamp(1.375rem, 2vw, 1.75rem);--chess-text-page: clamp(1.5rem, 2.4vw, 1.875rem);--chess-space-1: .25rem;--chess-space-2: .5rem;--chess-space-3: .75rem;--chess-space-4: 1rem;--chess-space-5: 1.25rem;--chess-space-6: 1.5rem;--chess-space-8: 2rem;--chess-space-10: 2.5rem;--chess-space-12: 3rem;--chess-radius-control: .5rem;--chess-radius-panel: .75rem;--chess-radius-board: .625rem;--chess-radius-pill: 999px;--chess-topbar-height: 3.625rem;--chess-mobile-nav-height: 3.75rem;--chess-mobile-topbar-base-height: 3.125rem;--chess-mobile-topbar-safe-height: calc(var(--chess-mobile-topbar-base-height) + env(safe-area-inset-top));--chess-mobile-nav-safe-height: calc(var(--chess-mobile-nav-height) + env(safe-area-inset-bottom));--chess-native-gutter: clamp(.625rem, 2.4vw, 1.125rem);--chess-native-inline-start: max(var(--chess-native-gutter), env(safe-area-inset-left));--chess-native-inline-end: max(var(--chess-native-gutter), env(safe-area-inset-right));--chess-touch-min: 2.75rem;--chess-touch-preferred: 3rem;--chess-motion-fast: .12s;--chess-motion-ui: .17s;--chess-motion-piece: .18s;--chess-motion-page: .15s;--chess-ease-standard: cubic-bezier(.2, .8, .2, 1);--chess-board-max-train: 44rem;--chess-board-max-review: 42rem;--chess-board-max-large: 48rem;--chess-board-max-review-large: 46rem;--chess-context-width: 22rem;--chess-context-width-large: 24rem;--chess-rail-width: 11.25rem;--chess-rail-width-large: 12.5rem;--chess-workspace-max-wide: 104rem;--chess-workspace-max-analysis: 100rem;--chess-reading-max: 68ch}:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#f5f7fb;background:#090d18;font-synthesis:none;text-rendering:optimizeLegibility;--bg: #090d18;--surface: rgba(19, 25, 42, .82);--line: rgba(255, 255, 255, .08);--muted: #98a2ba;--good: #57d49b}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;background:radial-gradient(circle at 75% -10%,rgba(81,95,190,.22),transparent 32rem),radial-gradient(circle at -10% 70%,rgba(55,120,160,.1),transparent 30rem),var(--bg)}button{font:inherit}button:focus-visible{outline:2px solid #a9bcff;outline-offset:3px}.app-shell{min-height:100vh;display:grid;grid-template-columns:220px 1fr}.sidebar{position:sticky;top:0;height:100vh;border-right:1px solid var(--line);padding:28px 18px;display:flex;flex-direction:column;background:#070b14b8;backdrop-filter:blur(24px)}.brand-mark{width:46px;height:46px;display:grid;place-items:center;border-radius:15px;font-size:27px;margin:0 0 38px 8px;color:#fff;background:linear-gradient(145deg,#526dff,#8a72f4);box-shadow:0 12px 30px #526dff40}.sidebar nav{display:grid;gap:7px}.nav-item{border:0;color:var(--muted);background:transparent;padding:12px 14px;border-radius:12px;display:flex;align-items:center;gap:12px;cursor:pointer;transition:.16s ease}.nav-item:hover{background:#ffffff0b;color:#dce3f5}.nav-item.active{background:#7697ff21;color:#dce5ff}.sync-chip{margin-top:auto;color:var(--muted);font-size:12px;display:flex;align-items:center;gap:8px;padding:10px 12px}.sync-dot{width:7px;height:7px;border-radius:99px;background:var(--good);box-shadow:0 0 14px #57d49bb3}.main{width:min(1120px,calc(100vw - 220px));padding:56px 56px 90px;margin:0 auto}.hero{display:flex;justify-content:space-between;align-items:center;min-height:160px}.eyebrow{color:#8090b4;letter-spacing:.14em;font-size:11px;font-weight:800;margin:0 0 9px}.hero h1{margin:0;font-size:clamp(36px,5vw,62px);letter-spacing:-.055em;line-height:.98}.hero-copy{color:var(--muted);max-width:620px;font-size:16px;line-height:1.65}.hero-emblem{font-size:92px;color:#aebcff;opacity:.85;filter:drop-shadow(0 18px 35px rgba(87,101,255,.2));transform:rotate(-4deg)}.mode-switch{display:flex;gap:8px;margin:30px 0 16px}.mode{min-width:112px;text-align:left;border:1px solid var(--line);background:#ffffff06;color:var(--muted);border-radius:14px;padding:12px 14px;cursor:pointer;transition:.18s ease}.mode strong,.mode span{display:block}.mode strong{color:#dbe1ef;font-size:13px;margin-bottom:3px}.mode span{font-size:11px}.mode.active{border-color:#7697ff75;background:#7697ff1f;transform:translateY(-1px)}.session-card,.panel{border:1px solid var(--line);background:linear-gradient(145deg,#192034eb,#0e1321eb);border-radius:24px;box-shadow:0 24px 70px #0003}.session-card{padding:26px;position:relative;overflow:hidden}.session-card:after{content:"";position:absolute;width:260px;height:260px;right:-100px;top:-130px;background:radial-gradient(circle,rgba(118,151,255,.18),transparent 65%);pointer-events:none}.session-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:20px}.pill{display:inline-flex;gap:7px;align-items:center;color:#bac8ff;font-size:11px;font-weight:800;padding:7px 10px;border-radius:99px;background:#7697ff1a;text-transform:uppercase;letter-spacing:.08em}.session-heading h2,.panel h3{margin:14px 0 4px;letter-spacing:-.025em}.session-heading p,.panel p{margin:0;color:var(--muted);line-height:1.55}.time-orb{width:72px;height:72px;border:1px solid rgba(118,151,255,.22);background:#7697ff14;border-radius:22px;display:grid;grid-template-columns:auto auto;place-content:center;gap:1px 6px}.time-orb svg{grid-row:1 / 3;align-self:center;color:#aebcff}.time-orb strong{font-size:20px;line-height:1}.time-orb span{font-size:10px;color:var(--muted)}.activity-list{margin:24px 0;display:grid;gap:4px}.activity-row{display:grid;grid-template-columns:28px 36px 1fr auto;align-items:center;gap:10px;padding:10px 8px;border-radius:14px;transition:.16s ease}.activity-row:hover{background:#ffffff08}.activity-index{color:#58637a;font-size:11px;text-align:center}.activity-icon{width:34px;height:34px;display:grid;place-items:center;border-radius:11px;background:#7697ff17;color:#aebcff}.activity-copy{min-width:0;display:grid;gap:2px}.activity-copy small{color:#687897;letter-spacing:.09em;font-size:9px;font-weight:800}.activity-copy strong{font-size:14px}.activity-copy span{color:var(--muted);font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.activity-time{color:var(--muted);font-size:12px}.primary,.secondary{min-height:44px;border-radius:13px;border:0;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:8px;font-weight:750;transition:.17s ease}.primary{padding:0 18px;color:#fff;background:linear-gradient(135deg,#607eff,#796cf4);box-shadow:0 12px 24px #4e63f23d}.primary:hover{transform:translateY(-1px);filter:brightness(1.06)}.primary:disabled{opacity:.45;cursor:default;transform:none}.secondary{padding:0 17px;color:#d5dced;border:1px solid var(--line);background:#ffffff0a}.dashboard-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:16px;margin-top:16px}.panel{padding:22px}.panel-title{display:flex;align-items:flex-start;justify-content:space-between}.panel-title svg{color:#8699c9}.panel-title h3{margin-top:0}.skill-bars{display:grid;gap:15px;margin-top:22px}.skill-bar>div:first-child{display:flex;justify-content:space-between;font-size:12px;margin-bottom:7px}.skill-bar span{color:#c4cada}.skill-bar strong{color:#e7ebf6}.track{height:5px;border-radius:99px;background:#20283b;overflow:hidden}.track i{height:100%;display:block;border-radius:inherit;background:linear-gradient(90deg,#607eff,#8c7cff);transition:width .5s ease}.weakness-panel{position:relative;overflow:hidden}.weakness-panel:before{content:"";position:absolute;width:180px;height:180px;right:-80px;bottom:-100px;background:radial-gradient(circle,rgba(255,124,145,.12),transparent 68%)}.metric-row{display:flex;justify-content:space-between;align-items:center;margin-top:30px;font-size:13px;color:var(--muted)}.metric-row strong{color:#fff;font-size:20px}.priority-tag{display:inline-block;margin-top:14px;color:#ff9eae;background:#ff7c9117;border-radius:999px;padding:7px 10px;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.08em}.placeholder{min-height:72vh;display:grid;place-items:center;align-content:center;text-align:center}.placeholder-icon{width:64px;height:64px;border-radius:20px;display:grid;place-items:center;background:#7697ff1a;color:#aebcff;margin-bottom:20px}.placeholder h2{margin:0 0 8px;font-size:30px}.placeholder>p:not(.eyebrow){max-width:520px;color:var(--muted);line-height:1.6}.placeholder .secondary{margin-top:15px}.mobile-nav{display:none}.training-overlay{position:fixed;inset:0;background:#03060cbf;backdrop-filter:blur(14px);display:grid;place-items:center;padding:20px;z-index:20}.training-sheet{width:min(620px,100%);min-height:540px;background:#111827;border:1px solid rgba(255,255,255,.1);border-radius:28px;padding:34px;position:relative;box-shadow:0 40px 120px #0000007a;animation:sheet-in .24s cubic-bezier(.2,.8,.2,1)}.training-progress{position:absolute;top:0;left:24px;right:24px;height:3px;background:#ffffff12;overflow:hidden;border-radius:99px}.training-progress span{display:block;height:100%;background:#7d92ff;transition:width .26s ease}.close-button{position:absolute;top:18px;right:18px;width:34px;height:34px;border-radius:50%;border:0;background:#ffffff0f;color:#aeb7ca;cursor:pointer;font-size:20px}.lesson-symbol{font-size:88px;color:#9aaaff;margin:48px 0 14px;text-shadow:0 18px 34px rgba(81,97,255,.25)}.training-sheet h2{font-size:34px;letter-spacing:-.035em;margin:0 0 8px}.lesson-copy{color:var(--muted);font-size:15px;line-height:1.6}.lesson-context{display:flex;flex-wrap:wrap;gap:8px;margin:20px 0}.lesson-context span{font-size:10px;color:#aab4c9;padding:7px 9px;background:#ffffff0a;border-radius:99px}.teaching-placeholder{display:flex;gap:14px;padding:16px;border-radius:16px;background:#7697ff0f;border:1px dashed rgba(118,151,255,.22);color:#9eaff3}.teaching-placeholder div{display:grid;gap:4px}.teaching-placeholder strong{color:#dce4ff;font-size:13px}.teaching-placeholder span{color:#8896b3;font-size:12px;line-height:1.45}.training-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:30px}@keyframes sheet-in{0%{opacity:0;transform:translateY(12px) scale(.985)}}@media(max-width:820px){.app-shell{display:block}.sidebar{display:none}.main{width:100%;padding:28px 18px 100px}.hero{min-height:130px}.hero-emblem{font-size:62px}.hero-copy{font-size:14px}.mode-switch{overflow-x:auto;padding-bottom:4px}.mode{min-width:104px}.session-card{padding:19px;border-radius:20px}.time-orb{width:64px;height:64px}.dashboard-grid{grid-template-columns:1fr}.activity-row{grid-template-columns:24px 34px 1fr auto;padding-left:0;padding-right:0}.activity-copy span{max-width:49vw}.mobile-nav{display:grid;position:fixed;bottom:0;left:0;right:0;z-index:12;grid-template-columns:repeat(5,1fr);padding:8px 8px max(8px,env(safe-area-inset-bottom));background:#090d18ed;border-top:1px solid var(--line);backdrop-filter:blur(22px)}.mobile-nav button{border:0;background:none;color:#727f99;display:grid;justify-items:center;gap:3px;font-size:9px;padding:5px}.mobile-nav button.active{color:#aebcff}.training-overlay{padding:0;align-items:end}.training-sheet{width:100%;min-height:70vh;border-radius:28px 28px 0 0;padding:30px 22px max(28px,env(safe-area-inset-bottom))}.training-actions .primary,.training-actions .secondary{flex:1}}@media(prefers-reduced-motion:reduce){html:not([data-motion=full]) *,html:not([data-motion=full]) *:before,html:not([data-motion=full]) *:after{scroll-behavior:auto!important;animation-duration:.01ms!important;transition-duration:.01ms!important}}.training-sheet{width:min(1040px,100%);min-height:650px;padding:30px}.lesson-shell-heading{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;margin:8px 46px 18px 0}.lesson-shell-heading>div:first-child{display:grid;gap:2px}.lesson-shell-heading .eyebrow{margin-bottom:2px}.lesson-shell-heading>div:first-child>strong{color:#dce4f7;font-size:14px}.lesson-shell-heading .lesson-context{margin:0;justify-content:flex-end}.lesson-runner{min-height:535px}.lesson-stage{display:grid;grid-template-columns:minmax(360px,1fr) minmax(280px,.78fr);gap:32px;align-items:center;min-height:535px}.lesson-board-column{min-width:0}.chess-board-wrap{width:min(100%,570px);margin:0 auto;padding:9px;border-radius:22px;background:linear-gradient(145deg,#ffffff13,#ffffff05);border:1px solid rgba(255,255,255,.085);box-shadow:0 24px 60px #0000004d,inset 0 1px #ffffff09}.chess-board{aspect-ratio:1;width:100%;display:grid;grid-template-columns:repeat(8,1fr);position:relative;overflow:hidden;border-radius:15px;isolation:isolate;box-shadow:inset 0 0 0 1px #0000002e}.board-square{position:relative;min-width:0;aspect-ratio:1;border:0;padding:0;display:grid;place-items:center;cursor:pointer;user-select:none;-webkit-tap-highlight-color:transparent;transition:filter .12s ease,box-shadow .16s ease,transform .12s ease}.board-square.light{background:#c9d0df;color:#2e3951}.board-square.dark{background:#68779a;color:#e2e7f3}.board-square:hover{filter:brightness(1.045)}.board-square.selected{box-shadow:inset 0 0 0 4px #ffd971b8;z-index:2}.board-square.last-move{box-shadow:inset 0 0 0 999px #809dff36}.board-square.tone-focus{box-shadow:inset 0 0 0 999px #708fff52}.board-square.tone-good{box-shadow:inset 0 0 0 999px #3fca8f52}.board-square.tone-danger{box-shadow:inset 0 0 0 999px #ff5c7552}.board-square.tone-hint{box-shadow:inset 0 0 0 999px #ffc15757}.board-square.rejected{animation:square-reject .28s ease}.piece{position:relative;z-index:4;font-family:"Noto Sans Symbols 2",Segoe UI Symbol,DejaVu Sans,serif;font-size:clamp(28px,5.2vw,55px);line-height:1;transform:translateY(-1px);transition:transform .15s cubic-bezier(.2,.85,.2,1),filter .15s ease;pointer-events:none}.white-piece{color:#f7f7f3;text-shadow:0 1px 0 rgba(18,25,40,.95),0 2px 4px rgba(7,10,18,.45)}.black-piece{color:#172033;text-shadow:0 1px 1px rgba(255,255,255,.2)}.board-square:hover .piece{transform:translateY(-2px) scale(1.025)}.piece-land{animation:piece-land .25s cubic-bezier(.18,.8,.22,1)}.move-dot{position:absolute;z-index:3;width:22%;aspect-ratio:1;border-radius:50%;background:#161e2e57;pointer-events:none}.capture-ring{position:absolute;z-index:3;inset:7%;border-radius:50%;border:clamp(3px,.5vw,6px) solid rgba(22,30,46,.28);pointer-events:none}.file-label,.rank-label{position:absolute;z-index:5;font-size:clamp(7px,1vw,10px);font-weight:900;opacity:.62;pointer-events:none}.file-label{bottom:3px;right:4px}.rank-label{top:3px;left:4px}.board-arrows{position:absolute;inset:0;z-index:8;pointer-events:none;overflow:visible}.board-arrow{stroke-width:.115;stroke-linecap:round;opacity:.78}.board-arrow.tone-focus{stroke:#829cff}.board-arrow.tone-good{stroke:#57d49b}.board-arrow.tone-danger{stroke:#ff758d}.board-arrow.tone-hint{stroke:#ffc96b}.board-caption{width:min(100%,570px);margin:9px auto 0;display:flex;justify-content:space-between;color:#66738e;font-size:10px;letter-spacing:.02em}.lesson-instruction{min-height:430px;display:flex;flex-direction:column;justify-content:space-between;padding:14px 6px 8px 0}.lesson-instruction h2{margin:0 0 14px;font-size:clamp(30px,3.5vw,46px);line-height:1.02;letter-spacing:-.045em}.lesson-body,.lesson-prompt{color:#a7b0c5;line-height:1.72;font-size:15px;max-width:44ch}.lesson-prompt{color:#d1d7e6;font-size:17px;font-weight:650;line-height:1.55}.hint-card,.lesson-feedback{position:relative;display:flex;align-items:flex-start;gap:12px;margin-top:20px;padding:14px 15px;border-radius:15px;overflow:hidden}.hint-card{color:#f1ca78;border:1px solid rgba(255,201,107,.18);background:#ffc96b12}.hint-card div,.lesson-feedback>div:not(.success-burst){display:grid;gap:4px}.hint-card strong,.lesson-feedback strong{color:#f1f4fb;font-size:13px}.hint-card span,.lesson-feedback span{color:#a5aec1;font-size:12px;line-height:1.5}.lesson-feedback.error{align-items:center;color:#ff92a5;border:1px solid rgba(255,117,141,.17);background:#ff758d12}.lesson-feedback.error>span{flex:1}.lesson-feedback.error button{flex:none;border:0;border-radius:10px;padding:7px 10px;color:pink;background:#ffffff0e;display:inline-flex;gap:6px;align-items:center;cursor:pointer}.lesson-feedback.success{color:#73dca8;border:1px solid rgba(87,212,155,.18);background:#57d49b13}.success-burst{position:absolute;inset:0;pointer-events:none}.success-burst span{position:absolute;width:4px;height:10px;border-radius:3px;background:#74dfac;opacity:0;animation:mini-confetti .7s ease-out forwards}.success-burst span:nth-child(1){left:16%;top:50%;transform:rotate(24deg)}.success-burst span:nth-child(2){left:38%;top:45%;transform:rotate(-35deg);animation-delay:40ms}.success-burst span:nth-child(3){left:61%;top:48%;transform:rotate(42deg);animation-delay:75ms}.success-burst span:nth-child(4){left:78%;top:45%;transform:rotate(-18deg);animation-delay:.11s}.success-burst span:nth-child(5){left:90%;top:54%;transform:rotate(31deg);animation-delay:.14s}.lesson-controls{margin-top:28px}.step-dots{display:flex;gap:7px;margin-bottom:18px}.step-dots span{width:22px;height:4px;border-radius:99px;background:#273047;transition:.18s ease}.step-dots span.done{background:#4f648f}.step-dots span.current{width:38px;background:#829cff;box-shadow:0 0 12px #829cff52}.lesson-button-row{display:flex;gap:9px;align-items:center}.hint-button{min-height:44px;padding:0 14px;border-radius:13px;border:1px solid rgba(255,201,107,.13);color:#d9c18e;background:#ffc96b0b;display:inline-flex;gap:8px;align-items:center;cursor:pointer;font-weight:700}@keyframes piece-land{0%{transform:translateY(-1px) scale(.82);opacity:.72}65%{transform:translateY(-3px) scale(1.08)}to{transform:translateY(-1px) scale(1);opacity:1}}@keyframes square-reject{0%,to{transform:translate(0)}25%{transform:translate(-3px)}50%{transform:translate(3px)}75%{transform:translate(-2px)}}@keyframes mini-confetti{0%{opacity:0;translate:0 0}15%{opacity:.85}to{opacity:0;translate:0 -34px}}@media(max-width:920px){.training-sheet{width:min(760px,100%)}.lesson-stage{grid-template-columns:1fr;gap:18px}.lesson-board-column{width:min(100%,500px);margin:0 auto}.lesson-instruction{min-height:0;padding:0}}@media(max-width:820px){.training-sheet{height:min(94dvh,900px);min-height:0;overflow-y:auto}.lesson-shell-heading{display:block;margin-right:42px}.lesson-shell-heading .lesson-context{justify-content:flex-start;margin-top:8px}.lesson-runner{min-height:auto}.lesson-stage{min-height:0}.chess-board-wrap{padding:6px;border-radius:17px}.chess-board{border-radius:11px}.piece{font-size:clamp(29px,10.3vw,51px)}.board-caption{display:none}.lesson-instruction h2{font-size:30px;margin-bottom:10px}.lesson-body,.lesson-prompt{font-size:14px;max-width:none}.lesson-button-row{position:sticky;bottom:0;padding-top:12px;padding-bottom:max(2px,env(safe-area-inset-bottom));background:linear-gradient(180deg,#11182700,#111827 26%)}.lesson-button-row .primary{flex:1}}@media(prefers-reduced-motion:reduce){html:not([data-motion=full]) .piece-land,html:not([data-motion=full]) .board-square.rejected,html:not([data-motion=full]) .success-burst span{animation:none!important}}.puzzle-runner .lesson-prompt{min-height:54px}.puzzle-meta{display:flex;flex-wrap:wrap;gap:7px;margin-top:18px}.puzzle-meta span{padding:6px 9px;border-radius:999px;background:#ffffff0a;border:1px solid rgba(255,255,255,.055);color:#8f9ab2;font-size:10px;font-weight:700}.puzzle-source-line{min-height:32px;display:flex;align-items:center;gap:7px;color:#687691;font-size:10px;margin-bottom:10px}.puzzle-source-line svg{color:#65c99d}.puzzle-loading{min-height:520px;display:grid;place-items:center;align-content:center;gap:8px;text-align:center;color:#8190ad}.puzzle-loading svg{color:#8ca0ff;animation:puzzle-spin .85s linear infinite}.puzzle-loading strong{color:#d7def0;font-size:15px}.puzzle-loading span{max-width:360px;line-height:1.5;font-size:12px}@keyframes puzzle-spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){html:not([data-motion=full]) .puzzle-loading svg{animation:none}}.curriculum-actions{display:grid;grid-template-columns:1fr auto;gap:8px;margin-top:15px}.curriculum-actions .curriculum-start{margin-top:0}.curriculum-practice{min-height:38px;padding:0 12px;border-radius:11px;border:1px solid rgba(87,212,155,.16);background:#57d49b11;color:#9ce2bf;cursor:pointer;font-size:11px;font-weight:800}.curriculum-practice:hover{background:#57d49b1c}@media(max-width:420px){.curriculum-actions{grid-template-columns:1fr}}.opening-entry-card{width:100%;min-height:112px;margin:-4px 0 30px;padding:18px 20px;border-radius:20px;border:1px solid rgba(118,151,255,.16);background:radial-gradient(circle at 86% 0,rgba(118,151,255,.16),transparent 36%),linear-gradient(145deg,#192034f0,#0d121ff0);color:inherit;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:16px;text-align:left;cursor:pointer;transition:transform .17s ease,border-color .17s ease}.opening-entry-card:hover{transform:translateY(-2px);border-color:#7697ff4d}.opening-entry-icon{width:48px;height:48px;border-radius:15px;display:grid;place-items:center;color:#b8c5ff;background:#7697ff1a}.opening-entry-card>div:nth-child(2){display:grid;gap:4px}.opening-entry-card .eyebrow{margin:0}.opening-entry-card strong{font-size:16px;letter-spacing:-.02em}.opening-entry-card span{color:#8490a8;font-size:11px;line-height:1.5}.openings-view{padding-bottom:48px}.back-link{border:0;background:transparent;color:#7d8aa5;padding:0;display:inline-flex;align-items:center;gap:5px;cursor:pointer;font-size:11px;font-weight:750}.back-link:hover{color:#b7c4e4}.opening-hero{margin-top:8px}.repertoire-tabs{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin:0 0 16px}.repertoire-tabs button{min-height:68px;padding:12px 14px;border-radius:15px;border:1px solid var(--line);background:#ffffff06;color:#8b97af;display:grid;gap:3px;text-align:left;cursor:pointer;transition:.16s ease}.repertoire-tabs button:hover{background:#ffffff0a}.repertoire-tabs button.active{color:#dce4ff;border-color:#7697ff47;background:#7697ff17}.repertoire-tabs span{font-size:9px;color:#687691;text-transform:uppercase;letter-spacing:.08em}.repertoire-tabs strong{font-size:12px}.repertoire-summary-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:16px}.repertoire-summary,.deviation-panel{min-height:300px}.repertoire-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:28px}.repertoire-metrics>div{padding:12px;border-radius:13px;border:1px solid rgba(255,255,255,.045);background:#ffffff06;display:grid;gap:5px}.repertoire-metrics span{color:#71809a;font-size:9px}.repertoire-metrics strong{font-size:20px;letter-spacing:-.04em}.repertoire-train-button{margin-top:16px}.deviation-row{width:100%;min-height:54px;margin-top:9px;border:1px solid rgba(255,255,255,.055);border-radius:13px;background:#ffffff06;color:#94a0b7;display:flex;justify-content:space-between;align-items:center;gap:12px;padding:10px 12px;cursor:pointer;text-align:left}.deviation-row:hover{background:#ffffff0b}.deviation-row>div{display:grid;gap:3px}.deviation-row strong{color:#d2d9e8;font-size:11px}.deviation-row span{font-size:9px}.repertoire-explorer{margin-top:34px}.opening-explorer-grid{display:grid;grid-template-columns:.72fr 1.28fr;gap:16px;align-items:start}.opening-tree,.opening-position-panel{border:1px solid var(--line);border-radius:20px;background:linear-gradient(145deg,#161d2fe8,#0c111df0)}.opening-tree{padding:14px}.opening-path{display:grid;gap:5px}.opening-path button{min-height:50px;border:0;border-radius:12px;background:transparent;color:#7c89a2;display:grid;grid-template-columns:54px 1fr;align-items:center;gap:8px;padding:7px 9px;text-align:left;cursor:pointer}.opening-path button:hover,.opening-path button.active{background:#7697ff13}.opening-path button.active{color:#cdd8ff}.opening-path span{font-size:10px;font-weight:850;color:#8ea0d7}.opening-path strong{font-size:11px}.opening-children{margin-top:14px;padding-top:13px;border-top:1px solid rgba(255,255,255,.055);display:grid;gap:6px}.opening-children>span{margin-bottom:2px;color:#5f6d86;font-size:9px;text-transform:uppercase;letter-spacing:.08em;font-weight:800}.opening-children button{min-height:48px;border:1px solid rgba(255,255,255,.045);border-radius:11px;background:#ffffff05;color:#8190aa;display:grid;grid-template-columns:44px 1fr auto;align-items:center;gap:7px;padding:7px 9px;cursor:pointer;text-align:left}.opening-children button:hover{background:#ffffff09}.opening-children strong{color:#cdd5e6;font-size:11px}.opening-children span{font-size:10px}.opening-children i{font-style:normal;color:#79d7a8;font-size:8px;font-weight:850;text-transform:uppercase;letter-spacing:.07em}.opening-position-panel{padding:16px}.opening-position-panel .chess-board-wrap{width:min(100%,500px)}.opening-position-copy{display:grid;gap:13px;margin-top:18px}.opening-position-copy h3{margin:0 0 5px;font-size:22px;letter-spacing:-.035em}.opening-position-copy p:not(.eyebrow){margin:0;color:#8794ad;font-size:12px;line-height:1.6}.opening-idea-list{display:grid;gap:6px;padding:12px 13px;border-radius:13px;background:#57d49b0b;border:1px solid rgba(87,212,155,.08)}.opening-idea-list.warning{background:#ffc16b0b;border-color:#ffc16b14}.opening-idea-list>span{color:#6f7e99;font-size:9px;font-weight:850;text-transform:uppercase;letter-spacing:.08em}.opening-idea-list strong{color:#b8c2d5;font-size:11px;line-height:1.5}.opening-plan-preview,.opening-warning{margin-top:18px;padding:12px 13px;border-radius:13px;display:grid;gap:4px;background:#7697ff0e;border:1px solid rgba(118,151,255,.09)}.opening-warning{background:#ffc16b0b;border-color:#ffc16b17}.opening-plan-preview span,.opening-warning span{color:#71809b;font-size:9px;font-weight:850;text-transform:uppercase;letter-spacing:.08em}.opening-plan-preview strong,.opening-warning strong{color:#c7cfdf;font-size:11px;line-height:1.5}@media(max-width:980px){.repertoire-summary-grid,.opening-explorer-grid{grid-template-columns:1fr}.repertoire-summary,.deviation-panel{min-height:auto}}@media(max-width:680px){.repertoire-tabs{grid-template-columns:1fr}.opening-entry-card{grid-template-columns:auto 1fr}.opening-entry-card>svg{display:none}.repertoire-metrics{grid-template-columns:repeat(3,1fr)}}.opening-concept-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.opening-concept-grid>div{padding:11px 12px;border-radius:12px;border:1px solid rgba(118,151,255,.08);background:#7697ff0a;display:grid;gap:4px}.opening-concept-grid strong{color:#cbd4e8;font-size:10px}.opening-concept-grid span{color:#7c89a2;font-size:10px;line-height:1.5}@media(max-width:480px){.opening-concept-grid{grid-template-columns:1fr}}.play-view,.game-arena{padding-bottom:48px}.play-normal-card{min-height:250px;border-radius:24px;border:1px solid var(--line);background:radial-gradient(circle at 82% 15%,rgba(118,151,255,.17),transparent 32%),linear-gradient(145deg,#192034f0,#0d121ff2);padding:24px;display:grid;grid-template-columns:1.25fr .75fr;gap:24px;align-items:center;box-shadow:0 24px 70px #0000002e}.play-normal-copy h2{margin:16px 0 6px;font-size:29px;letter-spacing:-.04em}.play-normal-copy>p{max-width:560px;margin:0;color:#8f9bb2;font-size:13px;line-height:1.6}.side-choice{display:flex;gap:8px;margin-top:22px}.side-choice button{min-width:108px;min-height:40px;border:1px solid var(--line);border-radius:12px;background:#ffffff06;color:#8895ad;cursor:pointer;font-size:11px;font-weight:800}.side-choice button.active{color:#dce4ff;background:#7697ff17;border-color:#7697ff47}.play-launch{min-height:170px;border-left:1px solid rgba(255,255,255,.06);padding-left:24px;display:flex;flex-direction:column;justify-content:center;gap:18px}.selected-profile{display:flex;align-items:center;gap:12px;color:#9aabec}.selected-profile>div{display:grid;gap:2px}.selected-profile span,.selected-profile small{color:#6f7d97;font-size:9px}.selected-profile strong{color:#e1e7f5;font-size:17px}.play-section{margin-top:32px}.ai-profile-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:9px}.ai-profile-card{min-height:176px;padding:15px;border-radius:17px;border:1px solid var(--line);background:#ffffff06;color:#7f8ca7;display:flex;flex-direction:column;text-align:left;cursor:pointer;transition:.16s ease}.ai-profile-card:hover{transform:translateY(-2px);background:#ffffff0a}.ai-profile-card.active{border-color:#7697ff47;background:radial-gradient(circle at 100% 0,rgba(118,151,255,.12),transparent 45%),#7697ff11}.ai-profile-card>div:first-child{display:flex;justify-content:space-between;align-items:center;color:#91a4e8}.ai-profile-card i{font-style:normal;color:#76d4a7;font-size:7px;font-weight:900;text-transform:uppercase;letter-spacing:.08em}.ai-profile-card>strong{margin:17px 0 6px;color:#d8dfed;font-size:13px}.ai-profile-card>span{color:#77849d;font-size:10px;line-height:1.45}.ai-profile-card>small{margin-top:auto;padding-top:12px;color:#5f6e89;font-size:9px}.scenario-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.scenario-card{min-height:310px;border-radius:20px;border:1px solid var(--line);background:radial-gradient(circle at 100% 0,rgba(87,212,155,.07),transparent 43%),linear-gradient(145deg,#171e31e8,#0d121ff0);padding:19px;display:flex;flex-direction:column}.scenario-icon{width:42px;height:42px;border-radius:13px;display:grid;place-items:center;color:#9db0f6;background:#7697ff13}.scenario-label{margin-top:15px;color:#697895;font-size:8px;font-weight:900;text-transform:uppercase;letter-spacing:.09em}.scenario-card h3{margin:7px 0 3px;font-size:19px;letter-spacing:-.03em}.scenario-card>strong{color:#8e9ab2;font-size:10px}.scenario-card>p{margin:12px 0 0;color:#7d8aa3;font-size:11px;line-height:1.55}.scenario-objective{margin-top:auto;padding:12px;border-radius:12px;background:#ffffff06;border:1px solid rgba(255,255,255,.045);display:grid;gap:3px}.scenario-objective span{color:#61708a;font-size:8px;text-transform:uppercase;letter-spacing:.08em;font-weight:850}.scenario-objective strong{color:#aeb8cb;font-size:10px;line-height:1.45}.scenario-card>button{min-height:39px;margin-top:10px;border-radius:11px;border:1px solid rgba(118,151,255,.15);background:#7697ff11;color:#bdc9ff;padding:0 12px;display:flex;align-items:center;justify-content:space-between;cursor:pointer;font-size:10px;font-weight:850}.game-topbar{min-height:54px;display:flex;align-items:center;justify-content:space-between;gap:16px}.game-opponent{display:inline-flex;align-items:center;gap:7px;color:#75839e;font-size:10px}.game-opponent svg{color:#91a3e7}.game-layout{display:grid;grid-template-columns:minmax(430px,1fr) minmax(290px,.52fr);gap:22px;align-items:start}.game-board-column{min-width:0}.game-board-column .chess-board-wrap{width:min(100%,680px)}.game-turn-line{width:min(100%,680px);min-height:34px;margin:8px auto 0;display:flex;justify-content:space-between;align-items:center;color:#7b89a3;font-size:10px}.game-turn-line strong{color:#9da9bf}.game-side-panel{min-height:610px;padding:19px;border-radius:22px;border:1px solid var(--line);background:linear-gradient(145deg,#161d2feb,#0c111df2);display:flex;flex-direction:column}.game-mode-header{display:flex;align-items:center;gap:12px}.game-mode-icon{width:42px;height:42px;border-radius:13px;display:grid;place-items:center;color:#a6b4f4;background:#7697ff14}.game-mode-header h2{margin:0;font-size:20px;letter-spacing:-.03em}.game-description{margin:16px 0;color:#8591aa;font-size:11px;line-height:1.55}.game-objective,.game-profile-card{padding:12px 13px;border-radius:13px;background:#ffffff06;border:1px solid rgba(255,255,255,.045);display:grid;gap:4px;margin-bottom:9px}.game-objective>span,.game-profile-card>span{color:#65738d;font-size:8px;text-transform:uppercase;letter-spacing:.08em;font-weight:850}.game-objective>strong,.game-profile-card>strong{color:#c1cada;font-size:11px;line-height:1.45}.game-profile-card>p{margin:2px 0 0;color:#75829b;font-size:9px;line-height:1.45}.move-sheet{margin-top:9px;min-height:185px;max-height:260px;display:flex;flex-direction:column;border-radius:14px;border:1px solid rgba(255,255,255,.045);background:#0408103d;overflow:hidden}.move-sheet-title{display:flex;justify-content:space-between;padding:10px 12px;border-bottom:1px solid rgba(255,255,255,.045);color:#697791;font-size:9px}.move-sheet-title strong{color:#929eb4}.move-list{overflow-y:auto;padding:8px 10px 12px}.move-list>div{min-height:27px;display:grid;grid-template-columns:26px 1fr 1fr;align-items:center;gap:7px;color:#61708a;font-size:10px}.move-list strong{color:#b7c0d1;font-weight:700}.move-list>p{color:#59667d;font-size:10px}.resign-button{min-height:37px;margin-top:auto;border-radius:11px;border:1px solid rgba(255,117,141,.12);background:#ff758d0b;color:#c58c97;display:inline-flex;align-items:center;justify-content:center;gap:7px;cursor:pointer;font-size:10px;font-weight:800}.game-result-card{margin-top:auto;padding:15px;border-radius:16px;border:1px solid rgba(118,151,255,.11);background:#7697ff0e;display:grid;gap:8px}.game-result-symbol{color:#9fb1fa}.game-result-card h3{margin:0;font-size:24px;letter-spacing:-.035em}.game-result-card>div:nth-child(2)>span{color:#8491a9;font-size:10px}.review-transfer{min-height:34px;display:flex;align-items:center;gap:7px;color:#7f8da7;font-size:9px}@media(max-width:1120px){.ai-profile-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:980px){.play-normal-card,.game-layout{grid-template-columns:1fr}.play-launch{min-height:auto;border-left:0;border-top:1px solid rgba(255,255,255,.06);padding:18px 0 0}.game-side-panel{min-height:auto}.move-sheet{max-height:210px}}@media(max-width:680px){.scenario-grid,.ai-profile-grid{grid-template-columns:1fr}.play-normal-card{padding:18px}.side-choice button{flex:1;min-width:0}.game-layout{gap:12px}.game-side-panel{padding:15px;border-radius:18px}.game-turn-line{padding:0 2px}}.resign-button:disabled{opacity:.38;cursor:default}.game-board-column .board-square:disabled{cursor:default}.latest-story-card{width:100%;margin-top:28px;padding:22px;border-radius:22px;border:1px solid rgba(118,151,255,.18);background:radial-gradient(circle at 85% 10%,rgba(118,151,255,.16),transparent 34%),linear-gradient(145deg,#181f32f0,#0d121ff2);color:inherit;display:grid;grid-template-columns:auto 1fr auto;gap:18px;align-items:center;text-align:left;cursor:pointer;transition:transform .17s ease,border-color .17s ease}.latest-story-card:hover{transform:translateY(-2px);border-color:#7697ff4d}.latest-story-kicker{width:52px;height:52px;border-radius:16px;display:grid;place-items:center;align-content:center;gap:3px;color:#aebcf8;background:#7697ff17}.latest-story-kicker span{font-size:6px;font-weight:900;letter-spacing:.08em}.latest-story-card h2{margin:0 0 6px;font-size:21px;letter-spacing:-.03em}.latest-story-card p{margin:0;max-width:760px;color:#8390a8;font-size:11px;line-height:1.55}.latest-story-meta{display:grid;gap:5px;text-align:right}.latest-story-meta span{color:#6f7c95;font-size:9px}.latest-story-meta strong{color:#c4cee8;font-size:11px}.game-history-row{width:100%;border-left:0;border-right:0;border-top:0;background:transparent;color:inherit;text-align:left;cursor:pointer}.game-history-row:hover{background:#ffffff06}.game-story-view{padding-bottom:52px}.story-empty{padding-top:8px}.story-empty .empty-bank{margin-top:34px}.story-hero{margin-top:18px;min-height:190px;padding:26px;border-radius:24px;border:1px solid var(--line);background:radial-gradient(circle at 82% 0,rgba(118,151,255,.17),transparent 36%),linear-gradient(145deg,#192034f0,#0c111ef5);display:grid;grid-template-columns:1fr auto;gap:24px;align-items:center}.story-verdict-row{display:flex;gap:8px;align-items:center;flex-wrap:wrap;color:#6f7c95;font-size:9px}.story-verdict{padding:5px 8px;border-radius:999px;font-weight:900;text-transform:uppercase;letter-spacing:.08em;border:1px solid rgba(255,255,255,.06);background:#ffffff08}.story-verdict.clean{color:#7cdfad;background:#57d49b12;border-color:#57d49b21}.story-verdict.competitive{color:#aebcff;background:#7697ff12;border-color:#7697ff24}.story-verdict.uneven{color:#e5be75;background:#ffc16b0f;border-color:#ffc16b1f}.story-verdict.costly{color:#ff91a3;background:#ff758d0f;border-color:#ff758d1f}.story-hero h1{margin:13px 0 8px;max-width:820px;font-size:clamp(31px,4.2vw,51px);line-height:1.02;letter-spacing:-.05em}.story-hero p{margin:0;max-width:780px;color:#8b98b0;font-size:12px;line-height:1.65}.story-priority{width:190px;padding:15px;border-radius:16px;border:1px solid rgba(118,151,255,.11);background:#7697ff0e;display:grid;gap:6px;color:#9dafef}.story-priority span{color:#6d7a94;font-size:8px;text-transform:uppercase;letter-spacing:.08em;font-weight:850}.story-priority strong{color:#d3dbec;font-size:12px;line-height:1.4}.story-phase-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:14px}.story-phase{min-height:170px;padding:16px;border-radius:17px;border:1px solid var(--line);background:#ffffff06;cursor:pointer;transition:.15s ease}.story-phase:hover{transform:translateY(-2px);background:#ffffff09}.story-phase>div:first-child{display:grid;gap:4px}.story-phase>div:first-child span{color:#697791;font-size:8px;font-weight:900;text-transform:uppercase;letter-spacing:.09em}.story-phase>div:first-child strong{color:#d4dbea;font-size:14px}.story-phase p{margin:13px 0;color:#7e8aa2;font-size:10px;line-height:1.52}.phase-metrics{display:flex;gap:7px;flex-wrap:wrap}.phase-metrics span{padding:5px 7px;border-radius:999px;background:#ffffff08;color:#687690;font-size:8px}.story-workspace{display:grid;grid-template-columns:minmax(430px,1fr) minmax(300px,.62fr);gap:18px;align-items:start;margin-top:20px}.story-board-column{min-width:0}.story-board-column .chess-board-wrap{width:min(100%,660px)}.story-preview-controls{width:min(100%,660px);margin:9px auto 0;display:grid;grid-template-columns:repeat(3,1fr);gap:7px}.story-preview-controls button{min-height:38px;border-radius:11px;border:1px solid var(--line);background:#ffffff05;color:#73809a;cursor:pointer;font-size:10px;font-weight:800}.story-preview-controls button.active{color:#dbe3f4;background:#7697ff14;border-color:#7697ff30}.story-preview-controls button.active.actual{color:#ffafbd;background:#ff758d12;border-color:#ff758d24}.story-preview-controls button.active.better{color:#9ce2bd;background:#57d49b12;border-color:#57d49b24}.story-moment-panel{min-height:545px;padding:20px;border-radius:21px;border:1px solid var(--line);background:linear-gradient(145deg,#161d2feb,#0c111df2);display:flex;flex-direction:column}.moment-heading{display:flex;gap:12px;align-items:center}.moment-symbol{width:43px;height:43px;flex:none;border-radius:13px;display:grid;place-items:center;color:#ff97a9;background:#ff758d12}.moment-symbol.strong{color:#7cdfad;background:#57d49b12}.moment-heading h2{margin:0;font-size:22px;letter-spacing:-.03em}.moment-summary{margin:18px 0;color:#8b97ad;font-size:11px;line-height:1.65}.moment-comparison{min-height:68px;padding:11px;border-radius:14px;border:1px solid rgba(255,255,255,.045);background:#ffffff06;display:grid;grid-template-columns:1fr auto 1fr;gap:9px;align-items:center}.moment-comparison>div{display:grid;gap:3px}.moment-comparison>div:last-child{text-align:right}.moment-comparison span,.moment-eval span{color:#64718b;font-size:8px;text-transform:uppercase;letter-spacing:.07em;font-weight:850}.moment-comparison strong{color:#d7deec;font-size:18px;letter-spacing:-.02em}.moment-eval{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin-top:8px}.moment-eval>div{padding:10px;border-radius:12px;background:#ffffff05;border:1px solid rgba(255,255,255,.04);display:grid;gap:4px}.moment-eval strong{color:#c8d0e0;font-size:13px}.moment-skills{display:flex;flex-wrap:wrap;gap:6px;margin-top:13px}.moment-skills span{padding:6px 8px;border-radius:999px;background:#7697ff0e;border:1px solid rgba(118,151,255,.08);color:#8999c6;font-size:8px}.moment-line{margin-top:12px;padding:11px 12px;border-radius:12px;background:#04081040;border:1px solid rgba(255,255,255,.04);display:grid;gap:4px}.moment-line span{color:#5f6d86;font-size:8px;text-transform:uppercase;letter-spacing:.08em;font-weight:850}.moment-line strong{color:#9aa7bd;font:10px/1.45 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.moment-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:auto;padding-top:18px}.moment-actions button{width:100%}.strong-moment-note{margin-top:auto;padding:12px;border-radius:13px;background:#57d49b0d;border:1px solid rgba(87,212,155,.09);color:#82cba7;display:flex;gap:8px;align-items:flex-start}.strong-moment-note span{color:#859d92;font-size:10px;line-height:1.5}.ordinary-move{display:grid;gap:9px}.ordinary-move h2{margin:0;font-size:28px}.ordinary-move p:not(.eyebrow){margin:0;color:#7b88a0;font-size:11px;line-height:1.6}.story-timeline-section,.story-moment-strip{margin-top:30px}.story-timeline{max-height:320px;overflow-y:auto;border-radius:18px;border:1px solid var(--line);background:#0c111db3;padding:8px}.timeline-row{min-height:38px;display:grid;grid-template-columns:34px 1fr 1fr;gap:7px;align-items:center}.timeline-number{color:#55637c;font-size:9px;text-align:right}.timeline-row button{position:relative;min-height:31px;border:1px solid transparent;border-radius:9px;background:transparent;color:#9aa6bb;text-align:left;padding:0 9px;cursor:pointer;font-size:10px;font-weight:750}.timeline-row button:hover{background:#ffffff07}.timeline-row button.active{color:#dfe5f3;background:#7697ff13;border-color:#7697ff1f}.timeline-row button.moment i{position:absolute;width:5px;height:5px;border-radius:50%;right:6px;top:5px;background:#8ea3f5}.timeline-row button.blunder i{background:#ff758d}.timeline-row button.mistake i{background:#ffc96b}.timeline-row button.strong i{background:#57d49b}.story-moment-cards{display:grid;gap:8px}.story-moment-cards>button{width:100%;min-height:86px;padding:12px 14px;border-radius:15px;border:1px solid var(--line);background:#ffffff05;color:inherit;display:grid;grid-template-columns:30px 1fr auto;gap:12px;align-items:center;text-align:left;cursor:pointer}.story-moment-cards>button:hover,.story-moment-cards>button.active{background:#7697ff0e;border-color:#7697ff21}.story-moment-cards>button>span{width:27px;height:27px;border-radius:9px;display:grid;place-items:center;color:#91a3e9;background:#7697ff12;font-size:10px;font-weight:900}.story-moment-cards>button>div{display:grid;gap:3px}.story-moment-cards small{color:#64728c;font-size:8px;text-transform:uppercase;letter-spacing:.07em}.story-moment-cards strong{color:#d1d8e8;font-size:12px}.story-moment-cards p{margin:0;color:#77849c;font-size:9px;line-height:1.4}@media(max-width:980px){.story-hero,.story-workspace{grid-template-columns:1fr}.story-priority{width:auto}.story-moment-panel{min-height:auto}}@media(max-width:720px){.latest-story-card{grid-template-columns:auto 1fr}.latest-story-meta{grid-column:2;text-align:left}.story-phase-grid,.story-preview-controls,.moment-actions{grid-template-columns:1fr}.story-hero{padding:19px}.story-hero h1{font-size:31px}}@media(prefers-reduced-motion:reduce){html:not([data-motion=full]) .latest-story-card,html:not([data-motion=full]) .story-phase{transition:none}}.story-phase{color:inherit;text-align:left;font:inherit}.game-history-row:disabled{opacity:.62;cursor:progress}.library-view{padding-bottom:52px}.library-hero{margin-bottom:16px}.library-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;margin-bottom:14px}.library-metrics>div{min-height:76px;padding:13px 14px;border-radius:15px;border:1px solid var(--line);background:#ffffff06;display:grid;gap:5px;align-content:center}.library-metrics span{color:#68758e;font-size:9px}.library-metrics strong{color:#dbe2f0;font-size:24px;letter-spacing:-.04em}.library-tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-bottom:18px}.library-tabs button{min-height:46px;border-radius:13px;border:1px solid var(--line);background:#ffffff05;color:#76839c;display:flex;align-items:center;justify-content:center;gap:7px;cursor:pointer;font-size:10px;font-weight:800;transition:.15s ease}.library-tabs button:hover{background:#ffffff09}.library-tabs button.active{color:#dce4ff;background:#7697ff13;border-color:#7697ff2e}.analysis-workspace{display:grid;grid-template-columns:minmax(460px,1.12fr) minmax(320px,.78fr);gap:18px;align-items:start}.analysis-board-column{min-width:0}.analysis-board-column .chess-board-wrap{width:min(100%,690px)}.workspace-toolbar{width:min(100%,690px);min-height:46px;margin:0 auto 8px;padding:5px;border-radius:13px;border:1px solid var(--line);background:#ffffff05;display:flex;gap:5px;align-items:center}.workspace-toolbar button{min-height:34px;border-radius:9px;border:0;background:transparent;color:#78859e;padding:0 9px;display:inline-flex;align-items:center;gap:5px;cursor:pointer;font-size:9px;font-weight:800}.workspace-toolbar button:hover:not(:disabled){color:#bac5db;background:#ffffff0a}.workspace-toolbar button:disabled{opacity:.3;cursor:default}.workspace-move-strip{width:min(100%,690px);min-height:56px;max-height:150px;margin:9px auto 0;padding:7px;border-radius:14px;border:1px solid var(--line);background:#070b146b;display:flex;flex-wrap:wrap;align-content:flex-start;gap:5px;overflow-y:auto}.workspace-move-strip button{min-height:31px;border-radius:8px;border:1px solid transparent;background:transparent;color:#8b97ad;padding:0 8px;display:inline-flex;align-items:center;gap:4px;cursor:pointer;font-size:9px;font-weight:750}.workspace-move-strip button small{color:#55637d;font-size:7px}.workspace-move-strip button:hover,.workspace-move-strip button.active{background:#7697ff12;border-color:#7697ff1a;color:#d1daeb}.analysis-control-panel{min-height:680px;padding:18px;border-radius:21px;border:1px solid var(--line);background:linear-gradient(145deg,#161d2feb,#0c111df2);display:flex;flex-direction:column;gap:13px}.workspace-section-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.workspace-section-heading h2{margin:1px 0 0;font-size:22px;letter-spacing:-.03em}.workspace-section-heading>span{padding:5px 7px;border-radius:999px;background:#57d49b0f;color:#79cda4;font-size:8px;font-weight:850;text-transform:uppercase;letter-spacing:.07em}.analysis-engine-card{padding:13px;border-radius:14px;border:1px solid rgba(118,151,255,.09);background:radial-gradient(circle at 100% 0,rgba(118,151,255,.08),transparent 42%),#7697ff06}.analysis-engine-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.analysis-engine-head>div{display:flex;align-items:center;gap:7px;color:#9eaff1;font-size:10px;font-weight:850}.analysis-engine-head button{min-height:34px;padding-inline:10px}.analysis-engine-result{display:grid;grid-template-columns:.7fr 1fr;gap:8px;margin-top:13px}.analysis-engine-result>div{min-height:57px;padding:10px;border-radius:11px;background:#ffffff06;border:1px solid rgba(255,255,255,.04);display:grid;gap:3px}.analysis-engine-result span,.engine-pv span{color:#60708a;font-size:8px;text-transform:uppercase;letter-spacing:.07em;font-weight:850}.analysis-engine-result strong{color:#c9d2e6;font-size:13px}.engine-eval-number strong{font-size:22px;letter-spacing:-.03em}.analysis-engine-result .engine-pv{grid-column:1 / -1;min-height:auto}.engine-pv strong{font:9px/1.5 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;color:#9ba8c0}.analysis-engine-empty{margin:12px 0 0;color:#6c7992;font-size:9px;line-height:1.5}.workspace-loaders{display:grid;grid-template-columns:1fr 1fr;gap:8px}.workspace-loaders details{border:1px solid rgba(255,255,255,.045);border-radius:12px;background:#ffffff05;overflow:hidden}.workspace-loaders summary{min-height:38px;padding:0 11px;display:flex;align-items:center;color:#8592a9;cursor:pointer;font-size:9px;font-weight:850;list-style:none}.workspace-loaders details[open] summary{border-bottom:1px solid rgba(255,255,255,.045)}.workspace-loaders textarea{width:calc(100% - 16px);min-height:82px;margin:8px;padding:8px;border-radius:9px;border:1px solid rgba(255,255,255,.05);background:#0408106b;color:#cfd7e7;resize:vertical;outline:none;font:8px/1.45 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.workspace-loaders button{min-height:31px;margin:0 8px 8px;border-radius:8px;border:1px solid rgba(118,151,255,.11);background:#7697ff0e;color:#aebcf3;padding:0 9px;cursor:pointer;font-size:8px;font-weight:850}.study-editor{display:grid;grid-template-columns:1fr .62fr;gap:8px}.study-editor label{display:grid;gap:5px}.study-editor label>span{color:#63718a;font-size:8px;font-weight:850;text-transform:uppercase;letter-spacing:.07em}.study-editor input,.study-editor select,.study-editor textarea,.training-promotion select{min-height:37px;border-radius:10px;border:1px solid rgba(255,255,255,.055);background:#04081052;color:#cbd4e5;padding:0 10px;outline:none;font-size:10px}.study-editor textarea{min-height:82px;padding:9px 10px;resize:vertical;line-height:1.5}.study-editor .editor-wide{grid-column:1 / -1}.training-promotion{padding:12px;border-radius:13px;border:1px solid rgba(87,212,155,.08);background:#57d49b09;display:grid;grid-template-columns:1fr;gap:9px}.training-promotion>div{display:flex;gap:8px;align-items:flex-start;color:#76cda4}.training-promotion>div>div{display:grid;gap:3px}.training-promotion strong{color:#c0d7cb;font-size:10px}.training-promotion span{color:#718a7d;font-size:8px;line-height:1.4}.workspace-save-actions{margin-top:auto;display:grid;grid-template-columns:.8fr 1.2fr;gap:8px}.workspace-save-actions button{width:100%}.library-collection{padding-top:2px}.collection-toolbar{min-height:70px;display:flex;align-items:end;justify-content:space-between;gap:18px;margin-bottom:13px}.collection-toolbar h2{margin:0;font-size:25px;letter-spacing:-.035em}.library-search{min-width:260px;min-height:39px;padding:0 10px;border-radius:11px;border:1px solid var(--line);background:#ffffff05;display:flex;align-items:center;gap:7px;color:#62708a}.library-search input{min-width:0;flex:1;border:0;outline:0;background:transparent;color:#cbd4e4;font-size:10px}.study-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:11px}.study-card{min-height:280px;padding:16px;border-radius:18px;border:1px solid var(--line);background:radial-gradient(circle at 100% 0,rgba(118,151,255,.06),transparent 42%),linear-gradient(145deg,#151c2de8,#0c111df0);display:flex;flex-direction:column}.study-card-top{display:flex;justify-content:space-between;align-items:center}.study-card-top>span{color:#71809a;font-size:8px;text-transform:uppercase;letter-spacing:.08em;font-weight:850}.favorite{width:30px;height:30px;border-radius:9px;border:0;background:transparent;color:#65738c;display:grid;place-items:center;cursor:pointer}.favorite:hover,.favorite.active{color:#ff9bad;background:#ff758d0d}.study-card h3{margin:14px 0 5px;font-size:17px;letter-spacing:-.025em}.study-card>p{margin:0;color:#7a879f;font-size:10px;line-height:1.55}.study-tags{display:flex;gap:5px;flex-wrap:wrap;margin-top:12px}.study-tags span{padding:4px 6px;border-radius:999px;background:#7697ff0e;color:#7d8db7;font-size:7px}.study-training-state{margin-top:12px;display:flex;gap:6px;align-items:center;color:#79cda4;font-size:8px}.study-card-actions{margin-top:auto;padding-top:15px;display:flex;gap:6px}.study-card-actions button{min-height:33px;border-radius:9px;border:1px solid rgba(118,151,255,.1);background:#7697ff0b;color:#aab8eb;padding:0 9px;display:inline-flex;align-items:center;gap:5px;cursor:pointer;font-size:8px;font-weight:850}.study-card-actions .danger{margin-left:auto;padding:0 8px;color:#ae7380;border-color:#ff758d17;background:#ff758d09}.reference-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}.reference-card{position:relative;min-height:220px;padding:18px;border-radius:19px;border:1px solid var(--line);background:radial-gradient(circle at 100% 0,rgba(87,212,155,.065),transparent 40%),linear-gradient(145deg,#161d2fe8,#0c111df0);color:inherit;text-align:left;cursor:pointer;display:flex;flex-direction:column}.reference-card:hover{border-color:#7697ff29}.reference-icon{width:40px;height:40px;border-radius:12px;display:grid;place-items:center;color:#8ea5ed;background:#7697ff12}.reference-card>span{margin-top:14px;color:#65738d;font-size:8px;font-weight:900;text-transform:uppercase;letter-spacing:.08em}.reference-card>strong{margin-top:5px;font-size:16px}.reference-card>p{margin:8px 0 0;color:#7b88a0;font-size:10px;line-height:1.55}.reference-card>div:nth-last-of-type(1){display:flex;flex-wrap:wrap;gap:5px;margin-top:auto;padding-top:13px}.reference-card i{padding:4px 6px;border-radius:999px;background:#ffffff06;color:#6b7993;font-size:7px;font-style:normal}.reference-card>svg{position:absolute;right:16px;bottom:17px;color:#64728d}.library-games{border-radius:18px;border:1px solid var(--line);overflow:hidden;background:#0c111dad}.library-games>button{width:100%;min-height:68px;padding:11px 14px;border:0;border-bottom:1px solid rgba(255,255,255,.045);background:transparent;color:inherit;display:grid;grid-template-columns:1fr auto 20px;gap:16px;align-items:center;text-align:left;cursor:pointer}.library-games>button:last-child{border-bottom:0}.library-games>button:hover{background:#ffffff06}.library-games>button>div{display:grid;gap:3px}.library-games>button>div:nth-child(2){text-align:right}.library-games strong{color:#cfd7e6;font-size:10px}.library-games span{color:#6f7c95;font-size:8px}.saved-study-trainer .lesson-prompt{max-width:570px}@media(max-width:1080px){.analysis-workspace{grid-template-columns:1fr}.analysis-control-panel{min-height:auto}.study-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:760px){.library-metrics,.library-tabs{grid-template-columns:repeat(2,minmax(0,1fr))}.study-card-grid,.reference-grid{grid-template-columns:1fr}.collection-toolbar{align-items:stretch;flex-direction:column}.library-search{min-width:0;width:100%}.workspace-loaders,.study-editor,.workspace-save-actions{grid-template-columns:1fr}.study-editor .editor-wide{grid-column:auto}.analysis-engine-result{grid-template-columns:1fr 1fr}}@media(max-width:520px){.library-metrics,.library-tabs{grid-template-columns:1fr 1fr}.workspace-toolbar{flex-wrap:wrap}.analysis-control-panel{padding:14px;border-radius:17px}.library-games>button{grid-template-columns:1fr 18px}.library-games>button>div:nth-child(2){display:none}}@media(prefers-reduced-motion:reduce){html:not([data-motion=full]) .library-tabs button,html:not([data-motion=full]) .study-card,html:not([data-motion=full]) .reference-card{transition:none}}:root{--motion-instant: .1s;--motion-quick: .17s;--motion-standard: .25s;--motion-emphasis: .42s;--motion-celebration: .9s;--ease-out-premium: cubic-bezier(.18,.82,.22,1);--ease-spring-soft: cubic-bezier(.22,1,.36,1);--tap-size: 44px}button,input,select,textarea,summary{-webkit-tap-highlight-color:transparent}button{touch-action:manipulation}.primary,.secondary,.nav-item,.mode,.activity-row,.board-square,.reference-card,.study-card,.scenario-card,.ai-profile-card,.opening-entry-card{transition-duration:var(--motion-quick);transition-timing-function:var(--ease-out-premium)}.primary:active:not(:disabled),.secondary:active:not(:disabled),.nav-item:active,.mode:active,.reference-card:active,.study-card-actions button:active,.scenario-card>button:active{transform:translateY(1px) scale(.985)}.main{view-transition-name:chess-main}.training-overlay{animation:overlay-in var(--motion-standard) ease both}.training-sheet{animation:sheet-in var(--motion-standard) var(--ease-spring-soft),sheet-glow var(--motion-emphasis) ease both}.board-square{touch-action:manipulation}.piece{width:100%;height:100%;display:grid;place-items:center;will-change:transform}.piece-land{animation:piece-glide var(--motion-standard) var(--ease-spring-soft)}.board-square.in-check:after{content:"";position:absolute;inset:0;z-index:2;pointer-events:none;background:radial-gradient(circle,rgba(255,95,118,.72),rgba(255,75,106,.18) 46%,transparent 72%);animation:check-pulse .72s ease-out 2}.board-square.rejected{animation:square-reject var(--motion-standard) ease}.move-dot,.capture-ring{animation:legal-target-in var(--motion-quick) var(--ease-out-premium)}.board-arrow{stroke-dasharray:9 3;animation:arrow-draw var(--motion-standard) var(--ease-out-premium) both}.activity-row{position:relative}.activity-row:hover .activity-icon,.nav-item:hover svg{transform:translateY(-1px) scale(1.04)}.activity-icon,.nav-item svg,.section-hero-icon svg,.scenario-icon svg,.opening-entry-icon svg{transition:transform var(--motion-quick) var(--ease-out-premium),filter var(--motion-quick) ease}.sidebar-experience{margin-top:auto}.sidebar-experience+.sync-chip{margin-top:5px}.experience-controls{position:relative}.experience-trigger{width:100%;min-height:40px;padding:0 12px;border:1px solid transparent;border-radius:11px;background:transparent;color:#7d89a1;display:flex;align-items:center;gap:9px;cursor:pointer;font-size:10px;font-weight:800}.experience-trigger:hover,.experience-controls.open .experience-trigger{color:#c7d1e6;border-color:#ffffff0e;background:#ffffff08}.experience-popover{position:absolute;left:0;bottom:calc(100% + 9px);width:290px;padding:13px;border-radius:17px;border:1px solid rgba(255,255,255,.09);background:#0f1523f7;box-shadow:0 22px 70px #0000006b;backdrop-filter:blur(22px);z-index:45;animation:popover-in var(--motion-quick) var(--ease-out-premium)}.experience-popover-heading{display:flex;align-items:center;justify-content:space-between;min-height:46px;padding:0 4px 8px}.experience-popover-heading .eyebrow{margin-bottom:1px;font-size:8px}.experience-popover-heading strong{font-size:12px;color:#dce3f1}.experience-popover-heading>svg{color:#8299e8}.experience-setting,.motion-setting{min-height:56px;padding:8px 9px;border-radius:12px;display:grid;grid-template-columns:1fr auto;align-items:center;gap:10px;cursor:pointer}.experience-setting:hover,.motion-setting:hover{background:#ffffff07}.experience-setting>div,.motion-setting>div{display:flex;align-items:center;gap:9px;min-width:0;color:#8492ad}.experience-setting>div>div,.motion-setting>div>div{display:grid;gap:2px}.experience-setting strong,.motion-setting strong{color:#cbd4e5;font-size:10px}.experience-setting span,.motion-setting span{color:#67758f;font-size:8px;line-height:1.35}.experience-setting input{position:absolute;opacity:0;pointer-events:none}.experience-setting>i{width:34px;height:20px;border-radius:999px;background:#ffffff14;position:relative;transition:background var(--motion-quick) ease}.experience-setting>i:after{content:"";position:absolute;width:14px;height:14px;left:3px;top:3px;border-radius:50%;background:#8995aa;transition:transform var(--motion-quick) var(--ease-out-premium),background var(--motion-quick) ease}.experience-setting input:checked+i{background:#607eff73}.experience-setting input:checked+i:after{transform:translate(14px);background:#e7ebff}.motion-setting select{min-height:31px;border-radius:9px;border:1px solid rgba(255,255,255,.06);background:#111827;color:#aab6cb;padding:0 7px;font-size:9px;outline:none}.mobile-experience{display:none}.celebration-layer{position:fixed;inset:0;z-index:100;pointer-events:none;overflow:hidden}.celebration-layer i{--angle: calc((360deg / var(--particle-count)) * var(--particle-index));--distance: 110px;position:absolute;width:7px;height:11px;left:50%;top:48%;border-radius:3px;background:hsl(calc(215 + var(--particle-index) * 9) 82% 70%);opacity:0;transform:translate(-50%,-50%) rotate(var(--angle));animation:celebration-pop var(--motion-celebration) var(--ease-out-premium) both}.celebration-medium i{--distance: 155px}.celebration-large i{--distance: 220px;width:8px;height:14px}.loading-shimmer{background:linear-gradient(100deg,#ffffff05 20%,#ffffff13,#ffffff05 60%);background-size:220% 100%;animation:shimmer 1.45s linear infinite}@keyframes piece-glide{0%{transform:translate(var(--piece-dx, 0),var(--piece-dy, 0)) translateY(-1px) scale(.96);filter:drop-shadow(0 8px 8px rgba(0,0,0,.18))}72%{transform:translate(0) translateY(-3px) scale(1.055)}to{transform:translate(0) translateY(-1px) scale(1);filter:none}}@keyframes check-pulse{0%{opacity:0}28%{opacity:1}to{opacity:.25}}@keyframes legal-target-in{0%{opacity:0;transform:scale(.55)}}@keyframes arrow-draw{0%{opacity:0;stroke-dashoffset:18}to{opacity:.78;stroke-dashoffset:0}}@keyframes overlay-in{0%{opacity:0;backdrop-filter:blur(0)}}@keyframes sheet-glow{0%{box-shadow:0 24px 80px #00000052,0 0 #7697ff00}to{box-shadow:0 40px 120px #0000007a,0 0 45px #7697ff0a}}@keyframes popover-in{0%{opacity:0;transform:translateY(7px) scale(.985)}}@keyframes celebration-pop{0%{opacity:0;translate:0 10px;rotate:0deg}13%{opacity:.95}to{opacity:0;translate:calc(cos(var(--angle)) * var(--distance)) calc(sin(var(--angle)) * var(--distance));rotate:280deg}}@keyframes shimmer{to{background-position:-220% 0}}@media(max-width:820px){:root{--tap-size: 48px}body{overscroll-behavior-y:none}.main{padding:max(22px,env(safe-area-inset-top)) 14px calc(94px + env(safe-area-inset-bottom))}.mobile-nav{min-height:calc(64px + env(safe-area-inset-bottom));padding:7px max(7px,env(safe-area-inset-right)) max(7px,env(safe-area-inset-bottom)) max(7px,env(safe-area-inset-left))}.mobile-nav button{min-height:48px;border-radius:12px;transition:color var(--motion-quick) ease,background var(--motion-quick) ease,transform var(--motion-quick) var(--ease-out-premium)}.mobile-nav button.active{background:#7697ff11}.mobile-nav button:active{transform:scale(.94)}.mobile-experience{display:block;position:fixed;top:max(12px,env(safe-area-inset-top));right:max(12px,env(safe-area-inset-right));z-index:40}.mobile-experience .experience-trigger{width:42px;height:42px;min-height:42px;padding:0;justify-content:center;border-color:#ffffff12;background:#0c111dd1;backdrop-filter:blur(16px);box-shadow:0 10px 30px #0003}.mobile-experience .experience-trigger span{display:none}.mobile-experience .experience-popover{position:fixed;left:12px;right:12px;top:max(60px,calc(env(safe-area-inset-top) + 52px));bottom:auto;width:auto}.hero{padding-top:22px}.hero-emblem{opacity:.5}.session-card,.panel,.play-normal-card,.story-hero,.opening-tree,.opening-position-panel,.analysis-control-panel{box-shadow:0 16px 40px #00000029}.training-overlay{overscroll-behavior:contain}.training-sheet{max-height:96dvh;overflow-y:auto;border-radius:24px 24px 0 0;padding:29px 15px max(24px,env(safe-area-inset-bottom))}.lesson-shell-heading{margin-right:38px}.chess-board-wrap{padding:6px;border-radius:17px}.chess-board{border-radius:12px}.piece{font-size:clamp(28px,10.7vw,50px)}.board-square{min-height:0}.lesson-button-row button,.workspace-save-actions button,.game-result-card button,.scenario-card>button,.study-card-actions button{min-height:var(--tap-size)}.study-card-actions{flex-wrap:wrap}.study-card-actions button:not(.danger){flex:1}.game-layout,.story-workspace,.analysis-workspace{min-width:0}}html[data-motion=reduced] *,html[data-motion=reduced] *:before,html[data-motion=reduced] *:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}html[data-motion=reduced] .celebration-layer{display:none!important}.app-loading-shell{min-height:100vh;display:grid;place-content:center;justify-items:center;gap:20px;background:radial-gradient(circle at 50% 35%,rgba(82,109,255,.13),transparent 28rem),var(--bg)}.app-loading-brand{width:66px;height:66px;border-radius:21px;display:grid;place-items:center;font-size:36px;background:linear-gradient(145deg,#526dff,#8a72f4);box-shadow:0 20px 55px #526dff3d;animation:loading-brand-breathe 1.7s ease-in-out infinite}.app-loading-copy{width:min(290px,70vw);display:grid;gap:8px}.app-loading-copy .loading-shimmer{display:block;height:10px;border-radius:999px}.app-loading-copy .loading-shimmer.short{width:64%}.hero,.section-hero,.play-view,.review-view,.library-view,.openings-view,.game-story-view,.game-arena,.mode-switch,.session-card,.dashboard-grid{animation:view-rise var(--motion-standard) var(--ease-out-premium) both}.mode-switch{animation-delay:35ms}.session-card{animation-delay:65ms}.dashboard-grid{animation-delay:95ms}@keyframes view-rise{0%{opacity:0;transform:translateY(8px)}}@keyframes loading-brand-breathe{0%,to{transform:scale(1);filter:brightness(1)}50%{transform:scale(1.035);filter:brightness(1.08)}}@media(hover:none){.board-square:hover{filter:none}.board-square:hover .piece{transform:translateY(-1px) scale(1)}.primary:hover,.secondary:hover,.reference-card:hover,.ai-profile-card:hover,.story-phase:hover{transform:none}}@media(max-width:820px){.training-sheet:before{content:"";position:sticky;display:block;width:42px;height:4px;top:-18px;margin:-13px auto 15px;border-radius:999px;background:#ffffff2e;z-index:4}.lesson-shell-heading{position:relative}.lesson-shell-heading .lesson-context{gap:5px}.lesson-context span{padding:6px 8px}.game-topbar{padding-top:36px}.game-opponent{max-width:55vw;text-align:right}.story-hero,.section-hero.compact{margin-top:28px}}@media(max-width:820px)and (orientation:landscape)and (max-height:540px){.main{padding-top:10px}.mobile-experience{top:8px}.training-sheet{max-height:100dvh;border-radius:0}.lesson-stage{grid-template-columns:minmax(300px,.95fr) minmax(260px,.75fr);align-items:start}.lesson-board-column{width:min(48vw,430px)}.lesson-instruction{padding-top:0}.mobile-nav{opacity:.96}}html[data-motion=reduced] .app-loading-brand,html[data-motion=reduced] .hero,html[data-motion=reduced] .section-hero,html[data-motion=reduced] .play-view,html[data-motion=reduced] .review-view,html[data-motion=reduced] .library-view,html[data-motion=reduced] .openings-view,html[data-motion=reduced] .game-story-view,html[data-motion=reduced] .game-arena,html[data-motion=reduced] .mode-switch,html[data-motion=reduced] .session-card,html[data-motion=reduced] .dashboard-grid{animation:none!important}.curriculum-overview{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;margin:-8px 0 22px}.curriculum-overview>div{min-height:82px;padding:13px 14px;border-radius:15px;border:1px solid var(--line);background:#ffffff06;display:grid;grid-template-columns:auto 1fr;gap:4px 8px;align-content:center;align-items:center}.curriculum-overview svg,.overview-progress-ring{grid-row:1 / 3;color:#8fa3ec}.curriculum-overview span:not(.overview-progress-ring){color:#68768f;font-size:8px;text-transform:uppercase;letter-spacing:.07em;font-weight:850}.curriculum-overview strong{color:#dbe2ef;font-size:13px}.overview-progress-ring{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:#7697ff14;border:1px solid rgba(118,151,255,.13);font-size:9px;font-weight:900}.curriculum-stage-list{display:grid;gap:34px}.curriculum-stage{position:relative}.curriculum-stage:before{content:"";position:absolute;left:22px;top:56px;bottom:-24px;width:1px;background:linear-gradient(to bottom,#7697ff2e,#7697ff05)}.curriculum-stage:last-child:before{display:none}.curriculum-stage-heading{display:grid;grid-template-columns:46px 1fr;gap:16px;margin-bottom:14px;align-items:start}.stage-number{position:relative;z-index:1;width:46px;height:46px;border-radius:15px;display:grid;place-items:center;border:1px solid rgba(118,151,255,.15);background:radial-gradient(circle at 50% 0,rgba(118,151,255,.14),transparent 60%),#111827;color:#b9c5f6;font-size:14px;font-weight:900;box-shadow:0 12px 26px #0000002e}.stage-copy{min-width:0;padding-top:2px}.stage-title-row{display:flex;align-items:start;justify-content:space-between;gap:18px}.stage-title-row h2{margin:0;font-size:25px;letter-spacing:-.035em}.stage-title-row .eyebrow{margin-bottom:3px;font-size:8px}.stage-mastery{flex:none;min-width:96px;display:grid;gap:2px;text-align:right}.stage-mastery span{color:#65738d;font-size:8px}.stage-mastery strong{color:#cdd6e8;font-size:16px}.stage-promise{display:block;margin-top:7px;color:#aeb9d0;font-size:11px}.stage-copy>p{margin:5px 0 9px;color:#748199;font-size:10px;line-height:1.5}.stage-track{height:4px}.curriculum-sequence{display:flex;align-items:center;gap:7px;min-width:0}.curriculum-sequence>span{width:27px;height:27px;border-radius:9px;display:grid;place-items:center;flex:none;background:#7697ff12;color:#8499df;font-size:9px;font-weight:900}.curriculum-sequence small{color:#67758d;font-size:7px;text-transform:uppercase;letter-spacing:.07em;font-weight:850;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.curriculum-prereqs{min-height:34px;margin-top:12px;padding:8px 9px;border-radius:10px;border:1px solid rgba(255,255,255,.045);background:#ffffff05;color:#697790;display:flex;gap:6px;align-items:center;font-size:8px;line-height:1.35}.curriculum-card.unavailable{opacity:.64}.curriculum-card.unavailable:hover{transform:none}.curriculum-card.unavailable .curriculum-piece{filter:grayscale(1)}@media(max-width:900px){.curriculum-overview{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:620px){.curriculum-overview{grid-template-columns:1fr 1fr}.curriculum-stage-list{gap:28px}.curriculum-stage-heading{grid-template-columns:38px 1fr;gap:11px}.stage-number{width:38px;height:38px;border-radius:12px}.curriculum-stage:before{left:18px;top:47px}.stage-title-row{display:grid;gap:7px}.stage-mastery{min-width:0;text-align:left;grid-template-columns:auto auto;justify-content:start;align-items:baseline;gap:8px}.curriculum-hero{margin-top:26px}}.curriculum-card-state{display:flex;align-items:center;gap:6px}.recommended-next{padding:5px 7px;border-radius:999px;background:#57d49b14;border:1px solid rgba(87,212,155,.12);color:#76d4a7;font-size:7px;font-weight:900;text-transform:uppercase;letter-spacing:.08em}.home-placement-card,.placement-card{margin-bottom:18px;padding:16px 18px;border-radius:18px;border:1px solid rgba(118,151,255,.14);background:radial-gradient(circle at 100% 0,rgba(118,151,255,.1),transparent 38%),linear-gradient(145deg,#161d2fed,#0c111df2);display:grid;grid-template-columns:auto 1fr auto;gap:14px;align-items:center}.home-placement-icon,.placement-card-icon{width:44px;height:44px;border-radius:13px;display:grid;place-items:center;color:#a8b8f4;background:#7697ff14;border:1px solid rgba(118,151,255,.1)}.home-placement-card>div:nth-child(2),.placement-card>div:nth-child(2){min-width:0;display:grid;gap:3px}.home-placement-card strong,.placement-card strong{color:#d7dfef;font-size:12px}.home-placement-card span,.placement-card span{color:#77859e;font-size:9px;line-height:1.5}.stage-gate-panel{margin-top:13px;padding:12px;border-radius:14px;border:1px solid rgba(255,255,255,.05);background:#05091147}.stage-gate-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.stage-gate-heading>div{display:flex;align-items:center;gap:8px}.stage-gate-heading>div>strong{color:#aeb8ca;font-size:9px}.gate-status{padding:5px 7px;border-radius:999px;border:1px solid rgba(255,255,255,.06);background:#ffffff06;color:#728099;font-size:7px;font-weight:900;text-transform:uppercase;letter-spacing:.07em}.gate-status.passed{color:#7cd7aa;background:#57d49b0f;border-color:#57d49b21}.gate-status.ready,.gate-status.placed{color:#9fb0ef;background:#7697ff0f;border-color:#7697ff21}.gate-status.remediation{color:#ff9bae;background:#ff758d0d;border-color:#ff758d1c}.gate-status.provisional{color:#e4bc77;background:#ffc16b0d;border-color:#ffc16b1c}.stage-checkpoint-button{min-height:33px;padding:0 10px;border-radius:9px;border:1px solid rgba(118,151,255,.11);background:#7697ff0d;color:#9eafea;display:inline-flex;align-items:center;gap:6px;cursor:pointer;font-size:8px;font-weight:850}.stage-checkpoint-button:disabled{opacity:.32;cursor:default}.gate-metrics{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px;margin-top:10px}.gate-metric{min-width:0;padding:8px;border-radius:10px;border:1px solid rgba(255,255,255,.04);background:#ffffff05;display:grid;gap:2px}.gate-metric span{color:#5e6d87;font-size:7px;text-transform:uppercase;letter-spacing:.06em;font-weight:850}.gate-metric strong{color:#b2bdd0;font-size:12px}.gate-metric small{color:#56647c;font-size:6px}.gate-metric.met{border-color:#57d49b12;background:#57d49b06}.gate-metric.met strong{color:#8bceb0}.assessment-sheet{max-width:1120px}.assessment-runner{min-height:610px;padding:6px 4px 2px}.assessment-head{min-height:82px;display:flex;justify-content:space-between;gap:18px;align-items:start;padding-right:42px}.assessment-head h2{margin:2px 0 5px;font-size:27px;letter-spacing:-.035em}.assessment-head p:not(.eyebrow){margin:0;color:#78859c;font-size:10px}.assessment-count{flex:none;display:flex;align-items:baseline;gap:3px;color:#65728b}.assessment-count strong{color:#d6deec;font-size:23px}.assessment-count span{font-size:10px}.assessment-progress{height:4px;border-radius:999px;background:#ffffff0b;overflow:hidden;margin-bottom:16px}.assessment-progress i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#667eff,#8d7cf3);transition:width var(--motion-standard) var(--ease-out-premium)}.assessment-stage{display:grid;grid-template-columns:minmax(430px,1fr) minmax(280px,.62fr);gap:18px;align-items:start}.assessment-board .chess-board-wrap{width:min(100%,650px)}.assessment-panel{min-height:520px;padding:18px;border-radius:19px;border:1px solid var(--line);background:linear-gradient(145deg,#151c2ded,#0c111df5);display:flex;flex-direction:column}.assessment-prompt{padding:16px;border-radius:14px;background:#7697ff0a;border:1px solid rgba(118,151,255,.08);color:#99acec;display:grid;gap:8px}.assessment-prompt strong{color:#d5ddeb;font-size:14px}.assessment-prompt p{margin:0;color:#7c899f;font-size:10px;line-height:1.55}.assessment-result{padding:15px;border-radius:14px;display:flex;align-items:center;gap:10px}.assessment-result>div{display:grid;gap:3px}.assessment-result strong{font-size:14px}.assessment-result span{color:#7f8ca3;font-size:9px}.assessment-result.correct{color:#70d39f;background:#57d49b0d;border:1px solid rgba(87,212,155,.1)}.assessment-result.incorrect{color:#ff8fa2;background:#ff758d0d;border:1px solid rgba(255,117,141,.1)}.assessment-correction{margin-top:10px;padding:11px;border-radius:12px;background:#ffc16b0a;border:1px solid rgba(255,193,107,.08);color:#d4ad70;display:flex;gap:8px;align-items:start}.assessment-correction span{color:#89795f;font-size:9px;line-height:1.45}.assessment-panel-footer{margin-top:auto;padding-top:18px;display:grid;gap:11px}.assessment-panel-footer>span{color:#66748d;font-size:9px;line-height:1.45}.assessment-panel-footer button{width:100%}.assessment-summary{min-height:560px;max-width:720px;margin:0 auto;display:flex;flex-direction:column;align-items:center;text-align:center;justify-content:center}.assessment-summary-mark{width:58px;height:58px;margin-bottom:16px;border-radius:18px;display:grid;place-items:center;color:#9fb2f5;background:#7697ff14;border:1px solid rgba(118,151,255,.12)}.assessment-summary h2{margin:4px 0 5px;font-size:56px;letter-spacing:-.06em}.assessment-summary-copy{max-width:590px;margin:0;color:#7d8aa1;font-size:11px;line-height:1.6}.assessment-breakdown{width:100%;display:grid;gap:7px;margin-top:22px}.assessment-breakdown>div{min-height:39px;display:grid;grid-template-columns:120px 42px 1fr;gap:9px;align-items:center;text-align:left}.assessment-breakdown span{color:#75829b;font-size:9px}.assessment-breakdown strong{color:#c3ccdc;font-size:10px}.assessment-breakdown i{height:5px;border-radius:999px;overflow:hidden;background:#ffffff0b}.assessment-breakdown b{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#647dff,#8a75ec)}.assessment-summary-actions{width:100%;display:grid;grid-template-columns:.7fr 1.3fr;gap:8px;margin-top:22px}@media(max-width:900px){.gate-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}.assessment-stage{grid-template-columns:1fr}.assessment-panel{min-height:300px}}@media(max-width:720px){.home-placement-card,.placement-card{grid-template-columns:auto 1fr}.home-placement-card>button,.placement-card>button{grid-column:2;width:fit-content}.stage-gate-heading{align-items:stretch;flex-direction:column}.stage-checkpoint-button{width:100%;justify-content:center;min-height:42px}.gate-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.assessment-runner{min-height:auto}.assessment-head{padding-right:30px}.assessment-head h2{font-size:23px}.assessment-panel{padding:14px;min-height:260px}.assessment-summary h2{font-size:47px}.assessment-summary-actions{grid-template-columns:1fr}.assessment-breakdown>div{grid-template-columns:88px 38px 1fr}}.home-course-gate{margin-top:14px;padding:18px;border-radius:19px;border:1px solid var(--line);background:radial-gradient(circle at 100% 0,rgba(87,212,155,.055),transparent 38%),linear-gradient(145deg,#141b2ceb,#0c111df2);display:grid;grid-template-columns:minmax(220px,1fr) auto auto;gap:18px;align-items:center}.home-course-gate-copy>div:first-child{display:flex;align-items:center;gap:8px}.home-course-gate-copy .eyebrow{margin:0}.home-course-gate-copy h2{margin:7px 0 4px;font-size:20px;letter-spacing:-.03em}.home-course-gate-copy p{margin:0;color:#77849b;font-size:9px;line-height:1.5}.home-course-metrics{display:grid;grid-template-columns:repeat(4,72px);gap:6px}.home-course-metrics>div{min-height:51px;padding:8px;border-radius:10px;background:#ffffff05;border:1px solid rgba(255,255,255,.04);display:grid;gap:2px;align-content:center}.home-course-metrics span{color:#62708a;font-size:7px;text-transform:uppercase;letter-spacing:.06em}.home-course-metrics strong{color:#cbd4e4;font-size:12px}@media(max-width:940px){.home-course-gate{grid-template-columns:1fr}.home-course-metrics{grid-template-columns:repeat(4,minmax(0,1fr))}.home-course-gate>button{width:fit-content}}@media(max-width:580px){.home-course-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.home-course-gate>button{width:100%}}.adaptive-challenge-chip{text-transform:capitalize;border:1px solid rgba(118,151,255,.12);color:#a9b8ed!important;background:#7697ff0f!important}.adaptive-policy-strip{margin:-8px 0 18px;padding:11px 12px;border-radius:13px;border:1px solid rgba(118,151,255,.08);background:linear-gradient(135deg,#7697ff0d,#ffffff04);display:flex;gap:9px;align-items:flex-start;color:#8294d1}.adaptive-policy-strip>div{display:grid;gap:3px}.adaptive-policy-strip strong{color:#c8d2e8;font-size:9px;line-height:1.4}.adaptive-policy-strip span{color:#6d7b94;font-size:8px;line-height:1.45}.adaptive-game-sheet{width:min(1120px,100%);max-height:94vh;overflow-y:auto}.adaptive-game-sheet .game-arena{padding-bottom:0}.adaptive-game-sheet .game-topbar{margin-top:4px}.adaptive-game-sheet .game-layout{margin-top:12px}.activity-row:has(.adaptive-activity-note){align-items:start}.adaptive-activity-note{display:inline-flex;align-items:center;width:fit-content;margin-top:4px;padding:3px 6px;border-radius:999px;background:#7697ff0b;color:#7182ba!important;font-size:7px!important;text-transform:capitalize}@media(max-width:820px){.adaptive-game-sheet{width:100%;max-height:100dvh;border-radius:0}.adaptive-game-sheet .game-layout{grid-template-columns:1fr}.adaptive-policy-strip{margin-top:-4px}}.lichess-card{position:relative;padding:18px;border-radius:18px;border:1px solid rgba(255,255,255,.065);background:radial-gradient(circle at 100% 0,rgba(134,163,255,.08),transparent 42%),linear-gradient(145deg,#151c2df5,#0c111df5);display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:14px;align-items:center}.lichess-card.compact{padding:14px}.lichess-card.linked{border-color:#86a3ff1f}.lichess-card-icon{width:46px;height:46px;border-radius:14px;display:grid;place-items:center;color:#8190aa;background:#ffffff09}.lichess-card-icon.linked{color:#b8c5f3;background:#7697ff12}.lichess-card-copy{display:grid;gap:3px;min-width:0}.lichess-card-copy strong{color:#dbe2ef;font-size:13px}.lichess-card-copy span{max-width:680px;color:#738199;font-size:9px;line-height:1.45}.lichess-link-form{display:flex;gap:7px;align-items:center}.lichess-link-form input{width:min(220px,28vw);min-height:38px;border-radius:10px;border:1px solid rgba(255,255,255,.07);background:#080c16b8;color:#d3dbea;padding:0 10px;outline:none}.lichess-link-form input:focus{border-color:#7697ff4d;box-shadow:0 0 0 3px #7697ff0d}.lichess-card-actions{display:flex;gap:7px;align-items:center;justify-content:flex-end}.lichess-card-actions a.primary{text-decoration:none;display:inline-flex;align-items:center;gap:7px}.lichess-profile-link,.lichess-unlink{width:36px;height:36px;border-radius:10px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.055);background:#ffffff05;color:#78869f;cursor:pointer;text-decoration:none}.lichess-profile-link:hover{color:#aab9ef;border-color:#7697ff24}.lichess-unlink:hover{color:#d2909d;border-color:#ff758d1f}.lichess-inline-message,.lichess-inline-error{grid-column:2 / -1;padding-top:2px;font-size:8px}.lichess-inline-message{color:#75bd96}.lichess-inline-error{color:#d38896}.human-play-section{margin-top:28px}.review-lichess-section{margin:4px 0 14px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center}.review-lichess-section .lichess-card{grid-column:1 / -1}.review-batch-analyze{min-height:38px;padding:0 12px;border-radius:10px;border:1px solid rgba(118,151,255,.12);background:#7697ff0b;color:#9cacdf;display:inline-flex;align-items:center;gap:7px;cursor:pointer;font-size:9px;font-weight:800}.review-batch-analyze:disabled{opacity:.42;cursor:default}.review-batch-status{color:#6f7e96;font-size:8px;text-align:right}.game-history-row span{line-height:1.45}@media(max-width:820px){.lichess-card,.lichess-card.compact{grid-template-columns:auto 1fr;padding:14px}.lichess-link-form,.lichess-card-actions{grid-column:1 / -1;width:100%}.lichess-link-form input{flex:1;width:auto;min-width:0}.lichess-card-actions{justify-content:flex-start;flex-wrap:wrap}.lichess-inline-message,.lichess-inline-error{grid-column:1 / -1}.review-lichess-section{grid-template-columns:1fr}.review-batch-status{text-align:left}}.train-home-hero{position:relative;overflow:hidden;margin-top:8px;padding:30px;border:1px solid rgba(118,151,255,.16);border-radius:28px;background:radial-gradient(circle at 88% 10%,rgba(118,151,255,.16),transparent 34%),radial-gradient(circle at 18% 120%,rgba(87,212,155,.07),transparent 42%),linear-gradient(145deg,#181f33f7,#0b101cfa);box-shadow:0 30px 90px #0000003d;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:28px;align-items:center}.train-home-copy{display:grid;gap:14px}.train-now-kicker{width:fit-content;padding:7px 10px;border-radius:999px;border:1px solid rgba(118,151,255,.15);background:#7697ff12;color:#b9c7ff;display:inline-flex;align-items:center;gap:6px;font-size:9px;font-weight:850;text-transform:uppercase;letter-spacing:.08em}.train-home-copy h1{max-width:760px;margin:0;color:#eef2fb;font-size:clamp(34px,5vw,60px);line-height:.98;letter-spacing:-.055em}.train-home-copy>p{max-width:690px;margin:0;color:#8996aa;font-size:14px;line-height:1.65}.train-home-actions{display:flex;align-items:center;gap:9px;flex-wrap:wrap}.train-now-button{min-height:46px;padding-left:18px;gap:10px}.train-now-button span{padding-left:10px;border-left:1px solid rgba(255,255,255,.14);color:#dfe6ff;font-size:10px;font-weight:750}.train-home-context{display:flex;gap:18px;flex-wrap:wrap}.train-home-context span{color:#68778e;font-size:9px}.train-home-context strong{color:#aeb9cc}.train-home-orb{width:120px;height:120px;border-radius:999px;border:1px solid rgba(118,151,255,.15);background:radial-gradient(circle at 40% 30%,rgba(255,255,255,.07),transparent 34%),#7697ff0e;display:grid;place-items:center;align-content:center;gap:1px;color:#9aacf0;box-shadow:inset 0 0 32px #7697ff0a}.train-home-orb strong{color:#e2e8f5;font-size:28px;line-height:1}.train-home-orb span{color:#728098;font-size:8px;text-transform:uppercase;letter-spacing:.08em}.train-mode-switch{margin:14px 0 10px}.train-session-preview{padding:22px;border-radius:22px;border:1px solid var(--line);background:radial-gradient(circle at 100% 0,rgba(118,151,255,.045),transparent 34%),linear-gradient(145deg,#141b2cf0,#0c111df5)}.train-session-preview-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}.train-session-preview-head .eyebrow{margin-bottom:5px}.train-session-preview-head h2{margin:0;color:#dce3ef;font-size:20px;letter-spacing:-.03em}.text-action{padding:6px 0;border:0;background:transparent;color:#8798cf;display:inline-flex;align-items:center;gap:4px;font-size:9px;font-weight:760;cursor:pointer}.train-session-activities{margin-top:14px;display:grid;gap:5px}.train-session-activities article{display:grid;grid-template-columns:24px 36px minmax(0,1fr) auto;gap:10px;align-items:center;min-height:62px;padding:8px 10px;border-radius:12px;border:1px solid rgba(255,255,255,.028);background:#ffffff03}.train-session-activities article>div:nth-child(3){display:grid;gap:2px}.train-session-activities small{color:#66758d;font-size:7px;font-weight:820;text-transform:uppercase;letter-spacing:.055em}.train-session-activities strong{color:#c9d3e2;font-size:10px}.train-session-activities span{color:#68768c;font-size:8px}.train-session-activities em{color:#738099;font-style:normal;font-size:8px}.train-session-footer{margin-top:14px;padding-top:14px;border-top:1px solid rgba(255,255,255,.035);display:flex;justify-content:space-between;align-items:center;gap:14px}.train-session-footer p{margin:0;color:#6f7d92;font-size:9px;line-height:1.45}.train-plan-strip{margin-top:12px;padding:11px 12px;border-radius:14px;border:1px solid rgba(255,255,255,.04);background:#ffffff03;display:grid;grid-template-columns:repeat(3,minmax(0,1fr)) auto;gap:8px;align-items:center}.train-plan-strip>div{display:grid;gap:2px;min-width:0}.train-plan-strip span,.train-competition-summary span{color:#627188;font-size:7px;font-weight:800;text-transform:uppercase;letter-spacing:.055em}.train-plan-strip strong,.train-competition-summary strong{overflow:hidden;color:#b8c3d3;font-size:9px;text-overflow:ellipsis;white-space:nowrap}.train-plan-strip .secondary{min-height:32px;padding:6px 9px;font-size:8px}.train-competition-summary{margin-top:10px;padding:10px 12px;border-radius:12px;border:1px solid rgba(118,151,255,.08);background:#7697ff03;display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:9px;align-items:center;color:#8497d2}.train-competition-summary>div{display:grid;gap:2px}.train-competition-summary small{color:#68768c;font-size:8px}.train-secondary-card{margin-top:12px}.progress-plan-controls{margin:14px 0 18px;border-radius:17px;border:1px solid rgba(118,151,255,.09);background:#7697ff03;overflow:hidden}.progress-plan-controls>summary{list-style:none;padding:14px 15px;display:flex;align-items:center;justify-content:space-between;gap:12px;cursor:pointer}.progress-plan-controls>summary::-webkit-details-marker{display:none}.progress-plan-controls>summary>div{display:flex;align-items:flex-start;gap:9px;color:#8ea2df}.progress-plan-controls>summary span{display:grid;gap:3px}.progress-plan-controls>summary strong{color:#c7d1e0;font-size:10px}.progress-plan-controls>summary small{color:#65748a;font-size:8px;line-height:1.4;font-weight:500}.progress-plan-controls[open]>summary{border-bottom:1px solid rgba(255,255,255,.035)}.progress-plan-controls[open]>summary>svg:last-child{transform:rotate(90deg)}.progress-plan-controls-body{padding:14px;display:grid;gap:12px}.progress-plan-controls-body>section{padding:12px;border-radius:13px;border:1px solid rgba(255,255,255,.035);background:#ffffff02;display:grid;gap:10px}.planning-control-heading{display:grid;gap:2px}.planning-control-heading>span{color:#b9c4d4;font-size:9px;font-weight:800}.planning-control-heading small{color:#627087;font-size:8px;line-height:1.4}.planning-goal-options{display:flex;flex-wrap:wrap;gap:6px}.planning-goal-options button{min-height:31px;padding:6px 9px;border-radius:9px;border:1px solid rgba(255,255,255,.04);background:#ffffff03;color:#7a879d;font:inherit;font-size:8px;cursor:pointer}.planning-goal-options button.active{border-color:#7697ff2e;background:#7697ff0e;color:#afbded}.planning-select-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.planning-select-grid.competition{grid-template-columns:repeat(4,minmax(0,1fr))}.planning-select-grid label,.planning-retrospective-notes label{display:grid;gap:4px}.planning-select-grid label>span,.planning-retrospective-notes label>span{color:#627188;font-size:7px;font-weight:800;text-transform:uppercase;letter-spacing:.055em}.planning-select-grid select,.planning-select-grid input,.planning-retrospective-notes textarea{width:100%;min-height:33px;padding:7px 8px;border-radius:9px;border:1px solid rgba(255,255,255,.045);background:#111826;color:#aeb9ca;font:inherit;font-size:8px}.planning-retrospective-notes textarea{resize:vertical;min-height:58px;line-height:1.45}.planning-toggle-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.planning-toggle-grid label,.planning-competition-toggle{padding:9px;border-radius:10px;border:1px solid rgba(255,255,255,.035);background:#ffffff03;display:flex;align-items:flex-start;gap:8px;color:#8996aa;font-size:8px}.planning-toggle-grid label>span{display:grid;gap:2px}.planning-toggle-grid small{color:#5d6b81;font-size:7px;line-height:1.4}.planning-toggle-grid input,.planning-competition-toggle input{margin-top:1px;accent-color:#7799ff}.planning-recovery-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px;border-radius:10px;background:#ffffff03;border:1px solid rgba(255,255,255,.035)}.planning-recovery-row>div{display:grid;gap:2px}.planning-recovery-row span{color:#aeb9ca;font-size:8px;font-weight:800}.planning-recovery-row small{color:#617087;font-size:7px}.planning-retrospective-notes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}@media(max-width:900px){.train-home-hero{grid-template-columns:1fr}.train-home-orb{width:92px;height:92px}.train-plan-strip{grid-template-columns:repeat(3,minmax(0,1fr))}.train-plan-strip>button{grid-column:1 / -1;width:fit-content}.planning-select-grid.competition{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:700px){.train-home-hero{padding:22px 18px;border-radius:22px}.train-home-orb{display:none}.train-home-actions>button{flex:1}.train-session-preview{padding:17px 14px}.train-session-preview-head,.train-session-footer{display:grid}.train-session-footer .primary{width:100%}.train-plan-strip{grid-template-columns:1fr}.train-plan-strip>button{width:100%}.train-competition-summary{grid-template-columns:auto 1fr}.train-competition-summary small{grid-column:2}.planning-select-grid,.planning-select-grid.competition,.planning-toggle-grid,.planning-retrospective-notes{grid-template-columns:1fr}.planning-recovery-row{display:grid}.planning-recovery-row button{width:100%}}@media(max-width:720px){.mobile-nav{grid-template-columns:repeat(6,minmax(0,1fr))}.mobile-nav button{min-width:0;padding-left:2px;padding-right:2px;font-size:8px}}@media(max-width:380px){.mobile-nav button span{font-size:7px}.train-session-activities article{grid-template-columns:20px 30px minmax(0,1fr) auto;gap:7px}}.puzzle-explanation-card{margin-top:12px;padding:13px;border-radius:13px;border:1px solid rgba(118,151,255,.11);background:radial-gradient(circle at 100% 0,rgba(118,151,255,.045),transparent 42%),#7697ff03;display:grid;gap:9px}.puzzle-explanation-head{display:flex;justify-content:space-between;align-items:flex-start;gap:10px}.puzzle-explanation-head>div{display:grid;gap:2px}.puzzle-explanation-head span,.puzzle-solution-line>span,.puzzle-alternative-note>span{color:#697895;font-size:7px;font-weight:850;text-transform:uppercase;letter-spacing:.07em}.puzzle-explanation-head strong{color:#cdd6e7;font-size:11px}.puzzle-explanation-head small{max-width:210px;color:#647188;font-size:7px;line-height:1.4;text-align:right}.puzzle-explanation-card>p,.puzzle-alternative-note p{margin:0;color:#8794a9;font-size:9px;line-height:1.55}.puzzle-solution-line{padding:9px 10px;border-radius:10px;border:1px solid rgba(255,255,255,.035);background:#ffffff03;display:grid;gap:4px}.puzzle-solution-line strong{color:#c5cfde;font-size:10px;font-variant-numeric:tabular-nums;line-height:1.45}.puzzle-alternative-note{display:grid;gap:3px}.puzzle-retry-note{padding:8px 9px;border-radius:9px;border:1px solid rgba(236,161,101,.07);background:#eca16503;color:#887966;display:flex;align-items:flex-start;gap:7px}.puzzle-retry-note span{font-size:8px;line-height:1.45}.puzzle-verification{margin-top:9px;padding:11px 12px;border-radius:12px;border:1px solid rgba(255,255,255,.04);background:#ffffff03;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center}.puzzle-verification>div:first-child{display:flex;gap:8px;align-items:flex-start;color:#8799d0}.puzzle-verification>div:first-child>span{display:grid;gap:2px}.puzzle-verification strong{color:#bfc9d9;font-size:9px}.puzzle-verification small{color:#627087;font-size:7px;line-height:1.4}.puzzle-verification .secondary{min-height:32px;padding:6px 9px;font-size:8px}.puzzle-engine-result{grid-column:1 / -1;padding:8px 9px;border-radius:9px;border:1px solid rgba(87,212,155,.07);background:#57d49b03;display:grid;grid-template-columns:auto auto minmax(0,1fr);gap:8px;align-items:center}.puzzle-engine-result>span{color:#658176;font-size:7px;text-transform:uppercase;letter-spacing:.05em}.puzzle-engine-result>strong{color:#a9cabb;font-size:10px}.puzzle-engine-result>small{color:#697b72}.puzzle-engine-error{grid-column:1 / -1;color:#aa7e87!important}.puzzle-source-line{gap:6px;flex-wrap:wrap}.puzzle-source-line a{margin-left:auto;color:#8798cf;display:inline-flex;align-items:center;gap:4px;font-size:8px;font-weight:760;text-decoration:none}.puzzle-source-line a:hover{color:#afbded}@media(max-width:700px){.puzzle-explanation-head{display:grid}.puzzle-explanation-head small{max-width:none;text-align:left}.puzzle-verification{grid-template-columns:1fr}.puzzle-verification .secondary{width:100%}.puzzle-engine-result{grid-template-columns:1fr}}.lesson-runner-v2{display:grid;gap:12px}.lesson-progress-rail{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:5px;padding:8px;border-radius:14px;border:1px solid rgba(255,255,255,.04);background:#ffffff03}.lesson-progress-stage{min-width:0;padding:7px 5px;border-radius:9px;display:grid;justify-items:center;gap:4px;color:#59677c;transition:background .18s ease,color .18s ease,border-color .18s ease;border:1px solid transparent}.lesson-progress-stage>span{width:22px;height:22px;border-radius:999px;display:grid;place-items:center;background:#ffffff06;font-size:8px;font-weight:850}.lesson-progress-stage small{overflow:hidden;max-width:100%;text-overflow:ellipsis;white-space:nowrap;font-size:7px;font-weight:750}.lesson-progress-stage.done{color:#76a98f}.lesson-progress-stage.done>span{background:#70d1a412}.lesson-progress-stage.current{color:#b3c1f3;border-color:#7697ff1f;background:#7697ff0b}.lesson-progress-stage.current>span{background:#7697ff1a;color:#d2daff}.lesson-step-meta{display:flex;align-items:center;justify-content:space-between;gap:10px}.lesson-step-meta .eyebrow{margin:0}.lesson-step-meta>span{padding:5px 7px;border-radius:999px;border:1px solid rgba(255,255,255,.04);background:#ffffff03;color:#68758b;font-size:7px;font-weight:800;text-transform:uppercase;letter-spacing:.05em}.lesson-choice-grid{display:grid;gap:7px;margin-top:14px}.lesson-choice{width:100%;padding:11px 12px;border-radius:11px;border:1px solid rgba(255,255,255,.045);background:#ffffff03;color:#9aa7ba;text-align:left;font:inherit;font-size:9px;line-height:1.5;cursor:pointer;transition:transform .16s ease,border-color .16s ease,background .16s ease}.lesson-choice:hover:not(:disabled){transform:translateY(-1px);border-color:#7697ff24;background:#7697ff06}.lesson-choice.selected{border-color:#7697ff29}.lesson-choice.incorrect{border-color:#ec847029;background:#ec847006}.lesson-choice.correct{border-color:#70d1a42e;background:#70d1a409;color:#b8d8c7}.lesson-hint-stack{display:grid;gap:6px;margin-top:12px}.lesson-hint-stack .hint-card{margin:0}.lesson-hint-stack .hint-card+.hint-card{opacity:.9}.lesson-controls-v2{gap:12px}.lesson-mastery-preview{padding:9px 10px;border-radius:10px;border:1px solid rgba(255,255,255,.035);background:#ffffff03;display:grid;grid-template-columns:auto auto 1fr;gap:7px;align-items:center}.lesson-mastery-preview>span{color:#65738a;font-size:7px;font-weight:800;text-transform:uppercase;letter-spacing:.05em}.lesson-mastery-preview>strong{color:#b9c5d7;font-size:10px}.lesson-mastery-preview>small{justify-self:end;color:#56647a;font-size:7px}@media(max-width:900px){.lesson-progress-rail{grid-template-columns:repeat(4,minmax(0,1fr))}}@media(max-width:620px){.lesson-progress-rail{grid-template-columns:repeat(4,minmax(0,1fr));gap:3px;padding:6px}.lesson-progress-stage{padding:5px 3px}.lesson-progress-stage small{font-size:6px}.lesson-mastery-preview{grid-template-columns:1fr auto}.lesson-mastery-preview>small{grid-column:1 / -1;justify-self:start}}.calculation-sheet{width:min(1220px,calc(100vw - 28px))}.calculation-runner{display:grid;gap:12px}.calculation-stage-rail{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}.calculation-stage-chip{padding:8px 9px;border-radius:10px;border:1px solid rgba(255,255,255,.04);background:#ffffff03;color:#627087;display:flex;align-items:center;gap:7px}.calculation-stage-chip>span{width:22px;height:22px;border-radius:999px;display:grid;place-items:center;background:#ffffff06;font-size:8px;font-weight:850}.calculation-stage-chip strong{font-size:8px}.calculation-stage-chip.current{border-color:#7697ff29;background:#7697ff0b;color:#b6c3f1}.calculation-stage-chip.done{color:#79a990}.calculation-stage{align-items:stretch}.calculation-board-frame{position:relative;border-radius:16px;overflow:hidden}.calculation-board-frame.blind .chess-board{filter:blur(13px) saturate(.2);opacity:.18;pointer-events:none}.calculation-board-frame.blind .piece,.calculation-board-frame.blind .move-dot,.calculation-board-frame.blind .capture-ring{opacity:0}.calculation-blind-overlay{position:absolute;inset:0;z-index:8;display:grid;place-items:center;align-content:center;gap:8px;padding:28px;text-align:center;background:radial-gradient(circle at 50% 35%,rgba(118,151,255,.08),transparent 34%),#090d17e0;backdrop-filter:blur(9px)}.calculation-blind-overlay svg{color:#8fa4ea}.calculation-blind-overlay strong{color:#d2daea;font-size:14px}.calculation-blind-overlay span{max-width:320px;color:#718098;font-size:9px;line-height:1.5}.calculation-instruction{min-height:100%}.calculation-rule{margin-top:12px;padding:10px;border-radius:11px;border:1px solid rgba(118,151,255,.08);background:#7697ff05;color:#7587bd;display:flex;gap:8px;align-items:flex-start}.calculation-rule span{color:#748198;font-size:8px;line-height:1.5}.calculation-visualization-toggle{margin-top:10px;padding:10px;border-radius:11px;border:1px solid rgba(255,255,255,.035);background:#ffffff03;display:flex;gap:8px;align-items:flex-start}.calculation-visualization-toggle input{margin-top:2px;accent-color:#7799ff}.calculation-visualization-toggle>span{display:grid;gap:2px}.calculation-visualization-toggle strong{color:#aeb9cb;font-size:8px}.calculation-visualization-toggle small{color:#617087;font-size:7px;line-height:1.4}.calculation-candidates{margin-top:11px;display:grid;gap:6px}.calculation-empty{padding:10px;border-radius:10px;border:1px dashed rgba(255,255,255,.05);color:#5f6d82;font-size:8px;line-height:1.45}.calculation-candidate{padding:8px 9px;border-radius:10px;border:1px solid rgba(255,255,255,.04);background:#ffffff03;display:flex;justify-content:space-between;align-items:center;gap:8px}.calculation-candidate strong{color:#c5cfde;font-size:11px}.calculation-candidate>div{display:flex;gap:5px}.calculation-candidate button{min-height:28px;padding:5px 8px;border-radius:8px;border:1px solid rgba(118,151,255,.08);background:#7697ff06;color:#8194cd;font:inherit;font-size:7px;cursor:pointer}.calculation-result-banner{margin-top:12px;padding:11px;border-radius:11px;display:flex;gap:9px;align-items:flex-start;border:1px solid rgba(255,255,255,.04)}.calculation-result-banner.success{border-color:#70d1a41f;background:#70d1a405;color:#84b89c}.calculation-result-banner.repair{border-color:#eca1651f;background:#eca16505;color:#b89373}.calculation-result-banner>div{display:grid;gap:3px}.calculation-result-banner strong{color:#c3cedd;font-size:9px}.calculation-result-banner span{color:#718096;font-size:8px;line-height:1.5}.calculation-score-grid{margin-top:10px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.calculation-score-grid>div{min-height:54px;padding:8px;border-radius:9px;border:1px solid rgba(255,255,255,.035);background:#ffffff03;display:grid;align-content:center;gap:2px}.calculation-score-grid span,.calculation-reference-line>span{color:#5f6d82;font-size:7px;font-weight:800;text-transform:uppercase;letter-spacing:.05em}.calculation-score-grid strong{color:#bac5d5;font-size:10px}.calculation-reference-line{margin-top:9px;padding:10px;border-radius:10px;border:1px solid rgba(255,255,255,.035);background:#ffffff03;display:grid;gap:4px}.calculation-reference-line strong{color:#b6c1d1;font-size:10px;line-height:1.5}.calculation-reference-line small,.calculation-retry-note{color:#647288;font-size:7px;line-height:1.45}.calculation-retry-note{margin:9px 0 0}.calculation-engine-state{display:flex;justify-content:space-between;gap:8px;padding:7px 9px;border-radius:9px;border:1px solid rgba(255,255,255,.03);background:#ffffff02}.calculation-engine-state span{color:#5c6b80;font-size:7px;text-transform:uppercase;font-weight:800}.calculation-engine-state strong{color:#8393aa;font-size:7px}@media(max-width:720px){.calculation-stage-rail,.calculation-score-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:480px){.calculation-score-grid{grid-template-columns:1fr}.calculation-candidate{align-items:flex-start}}.moment-coach-summary{display:flex;justify-content:space-between;gap:8px;align-items:center;margin-top:10px;padding:8px 9px;border-radius:9px;border:1px solid rgba(255,255,255,.035);background:#ffffff03;color:#68768b;font-size:7px;text-transform:capitalize}.moment-coach-summary strong{color:#8d9ab0;font-size:7px}.moment-coach-primary{width:100%;min-height:36px;margin-top:9px;border-radius:10px;border:1px solid rgba(118,151,255,.13);background:#7697ff0b;color:#aab9ed;font:inherit;font-size:8px;font-weight:800;display:flex;align-items:center;justify-content:center;gap:7px;cursor:pointer}.review-coach-backdrop{position:fixed;inset:0;z-index:120;display:grid;place-items:center;padding:18px;background:#04070cd1;backdrop-filter:blur(12px)}.review-coach{position:relative;width:min(1120px,calc(100vw - 30px));max-height:min(860px,calc(100vh - 30px));overflow:auto;border-radius:18px;border:1px solid rgba(255,255,255,.055);background:#0b0f17;box-shadow:0 30px 80px #0000006b;padding:18px}.review-coach-header{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;padding-right:34px;margin-bottom:14px}.review-coach-header h2{margin:4px 0 0;font-size:clamp(18px,2vw,25px);color:#d4dbe7}.review-error-chip{padding:6px 9px;border-radius:999px;border:1px solid rgba(236,161,101,.11);background:#eca16506;color:#b98d6d;font-size:7px;font-weight:850;text-transform:uppercase;letter-spacing:.055em;white-space:nowrap}.review-self-analysis{display:grid;gap:12px}.review-thought-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px}.review-thought-grid button{min-height:48px;padding:9px;border-radius:10px;border:1px solid rgba(255,255,255,.04);background:#ffffff03;color:#76849a;font:inherit;font-size:8px;line-height:1.4;text-align:left;cursor:pointer}.review-thought-grid button.active{border-color:#7697ff2e;background:#7697ff0b;color:#b1bee8}.review-thought-note{display:grid;gap:6px}.review-thought-note>span{color:#68768b;font-size:8px;font-weight:750}.review-thought-note textarea{min-height:100px;resize:vertical;border-radius:11px;border:1px solid rgba(255,255,255,.045);background:#ffffff03;color:#aeb8c8;padding:11px;font:inherit;font-size:9px;line-height:1.5}.review-time-context,.review-error-summary,.review-retry-success{display:flex;align-items:flex-start;gap:8px;padding:10px;border-radius:10px;border:1px solid rgba(255,255,255,.04);background:#ffffff03}.review-time-context>div,.review-error-summary>div{display:grid;gap:2px}.review-time-context strong,.review-error-summary strong{color:#b8c3d2;font-size:9px}.review-time-context span,.review-error-summary span{color:#69778c;font-size:8px;line-height:1.45}.review-retry-layout,.review-explain-layout{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(300px,.85fr);gap:16px;align-items:start}.review-retry-board{min-width:0}.review-retry-panel{display:grid;gap:11px}.review-retry-panel>p{margin:0;color:#78869a;font-size:9px;line-height:1.55}.review-retry-result{padding:10px;border-radius:10px;border:1px solid rgba(236,132,112,.1);background:#ec847005;display:grid;gap:3px}.review-retry-result strong{color:#c29a8e;font-size:9px}.review-retry-result span{color:#756d6b;font-size:8px;line-height:1.45}.review-retry-actions{display:flex;flex-wrap:wrap;gap:7px}.review-explanation-main{display:grid;gap:10px}.review-candidate-compare{display:grid;gap:6px}.review-candidate-compare>span,.review-engine-evidence span,.review-opening-deviation>span{color:#5f6d82;font-size:7px;font-weight:850;text-transform:uppercase;letter-spacing:.05em}.review-candidate-compare>div{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.review-candidate-compare>div>div{min-height:58px;padding:9px;border-radius:9px;border:1px solid rgba(255,255,255,.035);background:#ffffff03;display:grid;align-content:center;gap:2px}.review-candidate-compare>div>div.best{border-color:#70d1a424;background:#70d1a406}.review-candidate-compare strong{color:#b8c3d2;font-size:10px}.review-candidate-compare small{color:#66748a;font-size:7px}.review-position-explanation{margin:0;color:#76849a;font-size:9px;line-height:1.55}.review-opening-deviation{padding:10px;border-radius:10px;border:1px solid rgba(118,151,255,.09);background:#7697ff05;display:grid;gap:4px}.review-opening-deviation strong{color:#aebbea;font-size:9px}.review-opening-deviation p{margin:0;color:#7887a4;font-size:8px;line-height:1.45}.review-opening-deviation small{color:#65738b;font-size:7px;line-height:1.45}.review-engine-evidence{padding:10px;border-radius:10px;border:1px solid rgba(255,255,255,.035);background:#ffffff03;display:flex;justify-content:space-between;align-items:center;gap:10px}.review-engine-evidence>div{display:grid;gap:2px}.review-engine-evidence small{color:#59677c;font-size:7px}.review-engine-evidence>strong{color:#b5c0d0;font-size:9px;line-height:1.5;text-align:right}.review-transfer-card{position:sticky;top:0;padding:13px;border-radius:12px;border:1px solid rgba(255,255,255,.045);background:#ffffff03;display:grid;gap:9px}.review-transfer-card h3{margin:0;color:#c2cbd9;font-size:13px}.review-transfer-card>p:not(.eyebrow){margin:0;color:#6e7c91;font-size:8px;line-height:1.5}.review-retain-choice{margin-top:4px;padding-top:10px;border-top:1px solid rgba(255,255,255,.035);display:flex;gap:8px;align-items:flex-start}.review-retain-choice>div{display:grid;gap:2px}.review-retain-choice strong{color:#aeb8c8;font-size:8px}.review-retain-choice span{color:#617087;font-size:7px;line-height:1.4}.review-retry-success{color:#7ca78f}.review-retry-success span{font-size:8px}.review-coach-done{border:0;background:transparent;color:#65738a;font:inherit;font-size:8px;cursor:pointer}@media(max-width:850px){.review-thought-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.review-retry-layout,.review-explain-layout{grid-template-columns:1fr}.review-transfer-card{position:static}}@media(max-width:520px){.review-coach-backdrop{padding:0;align-items:stretch}.review-coach{width:100vw;max-height:100vh;min-height:100vh;border-radius:0;padding:14px}.review-coach-header{display:grid}.review-thought-grid{grid-template-columns:1fr}.review-candidate-compare>div{grid-template-columns:1fr}.review-engine-evidence{align-items:flex-start;flex-direction:column}.review-engine-evidence>strong{text-align:left}}.endgame-technique-sheet{width:min(1180px,calc(100vw - 28px))}.endgame-runner{display:grid;gap:14px}.endgame-header{display:flex;justify-content:space-between;gap:14px;align-items:flex-start}.endgame-header h2{margin:3px 0;color:#d2d9e4;font-size:clamp(18px,2vw,25px)}.endgame-header p:not(.eyebrow){margin:0;color:#68768b;font-size:8px}.endgame-header>span,.endgame-status-chip{min-height:29px;padding:6px 9px;border-radius:999px;border:1px solid rgba(255,255,255,.04);background:#ffffff03;color:#8593a8;font-size:7px;font-weight:800;display:flex;align-items:center;gap:6px;white-space:nowrap}.endgame-recognition-layout,.endgame-play-layout{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(320px,.92fr);gap:16px;align-items:start}.endgame-preview-board,.endgame-board-column{min-width:0}.endgame-recognition-panel,.endgame-side-panel{display:grid;gap:10px}.endgame-objective,.endgame-technique-card,.endgame-move-strip,.endgame-source-note{padding:10px;border-radius:10px;border:1px solid rgba(255,255,255,.04);background:#ffffff03}.endgame-objective{display:flex;gap:8px;align-items:flex-start}.endgame-objective>div,.endgame-technique-card,.endgame-move-strip{display:grid;gap:3px}.endgame-objective span,.endgame-technique-card>span,.endgame-move-strip>span,.endgame-result-grid span{color:#5f6d82;font-size:7px;font-weight:850;text-transform:uppercase;letter-spacing:.05em}.endgame-objective strong,.endgame-technique-card strong,.endgame-move-strip strong{color:#afb9c9;font-size:9px;line-height:1.5}.endgame-recognition-panel h3{margin:3px 0 0;color:#bac4d2;font-size:12px;line-height:1.45}.endgame-recognition-options{display:grid;gap:6px}.endgame-recognition-options button{padding:10px;min-height:45px;border-radius:10px;border:1px solid rgba(255,255,255,.04);background:#ffffff03;color:#748298;font:inherit;font-size:8px;line-height:1.45;text-align:left;cursor:pointer}.endgame-recognition-options button.active{border-color:#7697ff2b;background:#7697ff0a;color:#afbae4}.endgame-recognition-feedback{padding:9px 10px;border-radius:10px;display:flex;align-items:flex-start;gap:8px;font-size:8px;line-height:1.45}.endgame-recognition-feedback.correct{border:1px solid rgba(112,209,164,.12);background:#70d1a405;color:#82aa94}.endgame-recognition-feedback.incorrect{border:1px solid rgba(236,161,101,.12);background:#eca16505;color:#aa866c}.endgame-technique-card p{margin:0;color:#68768b;font-size:8px;line-height:1.5}.endgame-result-card{padding:11px;border-radius:11px;border:1px solid rgba(255,255,255,.045);display:grid;gap:10px}.endgame-result-card.success{border-color:#70d1a421;background:#70d1a405}.endgame-result-card.repair{border-color:#eca16521;background:#eca16505}.endgame-result-card>div:first-child{display:flex;align-items:flex-start;gap:8px}.endgame-result-card>div:first-child>div{display:grid;gap:2px}.endgame-result-card>div:first-child span{color:#718096;font-size:7px;font-weight:800;text-transform:uppercase}.endgame-result-card>div:first-child strong{color:#b9c3d2;font-size:9px;line-height:1.45}.endgame-result-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}.endgame-result-grid>div{min-height:52px;padding:8px;border-radius:9px;border:1px solid rgba(255,255,255,.035);background:#ffffff03;display:grid;align-content:center;gap:2px}.endgame-result-grid strong{color:#bac4d2;font-size:9px}.endgame-source-note{display:flex;gap:7px;align-items:flex-start;color:#5f6e82;font-size:7px;line-height:1.45}@media(max-width:820px){.endgame-recognition-layout,.endgame-play-layout{grid-template-columns:1fr}.endgame-result-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:500px){.endgame-header{display:grid}.endgame-result-grid{grid-template-columns:1fr}}.repertoire-health-score{margin:12px 0 8px;padding:10px;border-radius:11px;border:1px solid rgba(118,151,255,.09);background:#7697ff05;display:flex;gap:9px;align-items:flex-start;color:#8296d1}.repertoire-health-score>div{display:grid;gap:2px}.repertoire-health-score span{color:#65748a;font-size:7px;font-weight:850;text-transform:uppercase;letter-spacing:.055em}.repertoire-health-score strong{color:#c3cde0;font-size:18px}.repertoire-health-score small{color:#647188;font-size:7px;line-height:1.4}.repertoire-metrics{grid-template-columns:repeat(4,minmax(0,1fr))}.repertoire-repair-row{width:100%;margin-top:8px;padding:9px;border-radius:10px;border:1px solid rgba(236,161,101,.09);background:#eca16505;color:#8f806f;font:inherit;text-align:left;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:8px;cursor:pointer}.repertoire-repair-row>div{display:grid;gap:2px}.repertoire-repair-row span{color:#70675d;font-size:7px;font-weight:850;text-transform:uppercase}.repertoire-repair-row strong{color:#b9a48e;font-size:9px}.repertoire-repair-row small{color:#71695f;font-size:7px}.repertoire-branch-health{display:grid;gap:5px;margin:9px 0}.repertoire-branch-health button{padding:8px 9px;border-radius:9px;border:1px solid rgba(255,255,255,.035);background:#ffffff03;color:#7d899d;font:inherit;display:flex;justify-content:space-between;gap:8px;align-items:center;text-align:left;cursor:pointer}.repertoire-branch-health button>div{display:grid;gap:2px}.repertoire-branch-health strong{color:#aeb9ca;font-size:8px}.repertoire-branch-health span{color:#617087;font-size:7px}.repertoire-branch-health em{color:#91a2d6;font-size:8px;font-style:normal;font-weight:850}.opening-structure-panel{padding:9px 10px;border-radius:10px;border:1px solid rgba(112,209,164,.08);background:#70d1a403;display:grid;gap:4px}.opening-structure-panel span,.opening-motif-strip>span{color:#647d71;font-size:7px;font-weight:850;text-transform:uppercase;letter-spacing:.05em}.opening-structure-panel strong{color:#8fb3a0;font-size:8px;line-height:1.5;font-weight:650}.opening-motif-strip{display:grid;gap:5px}.opening-motif-strip>div{display:flex;flex-wrap:wrap;gap:5px}.opening-motif-strip strong{padding:5px 7px;border-radius:999px;border:1px solid rgba(118,151,255,.08);background:#7697ff05;color:#8091c1;font-size:7px;font-weight:700}.opening-position-actions{display:flex;flex-wrap:wrap;gap:6px}.opening-position-actions .secondary{display:inline-flex;align-items:center;gap:5px}.opening-recall-stage{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px;padding:6px;border-radius:11px;border:1px solid rgba(255,255,255,.035);background:#ffffff03}.opening-recall-stage span{padding:7px 8px;border-radius:8px;color:#5f6d82;font-size:7px;font-weight:850;text-transform:uppercase}.opening-recall-stage span.active{background:#7697ff0b;color:#a9b9eb}.opening-recall-stage span.done{color:#77a88f}.opening-structure-cue{margin-top:10px;padding:9px;border-radius:9px;border:1px solid rgba(112,209,164,.07);background:#70d1a403;display:grid;gap:3px}.opening-structure-cue span{color:#5f786c;font-size:7px;font-weight:850;text-transform:uppercase}.opening-structure-cue strong{color:#89a899;font-size:8px;line-height:1.45;font-weight:650}.opening-why-options{display:grid;gap:6px;margin-top:11px}.opening-why-options button{padding:10px;border-radius:10px;border:1px solid rgba(255,255,255,.04);background:#ffffff03;color:#8996aa;font:inherit;font-size:8px;line-height:1.45;text-align:left;cursor:pointer}.opening-why-options button:hover:not(:disabled){border-color:#7697ff1f;background:#7697ff06}.opening-why-options button.correct{border-color:#70d1a421;background:#70d1a405;color:#9bc1ad}.opening-line-progress{padding:8px 10px;border-radius:10px;border:1px solid rgba(255,255,255,.035);background:#ffffff03;display:flex;justify-content:space-between;gap:10px}.opening-line-progress span{color:#627087;font-size:7px;font-weight:850;text-transform:uppercase}.opening-line-progress strong{overflow:hidden;color:#9aa8bb;font-size:8px;text-overflow:ellipsis;white-space:nowrap}.opening-line-complete{min-height:420px;display:grid;place-items:center;align-content:center;gap:9px;text-align:center;padding:24px}.opening-line-complete>svg{color:#879be0}.opening-line-complete h2{margin:0;color:#d1d9e6;font-size:22px}.opening-line-complete p:not(.eyebrow){max-width:560px;margin:0;color:#738097;font-size:9px;line-height:1.55}@media(max-width:720px){.repertoire-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.opening-position-actions{display:grid}.opening-position-actions .secondary{width:100%;justify-content:center}}.model-game-entry-card{margin-top:-18px;border-color:#8b7cff29;background:radial-gradient(circle at 86% 0,rgba(139,124,255,.14),transparent 36%),linear-gradient(145deg,#181e31f0,#0d121ff0)}.model-games-view{padding-bottom:48px}.model-games-back{margin-top:18px}.model-game-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:18px}.model-game-metrics>div{min-height:76px;padding:13px 14px;border-radius:14px;border:1px solid rgba(255,255,255,.045);background:#ffffff03;display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;column-gap:9px;align-items:center}.model-game-metrics svg{grid-row:1 / 3;color:#899cff}.model-game-metrics span{color:#66758d;font-size:8px;font-weight:800;text-transform:uppercase;letter-spacing:.05em}.model-game-metrics strong{color:#c5cedd;font-size:16px}.model-game-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.model-game-card{min-height:390px;padding:18px;border-radius:18px;border:1px solid rgba(255,255,255,.05);background:radial-gradient(circle at 100% 0,rgba(118,151,255,.09),transparent 38%),linear-gradient(145deg,#161c2de6,#0c111df5);display:flex;flex-direction:column;gap:8px}.model-game-card-top{display:flex;justify-content:space-between;align-items:center;color:#6b7890;font-size:8px;font-weight:800}.model-game-card-top strong{color:#9eabd0}.model-game-card .eyebrow{margin:9px 0 -3px}.model-game-card h2{margin:0;color:#d2d9e6;font-size:19px;letter-spacing:-.025em}.model-game-players{color:#929fb3;font-size:9px;font-weight:700}.model-game-card>p:not(.eyebrow){margin:2px 0 4px;color:#748197;font-size:9px;line-height:1.55}.model-game-repertoire{padding:9px;border-radius:10px;border:1px solid rgba(118,151,255,.09);background:#7697ff05;display:flex;gap:8px;align-items:center;color:#8799d9}.model-game-repertoire>div{display:grid;gap:2px}.model-game-repertoire span{color:#64728b;font-size:7px;font-weight:850;letter-spacing:.05em}.model-game-repertoire strong{color:#aab7df;font-size:8px}.model-game-skills{display:flex;flex-wrap:wrap;gap:5px}.model-game-skills span{padding:5px 7px;border-radius:999px;border:1px solid rgba(255,255,255,.04);background:#ffffff03;color:#748197;font-size:7px;line-height:1.25}.model-game-progress{margin-top:auto;display:grid;gap:6px}.model-game-progress>div:first-child{display:flex;justify-content:space-between;color:#6b7890;font-size:8px}.model-game-progress strong{color:#9eacd0}.model-game-start{min-height:38px;margin-top:4px;padding:8px 11px;border-radius:10px;border:1px solid rgba(118,151,255,.13);background:#7697ff0a;color:#aab9ea;font:inherit;font-size:8px;font-weight:850;display:flex;align-items:center;justify-content:space-between;cursor:pointer}.model-game-method{margin-top:14px;padding:17px;border-radius:16px;border:1px solid rgba(255,255,255,.045);background:#ffffff03;display:grid;grid-template-columns:minmax(220px,.75fr) minmax(0,1.25fr);gap:20px;align-items:center}.model-game-method h2{margin:3px 0 0;color:#c8d0dd;font-size:17px}.model-game-method>p{margin:0;color:#748197;font-size:9px;line-height:1.6}.model-game-sheet{width:min(1180px,calc(100vw - 28px))}.model-game-runner{display:grid;gap:13px}.model-game-runner-header{padding-right:34px;display:flex;justify-content:space-between;gap:16px;align-items:flex-start}.model-game-runner-header h2{margin:3px 0;color:#d0d8e5;font-size:clamp(18px,2vw,25px)}.model-game-runner-header p:not(.eyebrow){margin:0;color:#6f7d93;font-size:8px}.model-game-runner-count{min-width:82px;padding:8px 10px;border-radius:11px;border:1px solid rgba(255,255,255,.04);background:#ffffff03;display:grid;gap:2px;text-align:right}.model-game-runner-count span{color:#607087;font-size:7px;font-weight:850;text-transform:uppercase}.model-game-runner-count strong{color:#afbbcf;font-size:11px}.model-game-stage-rail{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;padding:6px;border-radius:11px;border:1px solid rgba(255,255,255,.035);background:#ffffff03}.model-game-stage-rail span{padding:7px 8px;border-radius:8px;color:#5f6d82;font-size:7px;font-weight:850;text-align:center;text-transform:uppercase}.model-game-stage-rail span.active{background:#7697ff0b;color:#a9b9eb}.model-game-stage-rail span.done{color:#8295cb}.model-game-runner-layout{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(330px,.92fr);gap:16px;align-items:start}.model-game-board{min-width:0}.model-game-decision-panel{min-height:430px;padding:14px;border-radius:13px;border:1px solid rgba(255,255,255,.045);background:#ffffff03;display:flex;flex-direction:column;gap:10px}.model-game-skill-chip{display:flex;justify-content:space-between;gap:8px;align-items:center;color:#72819a}.model-game-skill-chip span{font-size:7px;font-weight:850;letter-spacing:.05em;text-transform:uppercase}.model-game-skill-chip strong{color:#97a7d7;font-size:8px}.model-game-decision-panel h3{margin:3px 0 0;color:#c7d0de;font-size:16px;letter-spacing:-.02em}.model-game-prompt{margin:0;color:#7e8ba0;font-size:9px;line-height:1.6}.model-game-options{display:grid;gap:6px}.model-game-options button{min-height:50px;padding:10px;border-radius:10px;border:1px solid rgba(255,255,255,.04);background:#ffffff03;color:#8290a5;font:inherit;font-size:8px;line-height:1.45;text-align:left;cursor:pointer}.model-game-options button.selected{border-color:#7697ff2e;background:#7697ff0a;color:#aebbe5}.model-game-options button.correct{border-color:#7697ff38;background:#7697ff0e;color:#b9c5ed}.model-game-options button.incorrect{border-color:#eb827d21;background:#eb827d05;color:#b48a87}.model-game-feedback,.model-game-result,.model-game-explanation,.model-game-plan,.model-game-turning-point,.model-game-hints p{padding:9px 10px;border-radius:10px;border:1px solid rgba(255,255,255,.04);background:#ffffff03}.model-game-feedback{display:grid;gap:3px}.model-game-feedback strong{color:#aab5c7;font-size:8px}.model-game-feedback span{color:#6d7a8f;font-size:8px;line-height:1.45}.model-game-feedback.correct{border-color:#7697ff21}.model-game-feedback.incorrect{border-color:#eb827d1a}.model-game-hints{display:grid;gap:5px}.model-game-hints p{margin:0;display:flex;gap:7px;align-items:flex-start;color:#8190aa;font-size:8px;line-height:1.45}.model-game-hints svg{flex:0 0 auto;color:#9aa9dc}.model-game-result{display:flex;align-items:center;gap:8px;color:#93a6df}.model-game-result>div{display:grid;gap:2px}.model-game-result span,.model-game-explanation>span,.model-game-plan>span,.model-game-turning-point>span{color:#62718a;font-size:7px;font-weight:850;letter-spacing:.05em}.model-game-result strong{color:#c0cbe0;font-size:13px}.model-game-result.assisted{color:#8f91a8}.model-game-explanation,.model-game-plan,.model-game-turning-point{display:grid;gap:4px}.model-game-explanation p,.model-game-turning-point p{margin:0;color:#77859a;font-size:8px;line-height:1.55}.model-game-plan strong{color:#9baad0;font-size:8px;line-height:1.55;font-weight:700}.model-game-turning-point{border-color:#8b7cff1a;background:#8b7cff04}.model-game-actions{margin-top:auto;display:flex;flex-wrap:wrap;gap:7px}.model-game-actions button{display:inline-flex;align-items:center;justify-content:center;gap:6px}.model-game-actions .saved{opacity:.72}.model-game-complete{min-height:470px;padding:30px;display:grid;place-items:center;align-content:center;gap:10px;text-align:center}.model-game-complete>svg{color:#899cff}.model-game-complete h2{margin:0;color:#d0d8e5;font-size:22px}.model-game-complete>p:not(.eyebrow){max-width:560px;margin:0;color:#748197;font-size:9px;line-height:1.55}.model-game-complete>p strong{color:#b8c4e7}.model-game-complete-actions{display:flex;gap:7px;margin-top:5px}.model-game-complete-actions button{display:inline-flex;align-items:center;gap:6px}@media(max-width:860px){.model-game-grid,.model-game-runner-layout,.model-game-method{grid-template-columns:1fr}.model-game-decision-panel{min-height:0}}@media(max-width:620px){.model-game-metrics,.model-game-grid{grid-template-columns:1fr}.model-game-runner-header{display:grid}.model-game-runner-count{text-align:left}.model-game-stage-rail{grid-template-columns:1fr}.model-game-actions,.model-game-complete-actions{display:grid}.model-game-actions button,.model-game-complete-actions button{width:100%}}.home-coach-brief{margin-top:14px;padding:18px;border-radius:18px;border:1px solid rgba(118,151,255,.12);background:radial-gradient(circle at 100% 0,rgba(118,151,255,.08),transparent 42%),#ffffff03;display:grid;gap:11px}.home-coach-brief.cold-start{border-color:#ffffff0f;background:#ffffff03}.home-coach-brief.building{border-color:#8b7cff1c}.home-coach-brief-head{display:flex;justify-content:space-between;gap:14px;align-items:flex-start}.home-coach-brief-head h3{margin:3px 0 0;color:#cdd6e3;font-size:17px;letter-spacing:-.02em}.home-coach-brief-head>span{padding:6px 8px;border-radius:999px;border:1px solid rgba(255,255,255,.045);background:#ffffff03;color:#78879e;font-size:7px;font-weight:850;white-space:nowrap}.home-coach-brief>p{max-width:760px;margin:0;color:#748197;font-size:9px;line-height:1.6}.home-coach-brief-evidence{display:flex;flex-wrap:wrap;gap:6px}.home-coach-brief-evidence>span{padding:6px 8px;border-radius:999px;border:1px solid rgba(255,255,255,.04);background:#ffffff03;color:#68778d;font-size:7px;font-weight:780}.coach-behavior-state.helping{color:#8cabc0!important;border-color:#7697ff1c!important}.coach-behavior-state.worsening{color:#ad8585!important;border-color:#eb827d1a!important}.home-coach-brief>button{justify-self:start}.coach-brief-panel{display:grid;gap:14px}.coach-brief-status{display:flex;justify-content:space-between;gap:10px;align-items:center;padding:9px 10px;border-radius:10px;border:1px solid rgba(255,255,255,.04);background:#ffffff03}.coach-brief-status span{color:#738198;font-size:8px}.coach-brief-status strong{color:#aebbd1;font-size:8px}.coach-brief-summary{margin:0;max-width:850px;color:#76849a;font-size:9px;line-height:1.6}.coach-decision-list{display:grid;gap:8px}.coach-decision{padding:12px;border-radius:12px;border:1px solid rgba(255,255,255,.04);background:#ffffff03;display:grid;gap:9px}.coach-decision.primary{border-color:#7697ff1f;background:#7697ff05}.coach-decision-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.coach-decision-head>div{display:grid;gap:3px}.coach-decision-head span,.coach-next-game-cue span,.coach-behavior-check span{color:#627087;font-size:7px;font-weight:850;letter-spacing:.05em}.coach-decision-head strong{color:#b9c4d5;font-size:11px;line-height:1.35}.coach-decision-head small{color:#66758b;font-size:7px;text-align:right}.coach-decision>p{margin:0;color:#748197;font-size:8px;line-height:1.55}.coach-next-game-cue{padding:9px 10px;border-radius:10px;border:1px solid rgba(118,151,255,.075);background:#7697ff03;display:flex;gap:8px;align-items:flex-start;color:#8193ca}.coach-next-game-cue>div{display:grid;gap:3px}.coach-next-game-cue strong{color:#909fbe;font-size:8px;line-height:1.5;font-weight:700}.coach-decision>button{justify-self:start;display:inline-flex;align-items:center;gap:6px}.coach-behavior-check{padding:12px;border-radius:12px;border:1px solid rgba(255,255,255,.045);background:#ffffff03;display:flex;gap:9px;align-items:flex-start}.coach-behavior-check.helping{border-color:#7697ff1f;background:#7697ff04}.coach-behavior-check.worsening{border-color:#eb827d1c;background:#eb827d03}.coach-behavior-icon{flex:0 0 auto;color:#8496c8}.coach-behavior-check.worsening .coach-behavior-icon{color:#a98383}.coach-behavior-check>div:last-child{display:grid;gap:3px}.coach-behavior-check strong{color:#b3bfd0;font-size:10px}.coach-behavior-check p{margin:0;color:#738097;font-size:8px;line-height:1.5}.coach-behavior-check small{color:#65738a;font-size:7px}.coach-method-details{padding-top:3px}.coach-method-details summary{color:#718097;font-size:8px;font-weight:800;cursor:pointer}.coach-method-details p{max-width:760px;margin:8px 0 0;color:#65738a;font-size:8px;line-height:1.55}@media(max-width:620px){.home-coach-brief-head,.coach-decision-head,.coach-brief-status{display:grid}.coach-decision-head small{text-align:left}}.progress-advanced-evidence{margin-top:14px;border-radius:16px;border:1px solid rgba(255,255,255,.045);background:#ffffff02;overflow:hidden}.progress-advanced-evidence>summary{min-height:62px;padding:14px 16px;list-style:none;display:flex;align-items:center;justify-content:space-between;gap:14px;cursor:pointer}.progress-advanced-evidence>summary::-webkit-details-marker{display:none}.progress-advanced-evidence>summary>div{display:grid;gap:3px}.progress-advanced-evidence>summary span{color:#aeb9ca;font-size:9px;font-weight:850}.progress-advanced-evidence>summary small{color:#68768b;font-size:7px;line-height:1.45}.progress-advanced-evidence>summary svg{color:#72809a;transition:transform .16s ease}.progress-advanced-evidence[open]>summary svg{transform:rotate(90deg)}.progress-advanced-evidence-body{padding:0 10px 10px;display:grid;gap:12px}.progress-advanced-evidence-body>.progress-panel{margin:0}:root{--focus-ring: #b8c7ff;--surface-training: #0f1625;--surface-training-deep: #0a101c;--training-border: rgba(255,255,255,.085)}.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--focus-ring);outline-offset:3px}.nav-item{width:100%}.nav-shortcut{margin-left:auto;min-width:23px;height:21px;padding:0 6px;border-radius:7px;border:1px solid rgba(255,255,255,.075);background:#ffffff06;color:#667590;display:grid;place-items:center;font:750 9px/1 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.nav-item.active .nav-shortcut{color:#9cadde;border-color:#7697ff24;background:#7697ff0e}.training-open .sidebar,.training-open>.main{pointer-events:none}.training-overlay{padding:16px;background:radial-gradient(circle at 50% 4%,rgba(86,105,190,.1),transparent 34rem),#03060cd1}.immersive-training-sheet{width:min(1240px,calc(100vw - 32px));min-height:0;max-height:calc(100dvh - 32px);overflow:auto;overscroll-behavior:contain;scrollbar-gutter:stable;border-color:var(--training-border);background:radial-gradient(circle at 82% -10%,rgba(118,151,255,.055),transparent 28rem),linear-gradient(150deg,var(--surface-training),var(--surface-training-deep))}.close-button{width:44px;height:44px;top:14px;right:14px;display:grid;place-items:center;z-index:30}.board-first-sheet .lesson-stage{grid-template-columns:minmax(430px,1.08fr) minmax(320px,.68fr);gap:clamp(22px,3vw,42px);align-items:start;min-height:0}.board-first-sheet .lesson-board-column{position:sticky;top:0;align-self:start}.board-first-sheet .chess-board-wrap{width:min(100%,calc(100dvh - 190px),660px)}.board-first-sheet .lesson-instruction{padding-top:clamp(8px,2vh,24px)}.chess-board{contain:layout paint}.piece{will-change:auto}.piece-land{will-change:transform}.board-square:focus-visible{z-index:8;outline:3px solid rgba(255,255,255,.92);outline-offset:-4px;box-shadow:inset 0 0 0 2px #374876b8,0 0 0 2px #7697ff61}.board-square[aria-disabled=true]{cursor:default}.immersive-training-sheet .lesson-shell-heading{min-height:46px;align-items:center}.immersive-training-sheet .lesson-context{max-width:56%}.immersive-training-sheet .adaptive-policy-strip{border-radius:12px}.model-game-sheet,.assessment-sheet{width:min(1220px,calc(100vw - 32px))}.model-game-sheet .model-game-runner-layout,.assessment-sheet .assessment-stage{gap:clamp(20px,3vw,36px)}.model-game-sheet .model-game-board,.assessment-sheet .assessment-board{position:sticky;top:0;align-self:start}.model-game-sheet .chess-board-wrap,.assessment-sheet .chess-board-wrap{width:min(100%,calc(100dvh - 205px),640px)}.calculation-sheet .calculation-stage,.endgame-technique-sheet .endgame-recognition-layout,.endgame-technique-sheet .endgame-play-layout{gap:clamp(18px,2.4vw,34px)}.endgame-technique-sheet .endgame-preview-board,.endgame-technique-sheet .endgame-board-column{position:sticky;top:0;align-self:start}.adaptive-game-sheet .game-layout{grid-template-columns:minmax(470px,1fr) minmax(300px,.48fr)}.adaptive-game-sheet .game-board-column{position:sticky;top:0}.train-now-button{min-height:54px;box-shadow:0 12px 34px #4d65cd29,inset 0 1px #ffffff14}.train-session-preview,.home-course-gate,.home-coach-brief,.curriculum-stage,.progress-panel,.mistake-bank,.game-history{content-visibility:auto;contain-intrinsic-size:auto 360px}.curriculum-stage{contain-intrinsic-size:auto 540px}.primary,.secondary,.text-action,.back-link,.close-button{min-height:44px}.back-link{padding-inline:4px}@media(min-width:821px){.main{width:min(1280px,calc(100vw - 220px));padding:46px clamp(38px,4vw,64px) 92px}.immersive-training-sheet{padding:26px;border-radius:26px}.immersive-training-sheet .lesson-button-row{padding-bottom:4px}.model-game-sheet .model-game-decision-panel,.assessment-sheet .assessment-panel,.endgame-technique-sheet .endgame-side-panel{max-height:calc(100dvh - 170px);overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin}}@media(hover:hover)and (pointer:fine){.board-square:hover:not([aria-disabled=true]){filter:brightness(1.055)}.primary:hover:not(:disabled),.secondary:hover:not(:disabled){transform:translateY(-1px)}.train-now-button:hover:not(:disabled){box-shadow:0 16px 42px #4d65cd38,inset 0 1px #ffffff1a}}@media(pointer:coarse){.primary,.secondary,.text-action,.back-link,.close-button,.experience-trigger,.curriculum-start,.curriculum-practice{min-height:48px}.close-button{width:48px;height:48px}}@media(max-width:820px){.training-overlay{padding:0;place-items:stretch;background:#080d16;backdrop-filter:none}.immersive-training-sheet,.training-sheet.immersive-training-sheet,.adaptive-game-sheet.immersive-training-sheet,.calculation-sheet.immersive-training-sheet,.endgame-technique-sheet.immersive-training-sheet,.model-game-sheet.immersive-training-sheet,.assessment-sheet.immersive-training-sheet{width:100%;height:100dvh;max-height:none;min-height:100dvh;border:0;border-radius:0;padding:max(18px,env(safe-area-inset-top)) 12px max(22px,env(safe-area-inset-bottom));box-shadow:none;background:radial-gradient(circle at 78% -8%,rgba(118,151,255,.06),transparent 23rem),#0b111d}.immersive-training-sheet:before{display:none}.immersive-training-sheet .close-button{position:fixed;top:max(8px,env(safe-area-inset-top));right:max(8px,env(safe-area-inset-right));background:#121928eb;border:1px solid rgba(255,255,255,.07);backdrop-filter:blur(12px)}.immersive-training-sheet .training-progress{position:fixed;top:0;left:0;right:0;height:3px;border-radius:0;z-index:31}.immersive-training-sheet .lesson-shell-heading{margin:2px 52px 10px 0;min-height:42px}.immersive-training-sheet .lesson-shell-heading .lesson-context{max-width:none;overflow-x:auto;flex-wrap:nowrap;justify-content:flex-start;scrollbar-width:none}.immersive-training-sheet .lesson-shell-heading .lesson-context::-webkit-scrollbar{display:none}.immersive-training-sheet .lesson-context span{flex:0 0 auto}.immersive-training-sheet .adaptive-policy-strip{margin:0 0 10px;padding:9px 10px}.board-first-sheet .lesson-stage,.calculation-sheet .calculation-stage,.endgame-technique-sheet .endgame-recognition-layout,.endgame-technique-sheet .endgame-play-layout,.model-game-sheet .model-game-runner-layout,.assessment-sheet .assessment-stage,.adaptive-game-sheet .game-layout{grid-template-columns:1fr;gap:14px}.board-first-sheet .lesson-board-column,.model-game-sheet .model-game-board,.assessment-sheet .assessment-board,.endgame-technique-sheet .endgame-preview-board,.endgame-technique-sheet .endgame-board-column,.adaptive-game-sheet .game-board-column{position:relative;top:auto;width:100%}.board-first-sheet .chess-board-wrap,.model-game-sheet .chess-board-wrap,.assessment-sheet .chess-board-wrap,.endgame-technique-sheet .chess-board-wrap,.adaptive-game-sheet .chess-board-wrap{width:min(100%,560px);max-width:none;margin-inline:auto;padding:4px;border-radius:14px;box-shadow:0 14px 34px #0003}.immersive-training-sheet .chess-board{border-radius:10px}.immersive-training-sheet .piece{font-size:clamp(28px,10.9vw,52px)}.immersive-training-sheet .board-caption{display:flex;padding-inline:2px}.board-first-sheet .lesson-instruction{padding:2px 2px 0}.immersive-training-sheet .lesson-instruction h2{font-size:clamp(24px,8vw,31px);line-height:1.04}.immersive-training-sheet .lesson-body,.immersive-training-sheet .lesson-prompt{font-size:13px;line-height:1.58}.immersive-training-sheet .lesson-button-row{position:sticky;bottom:0;z-index:18;margin:10px -2px 0;padding:12px 2px max(22px,env(safe-area-inset-bottom));background:linear-gradient(180deg,#0b111d00,#0b111d 23%,#0b111d)}.calculation-stage-rail,.model-game-stage-rail{display:flex;overflow-x:auto;gap:6px;padding-bottom:2px;scrollbar-width:none}.calculation-stage-rail::-webkit-scrollbar,.model-game-stage-rail::-webkit-scrollbar{display:none}.calculation-stage-chip,.model-game-stage-rail>*{min-width:118px;flex:0 0 auto}.endgame-side-panel,.game-side-panel,.model-game-decision-panel,.assessment-panel{min-height:0;max-height:none}.adaptive-game-sheet .game-topbar{padding-top:0;margin-right:50px}.adaptive-game-sheet .game-turn-line{min-height:40px;padding-inline:2px}.adaptive-game-sheet .game-side-panel{padding:14px;border-radius:16px}.mobile-nav{grid-template-columns:repeat(6,minmax(0,1fr))}.mobile-nav button span{font-size:8px}.nav-shortcut{display:none}.curriculum-stage,.progress-panel{contain-intrinsic-size:auto 480px}}@media(max-width:420px){.main{padding-left:10px;padding-right:10px}.train-home-hero,.train-session-preview,.home-course-gate,.home-coach-brief{border-radius:18px}.immersive-training-sheet .piece{font-size:clamp(26px,10.7vw,47px)}.immersive-training-sheet .lesson-shell-heading>div:first-child>strong{font-size:12px}.immersive-training-sheet .lesson-context span{padding:5px 7px;font-size:8px}}@media(max-width:960px)and (orientation:landscape)and (max-height:650px){.immersive-training-sheet,.training-sheet.immersive-training-sheet{height:100dvh;min-height:100dvh;padding:max(8px,env(safe-area-inset-top)) max(10px,env(safe-area-inset-right)) max(8px,env(safe-area-inset-bottom)) max(10px,env(safe-area-inset-left))}.immersive-training-sheet .lesson-shell-heading{margin-bottom:6px}.board-first-sheet .lesson-stage,.calculation-sheet .calculation-stage{display:grid;grid-template-columns:minmax(300px,52vw) minmax(260px,1fr);gap:14px;align-items:start}.board-first-sheet .lesson-board-column{position:sticky;top:0}.board-first-sheet .chess-board-wrap,.calculation-sheet .chess-board-wrap{width:min(48vw,calc(100dvh - 70px))}.board-first-sheet .lesson-instruction,.calculation-sheet .calculation-instruction{max-height:calc(100dvh - 62px);overflow-y:auto;overscroll-behavior:contain;padding-right:4px}.immersive-training-sheet .board-caption{display:none}.immersive-training-sheet .lesson-button-row{position:sticky;bottom:0;padding-bottom:8px}}html[data-motion=reduced] .immersive-training-sheet,html[data-motion=reduced] .board-square,html[data-motion=reduced] .train-now-button{animation:none!important;transition:none!important}.route-loading{min-height:min(62vh,620px);display:grid;place-content:center;justify-items:stretch;gap:9px;width:min(420px,82vw);margin:0 auto}.route-loading .loading-shimmer{display:block;height:11px;border-radius:999px}.route-loading .loading-shimmer.short{width:62%}html,body,#root{min-height:100%;background:var(--chess-color-bg-app)}body{color:var(--chess-color-text-primary);background:var(--chess-color-bg-app)}.app-shell-v2{min-height:100dvh;display:block;background:var(--chess-color-bg-app);color:var(--chess-color-text-primary)}.app-topbar{position:sticky;top:0;z-index:60;min-height:var(--chess-topbar-height);padding:0 clamp(18px,2.6vw,36px);display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:clamp(20px,3vw,44px);border-bottom:1px solid var(--chess-color-separator);background:#0d0f10f0;backdrop-filter:blur(16px)}.app-brand{min-height:44px;padding:0;border:0;background:transparent;color:var(--chess-color-text-primary);display:inline-flex;align-items:center;gap:9px;cursor:pointer}.app-brand-piece{width:27px;display:grid;place-items:center;color:var(--chess-color-text-secondary);font-size:25px;line-height:1}.app-brand strong{font-family:var(--chess-font-editorial);font-size:18px;font-weight:650;letter-spacing:-.02em}.app-topnav{height:100%;display:flex;align-items:stretch;gap:2px}.app-nav-link,.app-progress-link{position:relative;min-height:44px;border:0;background:transparent;color:var(--chess-color-text-muted);display:inline-flex;align-items:center;justify-content:center;gap:7px;cursor:pointer;transition:color var(--chess-motion-fast) ease,background var(--chess-motion-fast) ease}.app-nav-link{padding:0 12px}.app-progress-link{padding:0 9px}.app-nav-link:after,.app-progress-link:after{content:"";position:absolute;left:10px;right:10px;bottom:-1px;height:2px;background:transparent;transition:background var(--chess-motion-fast) ease}.app-nav-link:hover,.app-progress-link:hover{color:var(--chess-color-text-secondary);background:#ffffff06}.app-nav-link.active,.app-progress-link.active{color:var(--chess-color-text-primary)}.app-nav-link.active:after,.app-progress-link.active:after{background:var(--chess-color-accent)}.app-nav-link .nav-shortcut{min-width:21px;height:19px;border-radius:5px;border-color:var(--chess-color-separator);background:transparent;color:var(--chess-color-text-muted)}.app-top-actions{display:flex;align-items:center;justify-content:flex-end;gap:5px}.topbar-experience{position:relative}.topbar-experience .experience-trigger{width:40px;min-height:40px;padding:0;border-radius:var(--chess-radius-control);justify-content:center;color:var(--chess-color-text-muted)}.topbar-experience .experience-trigger>span{display:none}.topbar-experience .experience-popover{top:calc(100% + 9px);right:0;bottom:auto;left:auto;background:#131516fa;border-color:var(--chess-color-separator-strong)}.topbar-sync{width:30px;height:40px;display:grid;place-items:center}.topbar-sync .sync-dot{width:6px;height:6px;background:var(--chess-color-correct);box-shadow:none}.app-shell-v2 .app-main{width:min(1320px,100%);margin:0 auto;padding:34px clamp(24px,4vw,60px) 88px}.training-open .app-topbar,.training-open>.main{pointer-events:none}.settings-page{width:min(660px,100%);margin:24px auto;padding:24px 0;display:grid;gap:22px;border-top:1px solid var(--chess-color-separator);border-bottom:1px solid var(--chess-color-separator)}.settings-page h1{margin:4px 0 8px;font-size:var(--chess-text-page);letter-spacing:-.025em}.settings-page p{margin:0;max-width:56ch;color:var(--chess-color-text-secondary);line-height:1.6}.settings-page>.experience-controls{width:min(320px,100%)}.settings-page>.experience-controls .experience-popover{position:static;width:100%;margin-top:8px}@media(max-width:1040px){.app-topbar{gap:14px;padding-inline:18px}.app-nav-link{padding-inline:8px}.app-nav-link svg{display:none}.app-progress-link span{display:none}}@media(max-width:820px){.app-topbar{min-height:52px;padding:max(0px,env(safe-area-inset-top)) 12px 0;grid-template-columns:1fr auto;gap:8px;background:#0d0f10f7}.app-brand{min-height:48px}.app-brand-piece{font-size:23px}.app-brand strong{font-size:17px}.app-topnav{display:none}.app-top-actions{gap:2px}.app-progress-link{width:42px;min-height:42px;padding:0}.app-progress-link:after{left:9px;right:9px}.topbar-experience .experience-trigger{width:42px;min-height:42px}.topbar-sync{display:none}.topbar-experience .experience-popover{width:min(290px,calc(100vw - 24px))}.app-shell-v2 .app-main{width:100%;padding:20px 12px calc(88px + env(safe-area-inset-bottom))}.mobile-nav{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));min-height:var(--chess-mobile-nav-height);padding:6px 6px max(7px,env(safe-area-inset-bottom));background:#0d0f10f7;border-top:1px solid var(--chess-color-separator);backdrop-filter:blur(16px)}.mobile-nav button{position:relative;min-height:48px;color:var(--chess-color-text-muted);gap:4px;border-radius:7px}.mobile-nav button:before{content:"";position:absolute;top:-6px;left:28%;right:28%;height:2px;background:transparent}.mobile-nav button.active{color:var(--chess-color-text-primary)}.mobile-nav button.active:before{background:var(--chess-color-accent)}.mobile-nav button span{font-size:9px}}@media(max-width:420px){.app-shell-v2 .app-main{padding-inline:10px}}html[data-motion=reduced] .app-nav-link,html[data-motion=reduced] .app-progress-link,html[data-motion=reduced] .mobile-nav button{transition:none!important}.chess-board-wrap{padding:7px;border-radius:var(--chess-radius-panel);background:var(--chess-board-frame);border:1px solid rgba(255,255,255,.09);box-shadow:0 18px 48px #00000047,0 1px #ffffff09 inset}.chess-board-v2{border-radius:var(--chess-radius-board);background:var(--chess-board-dark);box-shadow:0 0 0 1px #00000052,0 10px 32px #00000029;transform-origin:center}.chess-board-v2 .board-square{transition:box-shadow var(--chess-motion-fast) ease,filter var(--chess-motion-fast) ease,transform var(--chess-motion-fast) ease}.chess-board-v2 .board-square.light{background:var(--chess-board-light);color:var(--chess-board-coordinate-light)}.chess-board-v2 .board-square.dark{background:var(--chess-board-dark);color:var(--chess-board-coordinate-dark)}.chess-board-v2 .board-square:hover:not([aria-disabled=true]){filter:brightness(1.035)}.chess-board-v2 .board-square.selected{z-index:3;box-shadow:inset 0 0 0 3px #357bd8e0,inset 0 0 0 999px #357bd81a}.chess-board-v2 .board-square.last-move{box-shadow:inset 0 0 0 999px #357bd82e}.chess-board-v2 .board-square.last-move.selected{box-shadow:inset 0 0 0 3px #357bd8f0,inset 0 0 0 999px #357bd833}.chess-board-v2 .board-square.tone-focus{box-shadow:inset 0 0 0 999px #357bd840}.chess-board-v2 .board-square.tone-good{box-shadow:inset 0 0 0 999px #5fa77a47}.chess-board-v2 .board-square.tone-danger{box-shadow:inset 0 0 0 999px #c8646445}.chess-board-v2 .board-square.tone-hint{box-shadow:inset 0 0 0 999px #c99c524a}.chess-board-v2 .board-square.in-check:after{content:"";position:absolute;inset:4px;z-index:3;pointer-events:none;border:3px solid rgba(200,100,100,.92);border-radius:3px;background:transparent;box-shadow:inset 0 0 0 1px #ffffff1a,0 0 0 1px #46141429;animation:p39-check-ring .64s ease-out 1}.chess-board-v2 .move-dot{width:20%;background:#0d0f1057;box-shadow:0 0 0 1px #ffffff12}.chess-board-v2 .capture-ring{inset:8%;border-width:clamp(3px,.45vw,5px);border-color:#0d0f1047}.chess-board-v2 .file-label,.chess-board-v2 .rank-label{z-index:6;font-family:var(--chess-font-ui);font-size:clamp(7px,.78vw,9px);font-weight:750;letter-spacing:0;opacity:.72;color:currentColor}.chess-board-v2 .file-label{right:4px;bottom:3px}.chess-board-v2 .rank-label{top:3px;left:4px}.piece-v2{width:90%;height:90%;display:grid;place-items:center;transform:translateY(-1px);filter:drop-shadow(0 2px 1px rgba(0,0,0,.12))}.piece-v2 .chess-piece-svg{display:block;width:100%;height:100%;overflow:visible}.chess-piece-svg .piece-fill{fill:var(--piece-fill)}.chess-piece-svg .piece-outline,.chess-piece-svg .piece-detail{stroke:var(--piece-stroke);stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}.chess-piece-svg .piece-detail{fill:none;stroke-width:2.8}.chess-piece-svg .piece-eye{fill:var(--piece-stroke);stroke:none}.chess-piece-svg .bishop-cut{stroke-width:3.8}.chess-piece-svg .king-cross{stroke-width:4}.chess-piece-w{--piece-fill: #eee9dd;--piece-stroke: #5b5953}.chess-piece-b{--piece-fill: #292b2a;--piece-stroke: #d2cdc1}.piece-v2.white-piece,.piece-v2.black-piece{color:inherit;text-shadow:none}.chess-board-v2 .board-square:hover .piece-v2{transform:translateY(-2px) scale(1.018)}.chess-board-v2 .piece-land{animation:p39-piece-move var(--chess-motion-piece) var(--chess-ease-standard)}.chess-board-v2 .piece-land-capture{animation:p39-piece-capture .21s var(--chess-ease-standard)}.chess-board-v2 .piece-land-promotion{animation:p39-piece-promotion .26s var(--chess-ease-standard)}.chess-board-v2 .piece-land-castle{animation:p39-piece-castle .22s var(--chess-ease-standard)}.chess-board-v2.board-flipping{animation:p39-board-flip .19s var(--chess-ease-standard)}.chess-board-v2 .board-square:focus-visible{z-index:8;outline:3px solid rgba(240,238,233,.96);outline-offset:-4px;box-shadow:inset 0 0 0 2px #357bd8e6,0 0 0 2px #357bd86b}.chess-board-v2 .board-arrow.tone-focus{stroke:var(--chess-color-accent)}.chess-board-v2 .board-arrow.tone-good{stroke:var(--chess-color-correct)}.chess-board-v2 .board-arrow.tone-danger{stroke:var(--chess-color-error)}.chess-board-v2 .board-arrow.tone-hint{stroke:var(--chess-color-concept)}@keyframes p39-piece-move{0%{transform:translate(var(--piece-dx, 0),var(--piece-dy, 0)) translateY(-1px)}to{transform:translate(0) translateY(-1px)}}@keyframes p39-piece-capture{0%{transform:translate(var(--piece-dx, 0),var(--piece-dy, 0)) translateY(-1px) scale(.96)}72%{transform:translateY(-2px) scale(1.06)}to{transform:translateY(-1px) scale(1)}}@keyframes p39-piece-promotion{0%{transform:translate(var(--piece-dx, 0),var(--piece-dy, 0)) translateY(-1px) scale(.82);opacity:.72}70%{transform:translateY(-2px) scale(1.08);opacity:1}to{transform:translateY(-1px) scale(1)}}@keyframes p39-piece-castle{0%{transform:translate(var(--piece-dx, 0),var(--piece-dy, 0)) translateY(-1px)}78%{transform:translateY(-2px) scale(1.025)}to{transform:translateY(-1px) scale(1)}}@keyframes p39-board-flip{0%{opacity:.72;transform:scale(.985)}to{opacity:1;transform:scale(1)}}@keyframes p39-check-ring{0%{opacity:0;transform:scale(.88)}45%{opacity:1;transform:scale(1)}to{opacity:.78}}@media(max-width:820px){.chess-board-wrap{padding:5px;border-radius:10px}.chess-board-v2{border-radius:6px}.piece-v2{width:92%;height:92%}}html[data-motion=reduced] .chess-board-v2.board-flipping,html[data-motion=reduced] .chess-board-v2 .piece-land,html[data-motion=reduced] .chess-board-v2 .board-square.in-check:after{animation:none!important;transition:none!important}.app-shell-v2 .app-main:has(.train-room){width:min(1480px,100%);padding-top:22px}.train-room{min-height:calc(100dvh - var(--chess-topbar-height) - 44px);display:grid;grid-template-columns:minmax(170px,var(--chess-rail-width)) minmax(460px,1fr) minmax(280px,var(--chess-context-width));gap:clamp(18px,2vw,30px);align-items:start}.train-room-rail,.train-room-coach{min-width:0}.train-room-rail{position:sticky;top:calc(var(--chess-topbar-height) + 22px);align-self:start;max-height:calc(100dvh - var(--chess-topbar-height) - 44px);display:flex;flex-direction:column;border-right:1px solid var(--chess-color-separator);padding-right:14px}.train-room-rail-heading{min-height:48px;padding:0 4px 14px;display:flex;align-items:flex-start;justify-content:space-between;gap:12px;border-bottom:1px solid var(--chess-color-separator)}.train-room-rail-heading>div{display:grid;gap:2px}.train-room-rail-heading span{color:var(--chess-color-text-muted);font-size:11px}.train-room-rail-heading strong{color:var(--chess-color-text-primary);font-size:15px}.train-duration-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:3px;padding:12px 0;border-bottom:1px solid var(--chess-color-separator)}.train-duration-tabs button{min-height:48px;padding:7px 5px;border:0;border-radius:6px;background:transparent;color:var(--chess-color-text-muted);display:grid;place-items:center;gap:2px;cursor:pointer}.train-duration-tabs button:hover{background:#ffffff06;color:var(--chess-color-text-secondary)}.train-duration-tabs button.active{background:var(--chess-color-accent-soft);color:var(--chess-color-text-primary)}.train-duration-tabs strong{font-size:10px;font-weight:750}.train-duration-tabs span{font-size:9px;opacity:.7}.train-queue{min-height:0;margin:8px 0;display:grid;align-content:start;gap:2px;overflow-y:auto;scrollbar-width:thin}.train-queue-item{width:100%;min-height:58px;padding:7px 5px;border:0;border-radius:7px;background:transparent;color:var(--chess-color-text-secondary);display:grid;grid-template-columns:18px 28px minmax(0,1fr) auto;align-items:center;gap:7px;text-align:left;cursor:pointer;transition:background var(--chess-motion-fast) ease,color var(--chess-motion-fast) ease}.train-queue-item:hover{background:#ffffff06}.train-queue-item.active{background:#357bd81c;color:var(--chess-color-text-primary)}.train-queue-index,.train-queue-time{color:var(--chess-color-text-muted);font-size:10px}.train-queue-index{text-align:center}.train-queue-icon{width:28px;height:28px;display:grid;place-items:center;color:var(--chess-color-text-muted)}.train-queue-item.active .train-queue-icon{color:var(--chess-color-accent)}.train-queue-copy{min-width:0;display:grid;gap:2px}.train-queue-copy small{overflow:hidden;color:var(--chess-color-text-muted);font-size:8px;font-weight:750;letter-spacing:.06em;white-space:nowrap;text-overflow:ellipsis}.train-queue-copy strong{overflow:hidden;color:inherit;font-size:11px;font-weight:650;line-height:1.25;white-space:nowrap;text-overflow:ellipsis}.train-rail-progress{min-height:44px;margin-top:auto;padding:0 6px;border:0;border-top:1px solid var(--chess-color-separator);background:transparent;color:var(--chess-color-text-muted);display:flex;align-items:center;gap:7px;cursor:pointer;font-size:11px;text-align:left}.train-rail-progress:hover{color:var(--chess-color-text-primary)}.train-room-board-column{min-width:0;display:grid;align-content:start;justify-items:center;gap:10px}.train-board-context,.train-board-status{width:min(100%,var(--chess-board-max-train));display:flex;align-items:center;justify-content:space-between;gap:16px;color:var(--chess-color-text-muted);font-size:10px}.train-board-context{min-height:28px;padding:0 2px;text-transform:uppercase;letter-spacing:.08em;font-weight:750}.train-preview-board{width:min(100%,var(--chess-board-max-train),calc(100dvh - var(--chess-topbar-height) - 126px));min-width:0}.train-preview-board .chess-board-wrap{width:100%;max-width:none;margin:0}.train-preview-board .board-square[aria-disabled=true]{cursor:default}.train-preview-board .board-square[aria-disabled=true]:hover{filter:none}.train-board-status{min-height:25px;padding:0 2px}.train-board-status span:first-child{color:var(--chess-color-text-secondary)}.train-preview-empty{aspect-ratio:1;display:grid;place-items:center;border:1px solid var(--chess-color-separator);color:var(--chess-color-text-muted);font-size:13px}.train-room-coach{position:sticky;top:calc(var(--chess-topbar-height) + 22px);align-self:start;max-height:calc(100dvh - var(--chess-topbar-height) - 44px);overflow-y:auto;padding-left:2px;scrollbar-width:thin}.train-task-copy{padding:3px 0 20px;border-bottom:1px solid var(--chess-color-separator)}.train-task-copy .eyebrow{margin-bottom:8px;color:var(--chess-color-accent)}.train-task-copy h1{margin:0;max-width:15ch;color:var(--chess-color-text-primary);font-family:var(--chess-font-editorial);font-size:var(--chess-text-title);font-weight:650;line-height:1.08;letter-spacing:-.025em}.train-task-subtitle{margin:10px 0 0;color:var(--chess-color-text-secondary);font-size:13px;line-height:1.55}.train-task-reason{margin:13px 0 0;color:var(--chess-color-text-muted);font-size:11px;line-height:1.55}.train-task-actions{padding:18px 0;display:grid;gap:8px;border-bottom:1px solid var(--chess-color-separator)}.train-task-actions .primary,.train-task-actions .secondary{width:100%;min-height:46px;border-radius:var(--chess-radius-control)}.train-room-start{background:var(--chess-color-accent);box-shadow:none}.train-room-start:hover:not(:disabled){filter:brightness(1.07);box-shadow:none}.train-session-facts{margin:0;padding:16px 0;display:grid;gap:11px;border-bottom:1px solid var(--chess-color-separator)}.train-session-facts>div{display:grid;grid-template-columns:54px minmax(0,1fr);gap:9px;align-items:baseline}.train-session-facts dt{color:var(--chess-color-text-muted);font-size:10px}.train-session-facts dd{margin:0;color:var(--chess-color-text-secondary);font-size:11px;font-weight:650;line-height:1.35}.train-placement-action{width:100%;min-height:52px;margin-top:14px;padding:8px 0;border:0;border-bottom:1px solid var(--chess-color-separator);background:transparent;color:var(--chess-color-text-secondary);display:flex;align-items:center;gap:9px;text-align:left;cursor:pointer}.train-placement-action>span{display:grid;gap:2px}.train-placement-action strong{color:var(--chess-color-text-primary);font-size:11px}.train-placement-action small{color:var(--chess-color-text-muted);font-size:9px}.train-coach-note{padding-top:16px}.train-coach-note>span{color:var(--chess-color-text-muted);font-size:9px;font-weight:750;letter-spacing:.08em;text-transform:uppercase}.train-coach-note strong{display:block;margin-top:5px;color:var(--chess-color-text-secondary);font-size:12px;line-height:1.4}.train-coach-note p{margin:6px 0 0;color:var(--chess-color-text-muted);font-size:10px;line-height:1.55}@media(max-width:1160px){.train-room{grid-template-columns:minmax(160px,180px) minmax(420px,1fr)}.train-room-coach{position:static;grid-column:2;max-height:none;display:grid;grid-template-columns:minmax(0,1fr) minmax(220px,.7fr);gap:0 24px;padding:18px 0 0;border-top:1px solid var(--chess-color-separator);overflow:visible}.train-task-copy{grid-row:span 2;border-bottom:0;padding:0}.train-task-actions{padding:0 0 14px}.train-session-facts{padding:13px 0 0;border-bottom:0}.train-placement-action,.train-coach-note{grid-column:1 / -1}}@media(max-width:820px){.app-shell-v2 .app-main:has(.train-room){padding-top:10px}.train-room{min-height:0;display:grid;grid-template-columns:1fr;gap:12px}.train-room-rail{position:static;max-height:none;padding:0;border-right:0;display:grid;gap:8px}.train-room-rail-heading{min-height:38px;padding:0 2px 7px}.train-duration-tabs{order:2;padding:0 0 8px}.train-queue{order:3;display:flex;gap:5px;margin:0;padding:0 0 4px;overflow-x:auto;overflow-y:hidden;scrollbar-width:none}.train-queue::-webkit-scrollbar{display:none}.train-queue-item{flex:0 0 min(72vw,270px);min-height:52px;padding:5px 7px;grid-template-columns:17px 25px minmax(0,1fr) auto;border:1px solid var(--chess-color-separator)}.train-rail-progress{display:none}.train-room-board-column{order:2;gap:7px}.train-board-context,.train-board-status{width:100%}.train-preview-board{width:100%;max-width:620px}.train-board-status{font-size:9px}.train-room-coach{order:3;position:static;grid-column:auto;max-height:none;padding:14px 2px 0;display:block;border-top:1px solid var(--chess-color-separator);overflow:visible}.train-task-copy{padding:0 0 14px}.train-task-copy h1{max-width:none;font-size:clamp(21px,6vw,26px)}.train-task-actions{grid-template-columns:1fr 1fr;padding:12px 0}.train-session-facts{display:none}.train-placement-action{margin-top:2px}.train-coach-note{display:none}}@media(max-width:520px){.train-room-rail-heading>span{display:none}.train-board-status span:last-child{display:none}.train-task-actions{grid-template-columns:1fr}}html[data-motion=reduced] .train-queue-item,html[data-motion=reduced] .train-duration-tabs button{transition:none!important}.app-shell-v2.training-session-open .app-main{width:min(1440px,100%);padding-top:18px}.train-runtime-page{width:min(1320px,100%);min-height:calc(100dvh - var(--chess-topbar-height) - 36px);margin:0 auto;color:var(--chess-color-text-primary)}.train-runtime-header{min-height:60px;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:18px;border-bottom:1px solid var(--chess-color-separator)}.train-runtime-back{min-height:44px;padding:0 8px 0 2px;border:0;background:transparent;color:var(--chess-color-text-secondary);display:inline-flex;align-items:center;gap:8px;cursor:pointer;font-size:12px}.train-runtime-back:hover{color:var(--chess-color-text-primary)}.train-runtime-back>span:first-child{font-size:18px;line-height:1}.train-runtime-title{min-width:0;display:grid;gap:2px}.train-runtime-title>span{color:var(--chess-color-text-muted);font-size:9px;font-weight:750;letter-spacing:.08em;text-transform:uppercase}.train-runtime-title>strong{overflow:hidden;color:var(--chess-color-text-primary);font-size:14px;font-weight:650;white-space:nowrap;text-overflow:ellipsis}.train-runtime-meta{display:flex;align-items:center;justify-content:flex-end;gap:6px}.train-runtime-meta>span{min-height:26px;padding:5px 8px;border:1px solid var(--chess-color-separator);border-radius:6px;color:var(--chess-color-text-muted);background:transparent;font-size:9px;white-space:nowrap}.train-runtime-progress{height:2px;background:#ffffff09;overflow:hidden}.train-runtime-progress>span{display:block;height:100%;background:var(--chess-color-accent);transition:width var(--chess-motion-ui) ease}.train-runtime-body{width:100%;max-width:none;margin:0 auto;padding:22px 0 40px;background:transparent;border:0;border-radius:0;box-shadow:none}.train-runtime-body.assessment-sheet,.train-runtime-body.model-game-sheet,.train-runtime-body.calculation-sheet,.train-runtime-body.endgame-technique-sheet{width:100%;max-width:none}.train-runtime-policy{width:min(100%,760px);margin:0 auto 14px;padding:9px 10px;border-top:1px solid var(--chess-color-separator);border-bottom:1px solid var(--chess-color-separator);color:var(--chess-color-text-secondary);display:flex;align-items:flex-start;gap:9px}.train-runtime-policy>svg{flex:0 0 auto;margin-top:1px;color:var(--chess-color-accent)}.train-runtime-policy>div{display:grid;gap:2px}.train-runtime-policy strong{font-size:10px;line-height:1.35}.train-runtime-policy span{color:var(--chess-color-text-muted);font-size:9px}.train-runtime-runner{width:100%;min-width:0}.train-runtime-body.board-first-sheet .lesson-stage{grid-template-columns:minmax(460px,1.08fr) minmax(300px,.68fr);gap:clamp(24px,3vw,42px);align-items:start;min-height:0}.train-runtime-body.board-first-sheet .lesson-board-column{position:sticky;top:calc(var(--chess-topbar-height) + 78px);align-self:start}.train-runtime-body.board-first-sheet .chess-board-wrap{width:min(100%,calc(100dvh - 170px),680px)}.train-runtime-body .lesson-instruction,.train-runtime-body .calculation-instruction{padding-top:8px}.train-runtime-body.model-game-sheet .model-game-runner-layout,.train-runtime-body.assessment-sheet .assessment-stage{gap:clamp(22px,3vw,38px)}.train-runtime-body.model-game-sheet .model-game-board,.train-runtime-body.assessment-sheet .assessment-board,.train-runtime-body.endgame-technique-sheet .endgame-preview-board,.train-runtime-body.endgame-technique-sheet .endgame-board-column,.train-runtime-body.adaptive-game-sheet .game-board-column{position:sticky;top:calc(var(--chess-topbar-height) + 78px);align-self:start}.train-runtime-body.model-game-sheet .chess-board-wrap,.train-runtime-body.assessment-sheet .chess-board-wrap,.train-runtime-body.endgame-technique-sheet .chess-board-wrap,.train-runtime-body.adaptive-game-sheet .chess-board-wrap{width:min(100%,calc(100dvh - 180px),660px)}.train-runtime-body.calculation-sheet .calculation-stage,.train-runtime-body.endgame-technique-sheet .endgame-recognition-layout,.train-runtime-body.endgame-technique-sheet .endgame-play-layout{gap:clamp(20px,2.5vw,36px)}.train-runtime-body.adaptive-game-sheet .game-layout{grid-template-columns:minmax(480px,1fr) minmax(300px,.5fr);gap:clamp(20px,2.8vw,38px)}.train-runtime-body .assessment-runner,.train-runtime-body .model-game-runner,.train-runtime-body .calculation-runner,.train-runtime-body .endgame-runner,.train-runtime-body .lesson-runner,.train-runtime-body .game-arena{width:100%}.train-runtime-recovery{width:min(520px,100%);margin:12vh auto 0;padding:24px 0;border-top:1px solid var(--chess-color-separator);border-bottom:1px solid var(--chess-color-separator);text-align:left}.train-runtime-recovery strong{color:var(--chess-color-text-primary);font-size:18px}.train-runtime-recovery p{margin:8px 0 18px;color:var(--chess-color-text-secondary);line-height:1.55}.training-session-open .app-topbar{background:#0d0f10fb}@media(max-width:1040px){.train-runtime-body.board-first-sheet .lesson-stage,.train-runtime-body.calculation-sheet .calculation-stage,.train-runtime-body.endgame-technique-sheet .endgame-recognition-layout,.train-runtime-body.endgame-technique-sheet .endgame-play-layout,.train-runtime-body.model-game-sheet .model-game-runner-layout,.train-runtime-body.assessment-sheet .assessment-stage,.train-runtime-body.adaptive-game-sheet .game-layout{grid-template-columns:minmax(400px,1fr) minmax(270px,.72fr)}}@media(max-width:820px){.app-shell-v2.training-session-open .app-main{padding:0 10px max(18px,env(safe-area-inset-bottom))}.train-runtime-page{min-height:calc(100dvh - 52px)}.train-runtime-header{position:sticky;top:52px;z-index:28;min-height:54px;margin-inline:-10px;padding:0 10px;grid-template-columns:auto minmax(0,1fr);gap:10px;background:#0d0f10f7;backdrop-filter:blur(14px)}.train-runtime-title>span{font-size:8px}.train-runtime-title>strong{font-size:12px}.train-runtime-meta{display:none}.train-runtime-progress{position:sticky;top:106px;z-index:29;margin-inline:-10px}.train-runtime-body{padding:12px 0 24px}.train-runtime-body.board-first-sheet .lesson-stage,.train-runtime-body.calculation-sheet .calculation-stage,.train-runtime-body.endgame-technique-sheet .endgame-recognition-layout,.train-runtime-body.endgame-technique-sheet .endgame-play-layout,.train-runtime-body.model-game-sheet .model-game-runner-layout,.train-runtime-body.assessment-sheet .assessment-stage,.train-runtime-body.adaptive-game-sheet .game-layout{grid-template-columns:1fr;gap:14px}.train-runtime-body.board-first-sheet .lesson-board-column,.train-runtime-body.model-game-sheet .model-game-board,.train-runtime-body.assessment-sheet .assessment-board,.train-runtime-body.endgame-technique-sheet .endgame-preview-board,.train-runtime-body.endgame-technique-sheet .endgame-board-column,.train-runtime-body.adaptive-game-sheet .game-board-column{position:relative;top:auto;width:100%}.train-runtime-body.board-first-sheet .chess-board-wrap,.train-runtime-body.model-game-sheet .chess-board-wrap,.train-runtime-body.assessment-sheet .chess-board-wrap,.train-runtime-body.endgame-technique-sheet .chess-board-wrap,.train-runtime-body.adaptive-game-sheet .chess-board-wrap{width:min(100%,620px);max-width:none;margin-inline:auto}.train-runtime-body .lesson-button-row{position:sticky;bottom:0;z-index:18;padding-bottom:max(12px,env(safe-area-inset-bottom))}.train-runtime-policy{margin-bottom:10px}}@media(max-width:960px)and (orientation:landscape)and (max-height:650px){.train-runtime-header{position:static;min-height:46px}.train-runtime-progress{position:static}.train-runtime-body.board-first-sheet .lesson-stage,.train-runtime-body.calculation-sheet .calculation-stage{grid-template-columns:minmax(300px,52vw) minmax(250px,1fr);gap:14px}.train-runtime-body.board-first-sheet .lesson-board-column{position:sticky;top:4px}.train-runtime-body.board-first-sheet .chess-board-wrap,.train-runtime-body.calculation-sheet .chess-board-wrap{width:min(48vw,calc(100dvh - 66px))}.train-runtime-body .lesson-instruction,.train-runtime-body .calculation-instruction{max-height:calc(100dvh - 62px);overflow-y:auto}}html[data-motion=reduced] .train-runtime-progress>span{transition:none!important}.app-shell-v2 .app-main:has(.learn-v2),.app-shell-v2 .app-main:has(.learn-subpage-head){width:min(1480px,100%);padding-top:22px}.learn-v2{min-height:calc(100dvh - var(--chess-topbar-height) - 44px);display:grid;grid-template-columns:220px minmax(0,1fr);gap:clamp(24px,3vw,42px);color:var(--chess-color-text-primary)}.learn-v2-stage-rail,.learn-v2-lesson-rail{position:sticky;top:calc(var(--chess-topbar-height) + 22px);align-self:start;max-height:calc(100dvh - var(--chess-topbar-height) - 44px);display:flex;flex-direction:column;min-width:0;border-right:1px solid var(--chess-color-separator);padding-right:14px}.learn-v2-course-mark{min-height:52px;display:flex;align-items:flex-start;gap:9px;padding:4px 4px 14px;border-bottom:1px solid var(--chess-color-separator);color:var(--chess-color-text-secondary)}.learn-v2-course-mark svg{flex:0 0 auto;margin-top:2px;color:var(--chess-color-accent)}.learn-v2-course-mark>div{min-width:0;display:grid;gap:2px}.learn-v2-course-mark span{color:var(--chess-color-text-muted);font-size:9px;font-weight:750;letter-spacing:.08em;text-transform:uppercase}.learn-v2-course-mark strong{color:var(--chess-color-text-primary);font-size:11px;line-height:1.35}.learn-v2-stage-nav{min-height:0;padding:8px 0;display:grid;align-content:start;gap:2px;overflow-y:auto;scrollbar-width:thin}.learn-v2-stage-nav>button{min-height:50px;padding:6px;border:0;border-radius:7px;background:transparent;color:var(--chess-color-text-muted);display:grid;grid-template-columns:24px minmax(0,1fr) auto;gap:8px;align-items:center;text-align:left;cursor:pointer}.learn-v2-stage-nav>button:hover{background:#ffffff06;color:var(--chess-color-text-secondary)}.learn-v2-stage-nav>button.active{background:#357bd81c;color:var(--chess-color-text-primary)}.learn-v2-stage-number{width:24px;height:24px;display:grid;place-items:center;border:1px solid var(--chess-color-separator);border-radius:50%;font-size:9px;font-weight:750}.learn-v2-stage-nav>button.active .learn-v2-stage-number{border-color:#357bd873;color:var(--chess-color-accent)}.learn-v2-stage-label{min-width:0;display:grid;gap:1px}.learn-v2-stage-label strong{overflow:hidden;color:inherit;font-size:11px;font-weight:650;white-space:nowrap;text-overflow:ellipsis}.learn-v2-stage-label small{color:var(--chess-color-text-muted);font-size:8px}.learn-v2-stage-state{min-width:28px;color:var(--chess-color-text-muted);font-size:9px;text-align:right}.learn-v2-stage-state.passed{color:var(--chess-color-correct)}.learn-v2-tools{margin-top:auto;padding-top:10px;display:grid;gap:2px;border-top:1px solid var(--chess-color-separator)}.learn-v2-tools button{min-height:42px;padding:0 6px;border:0;background:transparent;color:var(--chess-color-text-muted);display:flex;align-items:center;gap:8px;cursor:pointer;text-align:left;font-size:10px}.learn-v2-tools button:hover{color:var(--chess-color-text-primary)}.learn-v2-chapter{min-width:0;max-width:1040px}.learn-v2-chapter-head{min-height:146px;padding:8px 0 22px;display:grid;grid-template-columns:minmax(0,1fr) 170px;gap:32px;align-items:end;border-bottom:1px solid var(--chess-color-separator)}.learn-v2-chapter-head .eyebrow{margin:0 0 7px;color:var(--chess-color-text-muted)}.learn-v2-chapter-head h1{margin:0;color:var(--chess-color-text-primary);font-family:var(--chess-font-editorial);font-size:clamp(25px,3vw,31px);font-weight:650;letter-spacing:-.03em;line-height:1.05}.learn-v2-chapter-head>div:first-child>strong{display:block;margin-top:8px;color:var(--chess-color-text-secondary);font-size:13px}.learn-v2-chapter-head>div:first-child>p:last-child{max-width:66ch;margin:7px 0 0;color:var(--chess-color-text-muted);font-size:11px;line-height:1.6}.learn-v2-stage-progress{align-self:end;display:grid;grid-template-columns:1fr auto;gap:5px 10px;color:var(--chess-color-text-muted);font-size:9px}.learn-v2-stage-progress strong{color:var(--chess-color-text-primary);font-size:12px}.learn-v2-progress-track{grid-column:1 / -1;height:3px;overflow:hidden;background:#ffffff0d}.learn-v2-progress-track i{display:block;height:100%;background:var(--chess-color-accent)}.learn-v2-stage-actions{min-height:68px;padding:12px 0;display:flex;align-items:center;justify-content:space-between;gap:18px;border-bottom:1px solid var(--chess-color-separator)}.learn-v2-gate-copy{display:flex;align-items:center;gap:12px;min-width:0}.learn-v2-gate-copy>div{min-width:0;display:grid;gap:2px}.learn-v2-gate-copy strong{color:var(--chess-color-text-secondary);font-size:11px}.learn-v2-gate-copy div>span{color:var(--chess-color-text-muted);font-size:9px}.learn-v2-stage-actions .secondary{min-height:40px;border-radius:7px}.learn-v2-placement{min-height:54px;padding:10px 0;display:flex;align-items:center;justify-content:space-between;gap:18px;border-bottom:1px solid var(--chess-color-separator)}.learn-v2-placement>div{display:flex;align-items:center;gap:9px;color:var(--chess-color-text-muted)}.learn-v2-placement>div>span{display:grid;gap:1px}.learn-v2-placement strong{color:var(--chess-color-text-secondary);font-size:10px}.learn-v2-placement small{color:var(--chess-color-text-muted);font-size:9px}.learn-v2-placement button{min-height:36px;border:0;background:transparent;color:var(--chess-color-accent);cursor:pointer;font-size:10px;font-weight:700}.learn-v2-skill-list{display:grid}.learn-v2-skill-row{position:relative;min-height:104px;padding:15px 0;display:grid;grid-template-columns:30px minmax(0,1fr) 130px 150px;gap:16px;align-items:center;border-bottom:1px solid var(--chess-color-separator)}.learn-v2-skill-row:before{content:"";position:absolute;left:-10px;top:0;bottom:0;width:2px;background:transparent}.learn-v2-skill-row.recommended:before{background:var(--chess-color-accent)}.learn-v2-skill-row.locked{opacity:.55}.learn-v2-skill-index{color:var(--chess-color-text-muted);font-family:var(--chess-font-mono);font-size:10px;text-align:center}.learn-v2-skill-copy{min-width:0}.learn-v2-skill-copy>div:first-child{margin-bottom:4px;display:flex;align-items:center;gap:7px}.learn-v2-skill-copy>div:first-child>span{color:var(--chess-color-text-muted);font-size:8px;font-weight:750;letter-spacing:.06em;text-transform:uppercase}.learn-v2-skill-copy>div:first-child>small{color:var(--chess-color-accent);font-size:8px;font-weight:750;text-transform:uppercase}.learn-v2-skill-copy>strong{display:block;color:var(--chess-color-text-primary);font-family:var(--chess-font-editorial);font-size:16px;font-weight:650}.learn-v2-skill-copy>p{max-width:64ch;margin:4px 0 0;color:var(--chess-color-text-muted);font-size:10px;line-height:1.5}.learn-v2-prerequisite{margin-top:6px;color:var(--chess-color-text-muted);display:flex;align-items:center;gap:5px;font-size:8px}.learn-v2-skill-mastery{display:grid;grid-template-columns:1fr auto;gap:4px 8px;color:var(--chess-color-text-muted);font-size:8px}.learn-v2-skill-mastery strong{color:var(--chess-color-text-secondary);font-size:10px}.learn-v2-skill-actions{display:flex;align-items:center;justify-content:flex-end;gap:6px}.learn-v2-open,.learn-v2-practice{min-height:38px;padding:0 11px;border-radius:7px;cursor:pointer;font-size:9px;font-weight:700}.learn-v2-open{border:1px solid rgba(53,123,216,.28);background:#357bd81a;color:var(--chess-color-text-primary);display:inline-flex;align-items:center;gap:5px}.learn-v2-practice{border:1px solid var(--chess-color-separator);background:transparent;color:var(--chess-color-text-secondary)}.learn-v2-locked-label{min-height:36px;color:var(--chess-color-text-muted);display:inline-flex;align-items:center;gap:5px;font-size:9px}.lesson-page-v2{grid-template-columns:minmax(190px,220px) minmax(430px,1fr) minmax(270px,340px);align-items:start}.learn-v2-lesson-rail{padding-right:14px}.learn-v2-back{min-height:42px;padding:0 4px;border:0;background:transparent;color:var(--chess-color-text-muted);display:inline-flex;align-items:center;gap:6px;cursor:pointer;font-size:10px;text-align:left}.learn-v2-back:hover{color:var(--chess-color-text-primary)}.learn-v2-lesson-identity{padding:10px 4px 14px;display:grid;gap:4px;border-bottom:1px solid var(--chess-color-separator)}.learn-v2-lesson-identity>span{color:var(--chess-color-text-muted);font-size:8px;font-weight:750;letter-spacing:.07em;text-transform:uppercase}.learn-v2-lesson-identity>strong{color:var(--chess-color-text-primary);font-family:var(--chess-font-editorial);font-size:15px;line-height:1.2}.learn-v2-lesson-identity>small{color:var(--chess-color-text-muted);font-size:8px}.learn-v2-step-list{min-height:0;padding:8px 0;display:grid;align-content:start;gap:2px;overflow-y:auto;scrollbar-width:thin}.learn-v2-step-list button{min-height:48px;padding:6px 5px;border:0;border-radius:6px;background:transparent;color:var(--chess-color-text-muted);display:grid;grid-template-columns:22px minmax(0,1fr);gap:7px;align-items:center;text-align:left;cursor:pointer}.learn-v2-step-list button:hover{background:#ffffff06}.learn-v2-step-list button.active{background:#357bd81a;color:var(--chess-color-text-primary)}.learn-v2-step-list button>span{width:22px;height:22px;display:grid;place-items:center;border:1px solid var(--chess-color-separator);border-radius:50%;font-size:8px}.learn-v2-step-list button>div{min-width:0;display:grid;gap:1px}.learn-v2-step-list small{color:var(--chess-color-text-muted);font-size:7px;font-weight:750;text-transform:uppercase}.learn-v2-step-list strong{overflow:hidden;color:inherit;font-size:9px;white-space:nowrap;text-overflow:ellipsis}.learn-v2-lesson-actions{margin-top:auto;padding-top:10px;display:grid;gap:7px;border-top:1px solid var(--chess-color-separator)}.learn-v2-lesson-actions .primary,.learn-v2-lesson-actions .secondary{min-height:42px;border-radius:7px}.learn-v2-board-column{min-width:0;display:grid;justify-items:center;gap:9px}.learn-v2-board-context,.learn-v2-board-caption{width:min(100%,680px);color:var(--chess-color-text-muted);font-size:9px}.learn-v2-board-context{min-height:28px;padding:0 2px;display:flex;align-items:center;justify-content:space-between;gap:12px;font-weight:750;letter-spacing:.07em;text-transform:uppercase}.learn-v2-board-column .chess-board-wrap{width:min(100%,calc(100dvh - 155px),680px);max-width:none}.learn-v2-board-caption{padding:0 2px;line-height:1.45}.learn-v2-reading{position:sticky;top:calc(var(--chess-topbar-height) + 22px);align-self:start;padding:4px 0 0}.learn-v2-reading .eyebrow{color:var(--chess-color-accent)}.learn-v2-reading h1{margin:7px 0 0;color:var(--chess-color-text-primary);font-family:var(--chess-font-editorial);font-size:clamp(22px,2.4vw,28px);font-weight:650;line-height:1.08;letter-spacing:-.025em}.learn-v2-reading-body{margin:12px 0 0;color:var(--chess-color-text-secondary);font-size:12px;line-height:1.68}.learn-v2-reading-note{margin-top:22px;padding:14px 0;display:grid;gap:4px;border-top:1px solid var(--chess-color-separator);border-bottom:1px solid var(--chess-color-separator)}.learn-v2-reading-note>span{color:var(--chess-color-text-muted);font-size:8px;font-weight:750;letter-spacing:.07em;text-transform:uppercase}.learn-v2-reading-note strong{color:var(--chess-color-text-primary);font-size:11px}.learn-v2-reading-note p{margin:0;color:var(--chess-color-text-muted);font-size:10px;line-height:1.55}.learn-v2-reading-nav{margin-top:14px;display:flex;gap:7px}.learn-v2-reading-nav .secondary{min-height:40px;border-radius:7px}.learn-subpage-head{min-height:112px;padding:0 0 20px;display:grid;grid-template-columns:120px minmax(0,1fr);gap:18px;align-items:start;border-bottom:1px solid var(--chess-color-separator)}.learn-subpage-head>div{padding-top:4px}.learn-subpage-head h1{margin:4px 0 0;color:var(--chess-color-text-primary);font-family:var(--chess-font-editorial);font-size:clamp(24px,2.7vw,30px);font-weight:650;letter-spacing:-.03em}.learn-subpage-head p:not(.eyebrow){max-width:62ch;margin:7px 0 0;color:var(--chess-color-text-muted);font-size:10px;line-height:1.55}@media(max-width:1160px){.lesson-page-v2{grid-template-columns:190px minmax(410px,1fr)}.learn-v2-reading{position:static;grid-column:2;padding:18px 0 0;border-top:1px solid var(--chess-color-separator)}}@media(max-width:900px){.learn-v2{grid-template-columns:180px minmax(0,1fr);gap:20px}.learn-v2-skill-row{grid-template-columns:26px minmax(0,1fr) 96px}.learn-v2-skill-actions{grid-column:2 / -1;justify-content:flex-start;padding-top:2px}.lesson-page-v2{grid-template-columns:170px minmax(0,1fr)}}@media(max-width:820px){.app-shell-v2 .app-main:has(.learn-v2),.app-shell-v2 .app-main:has(.learn-subpage-head){padding-top:10px}.learn-v2,.lesson-page-v2{min-height:0;grid-template-columns:1fr;gap:12px}.learn-v2-stage-rail,.learn-v2-lesson-rail{position:static;max-height:none;padding-right:0;border-right:0;border-bottom:1px solid var(--chess-color-separator)}.learn-v2-course-mark{display:none}.learn-v2-stage-nav{display:flex;gap:5px;overflow-x:auto;overflow-y:hidden;padding:0 0 9px;scrollbar-width:none}.learn-v2-stage-nav::-webkit-scrollbar,.learn-v2-step-list::-webkit-scrollbar{display:none}.learn-v2-stage-nav>button{flex:0 0 auto;min-height:42px;padding:5px 8px;grid-template-columns:20px auto auto;gap:6px;border:1px solid var(--chess-color-separator)}.learn-v2-stage-number{width:20px;height:20px}.learn-v2-stage-label small,.learn-v2-stage-state{display:none}.learn-v2-tools{display:flex;gap:10px;padding:7px 0 9px}.learn-v2-tools button{min-height:36px}.learn-v2-chapter-head{min-height:0;padding:8px 0 16px;grid-template-columns:1fr;gap:15px}.learn-v2-stage-progress{width:min(220px,100%)}.learn-v2-stage-actions{align-items:flex-start}.learn-v2-skill-row{min-height:96px;grid-template-columns:24px minmax(0,1fr);gap:10px}.learn-v2-skill-mastery{grid-column:2;width:min(180px,100%)}.learn-v2-skill-actions{grid-column:2}.learn-v2-placement{align-items:flex-start}.learn-v2-lesson-identity{padding-top:3px}.learn-v2-step-list{display:flex;gap:5px;padding:8px 0;overflow-x:auto;overflow-y:hidden}.learn-v2-step-list button{flex:0 0 min(72vw,230px);border:1px solid var(--chess-color-separator)}.learn-v2-lesson-actions{display:none}.learn-v2-board-column{order:2}.learn-v2-board-column .chess-board-wrap{width:100%;max-width:620px}.learn-v2-reading{order:3;grid-column:auto;padding-top:14px}.learn-v2-reading-nav{position:sticky;bottom:calc(var(--chess-mobile-nav-height) + env(safe-area-inset-bottom));z-index:18;margin-inline:-2px;padding:10px 2px;background:#0d0f10f5}.learn-subpage-head{min-height:0;padding-bottom:14px;grid-template-columns:1fr;gap:4px}}@media(max-width:520px){.learn-v2-stage-actions{display:grid}.learn-v2-gate-copy{align-items:flex-start}.learn-v2-placement{display:grid}.learn-v2-skill-row{padding-block:13px}.learn-v2-skill-copy>strong{font-size:15px}}html[data-motion=reduced] .learn-v2-stage-nav>button,html[data-motion=reduced] .learn-v2-skill-row{transition:none!important}.app-shell-v2 .app-main:has(.play-v2),.app-shell-v2 .app-main:has(.play-game-page){width:min(1460px,100%);padding-top:22px}.play-v2{display:grid;grid-template-columns:minmax(470px,1fr) minmax(300px,360px);gap:clamp(22px,3vw,42px);align-items:start;color:var(--chess-color-text-primary)}.play-v2-board-column{min-width:0;display:grid;justify-items:center;gap:9px}.play-v2-board-label,.play-v2-board-note{width:min(100%,700px);color:var(--chess-color-text-muted);font-size:9px}.play-v2-board-label{min-height:28px;padding:0 2px;display:flex;align-items:center;justify-content:space-between;gap:12px;font-weight:750;letter-spacing:.07em;text-transform:uppercase}.play-v2-board-column .chess-board-wrap{width:min(100%,calc(100dvh - 152px),700px);max-width:none}.play-v2-board-note{padding:0 2px;line-height:1.5}.play-v2-setup{position:sticky;top:calc(var(--chess-topbar-height) + 22px);align-self:start;max-height:calc(100dvh - var(--chess-topbar-height) - 44px);overflow-y:auto;scrollbar-width:thin;padding-left:2px}.play-v2-setup-head{padding:3px 0 18px;border-bottom:1px solid var(--chess-color-separator)}.play-v2-setup-head .eyebrow{color:var(--chess-color-accent)}.play-v2-setup-head h1{margin:6px 0 0;color:var(--chess-color-text-primary);font-family:var(--chess-font-editorial);font-size:var(--chess-text-title);font-weight:650;line-height:1.08;letter-spacing:-.025em}.play-v2-setup-head p:last-child{margin:9px 0 0;color:var(--chess-color-text-muted);font-size:10px;line-height:1.55}.play-v2-control-group{margin:0;padding:15px 0;border:0;border-bottom:1px solid var(--chess-color-separator)}.play-v2-control-group legend{margin-bottom:8px;color:var(--chess-color-text-muted);font-size:8px;font-weight:750;letter-spacing:.08em;text-transform:uppercase}.play-v2-segmented{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px}.play-v2-segmented button,.play-v2-time-list button,.play-v2-opponent-list button{border:1px solid var(--chess-color-separator);background:transparent;color:var(--chess-color-text-secondary);cursor:pointer}.play-v2-segmented button{min-height:40px;border-radius:7px;font-size:10px;font-weight:700}.play-v2-segmented button.active,.play-v2-time-list button.active,.play-v2-opponent-list button.active{border-color:#357bd859;background:#357bd81c;color:var(--chess-color-text-primary)}.play-v2-time-list,.play-v2-opponent-list{display:grid;gap:4px}.play-v2-time-list{grid-template-columns:repeat(3,minmax(0,1fr))}.play-v2-time-list button{min-height:48px;padding:6px 7px;border-radius:7px;display:flex;align-items:center;gap:6px;text-align:left}.play-v2-time-list button>span,.play-v2-opponent-list button>span{min-width:0;display:grid;gap:1px}.play-v2-time-list strong,.play-v2-opponent-list strong{color:inherit;font-size:9px}.play-v2-time-list small,.play-v2-opponent-list small{color:var(--chess-color-text-muted);font-size:7px}.play-v2-opponent-list button{min-height:48px;padding:6px 8px;border-radius:7px;display:grid;grid-template-columns:20px minmax(0,1fr) auto;gap:7px;align-items:center;text-align:left}.play-v2-opponent-list button em{color:var(--chess-color-accent);font-size:7px;font-style:normal;font-weight:750;text-transform:uppercase}.play-v2-start-block{padding:16px 0 2px;display:grid;gap:10px}.play-v2-start-block>div{display:flex;align-items:baseline;justify-content:space-between;gap:12px;color:var(--chess-color-text-muted);font-size:8px}.play-v2-start-block>div strong{color:var(--chess-color-text-secondary);font-size:10px}.play-v2-start-block .primary{width:100%;min-height:48px;border-radius:var(--chess-radius-control);background:var(--chess-color-accent);box-shadow:none}.play-v2-scenarios,.play-v2-human{grid-column:1 / -1;padding-top:22px;border-top:1px solid var(--chess-color-separator)}.play-v2-scenarios>header,.play-v2-human>header{min-height:54px;display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.play-v2-scenarios h2,.play-v2-human h2{margin:4px 0 0;color:var(--chess-color-text-primary);font-family:var(--chess-font-editorial);font-size:18px;font-weight:650;letter-spacing:-.02em}.play-v2-scenarios>header>button{min-height:36px;border:0;background:transparent;color:var(--chess-color-accent);cursor:pointer;font-size:9px}.play-v2-scenario-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--chess-color-separator)}.play-v2-scenario-list>button{min-height:92px;padding:13px 12px;border:0;border-right:1px solid var(--chess-color-separator);border-bottom:1px solid var(--chess-color-separator);background:transparent;color:var(--chess-color-text-secondary);display:grid;grid-template-columns:30px minmax(0,1fr) auto;gap:9px;align-items:center;text-align:left;cursor:pointer}.play-v2-scenario-list>button:nth-child(3n){border-right:0}.play-v2-scenario-list>button:hover{background:#ffffff05}.play-v2-scenario-list>button.active{background:#357bd814;box-shadow:inset 2px 0 var(--chess-color-accent)}.play-v2-scenario-icon{width:30px;height:30px;display:grid;place-items:center;border:1px solid var(--chess-color-separator);border-radius:50%;color:var(--chess-color-text-muted)}.play-v2-scenario-list>button.active .play-v2-scenario-icon{color:var(--chess-color-accent);border-color:#357bd852}.play-v2-scenario-list>button>span:nth-child(2){min-width:0;display:grid;gap:2px}.play-v2-scenario-list small{color:var(--chess-color-text-muted);font-size:7px;font-weight:750;letter-spacing:.06em;text-transform:uppercase}.play-v2-scenario-list strong{overflow:hidden;color:var(--chess-color-text-primary);font-family:var(--chess-font-editorial);font-size:13px;font-weight:650;white-space:nowrap;text-overflow:ellipsis}.play-v2-scenario-list em{overflow:hidden;color:var(--chess-color-text-muted);font-size:8px;font-style:normal;white-space:nowrap;text-overflow:ellipsis}.play-v2-human{display:grid;grid-template-columns:220px minmax(0,1fr);gap:18px 32px;align-items:start}.play-v2-human>header{justify-content:flex-start}.play-v2-human>header>svg{margin-top:4px;color:var(--chess-color-accent)}.play-v2-game-plan{min-height:72px;padding:11px 0;display:grid;gap:3px;border-top:1px solid var(--chess-color-separator);border-bottom:1px solid var(--chess-color-separator)}.play-v2-game-plan>span{color:var(--chess-color-text-muted);font-size:8px;font-weight:750;letter-spacing:.06em;text-transform:uppercase}.play-v2-game-plan strong{color:var(--chess-color-text-primary);font-size:11px}.play-v2-game-plan p{margin:0;color:var(--chess-color-text-muted);font-size:9px;line-height:1.5}.play-v2-human .lichess-sync-card{grid-column:2}.play-game-page{width:min(1280px,100%);margin:0 auto}.play-game-page .game-arena{width:100%;max-width:none}.play-game-page .game-topbar{min-height:48px;padding:0 0 10px;border-bottom:1px solid var(--chess-color-separator)}.play-game-page .game-layout{grid-template-columns:minmax(500px,1fr) minmax(280px,340px);gap:clamp(22px,3vw,40px);align-items:start;padding-top:16px}.play-game-page .game-board-column{min-width:0;display:grid;justify-items:center;gap:8px}.play-game-page .game-board-column .chess-board-wrap{width:min(100%,calc(100dvh - 220px),720px);max-width:none}.game-player-strip{width:min(100%,720px);min-height:48px;padding:0 2px;display:flex;align-items:center;justify-content:space-between;gap:16px}.game-player-strip>div:first-child{min-width:0;display:flex;align-items:center;gap:8px}.game-player-mark{width:28px;height:28px;display:grid;place-items:center;border:1px solid var(--chess-color-separator);border-radius:50%;color:var(--chess-color-text-muted)}.game-player-mark.you{color:var(--chess-color-text-secondary);font-size:18px}.game-player-strip>div:first-child>span:last-child{min-width:0;display:grid;gap:1px}.game-player-strip strong{color:var(--chess-color-text-primary);font-size:11px}.game-player-strip small{color:var(--chess-color-text-muted);font-size:8px}.game-clock{min-width:74px;height:36px;padding:0 9px;border:1px solid var(--chess-color-separator);border-radius:7px;background:var(--chess-color-bg-inset);color:var(--chess-color-text-muted);display:inline-flex;align-items:center;justify-content:flex-end;gap:6px;font-variant-numeric:tabular-nums}.game-clock strong{font-family:var(--chess-font-mono);font-size:13px}.game-clock.active{border-color:#357bd857;background:#357bd81a;color:var(--chess-color-text-primary)}.play-game-page .game-turn-line{width:min(100%,720px);min-height:30px;padding:0 2px;border:0;color:var(--chess-color-text-muted);background:transparent}.play-game-page .game-side-panel{position:sticky;top:calc(var(--chess-topbar-height) + 22px);max-height:calc(100dvh - var(--chess-topbar-height) - 44px);overflow-y:auto;padding:3px 0 0;border:0;background:transparent;box-shadow:none;scrollbar-width:thin}.play-game-page .game-mode-header{padding-bottom:14px;border-bottom:1px solid var(--chess-color-separator)}.play-game-page .game-mode-icon{width:34px;height:34px;border-radius:50%;border:1px solid var(--chess-color-separator);background:transparent}.play-game-page .game-description{margin:0;padding:14px 0;border-bottom:1px solid var(--chess-color-separator);color:var(--chess-color-text-muted);font-size:10px;line-height:1.55}.play-game-page .game-objective,.play-game-page .game-profile-card{margin:0;padding:12px 0;border:0;border-bottom:1px solid var(--chess-color-separator);border-radius:0;background:transparent}.play-game-page .move-sheet{margin-top:0;border:0;border-bottom:1px solid var(--chess-color-separator);border-radius:0;background:transparent}.play-game-page .move-sheet-title{padding-inline:0}.play-game-page .move-list{max-height:min(34vh,280px);padding-inline:0}.play-game-page .move-list>div{border-radius:0;border-bottom:1px solid rgba(255,255,255,.035)}.play-game-page .resign-button{width:100%;min-height:40px;margin-top:12px;border-radius:7px}.play-game-page .game-result-card{margin-top:14px;border-radius:8px;background:var(--chess-color-bg-raised);border-color:var(--chess-color-separator)}.play-game-recovery{width:min(520px,100%);margin:14vh auto 0;padding:24px 0;border-top:1px solid var(--chess-color-separator);border-bottom:1px solid var(--chess-color-separator)}.play-game-recovery strong{color:var(--chess-color-text-primary);font-size:18px}.play-game-recovery p{margin:8px 0 18px;color:var(--chess-color-text-secondary);line-height:1.55}.play-session-open .app-topbar{background:#0d0f10fb}@media(max-width:1100px){.play-v2{grid-template-columns:minmax(430px,1fr) 310px}.play-v2-scenario-list{grid-template-columns:repeat(2,minmax(0,1fr))}.play-v2-scenario-list>button:nth-child(3n){border-right:1px solid var(--chess-color-separator)}.play-v2-scenario-list>button:nth-child(2n){border-right:0}.play-game-page .game-layout{grid-template-columns:minmax(440px,1fr) 300px}}@media(max-width:820px){.app-shell-v2 .app-main:has(.play-v2){padding-top:10px}.app-shell-v2.play-session-open .app-main{padding:8px 8px max(16px,env(safe-area-inset-bottom))}.play-v2{grid-template-columns:1fr;gap:14px}.play-v2-board-column{order:1}.play-v2-board-column .chess-board-wrap{width:100%;max-width:620px}.play-v2-setup{order:2;position:static;max-height:none;padding:12px 0 0;border-top:1px solid var(--chess-color-separator);overflow:visible}.play-v2-setup-head h1{font-size:clamp(21px,6vw,26px)}.play-v2-scenarios{order:3}.play-v2-human{order:4;grid-template-columns:1fr}.play-v2-human .lichess-sync-card{grid-column:auto}.play-v2-scenario-list{display:flex;gap:5px;overflow-x:auto;border-top:0;scrollbar-width:none}.play-v2-scenario-list::-webkit-scrollbar{display:none}.play-v2-scenario-list>button{flex:0 0 min(82vw,290px);min-height:82px;border:1px solid var(--chess-color-separator)!important;border-radius:7px}.play-v2-time-list{grid-template-columns:repeat(3,minmax(0,1fr))}.play-game-page .game-topbar{min-height:40px}.play-game-page .game-layout{grid-template-columns:1fr;gap:12px;padding-top:8px}.play-game-page .game-board-column{order:1}.play-game-page .game-board-column .chess-board-wrap{width:100%;max-width:620px}.game-player-strip,.play-game-page .game-turn-line{width:100%}.play-game-page .game-side-panel{order:2;position:static;max-height:none;overflow:visible;padding-top:10px;border-top:1px solid var(--chess-color-separator)}.play-game-page .game-description,.play-game-page .game-profile-card{display:none}.play-game-page .game-objective{padding-top:10px}.play-game-page .move-list{max-height:220px}}@media(max-width:520px){.play-v2-time-list{grid-template-columns:1fr}.play-v2-time-list button{min-height:44px}.play-v2-scenarios>header{display:grid}.game-player-strip{min-height:42px}.game-clock{min-width:68px;height:34px}}html[data-motion=reduced] .play-v2-segmented button,html[data-motion=reduced] .play-v2-time-list button,html[data-motion=reduced] .play-v2-opponent-list button,html[data-motion=reduced] .play-v2-scenario-list>button{transition:none!important}:root{--chess-surface-line: var(--chess-color-separator);--chess-surface-line-strong: var(--chess-color-separator-strong);--chess-surface-hover: rgba(255, 255, 255, .025);--chess-surface-selected: rgba(53, 123, 216, .1)}.primary,.secondary{border-radius:var(--chess-radius-control);box-shadow:none}.primary{background:var(--chess-color-accent);color:#fff}.primary:hover:not(:disabled){transform:none;filter:brightness(1.06);box-shadow:none}.secondary{border:1px solid var(--chess-surface-line);background:transparent;color:var(--chess-color-text-secondary)}.secondary:hover:not(:disabled){transform:none;border-color:var(--chess-surface-line-strong);background:var(--chess-surface-hover);color:var(--chess-color-text-primary)}.track{border-radius:2px;background:#ffffff0e}.track i{border-radius:inherit;background:var(--chess-color-accent)}.spin{animation:puzzle-spin .85s linear infinite}.analysis-progress{margin-top:14px;padding:10px 0;border-top:1px solid var(--chess-surface-line);border-bottom:1px solid var(--chess-surface-line);border-radius:0;background:transparent}.analysis-progress>div:first-child{display:flex;justify-content:space-between;gap:12px;margin-bottom:7px;color:var(--chess-color-text-muted);font-size:9px}.analysis-progress strong{color:var(--chess-color-text-secondary)}.analysis-error{margin-top:12px;padding:10px 0 10px 10px;display:grid;gap:3px;border:0;border-left:2px solid var(--chess-color-error);border-radius:0;background:transparent}.analysis-error strong{color:#df9a9a;font-size:10px}.analysis-error span{color:var(--chess-color-text-muted);font-size:9px;line-height:1.5}.empty-bank{min-height:120px;border:0;border-top:1px solid var(--chess-surface-line);border-bottom:1px solid var(--chess-surface-line);border-radius:0;display:grid;place-items:center;align-content:center;gap:5px;color:var(--chess-color-text-muted);text-align:center}.empty-bank strong{color:var(--chess-color-text-secondary);font-size:10px}.empty-bank span{font-size:8px}.hint-card,.puzzle-explanation-card,.review-retry-panel,.review-transfer-card,.opening-structure-panel,.endgame-technique-card,.endgame-result-card{border-radius:0;box-shadow:none;background:transparent}.hint-card{padding:9px 0 9px 10px;border:0;border-left:2px solid var(--chess-color-concept)}.hint-card+.hint-card{margin-top:7px}.hint-card strong{color:var(--chess-color-text-secondary)}.hint-card span,.hint-card p{color:var(--chess-color-text-muted)}.puzzle-explanation-card,.review-retry-panel,.review-transfer-card,.opening-structure-panel,.endgame-technique-card,.endgame-result-card{padding:11px 0;border:0;border-top:1px solid var(--chess-surface-line);border-bottom:1px solid var(--chess-surface-line)}.review-transfer-card,.endgame-result-card.success{border-left:2px solid var(--chess-color-correct);padding-left:10px}.endgame-result-card.repair,.review-retry-panel{border-left:2px solid var(--chess-color-concept);padding-left:10px}.game-side-panel,.assessment-panel,.endgame-side-panel,.model-game-decision-panel,.opening-position-panel{border:0;border-left:1px solid var(--chess-surface-line);border-radius:0;background:transparent;box-shadow:none}.game-side-panel,.assessment-panel,.endgame-side-panel,.model-game-decision-panel{padding-left:16px}.opening-position-panel{padding:0 0 0 16px}.game-profile-card{margin:0;padding:10px 0;border:0;border-top:1px solid var(--chess-surface-line);border-bottom:1px solid var(--chess-surface-line);border-radius:0;background:transparent;box-shadow:none}.game-result-card{margin-top:12px;padding:12px 0;border:0;border-top:1px solid var(--chess-surface-line);border-bottom:1px solid var(--chess-surface-line);border-radius:0;background:transparent;box-shadow:none}.move-sheet{border-radius:0;box-shadow:none;background:transparent}.move-sheet-title{border-bottom-color:var(--chess-surface-line)}.assessment-panel-footer{border-top:1px solid var(--chess-surface-line)}.endgame-recognition-panel{border:0;border-radius:0;background:transparent;box-shadow:none}.lichess-card,.lichess-card.compact,.lichess-card.linked{border:0;border-top:1px solid var(--chess-surface-line);border-bottom:1px solid var(--chess-surface-line);border-radius:0;background:transparent;box-shadow:none}.lichess-card-icon{border:1px solid var(--chess-surface-line);border-radius:50%;background:transparent;box-shadow:none}.lichess-card-icon.linked{background:transparent;color:var(--chess-color-correct)}.lichess-card input{border-radius:var(--chess-radius-control);background:var(--chess-color-bg-inset);border-color:var(--chess-surface-line)}.model-game-card,.opening-entry-card,.model-game-entry-card{border-radius:0;background:transparent;box-shadow:none}.model-game-card{border:0;border-bottom:1px solid var(--chess-surface-line)}.model-game-card:hover{background:var(--chess-surface-hover);transform:none;box-shadow:none}.experience-popover,.review-coach-dialog{border-radius:var(--chess-radius-panel);background:#131516fb;border-color:var(--chess-surface-line-strong);box-shadow:0 18px 48px #0000004d}.experience-popover:before,.review-coach-dialog:before{display:none}.hero,.section-hero,.session-card,.panel,.play-normal-card,.story-hero,.latest-story-card,.study-card,.reference-card,.train-home-hero,.home-progress-card,.progress-panel,.practical-rating-card,.home-prescription-card{background-image:none!important;box-shadow:none!important}@media(pointer:coarse){.primary,.secondary,.hint-card button,.game-result-card button,.assessment-panel button,.lichess-card button,.model-game-card button{min-height:var(--chess-touch-min)}}@media(max-width:820px){.game-side-panel,.assessment-panel,.endgame-side-panel,.model-game-decision-panel,.opening-position-panel{padding-left:0;border-left:0;border-top:1px solid var(--chess-surface-line)}.game-side-panel,.assessment-panel,.endgame-side-panel,.model-game-decision-panel{padding-top:12px}.lichess-card{padding-inline:0}}html[data-motion=reduced] .primary,html[data-motion=reduced] .secondary,html[data-motion=reduced] .model-game-card{transition:none!important}:root{--p49-route-in: .15s;--p49-route-out: 90ms;--p49-impact: .23s;--p49-reveal: .17s;--p49-press: 90ms;--p49-ease-out: cubic-bezier(.2,.8,.2,1);--p49-ease-piece: cubic-bezier(.18,.86,.22,1)}::view-transition-old(chess-main){animation:p49-route-out var(--p49-route-out) ease both}::view-transition-new(chess-main){animation:p49-route-in var(--p49-route-in) var(--p49-ease-out) both}@keyframes p49-route-out{to{opacity:.55;transform:translateY(-2px)}}@keyframes p49-route-in{0%{opacity:0;transform:translateY(4px)}}.app-shell-v2 button:not(.board-square):not(:disabled),.experience-popover button:not(:disabled){transform-origin:center;transition:background var(--chess-motion-fast) ease,border-color var(--chess-motion-fast) ease,color var(--chess-motion-fast) ease,opacity var(--chess-motion-fast) ease,transform var(--p49-press) var(--p49-ease-out)}.app-shell-v2 button:not(.board-square):not(:disabled):active,.experience-popover button:not(:disabled):active{transform:translateY(1px) scale(.985)}.app-nav-link:after,.app-progress-link:after,.mobile-nav button:before{transform:scaleX(0);transform-origin:center;transition:transform var(--chess-motion-ui) var(--p49-ease-out),background var(--chess-motion-fast) ease}.app-nav-link.active:after,.app-progress-link.active:after,.mobile-nav button.active:before{transform:scaleX(1)}.chess-board-v2 .board-square.move-origin:before,.chess-board-v2 .board-square.move-destination:before{content:"";position:absolute;inset:0;z-index:2;pointer-events:none;opacity:0}.chess-board-v2 .board-square.move-origin:before{border:2px solid rgba(53,123,216,.28);animation:p49-origin-release .18s ease-out both}.chess-board-v2 .board-square.move-destination:before{inset:7%;border:2px solid rgba(53,123,216,.5);animation:p49-move-impact var(--p49-impact) var(--p49-ease-out) both}.chess-board-v2 .board-square.move-impact-capture:before{border-color:#c86464ad;animation-name:p49-capture-impact}.chess-board-v2 .board-square.move-impact-promotion:before{border-color:#c99c52d1;animation-name:p49-promotion-impact}.chess-board-v2 .board-square.move-impact-castle:before{border-color:#357bd89e;animation-name:p49-castle-impact}.chess-board-v2 .piece-land{animation:p49-piece-arrive var(--chess-motion-piece) var(--p49-ease-piece)}.chess-board-v2 .piece-land-capture{animation:p49-piece-capture .22s var(--p49-ease-piece)}.chess-board-v2 .piece-land-promotion{animation:p49-piece-promotion .27s var(--p49-ease-piece)}.chess-board-v2 .piece-land-castle{animation:p49-piece-castle .23s var(--p49-ease-piece)}.chess-board-v2.board-flipping{animation:p49-board-flip .18s var(--p49-ease-out)}.chess-board-v2 .board-arrow{stroke-dasharray:10 3;animation:p49-arrow-reveal .19s var(--p49-ease-out) both}.chess-board-v2 .move-dot,.chess-board-v2 .capture-ring{animation:p49-target-enter .12s var(--p49-ease-out) both}.chess-board-v2 .board-square.rejected{animation:p49-reject .23s ease-out}@keyframes p49-origin-release{0%{opacity:.7;transform:scale(.92)}to{opacity:0;transform:scale(1)}}@keyframes p49-move-impact{0%{opacity:0;transform:scale(.7)}40%{opacity:.9}to{opacity:0;transform:scale(1.08)}}@keyframes p49-capture-impact{0%{opacity:0;transform:scale(.62) rotate(-3deg)}42%{opacity:.95;transform:scale(1)}to{opacity:0;transform:scale(1.12) rotate(2deg)}}@keyframes p49-promotion-impact{0%{opacity:0;transform:scale(.58)}45%{opacity:1;transform:scale(1.03)}to{opacity:0;transform:scale(1.16)}}@keyframes p49-castle-impact{0%{opacity:0;transform:scaleX(.7)}45%{opacity:.88}to{opacity:0;transform:scaleX(1.08)}}@keyframes p49-piece-arrive{0%{transform:translate(var(--piece-dx, 0),var(--piece-dy, 0)) translateY(-1px) scale(.985)}76%{transform:translate(0) translateY(-2px) scale(1.025)}to{transform:translate(0) translateY(-1px) scale(1)}}@keyframes p49-piece-capture{0%{transform:translate(var(--piece-dx, 0),var(--piece-dy, 0)) translateY(-1px) scale(.95)}68%{transform:translate(0) translateY(-2px) scale(1.065)}to{transform:translate(0) translateY(-1px) scale(1)}}@keyframes p49-piece-promotion{0%{transform:translate(var(--piece-dx, 0),var(--piece-dy, 0)) translateY(-1px) scale(.78);opacity:.58}62%{transform:translate(0) translateY(-3px) scale(1.09);opacity:1}to{transform:translate(0) translateY(-1px) scale(1)}}@keyframes p49-piece-castle{0%{transform:translate(var(--piece-dx, 0),var(--piece-dy, 0)) translateY(-1px)}72%{transform:translate(0) translateY(-2px) scale(1.025)}to{transform:translate(0) translateY(-1px)}}@keyframes p49-board-flip{0%{opacity:.72;transform:scale(.988)}50%{opacity:.88;transform:scale(.996)}to{opacity:1;transform:scale(1)}}@keyframes p49-arrow-reveal{0%{opacity:0;stroke-dashoffset:20}to{opacity:.8;stroke-dashoffset:0}}@keyframes p49-target-enter{0%{opacity:0;transform:scale(.62)}}@keyframes p49-reject{0%,to{transform:translate(0)}28%{transform:translate(-3px)}58%{transform:translate(3px)}82%{transform:translate(-1px)}}.lesson-feedback.success,.puzzle-explanation-card,.review-retry-success,.review-transfer-card,.library-engine-result,.review-insight-v2 .moment-comparison,.review-insight-v2 .moment-line{animation:p49-reveal var(--p49-reveal) var(--p49-ease-out) both}.lesson-hint-stack .hint-card:last-child{animation:p49-hint-reveal .14s var(--p49-ease-out) both}.analysis-progress{animation:p49-analysis-enter .14s ease both}.library-engine-result>div,.moment-eval{transition:border-color var(--chess-motion-fast) ease,color var(--chess-motion-fast) ease,opacity var(--chess-motion-fast) ease}.review-notation-row,.workspace-move-strip button,.review-phase-strip button{transition:background var(--chess-motion-fast) ease,color var(--chess-motion-fast) ease,box-shadow var(--chess-motion-fast) ease,transform var(--p49-press) var(--p49-ease-out)}.review-notation-row.active,.workspace-move-strip button.active,.review-phase-strip button.active{animation:p49-selection-settle .14s var(--p49-ease-out) both}@keyframes p49-reveal{0%{opacity:0;transform:translateY(5px)}}@keyframes p49-hint-reveal{0%{opacity:0;transform:translate(-5px)}}@keyframes p49-analysis-enter{0%{opacity:0}}@keyframes p49-selection-settle{0%{transform:scale(.985)}to{transform:scale(1)}}.progress-v2-line{stroke-dasharray:1100;stroke-dashoffset:1100;animation:p49-chart-draw .56s var(--p49-ease-out) forwards}.progress-v2-line.retention{animation-delay:55ms}.progress-v2-line.transfer{animation-delay:.11s}.progress-v2-week-line i,.progress-v2-allocations i,.progress-v2-phase-performance i{transform-origin:left;animation:p49-meter-fill .36s var(--p49-ease-out) both}.progress-v2-stage-list>div.certified .progress-v2-stage-mark{animation:p49-certification-settle .18s var(--p49-ease-out) both}@keyframes p49-chart-draw{to{stroke-dashoffset:0}}@keyframes p49-meter-fill{0%{transform:scaleX(0)}to{transform:scaleX(1)}}@keyframes p49-certification-settle{0%{transform:scale(.82);opacity:.5}to{transform:scale(1);opacity:1}}@media(pointer:coarse){.app-shell-v2 button:not(.board-square):not(:disabled):active{transform:scale(.975)}.chess-board-v2 .board-square:active:not([aria-disabled=true]) .piece-v2{transform:translateY(-1px) scale(.965)}}.celebration-layer i{width:5px;height:9px;border-radius:2px;background:var(--chess-color-accent);opacity:0}.celebration-layer i:nth-child(3n+2){background:var(--chess-color-text-primary)}.celebration-layer i:nth-child(3n){background:var(--chess-color-concept)}.celebration-medium i{--distance: 132px}.celebration-large i{--distance: 176px;width:6px;height:10px}html[data-motion=reduced]::view-transition-old(chess-main),html[data-motion=reduced]::view-transition-new(chess-main),html[data-motion=reduced] .chess-board-v2 .board-square.move-origin:before,html[data-motion=reduced] .chess-board-v2 .board-square.move-destination:before,html[data-motion=reduced] .chess-board-v2 .piece-land,html[data-motion=reduced] .chess-board-v2.board-flipping,html[data-motion=reduced] .chess-board-v2 .board-arrow,html[data-motion=reduced] .chess-board-v2 .move-dot,html[data-motion=reduced] .chess-board-v2 .capture-ring,html[data-motion=reduced] .chess-board-v2 .board-square.rejected,html[data-motion=reduced] .lesson-feedback.success,html[data-motion=reduced] .puzzle-explanation-card,html[data-motion=reduced] .review-retry-success,html[data-motion=reduced] .review-transfer-card,html[data-motion=reduced] .library-engine-result,html[data-motion=reduced] .review-insight-v2 .moment-comparison,html[data-motion=reduced] .review-insight-v2 .moment-line,html[data-motion=reduced] .lesson-hint-stack .hint-card:last-child,html[data-motion=reduced] .analysis-progress,html[data-motion=reduced] .review-notation-row.active,html[data-motion=reduced] .workspace-move-strip button.active,html[data-motion=reduced] .review-phase-strip button.active,html[data-motion=reduced] .progress-v2-line,html[data-motion=reduced] .progress-v2-week-line i,html[data-motion=reduced] .progress-v2-allocations i,html[data-motion=reduced] .progress-v2-phase-performance i,html[data-motion=reduced] .progress-v2-stage-list>div.certified .progress-v2-stage-mark{animation:none!important;transition:none!important}html[data-motion=reduced] .app-shell-v2 button,html[data-motion=reduced] .app-nav-link:after,html[data-motion=reduced] .app-progress-link:after,html[data-motion=reduced] .mobile-nav button:before{transition:none!important}html[data-app-theme=graphite]{color-scheme:dark;--bg: #0d0f10;--surface: rgba(25, 27, 28, .94);--line: rgba(255, 255, 255, .08);--muted: #aba9a3;--chess-color-bg-app: #0d0f10;--chess-color-bg-workspace: #131516;--chess-color-bg-raised: #191b1c;--chess-color-bg-inset: #101213;--chess-color-text-primary: #f0eee9;--chess-color-text-secondary: #aba9a3;--chess-color-text-muted: #747570;--chess-color-separator: rgba(255, 255, 255, .08);--chess-color-separator-strong: rgba(255, 255, 255, .13)}html[data-app-theme=obsidian]{color-scheme:dark;--bg: #090a0b;--surface: rgba(20, 22, 23, .95);--line: rgba(255, 255, 255, .075);--muted: #aaa9a5;--chess-color-bg-app: #090a0b;--chess-color-bg-workspace: #0e1011;--chess-color-bg-raised: #141617;--chess-color-bg-inset: #0b0d0e;--chess-color-text-primary: #f1f0ec;--chess-color-text-secondary: #aaa9a5;--chess-color-text-muted: #737570;--chess-color-separator: rgba(255, 255, 255, .075);--chess-color-separator-strong: rgba(255, 255, 255, .12)}html[data-app-theme=warm-graphite]{color-scheme:dark;--bg: #11100f;--surface: rgba(29, 26, 23, .95);--line: rgba(244, 232, 215, .08);--muted: #b2aaa0;--chess-color-bg-app: #11100f;--chess-color-bg-workspace: #171513;--chess-color-bg-raised: #1d1a17;--chess-color-bg-inset: #13110f;--chess-color-text-primary: #f2eee6;--chess-color-text-secondary: #b2aaa0;--chess-color-text-muted: #7e766e;--chess-color-separator: rgba(244, 232, 215, .08);--chess-color-separator-strong: rgba(244, 232, 215, .14)}body,.app-shell-v2{background:var(--chess-color-bg-app);color:var(--chess-color-text-primary)}.app-topbar,.mobile-nav{background:var(--chess-color-bg-app);border-color:var(--chess-color-separator)}html[data-board-theme=tournament]{--chess-board-light: #d5cebd;--chess-board-dark: #62665f;--chess-board-frame: #171918;--chess-board-coordinate-light: rgba(20, 22, 21, .54);--chess-board-coordinate-dark: rgba(244, 241, 233, .52)}html[data-board-theme=walnut]{--chess-board-light: #d9c5a5;--chess-board-dark: #805f45;--chess-board-frame: #211915;--chess-board-coordinate-light: rgba(42, 30, 22, .58);--chess-board-coordinate-dark: rgba(255, 246, 231, .58)}html[data-board-theme=slate]{--chess-board-light: #cbd1ce;--chess-board-dark: #59666a;--chess-board-frame: #121719;--chess-board-coordinate-light: rgba(18, 28, 30, .56);--chess-board-coordinate-dark: rgba(244, 248, 247, .56)}.chess-piece-svg.piece-style-classic{transform-origin:50% 55%}.chess-piece-svg.piece-style-club{transform:scale(1.045);transform-origin:50% 58%}.chess-piece-svg.piece-style-club .piece-outline,.chess-piece-svg.piece-style-club .piece-detail{stroke-width:3.05}.chess-piece-svg.piece-style-club .bishop-cut{stroke-width:4.35}.chess-piece-svg.piece-style-club .king-cross{stroke-width:4.5}.chess-piece-w.piece-style-club{--piece-fill: #f3ede0;--piece-stroke: #474640}.chess-piece-b.piece-style-club{--piece-fill: #232625;--piece-stroke: #ddd7cb}.chess-piece-svg.piece-style-minimal{transform:scale(.965);transform-origin:50% 58%}.chess-piece-svg.piece-style-minimal .piece-outline{stroke-width:2}.chess-piece-svg.piece-style-minimal .piece-detail{stroke-width:2.15;opacity:.88}.chess-piece-svg.piece-style-minimal .bishop-cut{stroke-width:3.2}.chess-piece-svg.piece-style-minimal .king-cross{stroke-width:3.4}.chess-piece-w.piece-style-minimal{--piece-fill: #ece9e0;--piece-stroke: #62625d}.chess-piece-b.piece-style-minimal{--piece-fill: #303332;--piece-stroke: #d0cec7}.experience-popover{width:min(350px,calc(100vw - 24px));max-height:min(78dvh,660px);overflow-y:auto;overscroll-behavior:contain}.appearance-reset{width:100%;min-height:36px;margin-top:2px;border:0;background:transparent;color:var(--chess-color-text-muted);cursor:pointer;font-size:.67rem;font-weight:700}.appearance-reset:hover{color:var(--chess-color-text-secondary);background:var(--chess-color-bg-raised)}.experience-divider{height:1px;margin:6px 2px;background:var(--chess-color-separator)}.appearance-setting-group{min-width:0;margin:0;padding:8px 0 10px;border:0}.appearance-setting-group legend{width:100%;padding:0 4px 7px;color:var(--chess-color-text-secondary);display:flex;align-items:center;gap:7px;font-size:.68rem;font-weight:750}.appearance-choice-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.appearance-choice{min-width:0;min-height:58px;padding:7px 6px;border:1px solid var(--chess-color-separator);border-radius:9px;background:transparent;color:var(--chess-color-text-muted);display:grid;justify-items:center;align-content:center;gap:6px;cursor:pointer;font-size:.62rem;font-weight:700}.appearance-choice:hover{border-color:var(--chess-color-separator-strong);color:var(--chess-color-text-secondary);background:var(--chess-color-bg-raised)}.appearance-choice[aria-pressed=true]{border-color:var(--chess-color-accent);color:var(--chess-color-text-primary);box-shadow:inset 0 -2px 0 var(--chess-color-accent)}.app-theme-swatch{width:34px;height:22px;padding:4px;border:1px solid rgba(255,255,255,.12);border-radius:6px;display:grid;grid-template-columns:1fr .42fr;gap:3px;background:#0d0f10}.app-theme-swatch i{display:block;border-radius:2px;background:#191b1c}.app-theme-swatch[data-preview-app-theme=obsidian]{background:#090a0b}.app-theme-swatch[data-preview-app-theme=obsidian] i{background:#141617}.app-theme-swatch[data-preview-app-theme=warm-graphite]{background:#11100f}.app-theme-swatch[data-preview-app-theme=warm-graphite] i{background:#1d1a17}.board-theme-swatch{width:34px;height:34px;border:2px solid #171918;border-radius:5px;overflow:hidden;display:grid;grid-template-columns:1fr 1fr}.board-theme-swatch i:nth-child(1),.board-theme-swatch i:nth-child(4){background:#d5cebd}.board-theme-swatch i:nth-child(2),.board-theme-swatch i:nth-child(3){background:#62665f}.board-theme-swatch[data-preview-board-theme=walnut]{border-color:#211915}.board-theme-swatch[data-preview-board-theme=walnut] i:nth-child(1),.board-theme-swatch[data-preview-board-theme=walnut] i:nth-child(4){background:#d9c5a5}.board-theme-swatch[data-preview-board-theme=walnut] i:nth-child(2),.board-theme-swatch[data-preview-board-theme=walnut] i:nth-child(3){background:#805f45}.board-theme-swatch[data-preview-board-theme=slate]{border-color:#121719}.board-theme-swatch[data-preview-board-theme=slate] i:nth-child(1),.board-theme-swatch[data-preview-board-theme=slate] i:nth-child(4){background:#cbd1ce}.board-theme-swatch[data-preview-board-theme=slate] i:nth-child(2),.board-theme-swatch[data-preview-board-theme=slate] i:nth-child(3){background:#59666a}.piece-style-preview{width:38px;height:38px;display:grid;place-items:center}.piece-style-preview .chess-piece-svg{width:100%;height:100%}@media(max-width:520px){.experience-popover{width:min(342px,calc(100vw - 20px));max-height:min(76dvh,610px)}.appearance-choice{min-height:var(--chess-touch-min);padding-inline:4px}}@media(forced-colors:active){.appearance-choice[aria-pressed=true]{border-color:Highlight}.app-theme-swatch,.board-theme-swatch{border-color:CanvasText}}.skip-link{position:fixed;top:max(8px,env(safe-area-inset-top));left:max(8px,env(safe-area-inset-left));z-index:10000;padding:9px 12px;border:2px solid var(--chess-color-text-primary);border-radius:var(--chess-radius-control);background:var(--chess-color-bg-app);color:var(--chess-color-text-primary);font:700 .8rem/1 var(--chess-font-ui);transform:translateY(calc(-100% - 24px));transition:transform var(--chess-motion-fast) var(--chess-ease-standard)}.skip-link:focus,.skip-link:focus-visible{transform:translateY(0)}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible,[tabindex]:focus-visible{outline:3px solid var(--focus-ring, #b8c7ff)!important;outline-offset:3px!important}.app-main:focus{outline:none}.chess-board-v2 .board-square:focus-visible{z-index:9;outline:3px solid rgba(240,238,233,.98)!important;outline-offset:-4px!important;box-shadow:inset 0 0 0 2px #357bd8e6,0 0 0 2px #0d0f10f2}[aria-pressed=true]{text-decoration-thickness:from-font}.review-v2-color [aria-pressed=true],.story-preview-controls [aria-pressed=true],.review-phase-strip [aria-pressed=true],.play-v2 [aria-pressed=true],.endgame-recognition-options [aria-pressed=true],.workspace-move-strip [aria-current=step],.review-notation-list [aria-current=step]{box-shadow:inset 0 -2px 0 currentColor}@media(prefers-contrast:more){:root{--chess-color-text-secondary: #c9c6bf;--chess-color-text-muted: #aaa79f;--chess-color-separator: rgba(255, 255, 255, .18);--chess-color-separator-strong: rgba(255, 255, 255, .28)}.chess-board-v2 .move-dot,.chess-board-v2 .capture-ring,.chess-board-v2 .board-square.selected,.chess-board-v2 .board-square.in-check{outline-width:3px}}@media(forced-colors:active){.skip-link,a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible,[tabindex]:focus-visible,.chess-board-v2 .board-square:focus-visible{outline-color:Highlight!important}.chess-board-v2 .board-square.selected,.chess-board-v2 .board-square.in-check,.chess-board-v2 .board-square.legal-target{outline:2px solid Highlight;outline-offset:-3px}.chess-board-v2 .move-dot{background:Highlight}.chess-board-v2 .capture-ring{border-color:Highlight}.sync-dot,.progress-v2-stage-mark i,.review-eval-track>button{border:1px solid CanvasText}.primary,.secondary,button,input,select,textarea{forced-color-adjust:auto}}@media(prefers-reduced-motion:reduce){.skip-link{transition:none}}.app-shell-v2 :is(.learn-v2-skill-copy p,.library-v2-row-copy small,.library-v2-game-row small,.review-v2-game-copy small,.review-v2-import p,.learn-v2-reading-body p){color:var(--chess-color-text-secondary);font-size:11px;line-height:1.5}@media(max-width:820px){.app-shell-v2 .library-v2-rail{position:static;top:auto;display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-rows:auto auto auto;align-content:start;align-self:start;min-height:0;margin-top:0;padding-top:0;gap:0 8px}.app-shell-v2 .library-v2-root{grid-column:1;grid-row:1;min-width:0}.app-shell-v2 .library-v2-new-study{position:static;grid-column:2;grid-row:1;align-self:center;min-height:44px;margin:0;padding:0 10px;border:1px solid var(--chess-color-separator);border-radius:var(--chess-radius-control);white-space:nowrap}.app-shell-v2 .library-v2-rail nav{grid-column:1 / -1;grid-row:2;min-width:0}.app-shell-v2 .library-v2-system-links{grid-column:1 / -1;grid-row:3}.app-shell-v2 .library-v2-row-copy small,.app-shell-v2 .library-v2-index-cell small,.app-shell-v2 .library-v2-game-row small,.app-shell-v2 .library-v2-root small,.app-shell-v2 .library-v2-rail nav button,.app-shell-v2 .learn-v2-stage-nav small,.app-shell-v2 .learn-v2-skill-copy p,.app-shell-v2 .learn-v2-skill-row small,.app-shell-v2 .review-v2-game-copy small,.app-shell-v2 .progress-v2-rating-meta span,.app-shell-v2 .progress-v2-axis-label,.app-shell-v2 .progress-v2-grid-label,.app-shell-v2 .progress-v2-chart-legend{font-size:11px;line-height:1.4}.app-shell-v2 .learn-v2-reading-nav{position:static;bottom:auto;z-index:auto;margin:18px 0 0;padding:12px 0 0;border-top:1px solid var(--chess-color-separator);background:transparent}.app-shell-v2 .learn-v2-reading{padding-bottom:22px}}@media(max-width:820px){.app-shell-v2 .library-v2-index-head{position:absolute;width:1px;height:1px;padding:0;margin:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.app-shell-v2 .library-v2-index-head>button{display:none}.app-shell-v2 .library-v2-index>.library-v2-shelf:first-child{padding-top:0}}@media(min-width:821px){.app-shell-v2 .library-v2 :is(.library-v2-root small,.library-v2-rail nav button,.library-v2-row-copy small,.library-v2-game-row small,.library-v2-index-cell small,.library-v2-context>section>p),.app-shell-v2 .learn-v2 :is(.learn-v2-stage-nav small,.learn-v2-skill-copy p),.app-shell-v2 .review-v2-game-copy small{font-size:11px;line-height:1.45}}.app-shell-v2 .chess-board-wrap{border-color:#f2e8d52b;box-shadow:0 12px 36px #00000054,inset 0 1px #ffffff0e}.app-shell-v2 .chess-board-v2{box-shadow:inset 0 0 0 1px #0f131273}.app-shell-v2 .chess-board-v2 .chess-piece-svg{shape-rendering:geometricPrecision}.app-shell-v2 .chess-board-v2 .chess-piece-w{--piece-fill: #f4efe3;--piece-stroke: #4b4d49}.app-shell-v2 .chess-board-v2 .chess-piece-b{--piece-fill: #272d2a;--piece-stroke: #e2d8c7}.review-v2-feature{display:grid;grid-template-columns:minmax(210px,.94fr) minmax(0,1fr);align-items:start;gap:clamp(16px,2vw,27px);padding:22px 0 20px;border-bottom:1px solid var(--chess-color-separator)}.review-v2-feature-board{min-width:0;display:grid;justify-items:center;gap:7px}.review-v2-feature-board .chess-board-wrap{width:min(100%,360px)}.review-v2-feature-board>span{justify-self:stretch;color:var(--chess-color-text-secondary);font-size:11px;line-height:1.5}.review-v2-feature-detail{min-width:0;display:flex;flex-direction:column;align-items:stretch;gap:7px}.review-v2-feature-detail h2{margin:0;color:var(--chess-color-text-primary);font-family:var(--chess-font-editorial);font-size:clamp(19px,2vw,25px);font-weight:650;line-height:1.2;overflow-wrap:anywhere}.review-v2-feature-opening{margin:0;font-size:12px;color:var(--chess-color-text-secondary);line-height:1.45}.review-v2-feature-insight{display:grid;gap:7px;margin-top:8px;padding-top:13px;border-top:1px solid var(--chess-color-separator)}.review-v2-feature-insight>span{color:var(--chess-color-accent);font-size:11px;font-weight:750;letter-spacing:.04em;text-transform:uppercase}.review-v2-feature-insight>strong{color:var(--chess-color-text-primary);font-size:15px;font-weight:650;line-height:1.35}.review-v2-feature-insight>p{color:var(--chess-color-text-secondary);font-size:12px;line-height:1.55;margin:0}.review-v2-feature-action{min-height:46px;margin-top:14px;padding:0 14px;display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:13px;font-weight:700}.review-v2-import-drawer{border-bottom:1px solid var(--chess-color-separator)}.review-v2-import-drawer>summary{display:flex;align-items:center;gap:14px;justify-content:space-between;cursor:pointer;min-height:50px;padding:13px 0;color:var(--chess-color-text-primary);font-size:13px;font-weight:650;list-style:none}.review-v2-import-drawer>summary::-webkit-details-marker{display:none}.review-v2-import-drawer>summary:before{content:"+";font-family:var(--chess-font-mono);color:var(--chess-color-accent);font-size:18px;font-weight:400}.review-v2-import-drawer[open]>summary:before{content:"−"}.review-v2-import-drawer>summary span:first-child{flex:1}.review-v2-import-drawer>summary span:last-child{color:var(--chess-color-text-secondary);font-size:11px;font-weight:500;white-space:nowrap}.review-v2-import-drawer>.review-v2-import{padding-top:4px;border-bottom:none}.review-v2-import-drawer>summary:focus-visible{outline:2px solid var(--chess-color-accent);outline-offset:3px}.app-shell-v2 .review-v2-main-head p:not(.eyebrow),.app-shell-v2 .review-v2-import-source>label,.app-shell-v2 .review-v2-repair-row p,.app-shell-v2 .review-v2-game-state,.app-shell-v2 .review-v2-repair-empty span{color:var(--chess-color-text-secondary);font-size:12px;line-height:1.5}.app-shell-v2 .review-v2-game-copy strong,.app-shell-v2 .review-v2-game-copy small,.app-shell-v2 .review-v2-import-source input,.app-shell-v2 .review-v2-import-source textarea,.app-shell-v2 .review-v2-color button{font-size:12px}.app-shell-v2 .review-v2-history-head span,.app-shell-v2 .review-v2-repair .eyebrow{font-size:11px}@media(max-width:1280px){.review-v2-feature{grid-template-columns:minmax(185px,.94fr) minmax(0,1fr)}}@media(max-width:1050px){.review-v2-feature{grid-template-columns:minmax(0,1fr)}.review-v2-feature-board .chess-board-wrap{width:min(100%,560px)}}@media(max-width:820px){.review-v2-feature{padding-top:12px;gap:13px}.review-v2-feature-detail h2{font-size:21px}.review-v2-feature-action{width:100%}.review-v2-import-drawer>summary span:last-child{font-size:11px}.app-shell-v2 .mobile-nav button span{font-size:11px;line-height:1.2}.app-shell-v2 .review-v2-import-source input,.app-shell-v2 .review-v2-import-source textarea{font-size:16px}}
