@font-face{font-family:Golos Text;font-style:normal;font-weight:400 900;font-display:swap;src:url(/assets/golos-text-variable-Ca6L06xr.ttf) format("truetype")}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/assets/inter-cyrillic-ext-BOeWTOD4.woff2) format("woff2");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/assets/inter-cyrillic-DqGufNeO.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/assets/inter-latin-Dx4kXJAl.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{font-family:Inter,Arial,sans-serif;color:var(--ink);background:var(--paper);color-scheme:light;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;--ink: #111111;--muted: #666666;--line: #e5e5e5;--control-line: #8a8a8a;--paper: #ffffff;--surface: #ffffff;--subtle: #f5f5f5;--inverse: #ffffff;--error: #b42318;--radius: 8px;--radius-panel: 16px;--nav-surface: rgba(255,255,255,.94);--shadow: 0 4px 20px rgba(0,0,0,.04);--text-small: 14px;--text-body: 16px;--text-heading: 32px;--space-1: 4px;--space-2: 8px;--space-3: 16px;--space-4: 24px;--space-5: 48px}:root[data-theme=dark]{color-scheme:dark;--ink: #ffffff;--muted: #b5b5b5;--line: #333333;--paper: #000000;--surface: #080808;--nav-surface: rgba(8,8,8,.94);--shadow: none;--subtle: #171717;--inverse: #111111;--error: #ff8a80}*{box-sizing:border-box}body{margin:0;font-size:var(--text-body);line-height:1.65}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{cursor:pointer}a{color:inherit;text-decoration:none}button:disabled{cursor:default;opacity:.48}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:2px solid var(--ink);outline-offset:4px}svg{flex-shrink:0}h1,h2,h3,p{margin-top:0}h1,h2{font-size:var(--text-heading);line-height:1.2;letter-spacing:-1px;font-weight:600;margin-bottom:var(--space-3)}h3{font-size:var(--text-body);line-height:1.65;font-weight:600;margin-bottom:var(--space-2)}p{font-size:var(--text-body);line-height:1.75;margin-bottom:var(--space-3)}strong{font-weight:600}small,.small{font-size:var(--text-small);line-height:1.65}.muted{color:var(--muted)}.lead{color:var(--muted);margin-bottom:var(--space-4)}.app-shell{min-height:100vh}.site-header{position:sticky;top:0;z-index:30;padding:16px 24px 0}.site-nav{position:relative;display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:68px;max-width:1180px;margin:auto;padding:8px 20px;border:1px solid var(--line);border-radius:var(--radius-panel);background:var(--nav-surface);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);box-shadow:var(--shadow)}.brand{display:inline-flex;align-items:center;gap:8px;flex-shrink:0}.brand-piece{display:block;width:32px;height:36px;flex-shrink:0;background:var(--ink);mask:url(/branding/knight-logo.png) center / auto 125% no-repeat}.brand strong{font-size:18px;font-weight:600;letter-spacing:-.7px;white-space:nowrap}.main-nav{display:flex;align-items:center;gap:2px}.main-nav a{display:flex;align-items:center;min-height:44px;padding:8px 10px;font-size:13px;font-weight:500;color:var(--muted);white-space:nowrap;border-radius:var(--radius)}.main-nav a:hover,.main-nav a.active{background:var(--subtle);color:var(--ink)}.main-nav .mobile-settings{display:none}.nav-tools{display:flex;align-items:center;gap:8px}.nav-tools .icon-button{min-width:40px;min-height:44px}.nav-tools .theme-toggle{width:44px;min-width:44px;border:1px solid var(--line);background:var(--surface);flex-shrink:0}.nav-tools .theme-toggle:hover{background:var(--subtle);border-color:var(--control-line)}.menu-toggle{display:none!important}.nav-tools .language-select{font-size:13px;width:116px;min-height:44px;padding:8px 12px;flex-shrink:0}.tooltip-anchor{position:relative;display:inline-flex;flex-shrink:0}.icon-tooltip{position:absolute;z-index:85;top:calc(100% + 8px);right:0;width:max-content;max-width:min(240px,calc(100vw - 32px));padding:8px 12px;border:1px solid var(--ink);border-radius:8px;background:var(--ink);color:var(--inverse);font-size:12px;font-weight:400;line-height:1.5;text-align:left;white-space:normal}.icon-tooltip:before{content:"";position:absolute;left:0;right:0;top:-9px;height:9px}main{min-width:0;max-width:1280px;margin:auto}main:focus{outline:none}.topbar{padding:24px 48px 0;display:flex;align-items:center;justify-content:space-between;gap:16px;font-size:13px;color:var(--muted)}.topbar>span{display:flex;align-items:center;gap:8px}.course-progress{border-left:1px solid var(--line);padding-left:12px;margin-left:4px;font-variant-numeric:tabular-nums}.content-language-notice{font-size:var(--text-small);color:var(--muted);border-left:1px solid var(--control-line);padding-left:var(--space-3);margin:var(--space-3) 0 var(--space-4)}.storage-warning{color:var(--error)}.page-content{padding:48px}footer{display:flex;align-items:center;justify-content:space-between;gap:32px;padding:32px 48px;font-size:12px;color:var(--muted);border-top:1px solid var(--line)}footer>span{max-width:660px}footer .text-button{font-size:12px;flex-shrink:0}.skip-link{position:fixed;top:-100px;padding:var(--space-3);background:var(--surface);z-index:99;border:1px solid var(--ink);border-radius:var(--radius)}.skip-link:focus{top:8px;left:8px}.progress-track{height:4px;background:var(--line);overflow:hidden;margin:8px 0 16px;border-radius:4px}.progress-track span{height:100%;display:block;background:var(--ink);transition:width .2s}.primary,.secondary,.text-button,.icon-button{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);font-size:var(--text-small);font-weight:600;line-height:1.6}.primary{min-height:48px;background:var(--ink);color:var(--inverse);padding:var(--space-2) var(--space-4);border:1px solid var(--ink);border-radius:var(--radius)}.primary:hover:not(:disabled){opacity:.85}.secondary{min-height:48px;background:var(--surface);border:1px solid var(--control-line);border-radius:var(--radius);color:var(--ink);padding:var(--space-2) var(--space-3)}.secondary:hover:not(:disabled),.icon-button:hover{background:var(--subtle)}.text-button{min-height:48px;background:none;border:0;padding:var(--space-2) 0;color:var(--ink)}.text-button:hover:not(:disabled){text-decoration:underline;text-underline-offset:4px}.icon-button{min-height:48px;min-width:48px;border:0;background:none;color:var(--ink);padding:var(--space-2);border-radius:var(--radius)}.button-row{display:flex;flex-wrap:wrap;gap:var(--space-2)}.select-trigger{display:inline-flex;align-items:center;justify-content:space-between;gap:12px;min-height:48px;max-width:100%;padding:10px 14px;border:1px solid var(--line);border-radius:10px;background:var(--surface);color:var(--ink);font-size:14px;font-weight:400;line-height:1.5;text-align:left;transition:border-color .15s,background .15s}.select-trigger>span:first-child{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.select-value{white-space:nowrap}.select-trigger:hover,.select-trigger[data-state=open]{background:var(--subtle);border-color:var(--control-line)}.select-trigger:focus-visible{outline:2px solid var(--ink);outline-offset:3px}.select-chevron{display:flex;color:var(--muted);flex-shrink:0;transition:transform .15s}.select-trigger[data-state=open] .select-chevron{transform:rotate(180deg)}.select-menu{z-index:80;min-width:max(160px,var(--radix-select-trigger-width));max-width:min(480px,calc(100vw - 32px));max-height:min(360px,var(--radix-select-content-available-height));overflow:hidden;padding:6px;border:1px solid var(--line);border-radius:14px;background:var(--surface);color:var(--ink);box-shadow:0 8px 28px #00000017,0 2px 6px #00000008;transform-origin:var(--radix-select-content-transform-origin);animation:select-appear .12s ease-out}.select-option{position:relative;display:flex;align-items:center;min-height:44px;padding:10px 40px 10px 12px;border-radius:8px;font-size:14px;line-height:1.5;cursor:pointer;-webkit-user-select:none;user-select:none;outline:none;overflow-wrap:anywhere}.select-option[data-state=checked]{font-weight:600}.select-option[data-highlighted]{background:var(--subtle)}.select-check{position:absolute;right:12px;display:flex}.select-scroll{display:flex;align-items:center;justify-content:center;height:28px;color:var(--muted)}@keyframes select-appear{0%{opacity:0;transform:translateY(-3px)}to{opacity:1;transform:translateY(0)}}:root[data-theme=dark] .select-menu{box-shadow:none}.feedback-trigger{position:fixed;right:24px;bottom:max(24px,env(safe-area-inset-bottom));z-index:25;border-radius:999px;box-shadow:var(--shadow)}.app-shell{padding-bottom:80px}.feedback-dialog{width:min(520px,calc(100% - 32px));max-height:calc(100dvh - 32px);padding:24px;margin:auto;overflow-y:auto;border:1px solid var(--line);border-radius:var(--radius-panel);color:var(--ink);background:var(--surface)}.feedback-dialog::backdrop{background:#00000073}.feedback-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:8px}.feedback-heading h2{font-size:24px;letter-spacing:-.5px;margin:0}.feedback-heading .icon-button{margin:-8px -8px -8px 0}.feedback-dialog p{font-size:14px}.feedback-dialog label{display:block;font-size:14px;font-weight:600;margin-bottom:8px}.feedback-dialog textarea,.feedback-dialog input{display:block;width:100%;min-width:0;border:1px solid var(--control-line);border-radius:var(--radius);padding:12px;color:var(--ink);background:var(--paper)}.feedback-dialog textarea{resize:vertical;min-height:120px;max-height:45dvh;line-height:1.5}.feedback-length{display:flex;justify-content:space-between;gap:8px;font-size:12px;color:var(--muted);margin:8px 0 24px}.feedback-privacy{color:var(--muted);margin:16px 0 24px;line-height:1.6}.feedback-error{color:var(--error)}.feedback-actions{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:24px}.feedback-success{padding-top:8px}.feedback-success .primary{width:100%}@media(max-width:600px){.feedback-trigger{right:16px;bottom:max(16px,env(safe-area-inset-bottom))}.feedback-dialog{padding:20px}.feedback-heading h2{font-size:22px}.feedback-actions{gap:16px}}.dashboard-shell main{max-width:none}.dashboard-shell .page-content{padding:0}.dashboard-shell .topbar{display:none}.dashboard-shell main>.notice{max-width:1152px;margin:24px auto}.dashboard-shell .site-nav{min-height:60px}.dashboard-hero{text-align:center;padding:144px 24px 80px}.hero-copy{max-width:940px;margin:auto}.hero-copy h1{font-family:Golos Text,Inter,sans-serif;font-size:clamp(52px,7.1vw,96px);font-weight:700;letter-spacing:-.035em;line-height:1.08;margin-bottom:24px;text-wrap:balance}.hero-topics{display:grid;margin-top:8px;isolation:isolate}.hero-topic{grid-area:1 / 1;display:flex;justify-content:center;align-items:center;gap:.14em;min-height:1.1em;white-space:nowrap;visibility:hidden;opacity:0;animation:hero-topic-reveal 16s cubic-bezier(.22,1,.36,1) infinite both}.hero-topic:nth-child(1){animation-delay:-.8s}.hero-topic:nth-child(2){animation-delay:3.2s}.hero-topic:nth-child(3){animation-delay:7.2s}.hero-topic:nth-child(4){animation-delay:11.2s}.hero-topic-piece{display:inline-flex;width:.7em;height:.8em;flex-shrink:0}.hero-topic-piece .piece{width:100%;height:100%}:root[data-theme=dark] .hero-topic-piece{filter:invert(1)}@keyframes hero-topic-reveal{0%{opacity:0;filter:blur(20px);transform:translateY(.08em);visibility:hidden}5%,25%{opacity:1;filter:blur(0);transform:translateY(0);visibility:visible}30%,to{opacity:0;filter:blur(20px);transform:translateY(-.08em);visibility:hidden}}.hero-topics[data-paused=true] .hero-topic{animation:none}.hero-topics[data-paused=true] .hero-topic:first-child{opacity:1;visibility:visible;filter:none;transform:none}.hero-copy .lead{font-size:20px;line-height:1.65;max-width:640px;margin:0 auto 32px}.hero-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:12px}.hero-actions a{font-weight:500}.hero-lesson-meta{display:flex;justify-content:center;align-items:center;gap:8px;margin:20px auto 0;max-width:600px}.hero-next{font-size:13px;color:var(--muted);margin:0}.hero-motion-toggle{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;padding:8px;border:0;border-radius:50%;background:transparent;color:var(--muted)}.hero-motion-toggle:hover{color:var(--ink);background:var(--subtle)}.hero-copy .progress-summary{margin-top:16px}.topic-piece .piece{width:100%;height:100%}:root[data-theme=dark] .topic-piece{filter:invert(1)}.learning-overview{max-width:1200px;padding:0 24px;margin:auto}.section-intro{text-align:center;max-width:720px;margin:0 auto 48px}.eyebrow{display:inline-flex;align-items:center;font-size:13px;padding:8px 18px;border:1px solid var(--line);border-radius:999px;margin-bottom:20px;line-height:1.5}.section-intro h2{font-size:clamp(30px,3.1vw,44px);font-weight:550;letter-spacing:-.03em;line-height:1.1;margin-bottom:20px}.section-intro p{color:var(--muted);max-width:570px;margin:0 auto}.learning-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);align-items:center;gap:24px;max-width:1000px;margin:auto}.hero-board{background:var(--surface);border:1px solid var(--line);padding:24px;border-radius:var(--radius-panel)}.board-heading{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:16px}.board-heading h2{font-size:14px;line-height:1.65;letter-spacing:normal;margin:0}.board-heading .text-button{font-size:12px;min-height:32px;padding:0;font-weight:400;color:var(--muted)}.board-caption{font-size:12px;color:var(--muted);margin:16px 0 0}.landing-board-controls{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:16px}.landing-board-status{margin-right:auto;font-size:14px;color:var(--muted)}.landing-board-status strong{display:inline-block;min-width:40px;margin-left:8px;color:var(--ink);font-variant-numeric:tabular-nums}.landing-board-toggle{font-size:14px;min-height:44px;padding:8px 16px;flex-shrink:0}.landing-board-next{min-width:44px;min-height:44px;padding:8px}.landing-board-invitation{margin-top:24px;padding-top:24px;border-top:1px solid var(--line)}.landing-board-invitation h3{font-size:24px;line-height:1.25;letter-spacing:-.02em;margin-bottom:16px}.landing-board-invitation p{margin-bottom:16px}.landing-board-invitation .primary{display:inline-flex;align-items:center;justify-content:center;gap:8px;max-width:100%}.journey-panel{border:1px solid var(--line);border-radius:var(--radius-panel);padding:32px}.learning-feature{display:block;border-left:2px solid var(--line);padding-left:18px}.learning-feature+.learning-feature{margin-top:32px}.learning-feature:hover{border-left-color:var(--ink)}.learning-feature h3{font-size:15px;margin-bottom:8px}.learning-feature p{font-size:13px;color:var(--muted);margin-bottom:8px;line-height:1.65}.feature-action{display:inline-flex;align-items:center;gap:8px;font-size:12px}.learning-feature:hover .feature-action{text-decoration:underline;text-underline-offset:4px}.journey-stats{display:grid;grid-template-columns:repeat(3,1fr);max-width:1000px;margin:32px auto 0;border-block:1px solid var(--line)}.journey-stats>a{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:8px;padding:20px 12px;font-size:13px}.journey-stats>a+a{border-left:1px solid var(--line)}.journey-stats strong{font-weight:600;font-variant-numeric:tabular-nums}.journey-stats span,.journey-stats svg{color:var(--muted)}.journey-stats>a:hover span{color:var(--ink);text-decoration:underline;text-underline-offset:4px}.program{max-width:1200px;padding:0 24px;margin:144px auto}.program-topics{display:flex;flex-wrap:wrap;justify-content:center;gap:16px}.program-topic{display:flex;align-items:center;gap:12px;padding:16px 20px;border:1px solid var(--line);border-radius:14px;background:var(--surface);text-align:left}.program-topic:hover{background:var(--subtle);border-color:var(--control-line)}.topic-piece{width:28px;height:32px;display:inline-flex;flex-shrink:0}.program-topic strong{font-size:14px;font-weight:500}.program-topic small{display:block;font-size:12px;color:var(--muted);margin-top:4px}.program-topic>svg{color:var(--muted);margin-left:8px}.program-action{display:flex;justify-content:center;margin-top:32px}.practice-callout{background:#111;color:#fff;padding:112px max(24px,calc((100vw - 1152px)/2));margin-top:96px}.practice-callout h2{font-size:clamp(32px,4vw,56px);font-weight:550;letter-spacing:-.03em;max-width:850px;line-height:1.1;margin-bottom:24px}.practice-callout h2>span{color:#b5b5b5}.practice-callout p{color:#b5b5b5}.practice-callout .eyebrow{border-color:#444;color:#ccc}.practice-callout .button-row{margin-top:32px;gap:12px}.practice-callout .primary{background:#fff;color:#111;border-color:#fff}.practice-callout .secondary{background:transparent;color:#fff;border-color:#666}.practice-callout a:focus-visible{outline-color:#fff}.practice-callout .secondary:hover{background:#262626}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);margin-bottom:var(--space-3)}.section-heading h2{margin:0}.program-row{display:flex;align-items:center;gap:var(--space-4);padding:var(--space-4);border:1px solid var(--line);border-radius:12px;margin-bottom:var(--space-2);font-size:var(--text-small)}.program-row:hover,.lesson-row:hover,.practice-row:hover{background:var(--subtle)}.section-number{min-width:24px;color:var(--muted);font-size:var(--text-small);font-variant-numeric:tabular-nums}.program-row strong{flex:1}.lesson-count{font-size:var(--text-small);color:var(--muted);white-space:nowrap}.section-readiness{width:120px;text-align:right;font-size:var(--text-small);color:var(--muted)}.program-row>svg{color:var(--muted)}.program>.small{margin-top:var(--space-4)}.notice{display:flex;align-items:center;gap:var(--space-3);border:1px solid var(--line);border-radius:var(--radius);padding:var(--space-4);margin:var(--space-4) 0;font-size:var(--text-body);color:var(--muted)}.notice>svg,.empty-state>svg,.homework-panel>svg,.lesson-meta svg,.lesson-materials summary svg{display:none}.filters{display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap;margin:var(--space-4) 0 var(--space-3)}.search{display:flex;align-items:center;gap:var(--space-2);background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:0 var(--space-3);flex:1;min-width:210px;color:var(--muted)}.search:hover,.search:focus-within{border-color:var(--control-line)}.search input{border:0;background:none;width:100%;min-width:0;min-height:48px;padding:var(--space-2) 0;outline-offset:0}input,select,textarea{font-size:var(--text-body);color:var(--ink)}input::placeholder,textarea::placeholder{color:var(--muted);opacity:1}select{min-height:48px;background:var(--surface);border:1px solid var(--control-line);border-radius:var(--radius);padding:var(--space-2);max-width:100%}.check-filter{display:flex;align-items:center;gap:var(--space-2);font-size:var(--text-small);color:var(--muted);min-height:48px}input[type=checkbox],input[type=radio]{accent-color:var(--ink);width:16px;height:16px;flex-shrink:0}.filter-summary{display:flex;justify-content:space-between;align-items:center;gap:var(--space-2);min-height:48px;font-size:var(--text-small);color:var(--muted)}.course-section{margin-top:var(--space-5)}.course-section>.muted{margin-bottom:var(--space-3)}.course-section h2 .muted{margin-right:var(--space-2);font-size:var(--text-small)}.lesson-list{border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}.lesson-row{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3)}.lesson-row+.lesson-row{border-top:1px solid var(--line)}.lesson-number{color:var(--muted);font-size:var(--text-small);min-width:24px;font-variant-numeric:tabular-nums}.lesson-number.done{color:var(--ink)}.lesson-link{flex:1;min-width:0}.lesson-link strong{display:block;font-size:var(--text-body);line-height:1.65}.lesson-link:hover strong{text-decoration:underline;text-underline-offset:4px}.lesson-link small{display:block;color:var(--muted);margin-top:var(--space-1)}.readiness{font-size:var(--text-small);white-space:nowrap;padding:var(--space-1) var(--space-2);border:1px solid var(--line);border-radius:var(--radius);color:var(--muted)}.readiness.started{border-color:var(--control-line);color:var(--ink)}.readiness.completed{background:var(--ink);border-color:var(--ink);color:var(--inverse)}.empty-state{max-width:640px;margin:var(--space-5) auto;text-align:center;padding:var(--space-4)}.empty-state p{color:var(--muted)}.lesson-topline{display:flex;justify-content:space-between;align-items:center;margin:0 0 var(--space-4);gap:var(--space-2)}.lesson-kicker{font-size:var(--text-small);color:var(--muted);margin-bottom:var(--space-2)}.lesson-title{max-width:980px}.lesson-meta{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-4);font-size:var(--text-small);color:var(--muted);margin:var(--space-3) 0}.lesson-meta span{display:flex;align-items:center;gap:var(--space-2)}.lesson-materials{border-bottom:1px solid var(--line);font-size:var(--text-small)}.lesson-materials summary{cursor:pointer;padding:var(--space-3) 0;min-height:48px}.lesson-materials>div{border:1px solid var(--line);border-radius:var(--radius);padding:var(--space-4);margin-bottom:var(--space-3)}.lesson-materials p{font-size:var(--text-small)}.lesson-materials p:last-child{margin-bottom:0}.lesson-stages{display:flex;padding:var(--space-1);border:1px solid var(--line);border-radius:var(--radius);margin:var(--space-4) 0;gap:var(--space-1);overflow:auto}.lesson-stages button{flex:1;min-width:128px;min-height:48px;background:none;border:0;border-radius:var(--radius);color:var(--muted);font-size:var(--text-small);padding:var(--space-2);display:flex;align-items:center;justify-content:center;gap:var(--space-2);white-space:nowrap}.lesson-stages button span{font-variant-numeric:tabular-nums}.lesson-stages button.current{background:var(--ink);font-weight:600;color:var(--inverse)}.lesson-stages button:focus-visible{outline-offset:-2px}.lesson-stages button.current:focus-visible{outline-color:var(--inverse)}.lesson-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(310px,1fr);gap:var(--space-5);margin-top:var(--space-4);align-items:start}.lesson-copy{min-width:0}.lesson-copy h3{margin-top:var(--space-4)}.lesson-copy .objective{color:var(--ink)}.teacher-note{border:1px solid var(--line);border-left-color:var(--ink);border-radius:var(--radius);padding:var(--space-3);margin:var(--space-4) 0}.teacher-note p{font-size:var(--text-small);color:var(--muted);margin:var(--space-2) 0 0}.stage-controls{display:flex;justify-content:space-between;align-items:center;margin-top:var(--space-4);gap:var(--space-2);border-top:1px solid var(--line);padding-top:var(--space-3)}.lesson-board{min-width:0;position:sticky;top:108px}.workspace{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:var(--space-3)}.board-status{display:flex;align-items:center;gap:var(--space-2);font-size:var(--text-small);min-height:24px;margin-bottom:var(--space-3)}.turn-dot{width:16px;height:16px;border-radius:50%;border:1px solid #8a8a8a;flex-shrink:0}.turn-dot.w{background:#fff}.turn-dot.b{background:#111}.board-wrap{position:relative;width:100%}.chessboard{display:grid;grid-template-columns:repeat(8,1fr);width:100%;aspect-ratio:1;border:1px solid var(--control-line);border-radius:var(--radius);overflow:hidden}.square{border:0;border-radius:0;padding:0;width:100%;aspect-ratio:1;position:relative;display:flex;align-items:center;justify-content:center;opacity:1!important;min-width:0;color:#111;-webkit-user-select:none;user-select:none}.square.light{background:#fff}.square.dark{background:#b5b5b5}.square.last-move.light{background:#e5e5e5}.square.last-move.dark{background:#9b9b9b}.square.selected{outline:2px solid #111111;outline-offset:-2px}.square:focus-visible{outline:2px solid #111111;outline-offset:-4px;z-index:2}.square:not(:disabled):not(.selected):not(:focus-visible):hover{outline:1px solid #111111;outline-offset:-1px}.rank-label,.file-label{position:absolute;font-size:var(--text-small);font-weight:600;line-height:1;z-index:2;color:#111}.rank-label{left:2px;top:2px}.file-label{right:2px;bottom:2px}.piece{width:82%;height:82%;pointer-events:none;display:block;overflow:visible}.target{position:absolute;width:25%;height:25%;background:#111;border:1px solid #ffffff;border-radius:50%;pointer-events:none}.target.capture{width:88%;height:88%;background:none;border:2px solid #111111;outline:1px solid #ffffff}.promotion-picker{position:absolute;inset:25% 4% auto;background:var(--surface);border:1px solid var(--ink);z-index:8;border-radius:var(--radius);padding:var(--space-3);text-align:center}.promotion-picker>div{display:flex;margin:var(--space-3) 0;gap:var(--space-1)}.promotion-picker>div>button{width:25%;aspect-ratio:1;border:1px solid #8a8a8a;background:#e5e5e5;border-radius:var(--radius);display:grid;place-items:center}.board-toolbar{display:flex;align-items:center;gap:var(--space-1);padding:var(--space-2) 0;border-bottom:1px solid var(--line)}.board-toolbar>button{min-width:48px;min-height:48px;border:0;background:transparent;display:grid;place-items:center;padding:var(--space-2);color:var(--ink);border-radius:var(--radius)}.board-toolbar>button:hover:not(:disabled){background:var(--subtle)}.board-toolbar>span{font-size:var(--text-small)}.toolbar-spacer{flex:1}.annotation{padding:var(--space-3) 0 0;font-size:var(--text-small);margin-bottom:var(--space-2);min-height:48px}.move-list{display:flex;gap:var(--space-2);flex-wrap:wrap;background:var(--subtle);border-radius:var(--radius);padding:var(--space-3);margin-top:var(--space-3);font-variant-numeric:tabular-nums;font-size:var(--text-small);max-height:144px;overflow:auto}.feedback{background:var(--surface);border:1px solid var(--control-line);border-radius:var(--radius);padding:var(--space-3);font-size:var(--text-small);margin:var(--space-3) 0}.feedback.success{border-color:var(--ink);background:var(--subtle)}.hints{margin-top:var(--space-3)}.hints p{font-size:var(--text-small);margin:var(--space-2) 0}.source-label{font-size:var(--text-small);color:var(--muted);margin:var(--space-3) 0 0}.switch-row{display:flex;align-items:center;gap:var(--space-2);font-size:var(--text-small);margin-top:var(--space-3);min-height:48px}.switch-row+.small{margin:var(--space-2) 0}.io-buttons{display:flex;gap:var(--space-3);flex-wrap:wrap;border-top:1px solid var(--line);padding-top:var(--space-2)}.import-box{margin-top:var(--space-3)}.import-box label{display:block;font-size:var(--text-small);margin-bottom:var(--space-3)}.import-box .select-trigger,.import-box textarea{width:100%;margin-top:var(--space-2)}.import-box textarea{min-height:144px;background:var(--surface);border:1px solid var(--control-line);padding:var(--space-2);border-radius:var(--radius);resize:vertical}.assessment{border:0;margin:0 0 var(--space-3);padding:0;min-width:0}.assessment legend{font-size:var(--text-body);line-height:1.75;margin-bottom:var(--space-3)}.assessment label{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-3);border:1px solid var(--control-line);border-radius:var(--radius);background:var(--surface);margin-bottom:var(--space-2);font-size:var(--text-body);line-height:1.65;cursor:pointer}.assessment label.chosen{background:var(--subtle);border-color:var(--ink)}.complete-button{margin-top:var(--space-4);display:flex}.success-inline{font-size:var(--text-small);display:flex;align-items:center;gap:var(--space-2);margin-top:var(--space-3)}.completion{padding:var(--space-3);background:var(--subtle);border:1px solid var(--line);border-radius:var(--radius);margin-top:var(--space-4)}.completion h3{margin-top:0}.completion p{font-size:var(--text-small);margin-bottom:var(--space-2)}.selected-text{text-decoration:underline;text-underline-offset:4px}.practice-list{border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;margin-top:var(--space-4)}.practice-list:empty{display:none}.practice-row{display:flex;gap:var(--space-3);align-items:center;padding:var(--space-4)}.practice-row+.practice-row{border-top:1px solid var(--line)}.practice-row>div{flex:1;min-width:0}.practice-row h3{margin:var(--space-2) 0}.practice-row p{font-size:var(--text-small);color:var(--muted);margin:0}.practice-icon{display:grid;place-items:center;width:24px;flex-shrink:0}.practice-number{font-size:var(--text-small)}.settings-page{width:100%;max-width:960px;margin-inline:auto}.settings-heading{text-align:center;max-width:720px;margin:0 auto 32px}.settings-heading .lead{margin-bottom:0}.settings-section{margin-top:var(--space-4);padding:var(--space-4);border:1px solid var(--line);border-radius:var(--radius)}.settings-section p{color:var(--muted)}.progress-summary{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:8px 24px;margin:24px auto 0}.progress-indicator{display:inline-flex;align-items:center;gap:8px;min-height:44px;border-radius:8px;color:var(--ink);font-size:13px;font-variant-numeric:tabular-nums;text-decoration:none}.progress-indicator:hover{text-decoration:underline;text-underline-offset:4px}.progress-indicator>svg{flex-shrink:0}.progress-indicator strong{font-weight:500}.level-glyph{position:relative;display:grid;place-items:center;width:32px;height:32px;flex-shrink:0}.level-glyph>svg:first-child{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;fill:none;stroke-width:1.5}.level-ring-track{stroke:var(--line)}.level-ring-fill{stroke:var(--ink)}.progress-summary .icon-tooltip{max-width:220px}.progress-summary .tooltip-anchor:first-child .icon-tooltip{right:auto;left:0}.achievement-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.achievement-card{min-width:0;padding:24px;border:1px solid var(--line);border-radius:var(--radius-panel);background:var(--surface)}.achievement-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:20px}.achievement-heading h2{font-size:16px;letter-spacing:0;line-height:1.5;margin:0}.achievement-heading>svg{color:var(--muted)}.achievement-value{display:flex;align-items:baseline;justify-content:space-between;flex-wrap:wrap;gap:8px 16px}.achievement-value strong{font-size:32px;line-height:1.2;letter-spacing:-1px;font-variant-numeric:tabular-nums}.achievement-value strong small{display:block;margin-top:6px;color:var(--muted);font-size:12px;letter-spacing:0;line-height:1.5;font-weight:400}.achievement-value>span,.achievement-caption,.achievement-note{font-size:13px;line-height:1.6;color:var(--muted)}.level-meter{height:8px;border-radius:8px;background:var(--line);overflow:hidden;margin-top:24px}.level-meter>span{display:block;height:100%;background:var(--ink);border-radius:inherit;transition:width .2s}.achievement-caption{margin:12px 0 0}.achievement-note{font-size:12px;margin:16px 0 0}.activity-week{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px;list-style:none;padding:0;margin:20px 0 0}.activity-week li{min-width:0;text-align:center;font-size:12px;color:var(--muted)}.activity-day{display:flex;align-items:center;justify-content:center;height:32px;max-width:40px;margin:6px auto 0;border:1px solid var(--line);border-radius:8px;font-variant-numeric:tabular-nums}.activity-week .is-active .activity-day{background:var(--ink);border-color:var(--ink);color:var(--inverse)}.activity-week .is-today .activity-day{outline:1px solid var(--control-line);outline-offset:3px}.achievement-totals{display:grid;grid-template-columns:repeat(3,1fr);margin:16px 0 0;border:1px solid var(--line);border-radius:var(--radius-panel)}.achievement-totals>div{padding:20px 24px}.achievement-totals>div+div{border-left:1px solid var(--line)}.achievement-totals dt{color:var(--muted);font-size:13px}.achievement-totals dd{margin:8px 0 0;font-size:24px;line-height:1.3;font-variant-numeric:tabular-nums}.achievement-totals dd small{color:var(--muted);font-size:13px}.achievement-help{margin-top:16px;font-size:13px;color:var(--muted)}.achievement-help summary{cursor:pointer;min-height:44px;display:list-item;align-content:center;color:var(--ink)}.achievement-help p{font-size:13px;margin:8px 0;max-width:760px}.mobile-board-context{display:none}.opponent-panel{margin-top:var(--space-3);padding:var(--space-3);border:1px solid var(--line);border-radius:var(--radius)}.opponent-panel .switch-row{margin-top:0}.opponent-panel>p:last-child{margin-bottom:0}.opponent-settings{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-3);margin-top:var(--space-3)}.opponent-settings label{display:grid;gap:var(--space-2);font-size:var(--text-small);min-width:0}.opponent-settings .select-trigger{width:100%;min-width:0}.opponent-status{margin:var(--space-3) 0 var(--space-2)}.engine-credits{color:var(--muted);text-decoration:underline;text-underline-offset:3px}.opponent-panel .feedback p{margin-top:0}.quiz-layout{grid-template-columns:minmax(0,1.4fr) minmax(250px,.8fr)}.lesson-quiz>.muted{font-size:var(--text-small)}.quiz-card{padding:var(--space-4);border:1px solid var(--line);border-radius:var(--radius)}.quiz-progress{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);color:var(--muted);font-size:var(--text-small);margin-bottom:var(--space-4)}.quiz-dots{display:flex;gap:var(--space-1)}.quiz-dots i{display:block;width:24px;height:4px;background:var(--line)}.quiz-dots i.filled{background:var(--ink)}.quiz-card .assessment legend{font-weight:600}.quiz-card .assessment label{align-items:flex-start}.quiz-card .assessment input{margin-top:var(--space-1)}.quiz-card .assessment:disabled label{cursor:default}.assessment label.answer-correct{border-color:var(--ink);background:var(--subtle)}.assessment label.answer-wrong{border-color:var(--error);color:var(--error)}.quiz-card .feedback p{font-size:var(--text-small);margin:var(--space-2) 0 0}.quiz-result{padding:var(--space-4);border:1px solid var(--line);border-radius:var(--radius);margin:var(--space-4) 0}.quiz-result.passed{border-color:var(--ink)}.quiz-score{font-size:var(--text-heading);font-weight:600}.quiz-score small{color:var(--muted);font-size:var(--text-body);font-weight:400}.quiz-result h3{margin-top:var(--space-2)}.quiz-result p:last-child{margin-bottom:0}.quiz-completion{border-top:1px solid var(--line);margin-top:var(--space-4);padding-top:var(--space-1)}.homework-panel{padding:var(--space-4);border:1px solid var(--line);border-radius:var(--radius)}.homework-panel h3{margin:0 0 var(--space-3)}.homework-panel .small{color:var(--muted);margin:var(--space-3) 0 0}.workspace,.lesson-list,.practice-list,.quiz-card,.quiz-result,.homework-panel,.settings-section,.notice{border-radius:var(--radius-panel)}.secondary{border-color:var(--line)}.secondary:hover:not(:disabled){border-color:var(--control-line)}@media(max-width:1180px){.site-header,.site-nav{padding-inline:16px}.menu-toggle{display:inline-flex!important}.main-nav{display:none;position:absolute;top:calc(100% + 8px);left:0;right:0;padding:16px;border:1px solid var(--line);border-radius:var(--radius-panel);background:var(--surface);box-shadow:var(--shadow);max-height:calc(100dvh - 100px);overflow:auto}.main-nav.is-open{display:grid;grid-template-columns:1fr 1fr;gap:8px}.main-nav a{font-size:14px;padding:12px 16px}.main-nav .mobile-settings{display:flex}.page-content{padding:32px}.topbar{padding:24px 32px 0}.learning-grid{gap:20px}.journey-panel{padding:24px}.lesson-layout{gap:24px;grid-template-columns:minmax(0,1fr) minmax(280px,1fr)}.quiz-layout{grid-template-columns:minmax(0,1.4fr) minmax(230px,.8fr)}.practice-callout{padding:96px 32px}}@media(max-width:720px){.achievement-grid{grid-template-columns:1fr}.achievement-card{padding:20px}.achievement-totals>div{padding:16px 8px;text-align:center}.achievement-totals dt{font-size:12px}.achievement-totals dd{font-size:20px}.settings-heading{margin-bottom:24px}.site-header{padding:12px 16px 0}.site-nav{min-height:64px;padding:8px 12px;gap:8px}.brand{gap:4px}.brand strong{font-size:16px;letter-spacing:-.6px}.brand-piece{width:24px;height:28px}.nav-tools{gap:4px}.nav-tools .settings-link{display:none}.nav-tools .language-select{width:104px;font-size:12px;padding-inline:10px;gap:8px}.nav-tools .menu-toggle>.icon-button{min-width:36px;padding:4px}.main-nav.is-open{grid-template-columns:1fr}.main-nav a{padding:8px 12px}.topbar{padding:20px 20px 0;align-items:flex-start;font-size:12px}.topbar>span{gap:4px}.topbar .saved,.topbar .storage-warning{max-width:46%;text-align:right}.topbar .saved svg{display:none}.course-progress{margin:0;padding-left:8px}.page-content{padding:32px 20px}h1,h2{font-size:28px}.dashboard-hero{padding:112px 20px 64px}.hero-copy h1{font-size:clamp(40px,12vw,64px);margin-bottom:24px}.hero-copy .lead{font-size:18px;max-width:350px;margin-bottom:24px}.landing-board-status{width:100%}.hero-actions{gap:8px}.hero-actions a{padding-inline:16px}.hero-next{font-size:12px;margin-top:16px}.learning-overview{padding-inline:20px}.section-intro{margin-bottom:32px}.section-intro h2{font-size:32px}.section-intro p{font-size:14px}.learning-grid{grid-template-columns:1fr;max-width:520px}.hero-board{padding:16px}.board-heading{align-items:flex-start;gap:8px}.board-heading .text-button{max-width:52%;text-align:right;font-size:12px}.board-caption{font-size:12px}.journey-panel{padding:24px}.journey-stats{margin-top:24px}.journey-stats>a{flex-direction:column;padding:16px 8px;gap:4px;text-align:center;font-size:12px}.journey-stats>a>svg{display:none}.program{padding-inline:20px;margin:96px auto}.program-topics{max-width:520px;margin:auto;gap:12px}.program-topic{width:100%;padding:16px}.program-topic>span:nth-child(2){flex:1;min-width:0}.program-row{gap:12px;padding:20px 16px}.program-row strong{font-size:14px}.section-readiness{display:none}.lesson-count{font-size:12px}.program-row>svg{display:none}.section-heading{flex-wrap:wrap;gap:8px}.practice-callout{padding:80px 24px;margin-top:64px}.practice-callout h2{font-size:36px}.practice-callout p{font-size:14px}.practice-callout .button-row{flex-direction:column;align-items:flex-start}.notice{padding:16px}.filters .search{flex-basis:100%}.filters .select-trigger{max-width:100%;flex:1 1 180px;min-width:0}.course-section{margin-top:24px}.lesson-row{gap:8px;padding:16px 8px}.lesson-row .readiness{display:none}.lesson-row .icon-button{min-width:44px}.lesson-meta{gap:8px}.lesson-layout{display:flex;flex-direction:column;gap:24px}.lesson-board{position:static;width:100%;max-width:520px;align-self:center;order:0}.lesson-copy{width:100%;order:1}.workspace{padding:8px}.board-toolbar{flex-wrap:wrap}.board-toolbar>.small{flex-basis:100%}.empty-state{margin:24px auto;padding:24px 0}.practice-row{gap:8px;padding:16px}.practice-number{display:none}.settings-section{padding:16px}footer{padding:24px 20px;flex-direction:column;gap:16px;align-items:flex-start}.mobile-board-context{display:block;margin-bottom:16px}.quiz-layout .lesson-copy{order:0}.homework-panel{order:1;width:100%;padding:16px}.quiz-card{padding:16px}}@media(max-width:440px){.brand strong{display:none}.nav-tools .language-select{width:100px}}@media(max-width:370px){.site-header{padding-inline:8px}.site-nav{padding-inline:8px;gap:4px}.page-content{padding-inline:16px}.program-row{padding-inline:12px;gap:8px}}.replay-controls{display:flex;align-items:center;flex-wrap:wrap;gap:16px;padding-top:16px}.replay-toggle{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px}.replay-speed{display:grid;gap:4px;font-size:var(--text-small);min-width:128px}.replay-speed>span{color:var(--muted)}.replay-move{font-variant-numeric:tabular-nums;white-space:nowrap;margin-left:auto}.replay-moves{position:relative;gap:4px}.replay-moves button{padding:8px;min-height:40px;background:transparent;color:inherit;border:1px solid transparent;font:inherit}.replay-moves button[aria-current=step]{border-color:currentColor;background:var(--surface)}.replay-moves button:hover{border-color:var(--control-line)}@media(max-width:400px){.replay-controls{gap:8px}.replay-toggle{flex:1;padding-inline:12px}.replay-move{width:100%;text-align:right}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}.hero-topic:first-child{opacity:1;visibility:visible;filter:none;transform:none}.hero-motion-control{display:none}}
