.course-pgn-help,.course-notice{color:var(--text-soft);font-size:.875rem;line-height:1.6}.course-notice{padding:var(--space-4);border:.0625rem solid var(--border)}.course-card-actions{display:flex;flex-wrap:wrap;gap:var(--space-3)}.community-list .course-card-actions>button{display:inline-flex;align-items:center;min-height:2.75rem;width:auto;gap:var(--space-2)}.course-delete-confirm{margin-top:var(--space-4);padding:var(--space-3);border:.0625rem solid var(--border-strong)}.course-delete-confirm button{display:inline-flex;width:auto;min-height:2.75rem;margin:var(--space-2) var(--space-2) 0 0}.course-form textarea[name=pgn]{min-height:12rem;font-family:ui-monospace,monospace}.course-form form,.course-form label,.course-form__wide{min-width:0}.course-form input,.course-form select,.course-form textarea{min-width:0;width:100%;max-width:100%}.starter-path-list{display:grid;gap:var(--space-6)}.starter-path-choice,.starter-invitation,.starter-enrol,.path-next,.path-check-summary{border:1px solid var(--border);padding:var(--space-5);margin-block:var(--space-6);border-radius:var(--radius-sm)}.starter-path-choice h2,.starter-invitation h2,.starter-lesson-guide h2,.path-next h2{font-size:1.5rem}.starter-chapter-selector{display:flex;flex-wrap:wrap;align-items:end;gap:var(--space-4);margin-block:var(--space-5)}.starter-chapter-selector label{display:grid;gap:var(--space-2);flex:1;min-width:0}.starter-chapter-selector select{width:100%;min-width:0;color:var(--text);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);padding:var(--space-3)}.starter-lesson-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.8fr);align-items:start;gap:var(--space-8)}.starter-lesson-guide p,.starter-lesson-guide li,.starter-scope p,.starter-scope li,.starter-invitation p,.path-next p{color:var(--text-soft);line-height:1.65}.starter-lesson-guide li{margin-bottom:var(--space-3)}.path-actions{display:flex;flex-wrap:wrap;align-items:start;gap:var(--space-3);margin-block:var(--space-4)}.path-actions button{white-space:normal;text-align:left}.path-progress-note{border-top:1px solid var(--border);padding-top:var(--space-4)}.starter-scope{margin-block:var(--space-6);border-top:1px solid var(--border);padding-block:var(--space-4)}.starter-scope summary,.starter-lesson-guide summary{cursor:pointer;padding-block:var(--space-3)}.starter-invitation ul{padding:0;list-style:none}.starter-invitation li{display:flex;flex-wrap:wrap;justify-content:space-between;gap:var(--space-3);padding-block:var(--space-3)}.starter-scope a{overflow-wrap:anywhere}.model-moment{display:grid;gap:var(--space-2);margin-block:var(--space-4)}.model-game-lesson textarea,.model-game-lesson select{display:block;width:100%;min-width:0;background:var(--surface);color:var(--text);border:1px solid var(--border);border-radius:var(--radius-sm);padding:var(--space-3)}@media(max-width:48rem){.starter-lesson-layout{grid-template-columns:minmax(0,1fr)}.starter-chapter-selector{flex-direction:column;align-items:stretch}}.opening-branches{margin-top:var(--space-5);border:.0625rem solid var(--border);border-radius:var(--radius-sm, .25rem)}.opening-branches>summary{cursor:pointer;padding:var(--space-4);font-weight:700}.opening-branches>summary span{margin-left:var(--space-3);color:var(--text-soft);font-size:.75rem;font-weight:400}.opening-branches__content{padding:0 var(--space-4) var(--space-4)}.opening-branches__content>p{color:var(--text-soft);font-size:.875rem;line-height:1.6}.opening-branches__navigation,.opening-branches__replies{display:flex;flex-wrap:wrap;gap:var(--space-2);margin:var(--space-3) 0}.opening-branches button{min-height:2.75rem;padding:var(--space-2) var(--space-3);border:.0625rem solid var(--border-strong);border-radius:var(--radius-sm, .25rem);background:transparent;color:var(--text)}.opening-branches button:disabled{opacity:.5;cursor:default}.opening-branches__replies button{display:flex;align-items:center;gap:var(--space-3)}.opening-branches__replies button span{color:var(--text-soft);font-size:.75rem}.opening-branches .opening-branches__path{overflow-wrap:anywhere;color:var(--text)}.opening-branches .opening-branches__transposition{color:var(--accent)}.opening-branches__lines summary{cursor:pointer;padding:var(--space-3) 0}.opening-branches__lines ul{list-style:none;padding:0;margin:0}.opening-branches__lines li{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-2);padding:var(--space-2) 0;border-top:.0625rem solid var(--border)}.opening-branches__lines li>span{flex:1 1 10rem;font-size:.875rem}.opening-branches .opening-branches__note{margin:var(--space-4) 0 0;font-size:.75rem}.opening-teaching{margin-block:var(--space-8);border-top:.0625rem solid var(--border);padding-top:var(--space-6)}.opening-teaching>p,.opening-teaching details p{max-width:65ch;color:var(--text-soft);line-height:1.7}.opening-teaching details{border-bottom:.0625rem solid var(--border);padding-block:var(--space-2)}.opening-teaching summary{display:flex;justify-content:space-between;gap:var(--space-3);padding-block:var(--space-4);font-weight:700;color:var(--text)}.opening-teaching summary:after{content:"+";flex:0 0 auto;color:var(--accent)}.opening-teaching details[open]>summary:after{content:"−"}.opening-teaching details>h3,.opening-teaching details>div>h3{margin-top:var(--space-5);margin-bottom:var(--space-2);font-size:1rem}.opening-teaching a{color:var(--accent);text-underline-offset:.25rem;overflow-wrap:anywhere}.opening-teaching__board{width:min(100%,26rem);margin-block:var(--space-4)}.opening-teaching__notation{font-size:.8125rem;overflow-wrap:anywhere}.opening-teaching fieldset{min-width:0;padding:0;border:0;margin-block:var(--space-4)}.opening-teaching legend{padding:0;font-weight:700;line-height:1.6}.opening-teaching__options{display:grid;gap:var(--space-2);max-width:44rem;margin-block:var(--space-4)}.opening-teaching__options button{min-height:2.75rem;padding:var(--space-3) var(--space-4);border:.0625rem solid var(--border-strong);border-radius:var(--radius-sm);text-align:left;background:var(--surface-raised);color:var(--text);line-height:1.6}.opening-teaching__options button:hover:not(:disabled){border-color:var(--accent)}.opening-teaching__options button:disabled{opacity:.75}.opening-teaching__feedback{margin-block:var(--space-4);border-left:.1875rem solid var(--accent);padding:var(--space-3) var(--space-4);background:var(--surface)}.opening-teaching__feedback p:last-child{margin-bottom:0}.opening-teaching__reflection{margin-block:var(--space-6);max-width:44rem}.opening-teaching__reflection label{display:block;margin-bottom:var(--space-2);font-weight:700}.opening-teaching__reflection textarea{display:block;width:100%;resize:vertical;padding:var(--space-3);margin-bottom:var(--space-3);border:.0625rem solid var(--border-strong);border-radius:var(--radius-sm);background:var(--surface);color:var(--text)}.opening-teaching__controls{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-3);margin-block:var(--space-4)}.opening-teaching .secondary-action{white-space:normal;text-align:left}@media(max-width:30rem){.opening-teaching__controls{display:grid;grid-template-columns:1fr}}.decision-exercise{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.8fr);align-items:start;gap:var(--space-8);margin-block:var(--space-6)}.decision-exercise .position-move-entry{width:100%}.decision-exercise input{min-width:0;width:100%}.decision-choices{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-top:var(--space-3)}.decision-coach{padding:var(--space-5);border:.0625rem solid var(--border);border-radius:var(--radius-sm)}.decision-coach h2{font-size:1.5rem;line-height:1.3}.decision-coach p{color:var(--text-soft);line-height:1.65}.decision-coach>small{display:block;margin-top:var(--space-3);color:var(--text-soft)}.decision-plan-choices{display:grid;gap:var(--space-3);margin-bottom:var(--space-5)}.decision-plan-choices button{white-space:normal;text-align:left}@media(max-width:48rem){.decision-exercise{grid-template-columns:minmax(0,1fr)}}.decision-promotion{display:grid;gap:var(--space-2);margin:var(--space-3) 0;font-size:.8125rem}.decision-promotion select{width:100%}.learning-settings{margin:var(--space-8) 0;padding:var(--space-6);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface)}.learning-settings h2{font-size:1.125rem}.learning-settings p{color:var(--text-muted);font-size:.8125rem;line-height:1.65}.learning-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-4)}.learning-form label{display:grid;gap:var(--space-2);font-size:.8125rem}.learning-form select{width:100%;min-width:0}.learning-form__wide{grid-column:1 / -1}.learning-form .learning-checkbox{display:flex;align-items:center}.learning-checkbox input{flex-shrink:0}.backup-actions{display:flex;flex-wrap:wrap;gap:var(--space-3);align-items:center}.backup-actions input{max-width:100%}.backup-file{display:grid;gap:var(--space-2);min-width:0;font-size:.8125rem}.backup-file input{width:100%;padding:var(--space-2)}.retention-list{display:grid;gap:var(--space-4);padding:0;list-style:none}.retention-list>li{padding:var(--space-4) 0;border-bottom:1px solid var(--border)}.retention-list details{margin-top:var(--space-3)}.retention-list summary{font-size:.875rem}.position-retention{display:grid;gap:var(--space-3);padding-left:var(--space-5);margin-top:var(--space-3)}.position-retention li{overflow-wrap:anywhere;font-size:.8125rem;color:var(--text-soft)}@media(max-width:640px){.learning-settings{padding:var(--space-4)}.learning-form{grid-template-columns:minmax(0,1fr)}.learning-settings .section-heading{align-items:start;flex-direction:column;gap:var(--space-3)}}.beta-section{margin-block:var(--space-8);padding-block:var(--space-6);border-bottom:1px solid var(--border)}.beta-section h2{font-size:1.25rem;margin-bottom:var(--space-3)}.beta-section h3{font-size:1rem}.beta-section p,.beta-protocol li,.beta-recovery p{color:var(--text-soft);font-size:.875rem;line-height:1.7}.beta-section a{color:var(--accent)}.beta-section details{margin-top:var(--space-4)}.beta-section summary{color:var(--text);font-weight:600}.beta-protocol{display:grid;gap:var(--space-4);padding-left:var(--space-5)}.beta-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-4)}.beta-form label{display:grid;gap:var(--space-2);font-size:.875rem;color:var(--text-soft)}.beta-form select,.beta-form textarea{width:100%;min-width:0}.beta-form textarea{padding:var(--space-3);resize:vertical}.beta-wide{grid-column:1 / -1}.beta-checkbox,.beta-form .beta-checkbox{display:flex;align-items:flex-start;gap:var(--space-3);font-size:.875rem;line-height:1.6}.beta-checkbox input{width:1rem;height:1rem;margin-top:.25rem;flex:0 0 auto;accent-color:var(--accent)}.beta-checklists{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-5);margin-top:var(--space-4)}.beta-checklist fieldset{display:grid;gap:var(--space-3);height:100%;min-width:0;padding:var(--space-4);border:1px solid var(--border);border-radius:var(--radius-sm)}.beta-checklist legend{padding-inline:var(--space-2);color:var(--text);font-weight:600}.beta-actions{display:flex;flex-wrap:wrap;gap:var(--space-3);margin-block:var(--space-5)}.beta-preview{margin-top:var(--space-6)}.beta-preview pre{max-width:100%;padding:var(--space-4);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);overflow-wrap:anywhere;white-space:pre-wrap;font-size:.75rem;line-height:1.6}.beta-recovery{padding-block:var(--space-8)}@media(max-width:640px){.beta-form,.beta-checklists{grid-template-columns:minmax(0,1fr)}.beta-wide{grid-column:1}.beta-actions{align-items:stretch;flex-direction:column}}:root{font-family:Manrope,ui-sans-serif,system-ui,sans-serif;color:#f4f2ea;background:#0b171a;font-synthesis:none;text-rendering:optimizeLegibility;--bg: #0b171a;--surface: #101f22;--surface-raised: #17292c;--surface-soft: #1c3033;--border: #2c4144;--border-strong: #42575a;--text: #f4f2ea;--text-soft: #b5c0bf;--text-muted: #81908f;--accent: #49d0b4;--accent-dark: #163f3a;--gold: #e1b95f;--danger: #ef866f;--success: #74d8a3;--radius-sm: .375rem;--radius-md: .625rem;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--space-8: 2rem;--space-10: 2.5rem;--space-12: 3rem;--space-16: 4rem}*{box-sizing:border-box}html{min-width:20rem;min-height:100%;scroll-behavior:smooth}body{min-width:20rem;min-height:100vh;margin:0;background:var(--bg)}button,input,select,textarea{font:inherit}button,summary,select,label.file-action{-webkit-tap-highlight-color:transparent}button,summary,select,label.file-action{cursor:pointer}button:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,a:focus-visible{outline:.1875rem solid var(--accent);outline-offset:.1875rem}button:disabled{cursor:not-allowed;opacity:.45}summary{list-style:none}summary::-webkit-details-marker{display:none}h1,h2,h3,p{margin-top:0}h1,h2,h3{text-wrap:balance}progress{overflow:hidden;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:transparent}progress::-webkit-progress-bar{background:#304346}progress::-webkit-progress-value{background:var(--accent)}progress::-moz-progress-bar{background:var(--accent)}.sr-only{position:absolute;width:.0625rem;height:.0625rem;padding:0;margin:-.0625rem;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:fixed;top:var(--space-3);left:var(--space-3);z-index:200;padding:var(--space-3);background:var(--surface-raised);color:var(--text);transform:translateY(-200%)}.skip-link:focus{transform:translateY(0)}.beta-footer{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:var(--space-3);border-top:1px solid var(--border);padding:var(--space-5);color:var(--text-soft);font-size:.875rem}.learning-guide{margin-bottom:var(--space-6);padding:var(--space-4);border:.0625rem solid var(--border);border-radius:var(--radius-sm);color:var(--text-soft)}.learning-guide summary{cursor:pointer;color:var(--text);font-weight:700}.learning-guide li{margin-block:var(--space-3)}.app-shell{min-height:100vh}.app-header{position:sticky;top:0;z-index:50;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;min-height:4.75rem;padding:var(--space-3) clamp(1rem,3.5vw,3.5rem);border-bottom:.0625rem solid var(--border);background:#0d1c1ff5;-webkit-backdrop-filter:blur(.75rem);backdrop-filter:blur(.75rem)}.product-brand{display:inline-flex;align-items:center;justify-self:start;gap:var(--space-2);padding:0;border:0;background:transparent;color:var(--text);font-family:"Source Serif 4",Georgia,serif;font-size:1.25rem;font-weight:500;letter-spacing:-.025em}.product-brand__mark{display:grid;width:2rem;height:2rem;place-items:center;border:.0625rem solid #78908f;border-radius:50%;color:var(--accent)}.product-brand__mark svg{width:1.15rem;height:1.15rem}.desktop-nav{display:flex;align-items:center;gap:var(--space-2)}.desktop-nav>button,.nav-menu>summary{display:flex;align-items:center;gap:var(--space-2);min-height:2.5rem;padding:var(--space-2) var(--space-3);border:0;border-radius:var(--radius-sm);background:transparent;color:var(--text-soft);font-size:.8125rem;font-weight:650}.desktop-nav>button:hover,.desktop-nav>button.is-active,.nav-menu>summary:hover{background:var(--surface-raised);color:var(--text)}.nav-menu{position:relative}.nav-menu__popover{position:absolute;top:calc(100% + var(--space-2));left:50%;width:20rem;padding:var(--space-2);border:.0625rem solid var(--border-strong);border-radius:var(--radius-md);background:#142528;box-shadow:0 1.25rem 3rem #0000004d;transform:translate(-50%)}.nav-menu__popover button{display:grid;grid-template-columns:2.5rem 1fr;width:100%;align-items:center;gap:var(--space-2);padding:var(--space-3);border:0;border-radius:var(--radius-sm);background:transparent;color:var(--text);text-align:left}.nav-menu__popover button:hover{background:var(--surface-soft)}.nav-menu__popover button>svg{color:var(--accent)}.nav-menu__popover button span{display:grid;gap:var(--space-1)}.nav-menu__popover strong{font-size:.8125rem}.nav-menu__popover small{color:var(--text-muted);font-size:.6875rem}.app-header__account{display:flex;align-items:center;justify-self:end;gap:var(--space-2)}.rating-pill{display:flex;align-items:center;gap:var(--space-2);min-height:2.25rem;padding:var(--space-2) var(--space-3);border:.0625rem solid var(--border-strong);border-radius:2rem;background:transparent;color:var(--text-soft);font-size:.75rem;font-weight:700}.avatar-button,.mobile-menu-button,.mobile-drawer button{border:0;background:transparent;color:inherit}.avatar-button,.mobile-menu-button{display:grid;width:2.75rem;height:2.75rem;place-items:center;border-radius:50%}.avatar-button:hover,.mobile-menu-button:hover{background:var(--surface-raised)}.mobile-menu-button{display:none}.mobile-drawer{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;padding:var(--space-4);background:#0d1c1f}.mobile-drawer__header{display:flex;align-items:center;justify-content:space-between;padding-bottom:var(--space-5);border-bottom:.0625rem solid var(--border)}.mobile-drawer__header>button{display:grid;width:2.75rem;height:2.75rem;place-items:center}.mobile-drawer nav{display:grid;padding:var(--space-5) 0}.mobile-drawer nav p{margin:var(--space-6) var(--space-3) var(--space-2);color:var(--text-muted);font-size:.6875rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.mobile-drawer nav button{padding:var(--space-3);border-radius:var(--radius-sm);color:var(--text);text-align:left}.mobile-drawer nav button:hover{background:var(--surface-raised)}.app-main{min-height:calc(100vh - 4.75rem)}.page-wrap{width:min(76rem,calc(100% - 2rem));margin-inline:auto;padding:var(--space-12) 0 var(--space-16)}.reading-page{width:min(68rem,calc(100% - 2rem))}.page-eyebrow{margin-bottom:var(--space-3);color:#8bb8b2;font-size:.6875rem;font-weight:750;letter-spacing:.13em;text-transform:uppercase}.page-header{display:flex;align-items:end;justify-content:space-between;gap:var(--space-10);margin-bottom:var(--space-12);padding-bottom:var(--space-8);border-bottom:.0625rem solid var(--border)}.page-header>div:first-child{max-width:46rem}.page-header h1,.opening-title h1{margin-bottom:var(--space-4);font-size:clamp(2.25rem,5vw,4.5rem);font-weight:500;line-height:1;letter-spacing:-.055em}.page-header p:last-child,.opening-title p:last-child{max-width:43rem;margin-bottom:0;color:var(--text-soft);font-size:1rem;line-height:1.65}.page-header__action{flex:0 0 auto}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:var(--space-6);margin-bottom:var(--space-5)}.section-heading h2{margin:0;font-size:1.5rem;font-weight:600;letter-spacing:-.025em}.section-heading>span{color:var(--text-muted);font-size:.75rem}.primary-action,.secondary-action,.text-action,.back-button,.danger-action{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);min-height:2.75rem;border-radius:var(--radius-sm);font-size:.8125rem;font-weight:750}.primary-action{padding:var(--space-3) var(--space-5);border:.0625rem solid var(--accent);background:var(--accent);color:#09201c}.primary-action:hover{background:#70ddc7}.secondary-action{padding:var(--space-3) var(--space-4);border:.0625rem solid var(--border-strong);background:transparent;color:var(--text)}.secondary-action:hover{background:var(--surface-raised)}.text-action,.back-button{padding:var(--space-2) 0;border:0;background:transparent;color:var(--text-soft)}.text-action:hover,.back-button:hover{color:var(--accent)}.danger-action{padding:var(--space-3) var(--space-4);border:.0625rem solid #6f4038;background:transparent;color:#ffac9b}.quiet-icon-button{display:grid;width:2.75rem;height:2.75rem;place-items:center;border:0;border-radius:50%;background:transparent;color:var(--text-muted)}.quiet-icon-button:hover{background:var(--surface-soft);color:var(--text)}.select-label,.explore-controls>label:not(.search-field){display:flex;align-items:center;gap:var(--space-2);color:var(--text-muted);font-size:.75rem}select,input,textarea{border:.0625rem solid var(--border-strong);border-radius:var(--radius-sm);background:#0e1c1f;color:var(--text)}select{min-height:2.75rem;padding:0 2.25rem 0 var(--space-3)}input{min-height:2.75rem;padding:0 var(--space-3)}textarea{padding:var(--space-3);line-height:1.55;resize:vertical}.today-page{padding-top:0}.today-hero{display:grid;grid-template-columns:minmax(20rem,.9fr) minmax(28rem,1.1fr);min-height:36rem;align-items:center;gap:clamp(3rem,8vw,8rem);border-bottom:.0625rem solid var(--border)}.today-hero__copy h1{max-width:35rem;margin-bottom:var(--space-5);font-size:clamp(3rem,6vw,6rem);font-weight:500;line-height:.96;letter-spacing:-.065em}.today-hero__copy>p:not(.page-eyebrow){max-width:34rem;margin-bottom:var(--space-6);color:var(--text-soft);line-height:1.7}.today-hero__copy .today-weak-note{margin:calc(var(--space-3) * -1) 0 var(--space-4);color:var(--gold);font-size:.75rem;font-weight:700}.time-note{display:inline-flex;align-items:center;gap:var(--space-2);margin-left:var(--space-4);color:var(--text-muted);font-size:.75rem}.time-note svg{width:1rem}.today-hero__board{overflow:hidden;align-self:stretch;display:flex;align-items:center;opacity:.94}.today-hero__board .chess-board{width:min(100%,38rem);transform:rotate(2deg) translate(3rem)}.today-plan{padding-top:var(--space-12)}.session-list{margin:0;padding:0;border-top:.0625rem solid var(--border);list-style:none}.session-list li{display:grid;grid-template-columns:3rem 1fr auto;align-items:center;gap:var(--space-4);min-height:5.5rem;padding:var(--space-3) 0;border-bottom:.0625rem solid var(--border)}.session-list__icon{display:grid;width:2.5rem;height:2.5rem;place-items:center;border:.0625rem solid var(--border-strong);border-radius:50%;color:var(--accent)}.session-list strong{display:block;margin-bottom:var(--space-1);font-size:.875rem}.session-list p{margin:0;color:var(--text-muted);font-size:.75rem}.session-list li>span:last-child{color:var(--text-soft);font-size:.75rem}.side-switch{display:flex;padding:.1875rem;border:.0625rem solid var(--border-strong);border-radius:var(--radius-sm)}.side-switch button{min-height:2.25rem;padding:0 var(--space-3);border:0;border-radius:.25rem;background:transparent;color:var(--text-muted);font-size:.75rem;font-weight:700}.side-switch button.is-active{background:var(--surface-soft);color:var(--text)}.opening-list{border-top:.0625rem solid var(--border)}.opening-row{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:var(--space-3);min-height:6.5rem;border-bottom:.0625rem solid var(--border)}.opening-row__rank{display:grid;width:2rem;height:2rem;place-items:center;color:var(--text-muted);font-family:"Source Serif 4",Georgia,serif;font-size:1rem}.opening-row__body{display:grid;gap:.375rem;width:100%;padding:var(--space-4);border:0;background:transparent;color:inherit;text-align:left}.opening-row__body:hover strong{color:var(--accent)}.opening-row__body strong{font-size:1rem}.opening-row__body>span:last-child{color:var(--text-soft);font-size:.8125rem;line-height:1.5}.opening-row__meta{color:var(--text-muted);font-size:.625rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.opening-row__actions{display:flex;align-items:center}.opening-page>.back-button{margin-bottom:var(--space-8)}.opening-title{display:flex;align-items:end;justify-content:space-between;gap:var(--space-10);margin-bottom:var(--space-10)}.opening-title__actions{display:flex;flex:0 0 auto;gap:var(--space-2)}.opening-layout{display:grid;grid-template-columns:minmax(28rem,40rem) minmax(18rem,1fr);align-items:start;gap:clamp(3rem,7vw,7rem)}.line-selector{display:grid;grid-template-columns:1fr auto;align-items:end;gap:var(--space-2) var(--space-4);max-width:40rem;margin:0 auto var(--space-4)}.line-selector label{color:var(--text);font-size:.75rem;font-weight:750}.line-selector select{min-width:13rem}.line-selector p{grid-column:1 / -1;margin:0;color:var(--text-muted);font-size:.75rem;line-height:1.55}.chess-board{width:100%;max-width:40rem;margin-inline:auto}.chess-board__placeholder{width:100%;aspect-ratio:1;background:var(--surface)}.line-board__controls{display:grid;grid-template-columns:auto auto 1fr auto;align-items:center;gap:var(--space-2);max-width:40rem;margin:var(--space-3) auto 0}.line-board__controls button{display:grid;width:2.5rem;height:2.5rem;place-items:center;border:.0625rem solid var(--border-strong);border-radius:50%;background:transparent;color:var(--text-soft)}.line-board__controls span{color:var(--text-muted);font-size:.6875rem;text-align:center}.line-board__notation{max-width:40rem;min-height:3rem;margin:var(--space-4) auto 0;color:var(--text-soft);font-size:.75rem;line-height:1.6}.line-board__explanation{max-width:40rem;margin:var(--space-3) auto 0;padding:var(--space-4) 0;border-top:.0625rem solid var(--border)}.line-board__explanation span{color:var(--accent);font-size:.625rem;font-weight:750;letter-spacing:.08em;text-transform:uppercase}.line-board__explanation p,.opening-purpose{color:var(--text-soft);font-size:.8125rem;line-height:1.65}.opening-guide{display:grid;gap:var(--space-6)}.opening-guide section{padding-bottom:var(--space-6);border-bottom:.0625rem solid var(--border)}.opening-guide h2{font-family:"Source Serif 4",Georgia,serif;font-size:1.75rem;font-weight:500;line-height:1.3}.opening-guide h3{font-size:.875rem}.opening-guide ol,.opening-guide ul{display:grid;gap:var(--space-3);padding-left:1.25rem;color:var(--text-soft);font-size:.8125rem;line-height:1.5}.opening-guide .trap-note{padding:var(--space-5);border:.0625rem solid #655733;border-radius:var(--radius-sm);background:#211f18}.trap-note>span{color:var(--gold);font-size:.625rem;font-weight:750;letter-spacing:.1em;text-transform:uppercase}.trap-note h3{margin:var(--space-2) 0;color:var(--gold)}.trap-note p{margin:0;color:#c6bda9;font-size:.8125rem;line-height:1.55}.personal-note{display:grid;grid-template-columns:15rem 1fr auto;align-items:start;gap:var(--space-5);margin-top:var(--space-12);padding-top:var(--space-8);border-top:.0625rem solid var(--border)}.personal-note h2{margin-bottom:var(--space-2);font-size:1rem}.personal-note p{margin:0;color:var(--text-muted);font-size:.75rem;line-height:1.5}.personal-note textarea{min-height:6rem}.practice-page-full{min-height:calc(100vh - 4.75rem)}.practice-session{display:grid;grid-template-columns:minmax(30rem,1fr) minmax(19rem,30rem);width:min(78rem,calc(100% - 2rem));min-height:calc(100vh - 8.75rem);margin-inline:auto}.practice-stage{display:flex;flex-direction:column;justify-content:center;padding:var(--space-8) clamp(2rem,5vw,5rem) var(--space-8) 0}.practice-stage__meta{display:grid;gap:var(--space-3);max-width:40rem;width:100%;margin:0 auto var(--space-4)}.practice-stage__meta h1{margin:0;font-size:1rem}.practice-line-name{display:block;margin-top:var(--space-1);color:var(--accent);font-size:.6875rem;font-weight:700}.practice-stage__controls{display:grid;grid-template-columns:auto minmax(0,1fr) minmax(0,1fr);align-items:center;gap:var(--space-3)}.practice-stage__controls label{min-width:0}.practice-stage__controls select{width:100%;min-width:0;min-height:2.5rem}.accessible-moves{display:grid;grid-template-columns:auto repeat(3,minmax(4rem,1fr));align-items:center;gap:var(--space-2);max-width:40rem;width:100%;margin:var(--space-4) auto 0}.accessible-moves>span{color:var(--text-muted);font-size:.625rem;font-weight:700;text-transform:uppercase}.accessible-moves button{min-height:2.75rem;border:.0625rem solid var(--border-strong);border-radius:var(--radius-sm);background:transparent;color:var(--text);font-weight:700}.accessible-moves button:hover{background:var(--surface-raised)}.practice-stage .accessible-moves{display:flex;flex-wrap:wrap}.practice-stage .accessible-moves button{padding-inline:var(--space-3)}.practice-stage .accessible-moves button:not(:first-child){flex:1}.practice-stage .position-move-entry{width:100%}.practice-stage .position-move-entry input{min-width:0;width:100%}.practice-feedback{max-width:40rem;min-height:2.5rem;margin:var(--space-3) auto 0;color:var(--text-muted);font-size:.75rem;line-height:1.5}.practice-feedback.is-correct{color:var(--success)}.practice-history{display:grid;grid-template-columns:2.5rem 1fr 2.5rem;align-items:center;gap:var(--space-2);max-width:40rem;width:100%;margin:var(--space-3) auto 0}.practice-history button{display:grid;min-height:2.5rem;place-items:center;border:.0625rem solid var(--border-strong);border-radius:var(--radius-sm);background:transparent;color:var(--text)}.practice-history span{color:var(--text-muted);font-size:.6875rem;text-align:center}.completed-line-review{margin-top:var(--space-10);padding-top:var(--space-6);border-top:.0625rem solid var(--border);text-align:left}.completed-line-review summary{margin-bottom:var(--space-5);color:var(--accent);cursor:pointer;font-weight:700}.practice-prompt{display:flex;flex-direction:column;justify-content:center;padding:var(--space-10) 0 var(--space-10) clamp(2rem,5vw,5rem);border-left:.0625rem solid var(--border)}.practice-prompt h2{max-width:23rem;margin-bottom:var(--space-5);font-size:clamp(1.75rem,2.5vw,2.5rem);font-weight:500;line-height:1.15;letter-spacing:-.035em}.practice-prompt>p:not(.page-eyebrow){max-width:22rem;color:var(--text-soft);line-height:1.65}.hint-action{display:flex;align-items:center;align-self:start;gap:var(--space-2);margin-top:var(--space-5);padding:var(--space-3) 0;border:0;background:transparent;color:var(--gold);font-weight:700}.practice-hint{display:flex;gap:var(--space-3);max-width:22rem;margin-top:var(--space-2);padding:var(--space-4);border-left:.125rem solid var(--gold);background:#171d1a;color:#c9c2b2}.practice-hint p{margin:0;font-size:.8125rem;line-height:1.55}.practice-next{align-self:start;margin-top:var(--space-5)}.practice-progress{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:var(--space-3);margin-top:var(--space-10);padding-top:var(--space-5);border-top:.0625rem solid var(--border)}.practice-progress span{font-size:.6875rem;font-weight:700}.practice-progress progress{width:100%;height:.25rem;border-radius:1rem}.practice-progress small{grid-column:1 / -1;color:var(--text-muted)}.mode-list{border-top:.0625rem solid var(--border)}.mode-list>button{display:grid;grid-template-columns:3rem 1fr auto;align-items:center;gap:var(--space-4);width:100%;min-height:6rem;padding:var(--space-4) 0;border:0;border-bottom:.0625rem solid var(--border);background:transparent;color:var(--text);text-align:left}.mode-list>button>svg:first-child{color:var(--accent)}.mode-list>button span{display:grid;gap:var(--space-1)}.mode-list strong{font-size:1rem}.mode-list small{color:var(--text-muted);font-size:.75rem;line-height:1.5}.mode-list>button:hover strong{color:var(--accent)}.practice-complete{width:min(42rem,calc(100% - 2rem));margin:10vh auto;text-align:center}.practice-complete__mark{display:grid;width:4rem;height:4rem;margin:0 auto var(--space-6);place-items:center;border:.0625rem solid var(--accent);border-radius:50%;color:var(--accent);font-size:1.5rem}.practice-complete h1{font-size:clamp(2.25rem,5vw,4rem);line-height:1.05;letter-spacing:-.05em}.practice-complete>p:not(.page-eyebrow){color:var(--text-soft);line-height:1.6}.practice-complete>div{display:flex;justify-content:center;gap:var(--space-2);margin-top:var(--space-6)}.refutation-practice{width:min(72rem,calc(100% - 2rem))}.refutation-heading{display:flex;align-items:end;justify-content:space-between;gap:var(--space-8);margin:var(--space-6) 0 var(--space-8);padding-bottom:var(--space-6);border-bottom:.0625rem solid var(--border)}.refutation-heading h1{max-width:43rem;margin-bottom:var(--space-3);font-size:clamp(2.5rem,5vw,4.5rem);font-weight:500;line-height:1;letter-spacing:-.055em}.refutation-heading p:last-child{margin:0;color:var(--text-soft)}.refutation-heading label{display:grid;flex:0 0 18rem;gap:var(--space-2);color:var(--text-muted);font-size:.6875rem;font-weight:700}.refutation-board-layout{display:grid;grid-template-columns:minmax(25rem,40rem) 1fr;align-items:center;gap:clamp(2rem,6vw,6rem)}.refutation-coach{padding-left:clamp(2rem,5vw,5rem);border-left:.0625rem solid var(--border)}.refutation-coach h2{max-width:24rem;margin-bottom:var(--space-5);font-size:clamp(2rem,3vw,3.25rem);font-weight:500;line-height:1.05;letter-spacing:-.045em}.refutation-coach>p:not(.page-eyebrow){color:var(--text-soft);line-height:1.65}.refutation-coach>p[role=status]{margin:var(--space-6) 0;padding:var(--space-4);border-left:.125rem solid var(--gold);background:#171d1a;font-size:.8125rem}.refutation-coach>p[role=status].is-solved{border-color:var(--success);background:#10291f;color:var(--success)}.refutation-nav{display:flex;justify-content:space-between;gap:var(--space-4);margin-top:var(--space-6);padding-top:var(--space-4);border-top:.0625rem solid var(--border)}.position-plans{display:grid;gap:var(--space-3);max-width:42rem}.position-plans>p{color:var(--text-soft)}.position-plans button{display:grid;grid-template-columns:2rem 1fr;align-items:center;gap:var(--space-3);padding:var(--space-4);border:.0625rem solid var(--border);border-radius:var(--radius-sm);background:transparent;color:var(--text);text-align:left}.position-plans button span{color:var(--text-muted)}.position-plans button.is-selected{border-color:var(--accent);background:var(--accent-dark)}.position-practice__layout{display:grid;grid-template-columns:minmax(24rem,40rem) 1fr;align-items:center;gap:clamp(2rem,6vw,6rem)}.position-game__footer{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);max-width:40rem;margin:var(--space-3) auto 0}.position-move-entry{display:grid;grid-template-columns:1fr auto;gap:var(--space-2);max-width:40rem;margin:var(--space-3) auto 0}.position-move-entry label{grid-column:1 / -1;color:var(--text-muted);font-size:.6875rem;font-weight:700}.position-move-entry select{width:100%}.position-game__footer p{margin:0;color:var(--text-muted);font-size:.75rem;line-height:1.5}.position-game__footer button{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2);border:0;background:transparent;color:var(--text-soft);font-size:.75rem}.position-plans__feedback{margin-top:var(--space-3);padding:var(--space-4);border-left:.125rem solid var(--accent);color:var(--text-soft)!important}.explore-controls{display:grid;grid-template-columns:minmax(18rem,1fr) auto;gap:var(--space-3);margin-bottom:var(--space-3)}.search-field{display:flex;align-items:center;gap:var(--space-2);padding-left:var(--space-3);border:.0625rem solid var(--border-strong);border-radius:var(--radius-sm);background:#0e1c1f;color:var(--text-muted)}.search-field input{width:100%;border:0;background:transparent;outline:0}.result-count{color:var(--text-muted);font-size:.6875rem}.empty-state{max-width:32rem;margin:var(--space-12) auto;padding:var(--space-10) 0;text-align:center}.empty-state h2,.empty-state h3{margin-bottom:var(--space-3)}.empty-state p{color:var(--text-muted);line-height:1.6}.empty-state button,.inline-empty button{padding:var(--space-3) var(--space-4);border:.0625rem solid var(--border-strong);border-radius:var(--radius-sm);background:transparent;color:var(--text)}.repertoire-columns{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,6vw,6rem)}.inline-empty{padding:var(--space-6) 0;color:var(--text-muted)}.trap-list{border-top:.0625rem solid var(--border)}.trap-list article{display:grid;grid-template-columns:10rem 1fr auto;align-items:start;gap:var(--space-6);padding:var(--space-6) 0;border-bottom:.0625rem solid var(--border)}.trap-list article>div>p:first-child{margin-bottom:var(--space-1);color:var(--text-muted);font-size:.6875rem}.trap-list h2{margin-bottom:var(--space-3);font-size:1.25rem}.trap-list article>div>p{color:var(--text-soft);font-size:.8125rem;line-height:1.55}.trap-list article>div strong{display:block;margin-bottom:var(--space-1);color:var(--gold);font-size:.6875rem;text-transform:uppercase}.trap-list article>button{display:grid;width:2.75rem;height:2.75rem;place-items:center;border:.0625rem solid var(--border-strong);border-radius:50%;background:transparent;color:var(--text)}.verdict{display:inline-flex;align-items:center;gap:var(--space-2);color:var(--gold);font-size:.625rem;font-weight:750;letter-spacing:.05em;text-transform:uppercase}.verdict svg{width:1rem}.verdict--refutation{color:var(--success)}.trap-practice-action{margin-top:var(--space-8)}.course-form{margin-bottom:var(--space-12);padding:var(--space-6);border:.0625rem solid var(--border);border-radius:var(--radius-md);background:var(--surface)}.course-form h2{font-size:1.25rem}.course-form form{display:grid;grid-template-columns:1fr 12rem;gap:var(--space-4)}.course-form label,.pgn-form>label:first-child{display:grid;gap:var(--space-2);color:var(--text-soft);font-size:.75rem;font-weight:650}.course-form__wide,.course-form__actions,.form-error{grid-column:1 / -1}.course-form textarea{min-height:8rem}.course-form__actions{display:flex;justify-content:flex-end;gap:var(--space-2)}.course-form__actions .text-action{margin-right:auto}.form-error{display:flex;align-items:center;gap:var(--space-2);margin:0;color:#ffac9b;font-size:.75rem}.community-list{border-top:.0625rem solid var(--border)}.community-list article{display:flex;justify-content:space-between;gap:var(--space-5);padding:var(--space-5) 0;border-bottom:.0625rem solid var(--border)}.community-list article span{color:var(--text-muted);font-size:.625rem;text-transform:uppercase}.community-list h3{margin:var(--space-2) 0}.community-list p{margin:0;color:var(--text-soft);font-size:.8125rem}.community-list article>button{border:0;background:transparent;color:var(--danger)}.games-page{width:min(72rem,calc(100% - 2rem))}.games-layout{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,6vw,6rem);align-items:start}.pgn-form{display:grid;gap:var(--space-3)}.pgn-form textarea{min-height:20rem;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.75rem}.pgn-form__actions{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2)}.file-action{position:relative;cursor:pointer}.file-action input{position:absolute;width:.0625rem;height:.0625rem;opacity:0}.privacy-note{display:flex;gap:var(--space-2);margin-top:var(--space-3);color:var(--text-muted);font-size:.6875rem;line-height:1.5}.privacy-note svg{flex:0 0 auto}.game-result{min-height:28rem;padding:var(--space-8);border-left:.0625rem solid var(--border)}.game-result__empty{padding-top:var(--space-8)}.game-result__empty>span{display:grid;width:3.5rem;height:3.5rem;margin-bottom:var(--space-6);place-items:center;border:.0625rem solid var(--border-strong);border-radius:50%;color:var(--accent);font-size:.6875rem;font-weight:750}.game-result h2{font-size:2rem;letter-spacing:-.035em}.game-result p{color:var(--text-soft);font-size:.8125rem;line-height:1.6}.analysis-result dl{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-3);margin:var(--space-6) 0}.analysis-result dl div{padding:var(--space-4) 0;border-block:.0625rem solid var(--border)}.analysis-result dt{color:var(--text-muted);font-size:.625rem;text-transform:uppercase}.analysis-result dd{margin:var(--space-2) 0 0;font-weight:700}.analysis-result section{margin-bottom:var(--space-6);padding:var(--space-5);background:var(--surface)}.engine-form{width:min(52rem,100%)}.game-import{margin-bottom:var(--space-8);padding-bottom:var(--space-8);border-bottom:.0625rem solid var(--border)}.review-history{margin:calc(var(--space-5) * -1) 0 var(--space-8);border-bottom:.0625rem solid var(--border)}.review-history>summary{display:flex;min-height:3.5rem;align-items:center;justify-content:space-between;gap:var(--space-4);color:var(--text-soft);font-size:.8125rem;font-weight:700}.review-history>summary span{display:flex;align-items:center;gap:var(--space-2)}.review-history>summary svg{color:var(--accent)}.review-history>summary small{color:var(--text-muted);font-weight:500}.review-history ol{margin:0;padding:0 0 var(--space-5);list-style:none}.review-history li{display:grid;grid-template-columns:1fr auto;align-items:center;min-height:4.75rem;border-top:.0625rem solid var(--border)}.review-history__open{display:grid;gap:var(--space-1);min-height:4.75rem;padding:var(--space-3) var(--space-4) var(--space-3) 0;border:0;background:transparent;color:var(--text);text-align:left}.review-history__open:hover strong{color:var(--accent)}.review-history__open strong{font-size:.8125rem}.review-history__open span,.review-history__open small{color:var(--text-muted);font-size:.6875rem}.game-import__intro{display:flex;align-items:end;justify-content:space-between;gap:var(--space-8);margin-bottom:var(--space-5)}.game-import__intro h2{margin:0;font-size:1.5rem;font-weight:600;letter-spacing:-.025em}.game-import__intro>p{max-width:24rem;margin:0;color:var(--text-muted);font-size:.75rem;line-height:1.6}.provider-switch{display:inline-flex;margin-bottom:var(--space-4);padding:var(--space-1);border:.0625rem solid var(--border);border-radius:var(--radius-md);background:var(--surface)}.provider-switch button{display:inline-flex;min-height:2.25rem;align-items:center;gap:var(--space-2);padding:0 var(--space-4);border:0;border-radius:var(--radius-sm);background:transparent;color:var(--text-muted);font-size:.75rem;font-weight:700}.provider-switch button.is-active{background:var(--surface-soft);color:var(--text)}.provider-switch button svg{color:var(--accent)}.account-connect{display:grid;max-width:48rem;gap:var(--space-4);padding:var(--space-5);border:.0625rem solid var(--border);background:var(--surface)}.account-connect>div:first-child{display:flex;align-items:start;gap:var(--space-3)}.account-connect>div:first-child>svg{flex:0 0 auto;color:var(--accent)}.account-connect>div:first-child span{display:grid;gap:var(--space-1)}.account-connect>div:first-child strong{font-size:.875rem}.account-connect>div:first-child small{max-width:40rem;color:var(--text-muted);font-size:.6875rem;line-height:1.6}.account-connect>label{color:var(--text-soft);font-size:.75rem;font-weight:650}.account-connect__controls{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:var(--space-2)}.connected-account{display:flex;min-height:5rem;align-items:center;justify-content:space-between;gap:var(--space-5);max-width:52rem;padding:var(--space-4);border-block:.0625rem solid var(--border)}.connected-account__identity{display:flex;align-items:center;gap:var(--space-3);min-width:0}.connected-account__identity>span{display:grid;width:2.5rem;height:2.5rem;flex:0 0 auto;place-items:center;border-radius:50%;background:var(--accent-dark);color:var(--accent)}.connected-account__identity>span svg{width:1.25rem;height:1.25rem}.connected-account__identity>div{display:grid;gap:var(--space-1);min-width:0}.connected-account__identity small{color:var(--text-muted);font-size:.625rem;text-transform:uppercase}.connected-account__identity strong{overflow:hidden;font-size:1rem;text-overflow:ellipsis}.connected-account__actions{display:flex;align-items:center;gap:var(--space-3)}.connected-games-loading{display:flex;min-height:8rem;align-items:center;gap:var(--space-3);color:var(--text-muted);font-size:.75rem}.connected-games-loading svg{color:var(--accent)}.username-import{display:grid;max-width:42rem;gap:var(--space-2)}.username-import>label{color:var(--text-soft);font-size:.75rem;font-weight:650}.username-import>div{display:grid;grid-template-columns:1fr auto;gap:var(--space-2)}.imported-games{margin-top:var(--space-8)}.imported-games .section-heading{align-items:center;margin-bottom:var(--space-3)}.imported-games .section-heading h3{margin:0;font-size:.875rem}.imported-games ol{max-height:26rem;margin:0;padding:0;overflow:auto;border-top:.0625rem solid var(--border);list-style:none}.imported-games li{border-bottom:.0625rem solid var(--border)}.imported-games li button{display:grid;grid-template-columns:1fr auto;width:100%;gap:var(--space-2);padding:var(--space-4) var(--space-2);border:0;background:transparent;color:var(--text);text-align:left}.imported-games li button:hover{background:var(--surface)}.game-players{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2);font-size:.8125rem}.game-players>span{color:var(--accent);font-size:.6875rem;font-weight:750}.game-meta{color:var(--text-muted);font-size:.6875rem;text-transform:capitalize}.imported-games svg{grid-column:2;grid-row:1 / span 2;align-self:center;color:var(--accent)}.load-more-games{width:100%;margin-top:var(--space-4)}.manual-pgn{max-width:52rem}.manual-pgn>summary{display:inline-flex;min-height:2.75rem;align-items:center;color:var(--text-soft);font-size:.8125rem;font-weight:700}.manual-pgn[open]>summary{margin-bottom:var(--space-5);color:var(--accent)}.engine-form__settings{display:flex;align-items:end;justify-content:space-between;gap:var(--space-5);margin-bottom:var(--space-3);padding-bottom:var(--space-5);border-bottom:.0625rem solid var(--border)}.engine-form__settings label{display:grid;gap:var(--space-2);color:var(--text-soft);font-size:.75rem;font-weight:650}.engine-form__settings span{color:var(--text-muted);font-size:.6875rem}.engine-progress{display:grid;gap:var(--space-2);padding:var(--space-4) 0;color:var(--text-soft);font-size:.75rem}.engine-progress progress{width:100%;height:.375rem}.game-review-page{width:min(88rem,calc(100% - 2rem));padding-top:var(--space-2)}.game-review-page>.back-button{min-height:2rem}.review-loading{min-height:24rem;display:grid;place-items:center;color:var(--text-muted);font-size:.8125rem}.engine-review__header{display:flex;align-items:end;justify-content:space-between;gap:var(--space-8);margin:var(--space-8) 0;padding-bottom:var(--space-6);border-bottom:.0625rem solid var(--border)}.engine-review__header h2{margin:0;font-size:clamp(2rem,4vw,3.5rem);font-weight:500;letter-spacing:-.045em}.engine-review__header dl{display:flex;gap:var(--space-6);margin:0}.engine-review__header dl div{display:grid;gap:var(--space-1)}.engine-review__header dt{color:var(--text-muted);font-size:.625rem;text-transform:uppercase}.engine-review__header dd{margin:0;font-size:1.25rem;font-weight:700}.game-report{display:grid;grid-template-columns:minmax(0,39rem) minmax(24rem,1fr);align-items:start;justify-content:space-between;gap:clamp(2rem,5vw,5rem)}.game-report__visual{width:100%;max-width:39rem;min-width:0}.report-player{display:grid;grid-template-columns:2.25rem 1fr auto;align-items:center;gap:var(--space-3);max-width:calc(100% - 2.5rem);min-height:3.5rem;margin-left:2.5rem;padding:var(--space-2) var(--space-3);background:var(--surface)}.report-player--bottom{border-top:.0625rem solid var(--border)}.report-player__piece{display:grid;width:2rem;height:2rem;place-items:center;border:.0625rem solid var(--border-strong);border-radius:50%}.report-player__piece svg{width:1.25rem;height:1.25rem}.report-player__piece--white{background:var(--text);color:var(--surface)}.report-player__piece--black{background:#152023;color:var(--text-soft)}.report-player strong{font-size:.8125rem}.report-player small{color:var(--text-muted);font-size:.6875rem}.report-board{gap:var(--space-2)}.report-board .chess-board{max-width:none}.report-board .evaluation-bar{min-height:0}.report-evaluation{max-width:calc(100% - 2.5rem);margin:var(--space-5) 0 0 2.5rem}.report-evaluation svg{display:block;width:100%;height:7rem;border:.0625rem solid var(--border);border-radius:var(--radius-sm);background:var(--surface)}.evaluation-zero{stroke:var(--border-strong);stroke-width:2}.evaluation-line{fill:none;stroke:var(--text-soft);stroke-width:4;vector-effect:non-scaling-stroke}.evaluation-moment{stroke:var(--surface);stroke-width:4;vector-effect:non-scaling-stroke}.evaluation-moment.grade-inaccuracy{fill:var(--gold)}.evaluation-moment.grade-mistake,.evaluation-moment.grade-blunder{fill:var(--danger)}.report-evaluation figcaption{margin-top:var(--space-2);color:var(--text-muted);font-size:.625rem}.game-report__summary{min-width:0;padding-top:var(--space-2)}.game-report__heading{padding-bottom:var(--space-5);border-bottom:.0625rem solid var(--border)}.game-report__heading h1{max-width:35rem;margin-bottom:var(--space-4);font-family:"Source Serif 4",Georgia,serif;font-size:clamp(2.25rem,4vw,4rem);font-weight:500;line-height:1.02;letter-spacing:-.045em}.game-report__heading>p:last-child{max-width:38rem;margin:0;color:var(--text-soft);font-size:.875rem;line-height:1.7}.report-score{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:var(--space-4);padding:var(--space-3) 0;border-bottom:.0625rem solid var(--border);text-align:center}.report-score>div{display:grid;gap:var(--space-1);min-width:0}.report-score>div:first-child{text-align:left}.report-score>div:last-child{text-align:right}.report-score strong{overflow:hidden;font-size:.8125rem;text-overflow:ellipsis;white-space:nowrap}.report-score span,.report-score small{color:var(--text-muted);font-size:.625rem}.report-score b{color:var(--accent);font-size:1.75rem}.report-score>p{margin:0;padding-inline:var(--space-4);border-inline:.0625rem solid var(--border);font-family:"Source Serif 4",Georgia,serif;font-size:1.75rem;font-weight:600}.grade-summary{max-width:42rem}.grade-summary>div{display:grid;grid-template-columns:1fr 5rem 5rem;align-items:center;min-height:2.5rem;border-bottom:.0625rem solid var(--border)}.grade-summary span{display:flex;align-items:center;gap:var(--space-2);color:var(--text-soft);font-size:.75rem}.grade-summary strong{font-size:.75rem;text-align:center}.report-grades{max-width:none}.report-grades>div{min-height:2.25rem}.report-grades>div:first-child{min-height:2.75rem;color:var(--text-muted);text-transform:uppercase}.report-grade-icon{display:grid;width:1.5rem;height:1.5rem;place-items:center;border-radius:50%;background:var(--accent-dark);color:var(--accent)}.report-grade-icon svg{width:.875rem;height:.875rem}.report-grade-icon.grade-inaccuracy{background:#40351e;color:var(--gold)}.report-grade-icon.grade-mistake,.report-grade-icon.grade-blunder{background:#482923;color:var(--danger)}.report-lesson{display:grid;grid-template-columns:2rem 1fr;gap:var(--space-3);margin-top:var(--space-5);padding:var(--space-4);border:.0625rem solid var(--border-strong);background:var(--surface)}.report-lesson>svg{width:1.5rem;height:1.5rem;color:var(--accent)}.report-lesson strong{color:var(--accent);font-size:.8125rem}.report-lesson p{margin:var(--space-1) 0 0;color:var(--text-soft);font-size:.75rem;line-height:1.6}.report-actions{display:grid;gap:var(--space-2);margin-top:var(--space-5)}.report-actions .primary-action{width:100%;min-height:3.5rem;font-size:1rem}.report-actions .text-action{justify-self:center}.report-method{display:flex;justify-content:space-between;gap:var(--space-4);margin-top:var(--space-3);color:var(--text-muted);font-size:.625rem}.accuracy-note{max-width:42rem;margin:var(--space-3) 0 0;color:var(--text-muted);font-size:.625rem;line-height:1.5}.report-method .accuracy-note{margin:0;text-align:right}.guided-review-heading{display:flex;align-items:center;justify-content:space-between;gap:var(--space-6);margin:var(--space-5) 0 var(--space-8);padding-bottom:var(--space-5);border-bottom:.0625rem solid var(--border)}.guided-review-heading>div{text-align:right}.guided-review-heading p{margin-bottom:var(--space-1)}.guided-review-heading strong{font-family:"Source Serif 4",Georgia,serif;font-size:1.25rem;font-weight:500}.analysis-warning{display:flex;align-items:center;gap:var(--space-2);color:var(--gold);font-size:.75rem}.review-workspace{display:grid;grid-template-columns:minmax(27rem,1.04fr) minmax(24rem,.96fr);align-items:start;gap:var(--space-6)}.review-board-area{display:grid;grid-template-columns:2rem 1fr;align-items:stretch;gap:var(--space-2)}.review-board-area>div:last-child{min-width:0}.board-position-note{margin:var(--space-3) 0 0;color:var(--text-muted);font-size:.6875rem;text-align:center}.evaluation-bar{display:flex;min-height:20rem;overflow:hidden;border:.0625rem solid var(--border-strong);border-radius:var(--radius-sm);background:#111}.evaluation-bar--white{flex-direction:column}.evaluation-bar--black{flex-direction:column-reverse}.evaluation-bar__black{flex:1;background:#152023}.evaluation-bar__white{position:relative;flex:0 0 var(--white-share);background:#e8e4d9;color:#152023}.evaluation-bar__white strong{position:absolute;right:0;bottom:var(--space-2);left:0;font-size:.625rem;text-align:center;writing-mode:vertical-rl}.review-panel{display:flex;min-height:36rem;flex-direction:column;border:.0625rem solid var(--border);border-radius:var(--radius-sm);background:var(--surface)}.review-coach{padding:var(--space-6)}.coach-heading{display:flex;align-items:center;gap:var(--space-3);margin-bottom:var(--space-5)}.coach-heading .move-grade,.coach-heading .page-eyebrow{margin:0}.review-coach h3{margin-bottom:var(--space-4);font-size:clamp(1.75rem,3vw,2.5rem);font-weight:500;line-height:1.08;letter-spacing:-.035em}.review-coach>p{max-width:34rem;color:var(--text-soft);font-size:.875rem;line-height:1.7}.coach-actions{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2);margin-top:var(--space-6)}.best-continuation{display:grid;gap:var(--space-2);margin-top:var(--space-5);padding:var(--space-4);border-left:.1875rem solid var(--accent);background:var(--surface)}.best-continuation span{color:var(--accent);font-size:.625rem;font-weight:750;letter-spacing:.1em;text-transform:uppercase}.best-continuation strong{line-height:1.6}.best-continuation p{margin:0;color:var(--text-soft);font-size:.75rem;line-height:1.6}.sandbox-coach .variation-line{margin-top:var(--space-6)}.review-stepper{display:grid;grid-template-columns:2.75rem 1fr 2.75rem;align-items:center;gap:var(--space-2);margin-top:auto;padding:var(--space-4) var(--space-5);border-top:.0625rem solid var(--border)}.review-stepper button{display:grid;min-height:2.75rem;place-items:center;border:.0625rem solid var(--border-strong);border-radius:var(--radius-sm);background:transparent;color:var(--text)}.review-stepper button:not(:disabled):hover{border-color:var(--accent);color:var(--accent)}.review-stepper span{display:grid;gap:var(--space-1);text-align:center}.review-stepper span small{color:var(--text-muted);font-size:.625rem;font-weight:650}.review-stepper span strong{font-size:.8125rem}.move-explanation{min-height:19rem}.move-grade{display:inline-flex;margin-bottom:var(--space-5);padding:var(--space-2) var(--space-3);border:.0625rem solid var(--border-strong);border-radius:2rem;color:var(--text-soft);font-size:.6875rem;font-weight:750}.grade-brilliant,.grade-great,.grade-best,.grade-excellent,.grade-good{border-color:var(--accent);color:var(--accent)}.grade-inaccuracy{border-color:var(--gold);color:var(--gold)}.grade-mistake,.grade-blunder{border-color:var(--danger);color:var(--danger)}.move-explanation h3{margin:var(--space-3) 0;font-size:clamp(2.75rem,6vw,5rem);font-weight:500;line-height:1}.move-explanation>p:not(.page-eyebrow){max-width:32rem;color:var(--text-soft);font-size:.9375rem;line-height:1.75}.best-line{padding-top:var(--space-4);border-top:.0625rem solid var(--border)}.explore-line-action{margin-top:var(--space-4)}.variation-line{display:grid;gap:var(--space-2);margin-top:var(--space-6);padding-top:var(--space-4);border-top:.0625rem solid var(--border)}.variation-line span{color:var(--text-muted);font-size:.75rem;line-height:1.6}.review-timeline{padding:var(--space-4) var(--space-5) var(--space-5);border-top:.0625rem solid var(--border)}.review-filters{display:flex;gap:var(--space-2);margin-bottom:var(--space-3);overflow-x:auto}.review-filters button{min-height:2.25rem;padding:0 var(--space-3);border:.0625rem solid var(--border-strong);border-radius:2rem;background:transparent;color:var(--text-muted);font-size:.6875rem;white-space:nowrap}.review-filters button.is-active{border-color:var(--accent);color:var(--accent)}.review-timeline ol{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-2);max-height:15rem;margin:0;padding:0 var(--space-1) 0 0;overflow-y:auto;list-style:none;scrollbar-color:var(--border-strong) transparent}.review-timeline li button{display:grid;grid-template-columns:auto 1fr;gap:var(--space-1) var(--space-2);width:100%;min-height:3.75rem;padding:var(--space-3);border:.0625rem solid var(--border);border-radius:var(--radius-sm);background:transparent;color:var(--text);text-align:left}.review-timeline li button.is-selected{border-color:var(--accent);background:var(--surface)}.review-timeline li button span,.review-timeline li button small{color:var(--text-muted);font-size:.625rem}.review-timeline li button small{grid-column:2}.timeline-empty{grid-column:1 / -1;color:var(--text-muted);font-size:.8125rem}.progress-summary{display:grid;grid-template-columns:repeat(3,1fr);margin-bottom:var(--space-12);border-block:.0625rem solid var(--border)}.progress-summary>div{display:flex;align-items:center;gap:var(--space-3);min-height:6rem;padding:var(--space-4)}.progress-summary>div+div{border-left:.0625rem solid var(--border)}.progress-summary svg{color:var(--accent)}.progress-summary span{display:grid;gap:var(--space-1);color:var(--text-muted);font-size:.6875rem}.progress-summary strong{color:var(--text);font-size:1.5rem}.progress-history ol{margin:0;padding:0;border-top:.0625rem solid var(--border);list-style:none}.progress-history li{display:grid;grid-template-columns:5rem 1fr auto;align-items:center;gap:var(--space-4);min-height:4.5rem;border-bottom:.0625rem solid var(--border)}.progress-history li>span{font-size:.6875rem;font-weight:700}.progress-history li>span.is-correct{color:var(--success)}.progress-history li>span.is-wrong{color:var(--danger)}.progress-history li div{display:grid;gap:var(--space-1)}.progress-history li strong{font-size:.8125rem}.progress-history li small{color:var(--text-muted);font-size:.625rem}.progress-history li button{border:0;background:transparent;color:var(--text-muted)}.settings-section{display:flex;align-items:center;justify-content:space-between;gap:var(--space-6);margin-top:var(--space-12);padding-top:var(--space-8);border-top:.0625rem solid var(--border)}.settings-section h2{margin-bottom:var(--space-2);font-size:1rem}.settings-section p{margin:0;color:var(--text-muted);font-size:.75rem}.reset-confirm{display:flex;align-items:center;gap:var(--space-2);color:var(--danger);font-size:.75rem}.reset-confirm button{padding:var(--space-2);border:.0625rem solid #6f4038;border-radius:var(--radius-sm);background:transparent;color:inherit}@media(max-width:64rem){.today-hero{grid-template-columns:1fr 1fr;gap:var(--space-8)}.today-hero__board .chess-board{transform:rotate(1deg) translate(1rem)}.opening-layout{grid-template-columns:minmax(24rem,34rem) 1fr;gap:var(--space-8)}.practice-session{grid-template-columns:minmax(27rem,1fr) 20rem}.practice-stage{padding-right:var(--space-8)}.practice-prompt{padding-left:var(--space-8)}}@media(max-width:48rem){.app-header{grid-template-columns:1fr auto}.desktop-nav,.rating-pill,.avatar-button{display:none}.mobile-menu-button{display:grid}.page-wrap,.reading-page,.games-page{width:min(100% - 1.5rem,42rem);padding-top:var(--space-8)}.page-header,.opening-title{display:grid;gap:var(--space-6);align-items:start}.page-header__action{justify-self:start}.today-hero{display:flex;min-height:0;flex-direction:column;align-items:stretch;gap:var(--space-8);padding:var(--space-10) 0}.today-hero__copy h1{font-size:clamp(3rem,13vw,5rem)}.today-hero__board{justify-content:center}.today-hero__board .chess-board{width:min(100%,28rem);transform:none}.opening-layout,.position-practice__layout{grid-template-columns:1fr}.refutation-heading{display:grid;align-items:start}.refutation-heading label{width:100%}.refutation-board-layout{grid-template-columns:1fr}.refutation-coach{padding:var(--space-6) 0 0;border-top:.0625rem solid var(--border);border-left:0}.review-workspace,.game-report{grid-template-columns:1fr}.game-report__summary{padding-top:var(--space-6);border-top:.0625rem solid var(--border)}.game-report__heading h1{max-width:32rem}.review-story{grid-template-columns:1fr 1fr}.review-focus{grid-column:1 / -1;padding:var(--space-4);background:#171d1a}.review-panel{min-height:0}.review-coach{min-height:0;padding:var(--space-6)}.move-explanation{min-height:0;padding-top:var(--space-6)}.review-timeline ol{grid-template-columns:repeat(2,1fr);max-height:none}.personal-note{grid-template-columns:1fr}.practice-session{display:flex;min-height:0;flex-direction:column;width:min(100% - 1.5rem,42rem)}.practice-prompt{order:2;padding:var(--space-6) 0;border:0;border-top:.0625rem solid var(--border)}.practice-prompt h2{max-width:38rem;font-size:1.75rem}.practice-stage{order:1;padding:var(--space-6) 0}.repertoire-columns,.games-layout{grid-template-columns:1fr}.repertoire-columns{gap:var(--space-12)}.game-result{min-height:0;padding:var(--space-8) 0;border-left:0;border-top:.0625rem solid var(--border)}.trap-list article{grid-template-columns:1fr auto;gap:var(--space-3)}.trap-list .verdict{grid-column:1 / -1}.course-form form{grid-template-columns:1fr}.course-form label,.course-form__wide,.course-form__actions,.form-error{grid-column:1}}@media(max-width:30rem){.app-header{min-height:4rem;padding-inline:var(--space-4)}.app-main{min-height:calc(100vh - 4rem)}.page-header h1,.opening-title h1{font-size:2.6rem}.section-heading{align-items:start}.session-list li{grid-template-columns:2.5rem 1fr}.session-list li>span:last-child{grid-column:2}.session-list li>button:last-child{grid-column:2;justify-self:start}.time-note{display:flex;margin:var(--space-4) 0 0}.opening-title__actions,.practice-complete>div{align-items:stretch;flex-direction:column}.opening-title__actions button{width:100%}.opening-row{grid-template-columns:1fr auto}.opening-row__rank{display:none}.opening-row__actions .quiet-icon-button:last-child{display:none}.explore-controls{grid-template-columns:1fr}.accessible-moves{grid-template-columns:repeat(3,1fr)}.accessible-moves>span{grid-column:1 / -1}.practice-stage__meta{flex-direction:column}.practice-stage__controls{width:100%;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.practice-stage__controls .back-button{grid-column:1 / -1;justify-self:start}.practice-stage__controls label{flex:1}.practice-stage__controls select{width:100%;min-width:0}.line-selector{grid-template-columns:1fr;align-items:start}.line-selector select,.line-selector p{grid-column:1;width:100%}.practice-stage__meta{align-items:start;gap:var(--space-3)}.practice-prompt h2{font-size:1.75rem}.mode-list>button{grid-template-columns:2.5rem 1fr}.mode-list>button>svg:last-child{display:none}.course-form{padding:var(--space-4)}.course-form__actions,.pgn-form__actions{align-items:stretch;flex-direction:column}.engine-form__settings,.engine-review__header{align-items:start;flex-direction:column}.game-import__intro{align-items:start;flex-direction:column;gap:var(--space-3)}.provider-switch{display:grid;grid-template-columns:1fr 1fr;width:100%}.connected-account,.connected-account__actions{align-items:stretch;flex-direction:column}.connected-account__actions button{width:100%}.account-connect__controls{grid-template-columns:1fr}.username-import>div{grid-template-columns:1fr}.game-report{display:block}.report-player,.report-evaluation{max-width:calc(100% - 2rem);margin-left:2rem}.report-score{gap:var(--space-2)}.report-score>p{padding-inline:var(--space-2);font-size:1.25rem}.report-score b{font-size:1.5rem}.report-score strong{font-size:.75rem}.report-grades>div{grid-template-columns:1fr 3.5rem 4.5rem}.report-method{align-items:start;flex-direction:column}.report-method .accuracy-note{text-align:left}.guided-review-heading{align-items:start;flex-direction:column}.guided-review-heading>div{text-align:left}.review-story{grid-template-columns:1fr}.phase-summary{border:.0625rem solid var(--border)}.review-focus{padding:var(--space-4);background:#171d1a}.player-summary{grid-template-columns:1fr}.player-summary article+article{border-top:.0625rem solid var(--border);border-left:0}.grade-summary>div{grid-template-columns:1fr 3.5rem 3.5rem}.review-board-area{grid-template-columns:1.5rem 1fr;gap:var(--space-1)}.evaluation-bar{min-height:16rem}.review-coach,.review-timeline{padding-inline:var(--space-4)}.review-timeline ol{grid-template-columns:1fr}.coach-actions{align-items:stretch;flex-direction:column}.coach-actions button{width:100%}.course-form__actions .text-action{margin:0}.progress-summary{grid-template-columns:1fr}.progress-summary>div+div{border-top:.0625rem solid var(--border);border-left:0}.settings-section,.reset-confirm{align-items:stretch;flex-direction:column}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}}
