:root{font-synthesis:none;text-rendering:optimizelegibility;font-family:Segoe UI,system-ui,-apple-system,sans-serif}body{min-width:320px;margin:0}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--ink:#172335;--ink-muted:var(--muted);--muted:#4a596c;--paper:#f7f8fa;--surface:#fff;--surface-subtle:#e9eff3;--line:#c5cfd9;--field-border:#75869a;--teal:#08685e;--teal-dark:#07574f;--on-accent:#fff;--link:#075f88;--blue:var(--link);--orange:#ad4b21;--focus:#096fbd;--warning-bg:#fff2da;--warning-text:#77420f;--warning-border:#a86b23;--danger-bg:#ffebe7;--danger-text:#9b2c21;--danger-solid:#a72c21;--on-danger:#fff;--success-bg:#e5f3ea;--success-text:#17603b;--sidebar-bg:#172b3d;--sidebar-hover:#29475e;--sidebar-text:#fff;--sidebar-muted:#bdcdd9;--sidebar-line:#6d8fa5;--code-bg:#172335;--code-text:#edf5fa;--sidebar-accent:#7edbcb;--cta:#a94719;--cta-hover:#873711;--brand-bg:#f2a369;--brand-ink:#193d39;--shadow:0 18px 50px #0f172a14}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--ink:#ecf2f8;--muted:#b5c4d5;--paper:#101923;--surface:#192635;--surface-subtle:#223447;--line:#43576b;--field-border:#8095ac;--teal:#7ddbc8;--teal-dark:#a2eddf;--on-accent:#102b2c;--link:#9cd7ff;--orange:#ffb68d;--cta:#ffb68d;--cta-hover:#ffd1b6;--focus:#8dcfff;--warning-bg:#392c1b;--warning-text:#ffd194;--warning-border:#d8a04e;--danger-bg:#40272c;--danger-text:#ffb7ae;--success-bg:#18382e;--success-text:#9ae0b8;--shadow:0 18px 50px #0003}html,body{background:var(--paper);color:var(--ink)}button,input,textarea,select,option{color:inherit}input,textarea,select{accent-color:var(--teal);caret-color:var(--ink)}input::placeholder,textarea::placeholder{color:var(--muted);opacity:1}::selection{color:var(--on-accent);background:var(--teal)}:focus-visible{outline:3px solid var(--focus);outline-offset:3px}.theme-toggle,.public-nav button.theme-toggle{border:1px solid var(--field-border);background:var(--surface);min-height:44px;color:var(--ink);font:inherit;cursor:pointer;border-radius:9px;flex:none;justify-content:center;align-items:center;gap:8px;padding:8px 12px;font-size:14px;font-weight:650;display:inline-flex}.theme-toggle:hover,.public-nav button.theme-toggle:hover{background:var(--surface-subtle)}.auth-theme-toolbar{justify-content:flex-end;display:flex}.auth-intro .eyebrow{color:var(--sidebar-muted)}.auth-form-panel .brand-lockup span{color:var(--muted)}.auth-callback .auth-notice{display:block}.app-shell .sidebar-footer small{margin-top:8px;line-height:1.6;display:block}.app-shell .status-dot span{background:var(--sidebar-accent)}.auth-shell .auth-submit-signup{background:var(--cta);border-color:var(--cta);color:var(--on-accent)}.auth-shell .auth-submit-signup:hover:not(:disabled),.auth-shell .auth-submit-signup:focus-visible:not(:disabled){background:var(--cta-hover);border-color:var(--cta-hover)}.topbar-actions,.public-nav,.public-nav nav{flex-wrap:wrap}.topbar-actions{min-width:0}@media (width<=600px){.public-nav nav{justify-content:space-between;gap:6px;width:100%}.public-nav{gap:12px}}.auth-shell{background:var(--paper);place-items:center;min-height:100vh;padding:clamp(16px,4vw,52px);display:grid}.auth-frame{border:1px solid var(--line);background:var(--surface);border-radius:28px;grid-template-columns:minmax(300px,.9fr) minmax(380px,1.1fr);width:min(100%,1060px);min-height:640px;display:grid;overflow:hidden;box-shadow:0 24px 70px #202b2824}.auth-intro{color:var(--sidebar-text);background:var(--sidebar-bg);align-content:start;gap:24px;padding:clamp(32px,5vw,64px);display:grid}.brand-lockup{align-items:center;gap:12px;width:fit-content;display:inline-flex}.brand-mark{width:46px;height:46px;color:var(--brand-ink);background:var(--brand-bg);font:800 1.45rem/1 var(--display-font);border-radius:14px;place-items:center;display:grid}.brand-lockup div:last-child{gap:2px;display:grid}.brand-lockup strong{letter-spacing:-.01em;font-size:1.06rem}.brand-lockup span{color:var(--sidebar-muted);letter-spacing:.12em;text-transform:uppercase;font-size:.72rem;font-weight:800}.eyebrow{color:var(--muted);letter-spacing:.12em;font-size:.72rem;font-weight:800}.auth-intro h1,.auth-heading h2{font-family:var(--display-font);letter-spacing:-.035em;margin:0}.auth-intro h1{max-width:440px;font-size:clamp(2.35rem,4vw,4.15rem);line-height:.99}.auth-intro>p{max-width:390px;color:var(--sidebar-muted);margin:0;font-size:1.05rem;line-height:1.6}.auth-value-list{counter-reset:steps;gap:18px;margin:6px 0 0;padding:0;list-style:none;display:grid}.auth-value-list li{grid-template-columns:38px 1fr;column-gap:10px;display:grid}.auth-value-list li:before{content:counter(steps, decimal-leading-zero);counter-increment:steps;color:var(--sidebar-muted);font:700 .78rem/1.5 ui-monospace,SFMono-Regular,Menlo,monospace}.auth-value-list strong,.auth-value-list span{grid-column:2}.auth-value-list strong{font-size:.93rem}.auth-value-list span{color:var(--sidebar-muted);margin-top:3px;font-size:.88rem;line-height:1.45}.auth-intro-footnote{border-top:1px solid var(--sidebar-line);align-self:end;padding-top:16px;font-size:.82rem!important}.auth-form-panel{align-content:center;gap:25px;padding:clamp(32px,6vw,76px);display:grid}.auth-mode-switch{border:1px solid var(--line);background:var(--surface-subtle);border-radius:11px;width:fit-content;padding:4px;display:inline-flex}.auth-mode-switch button{min-height:36px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:8px;padding:0 14px;font:700 .84rem/1 inherit}.auth-mode-switch button.is-active{color:var(--ink);background:var(--surface);box-shadow:0 1px 4px #1a2b261f}.auth-mode-switch button.auth-mode-cta{color:var(--on-accent);background:var(--teal);box-shadow:0 1px 3px #00565038}.auth-mode-switch button.auth-mode-cta:hover,.auth-mode-switch button.auth-mode-cta:focus-visible{color:var(--on-accent);background:var(--teal-dark)}.auth-heading{gap:10px;display:grid}.auth-heading h2{color:var(--ink);font-size:clamp(2rem,3.4vw,3.15rem);line-height:1}.auth-heading p{max-width:430px;color:var(--muted);margin:0;line-height:1.55}.auth-form{gap:16px;display:grid}.auth-field{color:var(--ink);gap:7px;font-weight:750;display:grid}.auth-field>span:first-child{font-size:.91rem}.auth-field input{border:1px solid var(--field-border);width:100%;min-height:48px;color:var(--ink);background:var(--surface);font:inherit;border-radius:10px;outline:none;padding:11px 13px}.auth-field input::placeholder{color:var(--muted)}.auth-field input:focus{border-color:var(--teal);box-shadow:0 0 0 3px #007f7829}.auth-field input[aria-invalid=true]{border-color:var(--danger-text)}.password-control{display:block;position:relative}.password-control input{padding-right:62px}.password-toggle{min-width:48px;min-height:34px;color:var(--teal);cursor:pointer;background:0 0;border:0;border-radius:7px;font:800 .76rem/1 inherit;position:absolute;top:50%;right:7px;transform:translateY(-50%)}.password-toggle:hover,.password-toggle:focus-visible{background:var(--surface-subtle)}.field-hint{color:var(--muted);margin:-5px 0 0;font-size:.8rem;line-height:1.4}.primary-button,.secondary-button{cursor:pointer;border-radius:10px;min-height:48px;font:800 .9rem/1 inherit}.primary-button{border:1px solid var(--teal);color:var(--on-accent);background:var(--teal)}.primary-button:hover:not(:disabled),.primary-button:focus-visible:not(:disabled){border-color:var(--teal);background:var(--teal-dark)}.primary-button:disabled,.secondary-button:disabled,.text-button:disabled{cursor:not-allowed;opacity:.58}.auth-submit{margin-top:3px}.auth-submit-signup{border-color:var(--cta);background:var(--cta);min-height:54px;box-shadow:0 8px 16px #a0421a2e}.auth-submit-signup:hover:not(:disabled),.auth-submit-signup:focus-visible:not(:disabled){border-color:var(--cta);background:var(--cta-hover)}.auth-notice{border:1px solid;border-left-width:5px;border-radius:11px;grid-template-columns:28px minmax(0,1fr);gap:9px 11px;padding:16px;font-size:.9rem;line-height:1.45;display:grid;box-shadow:0 5px 14px #202b280f}.auth-notice-mark{border-radius:50%;place-items:center;width:28px;height:28px;font-weight:900;display:grid}.auth-notice-copy{gap:3px;display:grid}.auth-notice-copy strong{font-size:.96rem}.auth-notice.is-success{border-color:var(--success-text);color:var(--success-text);background:var(--success-bg)}.auth-notice.is-success .auth-notice-mark{color:var(--on-accent);background:var(--teal)}.auth-notice.is-error{border-color:var(--danger-text);color:var(--danger-text);background:var(--danger-bg)}.auth-notice.is-error .auth-notice-mark{color:var(--on-danger);background:var(--danger-solid)}.secondary-button{min-height:38px;color:inherit;background:0 0;border:1px solid;justify-self:start;padding:0 12px}.auth-notice .secondary-button{grid-column:2;margin-top:2px}.auth-secondary-actions{flex-wrap:wrap;gap:8px 18px;display:flex}.text-button{min-height:36px;color:var(--teal);text-underline-offset:3px;cursor:pointer;background:0 0;border:0;padding:0;font:750 .86rem/1 inherit;text-decoration:underline}.auth-create-account-link{border:1px solid var(--line);width:100%;min-height:52px;color:var(--ink);background:var(--surface-subtle);text-align:left;cursor:pointer;border-radius:10px;justify-content:space-between;align-items:center;gap:12px;padding:11px 14px;display:flex}.auth-create-account-link span{font-size:.82rem;font-weight:700}.auth-create-account-link strong{color:var(--teal);font-size:.88rem}.auth-create-account-link:hover,.auth-create-account-link:focus-visible{border-color:var(--teal);background:var(--surface-subtle)}.auth-privacy-note{border-top:1px solid var(--line);color:var(--muted);margin:0;padding-top:16px;font-size:.79rem;line-height:1.5}.auth-callback{grid-template-columns:1fr;max-width:620px;min-height:auto}.auth-callback .auth-form-panel{padding:clamp(32px,7vw,60px)}@media (width<=760px){.auth-shell{padding:0;display:block}.auth-frame{min-height:100vh;box-shadow:none;border:0;border-radius:0;grid-template-columns:1fr}.auth-intro{gap:16px;padding:26px 24px}.auth-intro h1{font-size:2.3rem}.auth-intro>p,.auth-value-list{display:none}.auth-intro-footnote{margin-top:0;padding-top:12px;display:block!important}.auth-form-panel{align-content:start;padding:32px 24px 48px}}@media (prefers-reduced-motion:reduce){.auth-shell *,.auth-shell :before,.auth-shell :after{scroll-behavior:auto!important;transition-duration:.01ms!important}}.today-view{max-width:1120px;margin:auto}.today-next{border:1px solid var(--line);background:var(--surface);border-radius:16px;grid-template-columns:1.8fr 1fr;gap:48px;padding:38px;display:grid}.today-next h2{font-family:var(--display-font);margin:18px 0;font-size:clamp(27px,3vw,40px);line-height:1.2}.today-next p{color:var(--muted);font-size:16px;line-height:1.65}.today-rhythm{border-left:1px solid var(--line);padding-left:32px}.today-rhythm>span{color:var(--muted);font-size:12px;font-weight:650}.today-rhythm>strong{margin-top:20px;font-size:44px;display:block}.today-rhythm small,.today-stats small{color:var(--muted);font-size:14px;font-weight:400}.today-stats{grid-template-columns:repeat(3,1fr);gap:16px;margin-top:24px;display:grid}.today-stats>div,.today-stats>button{text-align:left;border:1px solid var(--field-border);background:var(--surface);color:var(--ink);border-radius:12px;padding:22px}.today-stats span{color:var(--muted);font-size:14px;display:block}.today-stats strong{margin-top:10px;font-size:28px;display:block}.today-evidence-note{color:var(--muted);margin:16px 0 28px;font-size:14px;line-height:1.6}.today-session form{grid-template-columns:110px 1fr auto;align-items:end;gap:16px;display:grid}.today-session label{gap:8px;display:grid}.today-session input{border:1px solid var(--field-border);background:var(--surface);min-width:0;color:var(--ink);border-radius:8px;padding:12px}.today-session p{line-height:1.6}.today-links{flex-wrap:wrap;gap:20px;margin-top:24px;display:flex}.today-links button{color:var(--link);background:0 0;border:0;min-height:44px}@media (width<=800px){.today-next{grid-template-columns:1fr;gap:24px;padding:24px}.today-rhythm{border-left:0;border-top:1px solid var(--line);padding:24px 0 0}.today-stats,.today-session form{grid-template-columns:1fr}}.route-choices{grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin-block:1.5rem;display:grid}.route-choice{text-align:left;color:var(--ink);background:var(--surface);border:2px solid var(--field-border);cursor:pointer;border-radius:.75rem;flex-direction:column;gap:.75rem;padding:1.25rem;display:flex}.route-choice[aria-pressed=true]{border-color:var(--teal);background:var(--surface-subtle)}.route-choice strong{font-size:1.15rem}.route-choice span{line-height:1.6}.route-choice small{color:var(--muted);margin-top:auto}@media (width<=760px){.route-choices{grid-template-columns:1fr}}*{box-sizing:border-box}button,input,textarea{font:inherit}button{cursor:pointer}.app-shell{background:var(--paper);min-height:100vh;color:var(--ink);display:flex}button:disabled{cursor:wait;opacity:.65;transform:none!important}.skip-link{z-index:100;background:var(--orange);color:var(--on-accent);clip-path:inset(100%);border-radius:7px;padding:9px 12px;font-size:11px;text-decoration:none;position:fixed;top:12px;left:12px}.skip-link:focus{clip-path:none}.sidebar{background:var(--sidebar-bg);width:260px;min-height:100vh;color:var(--sidebar-text);flex-direction:column;padding:27px 18px 20px;display:flex;position:sticky;top:0}.brand-lockup{align-items:center;gap:12px;padding:0 10px;display:flex}.brand-mark{background:var(--brand-bg);width:38px;height:38px;color:var(--brand-ink);font-size:21px;font-family:var(--display-font);border-radius:12px 12px 4px;place-items:center;display:grid}.brand-lockup strong{font-size:16px;display:block}.brand-lockup span{color:var(--sidebar-muted);letter-spacing:.08em;text-transform:uppercase;margin-top:2px;font-size:11px;display:block}.sidebar-intro{color:var(--sidebar-muted);max-width:185px;margin:28px 10px 25px;font-size:12px;line-height:1.55}.nav-list{gap:6px;display:grid}.nav-item{text-align:left;width:100%;color:var(--sidebar-muted);background:0 0;border:1px solid #0000;border-radius:10px;align-items:center;gap:12px;padding:11px 10px;transition:transform .18s,box-shadow .18s;display:flex}.nav-item:hover,.nav-item.active{background:var(--sidebar-hover);color:var(--sidebar-text);border-color:var(--sidebar-line)}.nav-item.active{box-shadow:inset 3px 0 var(--orange)}.nav-icon{text-align:center;width:21px;color:var(--sidebar-muted);font-size:18px}.nav-item strong,.nav-item small{display:block}.nav-item strong{font-size:13px;font-weight:600}.nav-item small{color:var(--sidebar-muted);margin-top:2px;font-size:10px}.nav-item.active small{color:var(--sidebar-muted)}.sidebar-footer{border-top:1px solid var(--sidebar-line);color:var(--sidebar-muted);margin-top:auto;padding:15px 10px 0;font-size:11px;line-height:1.5}.status-dot{color:var(--sidebar-muted);margin-bottom:5px}.status-dot span{background:var(--sidebar-bg);border-radius:50%;width:7px;height:7px;margin-right:7px;display:inline-block;box-shadow:0 0 0 3px #69d1a41f}.main-area{flex:1;min-width:0}.topbar{border-bottom:1px solid var(--line);background:var(--paper);justify-content:space-between;align-items:center;height:112px;padding:26px 54px;display:flex}.eyebrow{color:var(--muted);letter-spacing:.16em;text-transform:uppercase;font-size:10px;font-weight:700}.eyebrow.accent{color:var(--teal)}.topbar h1,.topbar-title{font:500 27px/1.05 var(--display-font);letter-spacing:-.03em;margin:8px 0 0}.topbar-title{color:var(--ink)}.topbar-actions{align-items:center;gap:14px;display:flex}.language-chip,.tag{color:var(--muted);border:1px solid var(--line);background:var(--surface);letter-spacing:.05em;border-radius:20px;align-items:center;gap:5px;padding:7px 10px;font-size:10px;font-weight:700;display:inline-flex}.language-chip i{color:var(--orange);font-style:normal}.refresh-button{color:var(--teal);background:var(--surface-subtle);border:0;border-radius:50%;width:34px;height:34px;font-size:19px}.error-banner{border:1px solid var(--warning-border);background:var(--warning-bg);color:var(--warning-text);border-radius:10px;margin:18px 54px 0;padding:12px 15px;font-size:12px}.error-banner span{color:var(--warning-text);margin-left:8px}.error-banner code{background:var(--warning-bg);border-radius:4px;padding:2px 5px}.page-content{max-width:1440px;padding:36px 54px 70px}.hero-panel{border:1px solid var(--line);background:var(--surface-subtle);border-radius:18px;justify-content:space-between;align-items:center;min-height:295px;padding:38px 52px;display:flex;position:relative;overflow:hidden}.hero-panel:after{content:"";border:1px solid var(--line);border-radius:50%;width:360px;height:360px;position:absolute;top:-110px;right:-130px;box-shadow:0 0 0 35px #087f7809,0 0 0 72px #087f7806}.hero-copy{z-index:1;max-width:570px;position:relative}.hero-copy h2,.roadmap-intro h2,.review-header h2,.page-intro h2{font:500 clamp(32px,4vw,48px)/.96 var(--display-font);letter-spacing:-.055em;margin:12px 0 16px}.hero-copy h2 em,.roadmap-intro h2 em,.review-header h2 em,.page-intro h2 em{color:var(--teal);font-style:italic}.hero-copy p{color:var(--muted);max-width:465px;margin:0 0 24px;font-size:14px;line-height:1.65}.hero-progress{z-index:1;text-align:center;width:178px;margin-right:85px;position:relative}.progress-ring{background:conic-gradient(var(--teal) var(--progress),var(--surface-subtle) 0);border-radius:50%;place-items:center;width:148px;height:148px;margin:0 auto 13px;display:grid;position:relative}.progress-ring:after{content:"";background:var(--surface-subtle);border-radius:50%;position:absolute;inset:10px}.progress-ring>div{z-index:1;position:relative}.progress-ring strong,.progress-ring span{display:block}.progress-ring strong{font:600 28px var(--display-font)}.progress-ring span{color:var(--muted);margin-top:2px;font-size:10px}.hero-progress p{color:var(--muted);font-size:11px;line-height:1.5}.hero-progress p strong{color:var(--teal-dark);font-size:12px}.primary-button,.secondary-button{border:0;border-radius:8px;padding:11px 15px;font-size:12px;font-weight:700;transition:transform .18s,box-shadow .18s}.primary-button{background:var(--teal);color:var(--on-accent);box-shadow:0 7px 16px #087f7829}.primary-button:hover{background:var(--teal-dark);transform:translateY(-1px)}.primary-button span{margin-left:12px;font-size:15px}.secondary-button{background:var(--surface-subtle);color:var(--teal-dark);border:1px solid var(--field-border)}.secondary-button:hover{background:var(--surface-subtle)}.text-button{color:var(--teal);background:0 0;border:0;font-size:11px;font-weight:700}.icon-button{border:1px solid var(--field-border);background:var(--surface);color:var(--teal);border-radius:8px;min-width:33px;min-height:33px;font-weight:700}.icon-button:hover{background:var(--surface-subtle)}.metric-grid{grid-template-columns:repeat(4,1fr);gap:12px;margin:16px 0;display:grid}.metric-card{text-align:left;border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:12px;padding:18px;transition:all .18s}.metric-card:hover{box-shadow:var(--shadow);transform:translateY(-2px)}.metric-card span,.metric-card small{display:block}.metric-card span{color:var(--muted);font-size:11px}.metric-card strong{font:600 28px var(--display-font);margin:9px 0 2px;display:block}.metric-card small{color:var(--muted);font-size:10px}.metric-card.teal strong{color:var(--teal)}.metric-card.orange strong{color:var(--orange)}.metric-card.blue strong{color:var(--blue)}.metric-card.ink strong{color:var(--ink)}.content-grid{grid-template-columns:1.08fr .92fr;gap:16px;display:grid}.section-card{border:1px solid var(--line);background:var(--surface);border-radius:12px;padding:22px}.section-heading{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.section-heading h3{font:500 21px var(--display-font);letter-spacing:-.03em;margin:7px 0 0}.muted{color:var(--muted);font-size:12px;line-height:1.6}.lesson-strip{border-top:1px solid var(--line);align-items:center;gap:13px;margin-top:17px;padding-top:16px;display:flex}.strip-number{background:var(--surface-subtle);width:34px;height:34px;color:var(--teal);font:600 12px var(--display-font);border-radius:9px;place-items:center;display:grid}.lesson-strip strong{font-size:12px}.lesson-strip p{color:var(--muted);margin:4px 0 0;font-size:11px}.lesson-strip .icon-button{margin-left:auto}.phase-row{border-bottom:1px solid var(--line);grid-template-columns:1fr 100px 35px;align-items:center;gap:11px;padding:10px 0;display:grid}.phase-row:last-child{border-bottom:0}.phase-label{align-items:center;gap:9px;display:flex}.phase-label span{color:var(--orange);font:600 11px var(--display-font)}.phase-label strong{font-size:11px;font-weight:600}.phase-row small{text-align:right;color:var(--muted);font-size:10px}.mini-progress{background:var(--surface-subtle);border-radius:4px;height:4px;overflow:hidden}.mini-progress span{background:var(--teal);border-radius:4px;height:100%;display:block}.roadmap-layout{grid-template-columns:minmax(420px,.95fr) minmax(380px,1.05fr);align-items:start;gap:26px;display:grid}.roadmap-intro{margin-bottom:29px}.roadmap-intro p,.page-intro p,.review-header p{color:var(--muted);max-width:530px;font-size:13px;line-height:1.65}.track-pills{flex-wrap:wrap;gap:7px;margin-top:18px;display:flex}.track-pills span{color:var(--teal-dark);background:var(--surface-subtle);border:1px solid var(--line);border-radius:20px;padding:7px 10px;font-size:10px}.phase-block{border-top:1px solid var(--line);padding:22px 0 18px}.phase-header{align-items:center;gap:13px;display:flex}.phase-index{width:35px;height:35px;color:var(--on-accent);background:var(--teal);font:600 12px var(--display-font);border-radius:10px 10px 4px;place-items:center;display:grid}.phase-header h3{font:500 17px var(--display-font);margin:0}.phase-header p{color:var(--muted);margin:5px 0 0;font-size:10px}.module-block{margin:19px 0 0 48px}.module-title{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;margin-bottom:5px;font-size:10px;font-weight:700;display:block}.lesson-row{border:0;border-bottom:1px solid var(--line);text-align:left;width:100%;color:var(--ink);background:0 0;grid-template-columns:22px 1fr 30px;align-items:center;gap:4px;padding:9px 4px;font-size:12px;display:grid}.lesson-row:hover,.lesson-row.selected{background:var(--surface-subtle);color:var(--teal-dark)}.lesson-row small{color:var(--muted);text-align:right;font-size:10px}.lesson-check{color:var(--muted)}.lesson-row.done .lesson-check{color:var(--teal)}.lesson-detail-pane{border:1px solid var(--line);background:var(--surface);border-radius:14px;min-height:560px;position:sticky;top:25px;box-shadow:0 12px 34px #293a330a}.detail-empty,.empty-state{text-align:center;align-content:center;justify-items:center;min-height:560px;padding:48px;display:grid}.detail-mark{background:var(--surface-subtle);width:47px;height:47px;color:var(--teal);border-radius:15px 15px 6px;place-items:center;margin-bottom:17px;font-size:23px;display:grid}.detail-empty h3,.empty-state h3{font:500 22px var(--display-font);margin:0 0 9px}.detail-empty p,.empty-state p{color:var(--muted);max-width:290px;font-size:12px;line-height:1.6}.lesson-detail{padding:29px}.lesson-detail h2{font:500 31px/.98 var(--display-font);letter-spacing:-.04em;margin:10px 0}.lead{color:var(--muted);margin:0;font-size:13px;line-height:1.65}.tag-list{flex-wrap:wrap;gap:6px;margin:17px 0 24px;display:flex}.tag-list .tag{background:var(--surface-subtle);color:var(--muted);padding:6px 8px;font-size:9px}.detail-section{border-top:1px solid var(--line);padding:18px 0}.detail-section h4{margin:0 0 11px;font-size:12px}.detail-section ul{margin:0;padding-left:17px}.detail-section li{color:var(--muted);margin:4px 0;font-size:12px;line-height:1.7}.checklist{gap:9px;display:grid}.checklist label{color:var(--muted);font-size:12px}.checklist input{accent-color:var(--teal)}.resource-list{gap:7px;display:grid}.resource-list a{color:var(--teal-dark);background:var(--surface-subtle);border:1px solid var(--line);border-radius:7px;align-items:center;gap:9px;padding:8px 9px;font-size:11px;text-decoration:none;display:flex}.resource-list a:hover{border-color:var(--line)}.resource-list a span{color:var(--orange);font-size:9px;font-weight:700}.resource-list a b{margin-left:auto;font-weight:400}.review-prompt{background:var(--surface-subtle);border-left:3px solid var(--orange);margin:8px 0;padding:10px 12px}.review-prompt p{color:var(--muted);margin:0;font-size:11px;line-height:1.55}.review-prompt summary{color:var(--teal);cursor:pointer;margin-top:7px;font-size:10px}.detail-actions{flex-wrap:wrap;gap:8px;padding-top:5px;display:flex}.success-note{color:var(--teal);font-size:11px;line-height:1.5}.ask-box{background:var(--surface-subtle);border:1px solid var(--line);border-radius:10px;margin-top:22px;padding:16px}.ask-box h4{font:500 17px var(--display-font);margin:7px 0}.ask-box p{color:var(--muted);font-size:11px;line-height:1.5}.review-layout{max-width:850px;margin:30px auto}.review-header{margin-bottom:28px}.review-card{border:1px solid var(--line);background:var(--surface);box-shadow:var(--shadow);border-radius:15px;padding:29px}.review-card-meta{color:var(--muted);text-transform:uppercase;letter-spacing:.08em;justify-content:space-between;font-size:10px;display:flex}.review-card h3{font:500 26px/1.2 var(--display-font);max-width:650px;margin:42px 0 25px}.review-card details{border-top:1px solid var(--line);color:var(--muted);padding-top:15px;font-size:12px;line-height:1.6}.review-card summary{color:var(--teal);cursor:pointer;font-size:11px;font-weight:700}.rating-row{border-top:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:7px;margin-top:26px;padding-top:17px;display:flex}.rating-row span{color:var(--muted);margin-right:auto;font-size:11px}.rating-row button{border:1px solid var(--field-border);background:var(--surface);color:var(--muted);border-radius:7px;padding:7px 12px;font-size:10px;font-weight:700}.rating-row button.good{color:var(--teal);background:var(--surface-subtle);border-color:var(--field-border)}.rating-row button.easy{color:var(--link);background:var(--surface-subtle);border-color:var(--field-border)}.page-intro{justify-content:space-between;align-items:end;gap:35px;margin-bottom:29px;display:flex}.page-intro>p{max-width:340px;margin:0 0 6px}.exercise-grid,.tools-grid{grid-template-columns:repeat(3,1fr);gap:14px;display:grid}.exercise-card,.tool-card{border:1px solid var(--line);background:var(--surface);border-radius:12px;padding:18px}.exercise-top{color:var(--muted);justify-content:space-between;align-items:center;font-size:10px;display:flex}.exercise-top .tag{text-transform:uppercase;padding:5px 8px}.exercise-card h3,.tool-card h3{font:500 19px var(--display-font);margin:19px 0 9px}.exercise-card p,.tool-card p{color:var(--muted);min-height:53px;font-size:11px;line-height:1.6}.exercise-actions{align-items:center;gap:7px;margin-top:18px;display:flex}.path-label{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;margin-top:11px;font-size:9px;display:block;overflow:hidden}.run-output,.git-output{background:var(--code-bg);color:var(--code-text);white-space:pre-wrap;border-radius:9px;margin-top:18px;padding:15px;font-size:11px;overflow:auto}.tool-card{gap:13px;display:flex}.tool-symbol{background:var(--surface-subtle);height:34px;color:var(--teal);font:600 18px var(--display-font);border-radius:9px;flex:0 0 34px;place-items:center;display:grid}.tool-card .eyebrow{font-size:9px}.tool-card h3{margin-top:5px}.tool-card p{min-height:auto;margin:7px 0 13px}.tool-card strong{font-size:10px}.command-list{gap:5px;margin-top:10px;display:grid}.command-list code{background:var(--surface-subtle);color:var(--teal-dark);border:1px solid var(--line);overflow-wrap:anywhere;border-radius:4px;padding:5px 7px;font-size:9px}.journal-grid{grid-template-columns:1fr 1fr;gap:14px;display:grid}.journal-card p,.ask-card p{color:var(--muted);min-height:47px;font-size:12px;line-height:1.65}.journal-card .primary-button{margin-top:15px}.ask-card textarea{border:1px solid var(--field-border);resize:vertical;background:var(--surface);width:100%;min-height:74px;color:var(--ink);border-radius:7px;margin:13px 0;padding:9px;font-size:11px}.git-card{margin-top:14px}.git-details{grid-template-columns:repeat(3,1fr);gap:12px;margin:19px 0;display:grid}.git-details span,.git-details strong{display:block}.git-details span{color:var(--muted);font-size:10px}.git-details strong{text-overflow:ellipsis;white-space:nowrap;margin-top:6px;font-size:12px;overflow:hidden}.loading-state{min-height:60vh;color:var(--muted);align-content:center;place-items:center;gap:13px;font-size:12px;display:grid}.loading-orb{border:3px solid var(--line);border-top-color:var(--teal);border-radius:50%;width:38px;height:38px;animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid var(--focus);outline-offset:2px}@media (width<=1100px){.hero-progress{margin-right:0}.page-content,.topbar{padding-inline:30px}.error-banner{margin-inline:30px}.exercise-grid,.tools-grid{grid-template-columns:repeat(2,1fr)}}@media (width<=850px){.sidebar{width:72px;padding-inline:10px}.brand-lockup{justify-content:center}.brand-lockup>div:last-child,.sidebar-intro,.nav-item span:not(.nav-icon),.sidebar-footer{display:none}.nav-item{justify-content:center;padding:12px 8px}.nav-icon{font-size:20px}.roadmap-layout{grid-template-columns:1fr}.lesson-detail-pane{position:static}.page-intro{display:block}.page-intro>p{margin-top:14px}.hero-panel{padding:31px}.hero-progress{display:none}}@media (width<=620px){.topbar{height:auto;padding:20px 18px}.topbar h1,.topbar-title{font-size:22px}.page-content{padding:22px 18px 45px}.error-banner{margin:14px 18px 0}.hero-panel{padding:25px 22px}.metric-grid{grid-template-columns:repeat(2,1fr)}.metric-card{padding:14px}.metric-card strong{font-size:23px}.content-grid,.journal-grid,.exercise-grid,.tools-grid{grid-template-columns:1fr}.roadmap-layout{gap:15px}.module-block{margin-left:0}.roadmap-intro h2,.page-intro h2,.review-header h2{font-size:38px}.lesson-detail{padding:21px}.git-details{grid-template-columns:1fr}.language-chip{display:none}}.language-chip{cursor:pointer}.note-editor textarea{border:1px solid var(--field-border);resize:vertical;background:var(--surface);width:100%;min-height:92px;color:var(--ink);border-radius:7px;margin-bottom:9px;padding:9px;font-size:11px;display:block}.track-pills button{color:var(--teal-dark);background:var(--surface-subtle);border:1px solid var(--field-border);border-radius:20px;padding:7px 10px;font-size:10px}.track-pills button.selected{background:var(--teal);border-color:var(--teal);color:var(--on-accent)}.notes-card{margin-top:14px}.saved-notes{gap:9px;margin-top:16px;display:grid}.saved-note{border-left:3px solid var(--orange);background:var(--surface-subtle);padding:10px 12px}.saved-note strong{color:var(--teal-dark);font-size:12px;display:block}.saved-note p{color:var(--muted);white-space:pre-wrap;margin:6px 0;font-size:11px;line-height:1.55}.saved-note small{color:var(--muted);font-size:9px}.filter-bar{flex-wrap:wrap;gap:8px;margin:18px 0 4px;display:flex}.filter-bar input,.filter-bar select,.settings-card input,.settings-card select,.review-card textarea{border:1px solid var(--field-border);background:var(--surface);color:var(--ink);border-radius:7px;padding:9px 10px;font-size:11px}.filter-bar input{flex:1;min-width:190px}.filter-bar select{min-width:135px}.concept-notes{color:var(--muted);white-space:pre-line;font-size:12px;line-height:1.7}.formula-list{gap:6px;margin-top:10px;display:grid}.formula-list code{background:var(--code-bg);color:var(--code-text);border-radius:6px;padding:8px 10px;font-size:11px;display:block}.code-example{background:var(--surface-subtle);border:1px solid var(--line);border-radius:8px;margin-top:10px;padding:12px}.code-example strong{color:var(--teal-dark);font-size:11px;display:block}.code-example pre{background:var(--code-bg);color:var(--code-text);border-radius:6px;margin:9px 0;padding:10px;font-size:10px;overflow:auto}.next-lesson-list{flex-wrap:wrap;gap:8px;display:flex}.detail-actions input{border:1px solid var(--field-border);background:var(--surface);border-radius:7px;width:100px;padding:9px}.session-card{margin-top:14px}.session-progress{background:var(--surface-subtle);border-radius:6px;height:6px;margin:13px 0;overflow:hidden}.session-progress span{background:var(--orange);border-radius:6px;height:100%;display:block}.session-form{flex-wrap:wrap;gap:8px;display:flex}.session-form input{border:1px solid var(--field-border);background:var(--surface);min-width:120px;color:var(--ink);border-radius:7px;flex:1;padding:9px;font-size:11px}.session-goal{color:var(--muted);margin:6px 0 14px;font-size:11px}.session-goal strong{color:var(--teal-dark)}.lesson-evidence{border:1px solid var(--line);background:var(--surface-subtle);border-radius:9px;margin:18px 0 3px;padding:12px}.lesson-evidence .section-heading strong{color:var(--teal-dark);font-size:11px}.lesson-evidence .section-heading span{color:var(--teal);font-size:11px;font-weight:700}.lesson-evidence small{color:var(--muted);font-size:10px}.checked-item{color:var(--teal-dark);text-decoration:line-through;-webkit-text-decoration-color:var(--line);text-decoration-color:var(--line)}.warning-note{color:var(--warning-text);background:var(--warning-bg);border-left:3px solid var(--orange);padding:8px 10px;font-size:11px;line-height:1.5}.success-note{white-space:pre-line}.linked-exercise{background:var(--surface-subtle);border:1px solid var(--line);border-radius:8px;justify-content:space-between;align-items:center;gap:10px;margin-top:8px;padding:10px;display:flex}.linked-exercise strong,.linked-exercise small{display:block}.linked-exercise strong{color:var(--teal-dark);font-size:11px}.linked-exercise small{color:var(--muted);margin-top:4px;font-size:10px}.session-minutes{color:var(--muted);align-items:center;gap:6px;font-size:10px;display:inline-flex}.session-minutes input{border:1px solid var(--field-border);background:var(--surface);width:76px;color:var(--ink);border-radius:7px;padding:9px;font-size:11px}.getting-started{background:var(--warning-bg);border-color:var(--warning-border);margin-top:14px}.start-steps{grid-template-columns:repeat(3,1fr);gap:8px;margin-top:15px;display:grid}.start-steps button{text-align:left;border:1px solid var(--field-border);background:var(--surface);color:var(--ink);border-radius:8px;grid-template-columns:28px 1fr;align-items:start;gap:2px 9px;padding:11px;display:grid}.start-steps button:hover{border-color:var(--orange);transform:translateY(-1px)}.start-steps span{color:var(--orange);font:600 14px var(--display-font);grid-row:span 2}.start-steps strong{color:var(--teal-dark);font-size:11px}.start-steps small{color:var(--muted);font-size:10px;line-height:1.45}.hiring-card{grid-column:1/-1}.readiness-bar{background:var(--surface-subtle);border-radius:8px;height:7px;margin:15px 0 17px;overflow:hidden}.readiness-bar span{background:linear-gradient(90deg, var(--teal), var(--surface-subtle));border-radius:inherit;height:100%;display:block}.readiness-projects{grid-template-columns:repeat(4,1fr);gap:8px;display:grid}.readiness-project{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:8px;padding-top:11px;display:flex}.readiness-project strong,.readiness-project small{display:block}.readiness-project strong{color:var(--teal-dark);font-size:10px}.readiness-project small{color:var(--muted);margin-top:4px;font-size:9px}.readiness-project>span{color:var(--muted);white-space:nowrap;font-size:9px}.readiness-project>span.progress{color:var(--orange)}.readiness-project>span.ready{color:var(--teal);font-weight:700}.review-card textarea{resize:vertical;width:100%;min-height:100px;margin:18px 0 12px}.review-history,.weak-topics{margin-top:14px}.review-history p,.weak-topics p{color:var(--muted);margin:8px 0 0;font-size:11px}.review-history strong,.weak-topics strong{color:var(--teal-dark)}.settings-card{gap:16px;max-width:680px;display:grid}.settings-card label{color:var(--teal-dark);gap:7px;font-size:11px;font-weight:700;display:grid}.settings-card input,.settings-card select{width:100%}.setting-check{grid-template-columns:auto 1fr;align-items:center;gap:8px!important;font-weight:500!important;display:flex!important}.setting-check input{width:auto;accent-color:var(--teal)}.run-history{border-top:1px solid var(--line);margin-top:12px;padding-top:10px}.run-history p{color:var(--muted);margin:5px 0;font-size:10px}.run-history strong{color:var(--teal-dark);text-transform:uppercase}.metric-grid{grid-template-columns:repeat(5,1fr)}.portfolio-board{border:1px solid var(--line);background:var(--surface-subtle);border-radius:12px;margin:16px 0;padding:22px}.portfolio-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:15px;display:grid}.portfolio-card{border:1px solid var(--line);background:var(--surface);border-radius:9px;padding:14px}.portfolio-card.genai-portfolio-card{border-color:var(--line);background:linear-gradient(145deg, var(--surface), var(--surface))}.portfolio-card-top{justify-content:space-between;align-items:center;gap:8px;display:flex}.portfolio-card-top code{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:9px;overflow:hidden}.portfolio-card h4{font:500 17px var(--display-font);margin:14px 0 7px}.portfolio-card p{min-height:54px;color:var(--muted);font-size:11px;line-height:1.55}.portfolio-card strong{color:var(--teal-dark);margin-top:12px;font-size:10px;display:block}.portfolio-card ul,.career-checklist ul{color:var(--muted);padding-left:17px;font-size:10px;line-height:1.65}.career-checklist{border-top:1px solid var(--line);margin-top:18px;padding-top:13px}.career-checklist summary{color:var(--teal-dark);cursor:pointer;font-size:11px;font-weight:700}@media (width<=1100px){.metric-grid{grid-template-columns:repeat(3,1fr)}.portfolio-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=620px){.metric-grid{grid-template-columns:repeat(2,1fr)}.portfolio-grid{grid-template-columns:1fr}}@media (width<=850px){.start-steps,.readiness-projects{grid-template-columns:1fr}.hiring-card{grid-column:auto}}.context-result{border-top:1px solid var(--line);margin-top:17px;padding-top:16px}.context-result .section-heading{align-items:center;margin-bottom:9px}.context-result h4{font:500 17px var(--display-font);margin:3px 0 0}.context-preview{border:1px solid var(--line);resize:vertical;background:var(--surface);width:100%;min-height:260px;color:var(--ink);border-radius:8px;margin:0;padding:11px;font:10px/1.55 ui-monospace,SFMono-Regular,Consolas,monospace}.context-path{color:var(--muted);overflow-wrap:anywhere;margin-top:8px;font-size:10px;display:block}.ask-card .warning-note{min-height:0!important;color:var(--warning-text)!important;margin:11px 0 0!important;font-size:11px!important}.loading-state.compact{min-height:420px}.error-banner .text-button{color:var(--warning-text);text-underline-offset:3px;margin-left:10px;text-decoration:underline}.feedback-panel{border:1px solid var(--line);background:var(--surface-subtle);border-radius:12px;margin-top:14px;padding:20px}.feedback-panel h4{font:500 20px var(--display-font);letter-spacing:-.025em;margin:7px 0 0}.backup-card{margin-top:17px}.backup-actions{flex-wrap:wrap;gap:10px;margin:16px 0;display:flex}.backup-editor{resize:vertical;border:1px solid var(--line);background:var(--surface);width:100%;min-height:180px;color:var(--ink);border-radius:8px;padding:11px;font:11px/1.55 ui-monospace,SFMono-Regular,Consolas,monospace}.feedback-form{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px;margin-top:16px;display:grid}.feedback-form label{color:var(--teal-dark);gap:6px;font-size:10px;font-weight:700;display:grid}.feedback-form select,.feedback-form input,.feedback-form textarea,.community-filter select{border:1px solid var(--field-border);background:var(--surface);color:var(--ink);border-radius:7px;padding:9px 10px;font-size:11px}.feedback-form select,.feedback-form input,.community-filter select{min-height:35px}.feedback-body-field{grid-column:1/-1;position:relative}.feedback-form textarea{resize:vertical;width:100%;min-height:92px}.feedback-body-field small{color:var(--muted);font-size:9px;font-weight:400;position:absolute;bottom:9px;right:10px}.feedback-form .secondary-button{justify-self:start}.feedback-report-actions{gap:10px;margin-top:12px;display:grid}.feedback-report-actions>.text-button{justify-self:start}.feedback-report{border:1px solid var(--line);background:var(--surface);border-radius:9px;gap:9px;padding:13px;display:grid}.feedback-report-heading{color:var(--teal-dark);justify-content:space-between;align-items:center;gap:12px;font-size:11px;display:flex}.feedback-report-heading>div{flex-wrap:wrap;gap:9px;display:flex}.feedback-report-preview{resize:vertical;border:1px solid var(--line);background:var(--surface);width:100%;min-height:170px;color:var(--ink);border-radius:7px;padding:10px;font:11px/1.55 ui-monospace,SFMono-Regular,Consolas,monospace}.feedback-report small{color:var(--muted);font-size:10px;line-height:1.45}.feedback-list{gap:9px;margin-top:17px;display:grid}.feedback-item{border-top:1px solid var(--line);padding-top:11px}.feedback-item-meta{color:var(--muted);flex-wrap:wrap;align-items:center;gap:8px;font-size:9px;display:flex}.feedback-item-meta .tag{background:var(--surface);padding:5px 7px;font-size:8px}.feedback-item p,.community-feedback-card p{color:var(--muted);white-space:pre-wrap;overflow-wrap:anywhere;margin:7px 0 0;font-size:11px;line-height:1.6}.feedback-implemented{color:var(--teal);margin-top:7px;font-size:9px;font-weight:700;display:inline-block}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.community-layout{gap:16px;max-width:980px;margin:0 auto;display:grid}.community-hero{border:1px solid var(--line);background:var(--surface-subtle);border-radius:15px;padding:34px 38px}.community-hero h2{font:500 clamp(32px, 4vw, 48px)/.96 var(--display-font);letter-spacing:-.055em;margin:12px 0 15px}.community-hero h2 em{color:var(--teal);font-style:italic}.community-hero p{max-width:650px;color:var(--muted);margin:0;font-size:13px;line-height:1.65}.community-boundary{border-top:1px solid var(--line);color:var(--muted);flex-wrap:wrap;align-items:center;gap:10px;margin-top:22px;padding-top:15px;font-size:10px;display:flex}.community-boundary strong{color:var(--teal-dark);letter-spacing:.08em;text-transform:uppercase}.community-feed{min-height:350px}.community-feed .empty-state{min-height:220px;padding:28px}.community-filter{align-items:center;display:flex}.community-feed-list{gap:11px;margin-top:17px;display:grid}.community-feedback-card{border:1px solid var(--line);background:var(--surface);border-radius:9px;padding:15px}.community-feedback-card .text-button{text-align:left;margin-top:11px;font-size:10px;display:block}.community-feedback-card .feedback-implemented{margin-left:0}@media (width<=620px){.feedback-form{grid-template-columns:1fr}.feedback-body-field{grid-column:auto}.feedback-report-heading{flex-direction:column;align-items:flex-start}.community-hero{padding:27px 22px}.community-hero h2{font-size:38px}.community-filter select{max-width:160px}}.security-layout{gap:16px;max-width:1080px;margin:0 auto;display:grid}.security-hero{border:1px solid var(--line);background:var(--surface-subtle);border-radius:15px;justify-content:space-between;align-items:center;gap:28px;padding:34px 38px;display:flex}.security-hero h2{font:500 clamp(32px,4vw,48px)/.96 var(--display-font);letter-spacing:-.055em;margin:12px 0 15px}.security-hero h2 em{color:var(--teal);font-style:italic}.security-hero p{max-width:620px;color:var(--muted);margin:0;font-size:13px;line-height:1.65}.security-safe-panel{border:1px solid var(--line);background:var(--surface);min-width:175px;color:var(--muted);border-radius:10px;gap:6px;padding:16px;font-size:10px;display:grid}.security-safe-panel strong{color:var(--teal-dark);letter-spacing:.1em;font-size:11px}.security-safe-panel span:before{content:"✓";color:var(--teal);margin-right:6px;font-weight:700}.security-summary{grid-template-columns:repeat(3,minmax(0,1fr)) auto;align-items:stretch;gap:12px;display:grid}.security-stat{border:1px solid var(--line);background:var(--surface);border-radius:11px;padding:17px}.security-stat span,.security-stat small{color:var(--muted);font-size:10px;display:block}.security-stat strong{color:var(--ink);font:600 27px var(--display-font);margin:8px 0 3px;display:block}.security-stat.warning strong{color:var(--orange)}.security-stat.safe strong{color:var(--teal)}.security-stat small{line-height:1.45}.security-refresh{white-space:nowrap;align-self:center}.security-method-card{border:1px solid var(--line);background:var(--surface-subtle);border-radius:12px;padding:20px 22px}.security-method-card h3{font:500 21px var(--display-font);margin:7px 0 0}.security-method-card>p{max-width:760px;color:var(--muted);margin:10px 0 16px;font-size:12px;line-height:1.65}.security-steps{flex-wrap:wrap;gap:8px;display:flex}.security-steps span{border:1px solid var(--line);background:var(--surface);color:var(--muted);border-radius:18px;align-items:center;gap:7px;padding:7px 10px;font-size:10px;display:inline-flex}.security-steps b{color:var(--orange);font:600 11px var(--display-font)}.security-findings-card{padding:22px}.security-filters{flex-wrap:wrap;gap:10px;margin:17px 0 3px;display:flex}.security-filters label{color:var(--muted);gap:5px;font-size:10px;display:grid}.security-filters select{border:1px solid var(--field-border);background:var(--surface);min-width:155px;color:var(--ink);border-radius:7px;padding:8px 10px;font-size:11px}.security-finding-list{gap:10px;margin-top:15px;display:grid}.security-finding{border:1px solid var(--line);border-left:3px solid var(--line);background:var(--surface);border-radius:9px;padding:15px}.security-finding.security-needs_human_review{border-left-color:var(--line)}.security-finding.security-verified_control{border-left-color:var(--teal);background:var(--surface-subtle)}.security-finding-top{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.security-finding-top code{max-width:55%;color:var(--muted);overflow-wrap:anywhere;font-size:10px}.security-finding-tags{flex-wrap:wrap;gap:6px;display:flex}.security-severity,.security-status{border-radius:13px;align-items:center;padding:5px 8px;font-size:9px;font-weight:700;display:inline-flex}.security-severity{background:var(--surface-subtle);color:var(--muted)}.severity-critical,.severity-high{background:var(--danger-bg);color:var(--danger-text)}.severity-medium{background:var(--warning-bg);color:var(--warning-text)}.severity-low{background:var(--surface-subtle);color:var(--muted)}.severity-info{background:var(--success-bg);color:var(--success-text)}.security-status{color:var(--muted);background:var(--surface-subtle);font-weight:600}.security-finding h4{margin:12px 0 8px;font-size:13px}.security-finding p{margin:5px 0;font-size:11px;line-height:1.6}.security-evidence,.security-remediation{color:var(--muted)}.security-finding p strong{color:var(--ink)}.security-source{color:var(--muted);overflow-wrap:anywhere;margin-top:10px;font-size:9px;display:block}.security-details{border:1px solid var(--line);background:var(--surface);border-radius:11px;padding:16px 19px}.security-details summary{color:var(--teal-dark);cursor:pointer;font-size:12px;font-weight:700}.security-details>p{margin:12px 0}.security-details ul{margin:13px 0 0;padding-left:18px}.security-details li{color:var(--muted);margin:5px 0;font-size:11px;line-height:1.65}.security-route-list{gap:6px;max-height:420px;margin-top:14px;display:grid;overflow:auto}.security-route{border:1px solid var(--line);background:var(--surface);border-radius:7px;justify-content:space-between;align-items:center;gap:12px;padding:9px 10px;display:flex}.security-route code{color:var(--teal-dark);overflow-wrap:anywhere;font-size:10px;display:block}.security-route small{color:var(--muted);margin-top:4px;font-size:9px;display:block}.security-route-read,.security-route-write{color:var(--warning-text);flex:none;font-size:9px}.security-route-write{color:var(--warning-text)}.security-route-write:before{content:"•";color:var(--orange);margin-right:3px}.security-route-read:before{content:"•";color:var(--teal);margin-right:3px}@media (width<=850px){.security-hero{padding:29px 25px;display:block}.security-safe-panel{max-width:260px;margin-top:20px}.security-summary{grid-template-columns:repeat(3,minmax(0,1fr))}.security-refresh{grid-column:1/-1;justify-self:start}}@media (width<=620px){.security-hero h2{font-size:38px}.security-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.security-stat:last-of-type{grid-column:1/-1}.security-finding-top{display:block}.security-finding-top code{max-width:none;margin-top:9px;display:block}.security-route{align-items:flex-start;display:block}.security-route-read,.security-route-write{margin-top:7px;display:block}}.mobile-nav-toggle,.mobile-nav-close,.mobile-nav-scrim{display:none}.global-search{align-items:center;display:flex;position:relative}.global-search input{border:1px solid var(--field-border);background:var(--surface);width:190px;min-height:36px;color:var(--ink);border-radius:18px;padding:8px 52px 8px 12px;font-size:11px}.global-search input::placeholder{color:var(--muted)}.global-search kbd{color:var(--muted);pointer-events:none;font:10px ui-monospace,SFMono-Regular,Consolas,monospace;position:absolute;right:10px}.global-search-clear{color:var(--muted);background:0 0;border:0;padding:4px;font-size:16px;line-height:1;position:absolute;right:38px}.global-search-results{z-index:30;border:1px solid var(--line);background:var(--surface);width:min(360px,100vw - 36px);box-shadow:var(--shadow);border-radius:10px;padding:6px;position:absolute;top:43px;right:0}.global-search-result{width:100%;color:var(--ink);text-align:left;background:0 0;border:0;border-radius:7px;gap:3px;padding:10px;display:grid}.global-search-result:hover,.global-search-result:focus-visible{background:var(--surface-subtle);color:var(--teal-dark)}.global-search-result strong{font-size:11px}.global-search-result small,.global-search-status{color:var(--muted);font-size:10px}.global-search-status{margin:8px;padding:5px}.filter-count{color:var(--teal-dark);white-space:nowrap;align-self:center;font-size:10px;font-weight:700}.filter-note{color:var(--muted);margin:8px 0 0;font-size:10px}.resource-list-internal{color:var(--teal-dark);background:var(--surface-subtle);border:1px solid var(--line);border-radius:7px;align-items:center;gap:9px;padding:8px 9px;font-size:11px;display:flex}.resource-list-internal span{color:var(--orange);font-size:9px;font-weight:700}.resource-list-internal small{color:var(--muted);margin-left:auto;font-size:9px}.resource-internal-note{color:var(--muted);font-size:10px}.mobile-nav-close{color:var(--sidebar-text);background:0 0;border:0;margin-left:auto;padding:4px 8px;font-size:22px;line-height:1}.next-lesson-list .text-button{min-height:36px}.next-lesson-list small{color:var(--muted);font-size:9px;font-weight:400}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.loading-orb{animation:none}}@media (width<=850px){.mobile-nav-toggle{border:1px solid var(--line);background:var(--surface);width:44px;height:44px;color:var(--teal-dark);border-radius:8px;flex:none;justify-content:center;align-items:center;font-size:20px;display:inline-flex}.mobile-nav-close{display:block}.topbar{gap:12px}.topbar>div:first-of-type{min-width:0}.sidebar{z-index:50;width:260px;height:100vh;min-height:100vh;padding:27px 18px 20px;transition:transform .2s;position:fixed;top:0;left:0;overflow-y:auto;transform:translate(-105%);box-shadow:12px 0 35px #0f332f33}.sidebar.open{transform:translate(0)}.brand-lockup{justify-content:flex-start}.brand-lockup>div:last-child,.sidebar-intro,.nav-item span:not(.nav-icon),.sidebar-footer{display:block}.nav-item{justify-content:flex-start;padding:11px 10px}.nav-icon{font-size:18px}.mobile-nav-scrim{z-index:40;background:#0f2b276b;position:fixed;inset:0}.mobile-nav-scrim.open{display:block}.main-area{width:100%}}@media (width<=620px){.topbar{flex-wrap:wrap;align-items:flex-start}.topbar-actions{gap:7px;margin-left:auto}.global-search{flex-basis:100%;order:3;width:100%}.global-search input{width:100%}.global-search-results{width:100%;left:0;right:auto}.language-chip{min-height:36px;display:inline-flex}.refresh-button{flex:none;width:36px;height:36px}.filter-bar input,.filter-bar select{width:100%;min-width:100%}.filter-count{width:100%}.resource-list-internal{flex-wrap:wrap;align-items:flex-start}.resource-list-internal small{width:100%;margin-left:0}}.muted,.resource-provider,.resource-internal-note{color:var(--muted)}@media (width<=850px){button,.nav-item,.language-chip,.refresh-button,.icon-button,.primary-button,.secondary-button,.text-button,input,select,textarea,.filter-bar input,.filter-bar select{min-height:44px}}.brand-mark,.topbar h1,.hero-copy h2,.roadmap-intro h2,.review-header h2,.page-intro h2,.hero-progress strong,.metric-card strong,.section-heading h3,.strip-number,.phase-label span,.phase-index,.phase-header h3,.detail-empty h3,.empty-state h3,.lesson-detail h2,.ask-box h4,.review-card h3,.exercise-card h3,.tool-card h3,.tool-symbol,.start-steps span,.portfolio-card h4,.context-result h4{font-family:var(--display-font)}.roadmap-layout{display:block}.roadmap-list{max-width:1100px}.phase-block{max-width:1040px}.genai-phase-block{border:1px solid var(--line);background:linear-gradient(145deg, var(--surface-subtle), var(--surface));border-radius:12px;margin-top:8px;padding-inline:15px}.genai-phase-block+.genai-phase-block{margin-top:12px}.genai-phase-block .phase-index{background:var(--orange)}.genai-phase-block .module-title{color:var(--teal)}.lesson-row{border:1px solid #0000;border-radius:8px;min-height:43px;padding:10px 12px;transition:background .18s,border-color .18s,transform .18s}.lesson-row:hover{border-color:var(--line);transform:translate(2px)}.lesson-page{max-width:1120px;margin:0 auto}.lesson-page-toolbar{border-bottom:1px solid var(--line);grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:16px;margin-bottom:17px;padding:2px 0 15px;display:grid}.back-button{border:1px solid var(--field-border);background:var(--surface-subtle);color:var(--teal-dark);white-space:nowrap;border-radius:8px;align-items:center;gap:7px;padding:9px 12px;font-size:11px;font-weight:700;display:inline-flex}.back-button:hover{border-color:var(--field-border);background:var(--surface-subtle)}.lesson-page-context{gap:5px;min-width:0;display:grid}.lesson-page-context>span:last-child{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.lesson-page-meta{color:var(--teal-dark);border:1px solid var(--line);background:var(--surface-subtle);white-space:nowrap;border-radius:20px;padding:7px 10px;font-size:10px;font-weight:700}.lesson-page-shell{border:1px solid var(--line);background:var(--surface);border-radius:17px;max-width:980px;margin:0 auto;box-shadow:0 16px 45px #293a3312}.lesson-page-shell .lesson-detail{padding:clamp(28px,5vw,58px)}.lesson-page-shell .lesson-detail h2{max-width:820px;font-size:clamp(36px,5vw,58px);line-height:1.03}.lesson-page-shell .lesson-detail .lead{max-width:800px;font-size:15px;line-height:1.75}.lesson-page-shell .detail-section{padding:25px 0}.lesson-page-shell .detail-section h4{font-size:14px}.lesson-page-shell .detail-section li,.lesson-page-shell .concept-notes{font-size:13px;line-height:1.8}.lesson-page-loading{border:1px solid var(--line);background:var(--surface);border-radius:17px;min-height:56vh}.lesson-page-loading .loading-state{min-height:56vh}.study-step-list>li.study-step-item{padding:0;display:block}.study-step-toggle{border:0;border-top:1px solid var(--line);width:100%;color:inherit;text-align:left;background:0 0;grid-template-columns:30px minmax(0,1fr) 28px;align-items:center;gap:9px;padding:13px 0;display:grid}.study-step-item:first-child .study-step-toggle{border-top:0}.study-step-toggle:hover{color:var(--teal-dark)}.study-step-number{color:var(--orange);font:600 12px var(--display-font)}.study-step-copy{gap:4px;min-width:0;display:grid}.study-step-copy strong{color:var(--muted);font-size:12px;font-weight:600;line-height:1.5}.study-step-copy small{color:var(--muted);font-size:10px;line-height:1.45}.study-step-chevron{border:1px solid var(--line);background:var(--surface-subtle);width:25px;height:25px;color:var(--teal);border-radius:50%;place-items:center;font-size:17px;line-height:1;display:grid}.study-step-item.open .study-step-chevron{border-color:var(--teal);background:var(--teal);color:var(--on-accent)}.study-step-detail{border:1px solid var(--line);background:var(--surface);border-radius:10px;margin:0 0 15px 39px;padding:16px}.study-step-detail h3{color:var(--teal-dark);font:500 20px/1.25 var(--display-font);margin:0 0 7px}.study-step-explanation{color:var(--muted);margin:0 0 13px;font-size:11px;line-height:1.65}.study-step-content{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;display:grid}.study-step-card{border:1px solid var(--line);background:var(--surface);border-radius:8px;min-width:0;padding:12px}.study-step-card>strong{color:var(--teal-dark);margin-top:7px;font-size:12px;line-height:1.45;display:block}.study-step-card h4{color:var(--ink);margin:0 0 8px;font-size:12px}.study-step-card p,.study-step-card li,.study-step-answer p{color:var(--muted);font-size:11px;line-height:1.6}.study-step-card p{margin:7px 0 0}.study-step-card ul{margin:0;padding-left:16px}.study-step-card li{margin:4px 0}.study-step-card small{color:var(--muted);margin-top:7px;font-size:10px;line-height:1.5;display:block}.study-step-card a{color:var(--teal);margin-top:9px;font-size:10px;font-weight:700;text-decoration:none;display:inline-block}.study-step-card a:hover{text-underline-offset:3px;text-decoration:underline}.study-step-card pre{background:var(--code-bg);max-height:230px;color:var(--code-text);white-space:pre-wrap;border-radius:6px;margin:9px 0 0;padding:10px;font-size:10px;line-height:1.55;overflow:auto}.study-step-card .concept-notes{margin:8px 0 0}.code-example-guide{grid-template-columns:minmax(7rem,auto) 1fr;gap:.35rem .75rem;margin:1rem 0 0;font-size:.9rem;display:grid}.code-example-guide dt{color:var(--muted);font-weight:700}.code-example-guide dd{color:var(--ink);margin:0}.study-step-answer{border-top:1px solid var(--line);margin-top:11px;padding-top:11px}.study-step-answer summary{color:var(--teal);cursor:pointer;font-size:10px;font-weight:700}.study-step-answer p{white-space:pre-line;margin:8px 0 0}.lesson-detail-pane{overscroll-behavior:contain;scrollbar-gutter:stable;-webkit-overflow-scrolling:touch;scrollbar-color:var(--field-border) var(--surface-subtle);min-height:0;max-height:calc(100vh - 160px);overflow-y:auto}.lesson-detail:focus{outline:none}.lesson-playbook{border:1px solid var(--line);background:linear-gradient(145deg, var(--surface-subtle), var(--surface));border-radius:12px;margin:20px 0 4px;padding:18px}.playbook-intro h4{font:500 20px/1.15 var(--display-font);color:var(--teal-dark);margin:7px 0}.playbook-intro p{color:var(--muted);margin:0;font-size:12px;line-height:1.65}.study-step-list{counter-reset:study-step;gap:7px;margin:17px 0 0;padding:0;list-style:none;display:grid}.study-step-list>li{border-top:1px solid var(--line);grid-template-columns:30px minmax(0,1fr);align-items:start;gap:9px;padding:9px 0;display:grid}.study-step-list>li>span{color:var(--orange);font:600 12px var(--display-font)}.study-step-list p{color:var(--muted);margin:0;font-size:11px;line-height:1.55}.practice-plan-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-top:14px;display:grid}.practice-plan{border:1px solid var(--line);background:var(--surface);border-radius:9px;padding:12px}.practice-plan .eyebrow{font-size:9px}.practice-plan strong{color:var(--teal-dark);margin-top:7px;font-size:12px;line-height:1.5;display:block}.practice-plan h3,.interview-questions h3{color:var(--ink);margin:13px 0 6px;font-size:11px}.practice-plan p,.practice-plan li,.interview-questions li{color:var(--muted);font-size:11px;line-height:1.55}.practice-plan ul,.interview-questions ul{margin:0;padding-left:16px}.practice-plan li,.interview-questions li{margin:4px 0}.practice-plan.checkpoint{background:var(--warning-bg);border-color:var(--warning-border)}.interview-questions{border-top:1px solid var(--line);margin-top:14px;padding-top:12px}.interview-questions h3{margin-top:0}.rich-resource-list{gap:9px;display:grid}.lesson-detail .resource-list:not(.rich-resource-list){display:none}.lesson-resource{border:1px solid var(--line);background:var(--surface-subtle);border-radius:9px;padding:12px;text-decoration:none;display:block}.resource-link{color:inherit;transition:border-color .18s,transform .18s,background .18s}.resource-link:hover{border-color:var(--line);background:var(--surface-subtle);transform:translateY(-1px)}.resource-heading{align-items:center;gap:8px;display:flex}.resource-heading strong{color:var(--teal-dark);font-size:11px;line-height:1.35}.resource-language{color:var(--orange);font-size:9px;font-weight:700}.resource-required{color:var(--teal);white-space:nowrap;margin-left:auto;font-size:9px;font-weight:700}.lesson-resource p{color:var(--muted);margin:7px 0 5px;font-size:11px;line-height:1.55}.lesson-resource small{color:var(--muted);font-size:10px;line-height:1.5;display:block}.resource-url{color:var(--muted);overflow-wrap:anywhere;margin-top:7px;font:9px/1.4 ui-monospace,SFMono-Regular,Consolas,monospace;display:block}.resource-link b{color:var(--teal);margin-top:8px;font-size:10px;display:block}.resource-internal{background:var(--surface-subtle);border-color:var(--line)}.workspace-flow{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:0 0 18px;display:grid}.workspace-flow>div{border:1px solid var(--line);background:var(--surface);border-radius:9px;grid-template-columns:26px 1fr;align-items:start;gap:2px 7px;padding:10px;display:grid}.workspace-flow span{color:var(--orange);font:600 13px var(--display-font);grid-row:span 2}.workspace-flow strong{color:var(--teal-dark);font-size:10px}.workspace-flow small{color:var(--muted);font-size:9px;line-height:1.45}.workspace-actions{flex-wrap:wrap;align-items:center}.workspace-actions button{white-space:nowrap}.artifact-path{color:var(--teal-dark);overflow-wrap:anywhere;margin:10px 0 0;font-size:10px}.artifact-path code{color:var(--teal)}.publish-panel{border:1px solid var(--line);background:var(--surface-subtle);border-radius:12px;margin-top:18px;padding:18px}.publish-panel h3{font:500 20px var(--display-font);margin:7px 0 0}.publish-panel>p{color:var(--muted);font-size:11px;line-height:1.6}.publish-panel>label:not(.publish-confirm){color:var(--teal-dark);gap:7px;font-size:11px;font-weight:700;display:grid}.publish-panel input:not([type=checkbox]){border:1px solid var(--field-border);background:var(--surface);width:100%;color:var(--ink);border-radius:7px;padding:9px 10px;font-size:11px}.publish-preview{background:var(--code-bg);color:var(--code-text);white-space:pre-wrap;overflow-wrap:anywhere;border-radius:8px;margin:12px 0;padding:12px;font:10px/1.65 ui-monospace,SFMono-Regular,Consolas,monospace}.publish-confirm{color:var(--muted);align-items:flex-start;gap:8px;margin:12px 0 14px;font-size:11px;line-height:1.5;display:flex}.publish-confirm input{accent-color:var(--teal);margin-top:2px}.resources-intro{margin-bottom:18px}.resource-library-card{border:1px solid var(--line);background:var(--surface);border-radius:15px;padding:22px;box-shadow:0 12px 32px #293a330d}.resource-library-header{border-bottom:1px solid var(--line);grid-template-columns:minmax(0,1.1fr) minmax(260px,.9fr);align-items:end;gap:24px;padding-bottom:18px;display:grid}.resource-library-header h3{color:var(--teal-dark);font:500 24px/1.15 var(--display-font);margin:7px 0 0}.resource-library-header p{color:var(--muted);margin:0;font-size:12px;line-height:1.65}.resource-filters{margin:17px 0}.resource-filters input{flex:260px;min-width:220px}.resource-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.resource-card{border:1px solid var(--line);background:var(--surface);border-radius:11px;flex-direction:column;min-width:0;padding:17px;transition:border-color .18s,transform .18s,box-shadow .18s;display:flex}.resource-card:hover{border-color:var(--line);transform:translateY(-2px);box-shadow:0 10px 24px #2d534114}.resource-card.featured{border-color:var(--line);background:linear-gradient(145deg, var(--surface), var(--surface))}.resource-card-top{justify-content:space-between;align-items:center;gap:8px;display:flex}.resource-card h4{color:var(--teal-dark);font:500 19px/1.2 var(--display-font);margin:12px 0 4px}.resource-provider{font-weight:700;color:var(--muted)!important;margin:0 0 8px!important;font-size:10px!important}.resource-card>p:not(.resource-provider){color:var(--muted);margin:0;font-size:11px;line-height:1.6}.resource-phases{flex-wrap:wrap;gap:5px;margin-top:12px;display:flex}.resource-phases span{background:var(--surface-subtle);color:var(--teal);border-radius:999px;padding:4px 7px;font-size:9px;font-weight:700}.resource-how{border:1px solid var(--line);background:var(--surface);border-radius:7px;margin-top:13px;padding:10px}.resource-how strong{color:var(--ink);font-size:10px}.resource-how p{color:var(--muted);margin:5px 0 0;font-size:10px;line-height:1.55}.resource-card .resource-link{border-top:1px solid var(--line);color:var(--teal);justify-content:space-between;align-items:center;gap:10px;margin-top:14px;padding-top:11px;font-size:11px;font-weight:700;text-decoration:none;display:flex}.resource-card .resource-link:hover{text-underline-offset:3px;text-decoration:underline}.resource-card .resource-link span{font-size:15px}@media (width<=850px){.lesson-page-toolbar{grid-template-columns:auto minmax(0,1fr)}.lesson-page-meta{grid-column:2;justify-self:start}.lesson-page-shell .lesson-detail{padding:28px}.study-step-content{grid-template-columns:1fr}.lesson-detail-pane{scrollbar-gutter:auto;max-height:none;overflow:visible}.practice-plan-grid,.workspace-flow{grid-template-columns:1fr 1fr}.resource-library-header,.resource-grid{grid-template-columns:1fr}}@media (width<=620px){.lesson-page-toolbar{gap:10px}.back-button span{display:none}.lesson-page-shell{border-radius:12px}.lesson-page-shell .lesson-detail{padding:22px 18px}.study-step-detail{margin-left:0;padding:13px}.practice-plan-grid,.workspace-flow{grid-template-columns:1fr}.resource-library-card{padding:15px}.resource-filters{align-items:stretch}.resource-filters input{min-width:0}.workspace-actions{align-items:stretch}.workspace-actions button{flex:auto}.code-example-guide{grid-template-columns:1fr;gap:.15rem}.code-example-guide dd{margin-bottom:.45rem}}.lesson-page,.lesson-page-shell,.lesson-detail{overflow-wrap:anywhere;min-width:0}.lesson-detail>h1,.lesson-detail>h2{scroll-margin-top:148px}.lesson-detail>h1:focus-visible,.lesson-detail>h2:focus-visible{outline:3px solid var(--focus);outline-offset:7px;border-radius:4px}.lesson-anchor-nav{z-index:4;overscroll-behavior-x:contain;scrollbar-width:thin;scrollbar-color:var(--field-border) transparent;border:1px solid var(--line);background:var(--surface);-webkit-overflow-scrolling:touch;border-radius:11px;align-items:center;gap:6px;max-width:100%;margin:24px 0 20px;padding:7px;display:flex;position:sticky;top:12px;overflow-x:auto;box-shadow:0 8px 20px #293a330f}.lesson-anchor-label{color:var(--muted);letter-spacing:.1em;text-transform:uppercase;flex:none;padding:8px 9px;font-size:9px;font-weight:700}.lesson-anchor-nav a{min-height:38px;color:var(--muted);white-space:nowrap;border:1px solid #0000;border-radius:8px;flex:none;align-items:center;padding:8px 11px;font-size:10px;font-weight:700;line-height:1.2;text-decoration:none;display:inline-flex}.lesson-anchor-nav a:hover{border-color:var(--line);background:var(--surface-subtle);color:var(--teal-dark)}.lesson-anchor-nav a:focus-visible{outline:3px solid var(--focus);outline-offset:2px;background:var(--surface);color:var(--teal-dark)}.lesson-section,.lesson-detail>.lesson-section-overview,.lesson-detail>.detail-section[id]{border:1px solid var(--line);background:var(--surface);border-radius:13px;min-width:0;margin:18px 0;padding:23px;scroll-margin-top:148px}.lesson-section>:is(h2,h3,h4):first-child,.lesson-section>.section-heading:first-child,.lesson-section-overview>.section-heading:first-child,.lesson-detail>.detail-section[id]>:is(h2,h3,h4):first-child{scroll-margin-top:148px}.lesson-section>h2,.lesson-section>h3,.lesson-section>h4,.lesson-section-heading>h2,.lesson-section-heading>h3,.lesson-section-heading>h4,.lesson-detail>.detail-section[id]>h2,.lesson-detail>.detail-section[id]>h3,.lesson-detail>.detail-section[id]>h4{color:var(--teal-dark);font-family:var(--display-font);letter-spacing:-.025em;margin:0 0 12px;font-size:clamp(19px,2.4vw,26px);font-weight:500;line-height:1.16}.lesson-section .section-heading,.lesson-section-overview .section-heading{margin-bottom:8px}.lesson-section .section-heading strong,.lesson-section-overview .section-heading strong{color:var(--teal-dark);font-size:13px}.lesson-section-overview,.lesson-section[id=overview],.lesson-detail>.detail-section[id=overview]{border-color:var(--line);background:linear-gradient(145deg, var(--surface-subtle), var(--surface))}.lesson-section-concept,.lesson-section[id=concept],.lesson-detail>.detail-section[id=concept],.lesson-section-practice,.lesson-section[id=practice],.lesson-detail>.detail-section[id=practice],.lesson-section-check,.lesson-section[id=check],.lesson-detail>.detail-section[id=check]{border-color:var(--line);background:linear-gradient(145deg, var(--surface), var(--surface))}.lesson-section-resources,.lesson-section[id=resources],.lesson-detail>.detail-section[id=resources]{border-color:var(--line);background:linear-gradient(145deg, var(--surface-subtle), var(--surface))}.lesson-section-notes,.lesson-section[id=notes],.lesson-detail>.detail-section[id=notes]{border-color:var(--line);background:linear-gradient(145deg, var(--surface), var(--surface))}.lesson-section>.detail-section,.lesson-section>.lesson-playbook,.lesson-section>.lesson-evidence{background:0 0;border:0;border-radius:0;margin:18px 0 0;padding:0}.lesson-section>.detail-section:first-child,.lesson-section>.lesson-playbook:first-child,.lesson-section>.lesson-evidence:first-child{margin-top:0}.lesson-section>.lesson-playbook{box-shadow:none}.lesson-section .detail-section+.detail-section{border-top:1px solid var(--line);padding-top:18px}.lesson-check-block+.lesson-check-block{border-top:1px solid var(--line);margin-top:18px;padding-top:18px}.lesson-check-block h3,.lesson-note-block h3{color:var(--teal-dark);margin:0 0 10px;font-size:14px;line-height:1.3}.lesson-detail>.detail-section[id]>p,.lesson-section>p,.lesson-section .concept-notes{max-width:78ch}.lesson-section .lesson-detail-pane,.lesson-page-shell .lesson-detail-pane{scrollbar-gutter:auto;max-height:none;overflow:visible}.study-step-content{grid-template-columns:minmax(0,1fr);min-width:0}.study-step-card{overflow-wrap:anywhere;min-width:0}.study-step-card pre,.code-example pre,.formula-list code{white-space:pre-wrap;overflow-wrap:anywhere;word-break:break-word;max-width:100%;overflow:auto}.study-step-toggle{min-height:48px}@media (width>=1200px){.study-step-content{grid-template-columns:repeat(2,minmax(0,1fr))}:is(.study-step-card:has(pre),.study-step-card:has(.concept-notes),.study-step-card:has(.formula-list),.study-step-card:has(.code-example-guide)){grid-column:1/-1}}@media (width<=850px){.lesson-anchor-nav{margin-inline:-2px;top:8px}.lesson-section,.lesson-detail>.lesson-section-overview,.lesson-detail>.detail-section[id]{padding:19px}.study-step-content{grid-template-columns:minmax(0,1fr)}}@media (width<=390px){.lesson-page-shell .lesson-detail{padding:18px 13px}.lesson-anchor-nav{gap:3px;margin-top:18px;padding:5px}.lesson-anchor-label{padding-inline:7px}.lesson-anchor-nav a{min-height:44px;padding-inline:9px}.lesson-section,.lesson-detail>.lesson-section-overview,.lesson-detail>.detail-section[id]{border-radius:11px;margin-block:14px;padding:16px 13px}.lesson-section>h2,.lesson-section>h3,.lesson-section>h4,.lesson-detail>.detail-section[id]>h2,.lesson-detail>.detail-section[id]>h3,.lesson-detail>.detail-section[id]>h4{font-size:20px}.study-step-detail{margin-inline:0;padding:12px}.study-step-card{padding:11px}.study-step-card pre,.code-example pre{font-size:9px}}:root{--display-font:"Segoe UI", system-ui, sans-serif}.app-shell{color:var(--ink);background:var(--paper)}.app-shell .sidebar{background:var(--sidebar-bg)}.app-shell .sidebar-intro,.app-shell .sidebar-footer,.app-shell .nav-item,.app-shell .nav-item small,.app-shell .brand-lockup span{color:var(--sidebar-muted)}.app-shell .nav-item.active,.app-shell .nav-item:hover{background:var(--sidebar-hover);border-color:var(--sidebar-line);color:var(--sidebar-text)}.app-shell .nav-item.active small{color:var(--sidebar-text)}.app-shell .nav-item.active{box-shadow:inset 3px 0 var(--teal)}.app-shell button:focus-visible,.app-shell a:focus-visible,.app-shell input:focus-visible,.app-shell textarea:focus-visible,.app-shell select:focus-visible,.app-shell summary:focus-visible{outline:3px solid var(--focus);outline-offset:3px}.app-shell .primary-button{background:var(--teal);color:var(--on-accent);min-height:44px}.app-shell .secondary-button,.app-shell .text-button{color:var(--link)}.app-shell .lesson-detail{color:var(--ink)}.app-shell .lesson-detail h1{font-family:var(--display-font);letter-spacing:-.035em;font-size:clamp(30px,3vw,44px);line-height:1.2}.app-shell .lesson-detail .lead,.app-shell .concept-copy,.app-shell .lesson-check-block,.app-shell .review-card p{color:var(--ink);font-size:16px;line-height:1.75}.app-shell .lesson-section{background:var(--surface);border-color:var(--line)}.app-shell .review-card{background:var(--surface);color:var(--ink)}.app-shell .review-card textarea{color:var(--ink);border-color:var(--field-border);font-size:16px}.app-shell .rating-row button{border:1px solid var(--field-border);background:var(--surface);min-height:44px;color:var(--ink)}.app-shell .rating-row button.good,.app-shell .rating-row button.easy{background:var(--teal);color:var(--on-accent);border-color:var(--field-border)}.app-shell .topbar h1{font-family:var(--display-font);font-size:24px}@media (prefers-reduced-motion:reduce){.app-shell *,.public-shell *{scroll-behavior:auto!important;transition-duration:0s!important}}:root{--feedback-ring:color-mix(in srgb, var(--teal) 32%, transparent)}:where(button,a[href],summary){-webkit-tap-highlight-color:var(--feedback-ring)}:where(button,a[href],summary):not(:disabled):not([aria-disabled=true]):active{box-shadow:inset 0 0 0 2px var(--feedback-ring);scale:.98}button[aria-busy=true],button[aria-busy=true]:disabled{cursor:progress;opacity:1}button[aria-busy=true]:after{content:"";border:2px solid;vertical-align:-.1em;border-inline-end-color:#0000;border-radius:50%;width:.8em;height:.8em;margin-inline-start:.6em;animation:.8s linear infinite feedback-spin;display:inline-block}.refresh-button[aria-busy=true]:after{display:none}.refresh-button[aria-busy=true]{animation:.8s linear infinite feedback-spin}.success-note[role=status],.warning-note[role=alert],.error-banner[role=alert],.auth-notice{animation:.16s ease-out feedback-appear}@keyframes feedback-spin{to{rotate:360deg}}@keyframes feedback-appear{0%{translate:0 3px}to{translate:0}}@media (prefers-reduced-motion:reduce){:where(button,a[href],summary):not(:disabled):not([aria-disabled=true]):active{scale:none}button[aria-busy=true]:after,.refresh-button[aria-busy=true],.success-note[role=status],.warning-note[role=alert],.error-banner[role=alert],.auth-notice{animation:none}}
