:root{font-synthesis:none;text-rendering:optimizelegibility;font-family:Segoe UI,system-ui,-apple-system,sans-serif}body{min-width:320px;margin:0}.auth-shell{background:radial-gradient(circle at 80% 12%, #1b9a8b26, transparent 38%), var(--paper,#f5f1e8);place-items:center;min-height:100vh;padding:24px;display:grid}.auth-card{border:1px solid var(--line,#d9d1c2);background:var(--surface,#fffdf8);border-radius:24px;gap:16px;width:min(100%,500px);padding:clamp(28px,5vw,48px);display:grid;box-shadow:0 24px 70px #1f26231f}.auth-card h1{margin:0;font-size:clamp(1.9rem,5vw,2.8rem);line-height:1.05}.auth-card p{color:var(--muted,#5d625f);margin:0}.auth-card form{gap:14px;display:grid}.auth-card label{gap:7px;font-weight:700;display:grid}.auth-card input{border:1px solid var(--line,#d9d1c2);min-height:44px;font:inherit;border-radius:10px;padding:10px 12px}.auth-links{flex-wrap:wrap;gap:10px;display:flex}:root{--ink:#172321;--muted:#6c7976;--paper:#f7f6f1;--surface:#fffef9;--line:#e5e6df;--teal:#087f78;--teal-dark:#0f4d4a;--orange:#e87d46;--blue:#4d76a4;--shadow:0 18px 50px #1e343014}*{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:#fff;border-radius:7px;padding:9px 12px;font-size:11px;text-decoration:none;transition:top .15s;position:fixed;top:-50px;left:12px}.skip-link:focus{top:12px}.sidebar{color:#e8f0e9;background:#183a37;flex-direction:column;width:260px;min-height:100vh;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(--orange);color:#fff;width:38px;height:38px;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:#97b3ad;letter-spacing:.08em;text-transform:uppercase;margin-top:2px;font-size:11px;display:block}.sidebar-intro{color:#a9c2bc;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;color:#a9c2bc;background:0 0;border:1px solid #0000;border-radius:10px;align-items:center;gap:12px;width:100%;padding:11px 10px;transition:all .18s;display:flex}.nav-item:hover,.nav-item.active{color:#fff;background:#28534e;border-color:#3d6c65}.nav-item.active{box-shadow:inset 3px 0 var(--orange)}.nav-icon{text-align:center;color:#b6d5ca;width:21px;font-size:18px}.nav-item strong,.nav-item small{display:block}.nav-item strong{font-size:13px;font-weight:600}.nav-item small{color:#7fa69d;margin-top:2px;font-size:10px}.nav-item.active small{color:#b7d2c9}.sidebar-footer{color:#89a8a0;border-top:1px solid #315d57;margin-top:auto;padding:15px 10px 0;font-size:11px;line-height:1.5}.status-dot{color:#d5e5d8;margin-bottom:5px}.status-dot span{background:#69d1a4;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:#f7f6f1e6;justify-content:space-between;align-items:center;height:112px;padding:26px 54px;display:flex}.eyebrow{color:#82908a;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:#60716d;border:1px solid var(--line);letter-spacing:.05em;background:#fffdf8;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:#e7f1ed;border:0;border-radius:50%;width:34px;height:34px;font-size:19px}.error-banner{color:#874f34;background:#fff4e9;border:1px solid #edc3a7;border-radius:10px;margin:18px 54px 0;padding:12px 15px;font-size:12px}.error-banner span{color:#a96b4a;margin-left:8px}.error-banner code{background:#f7dfc9;border-radius:4px;padding:2px 5px}.page-content{max-width:1440px;padding:36px 54px 70px}.hero-panel{background:#e6f0e8;border:1px solid #d8e4dc;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 #087f7826;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:#58706a;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),#c7dad1 0);border-radius:50%;place-items:center;width:148px;height:148px;margin:0 auto 13px;display:grid;position:relative}.progress-ring:after{content:"";background:#e6f0e8;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:#668179;margin-top:2px;font-size:10px}.hero-progress p{color:#6a8178;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:all .18s}.primary-button{background:var(--teal);color:#fff;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{color:var(--teal-dark);background:#eff3ed;border:1px solid #d5e2da}.secondary-button:hover{background:#e3ece5}.text-button{color:var(--teal);background:0 0;border:0;font-size:11px;font-weight:700}.icon-button{color:var(--teal);background:#f8fbf8;border:1px solid #d6e2dc;border-radius:8px;min-width:33px;min-height:33px;font-weight:700}.icon-button:hover{background:#e4f0ea}.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{width:34px;height:34px;color:var(--teal);font:600 12px var(--display-font);background:#e4f1ea;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 #eff0eb;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:#e8ece7;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:#e5f0e9;border:1px solid #d4e4da;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{color:#fff;background:var(--teal);width:35px;height:35px;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{text-align:left;color:#31413d;background:0 0;border:0;border-bottom:1px solid #eef0eb;grid-template-columns:22px 1fr 30px;align-items:center;gap:4px;width:100%;padding:9px 4px;font-size:12px;display:grid}.lesson-row:hover,.lesson-row.selected{color:var(--teal-dark);background:#edf5ef}.lesson-row small{color:#9ba7a1;text-align:right;font-size:10px}.lesson-check{color:#a4b4ad}.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{width:47px;height:47px;color:var(--teal);background:#e7f1ea;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{color:#547068;background:#f0f4ee;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:#586d65;margin:4px 0;font-size:12px;line-height:1.7}.checklist{gap:9px;display:grid}.checklist label{color:#596d65;font-size:12px}.checklist input{accent-color:var(--teal)}.resource-list{gap:7px;display:grid}.resource-list a{color:var(--teal-dark);background:#f4f6f1;border:1px solid #e4e9e1;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:#bdd7ca}.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{border-left:3px solid var(--orange);background:#f5f6f1;margin:8px 0;padding:10px 12px}.review-prompt p{color:#536760;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:#eef4ef;border:1px solid #d9e7dc;border-radius:10px;margin-top:22px;padding:16px}.ask-box h4{font:500 17px var(--display-font);margin:7px 0}.ask-box p{color:#6a8178;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{color:#a7664a;background:#fff8f4;border:1px solid #e1d7d1;border-radius:7px;padding:7px 12px;font-size:10px;font-weight:700}.rating-row button.good{color:var(--teal);background:#edf6f0;border-color:#c8dfcf}.rating-row button.easy{color:#4d76a4;background:#eef4fa;border-color:#cddced}.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:#8b9b92;white-space:nowrap;text-overflow:ellipsis;margin-top:11px;font-size:9px;display:block;overflow:hidden}.run-output,.git-output{color:#d3e6dc;white-space:pre-wrap;background:#172b29;border-radius:9px;margin-top:18px;padding:15px;font-size:11px;overflow:auto}.tool-card{gap:13px;display:flex}.tool-symbol{height:34px;color:var(--teal);font:600 18px var(--display-font);background:#e7f1eb;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{color:var(--teal-dark);overflow-wrap:anywhere;background:#f1f4ef;border:1px solid #e0e8e0;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{resize:vertical;width:100%;min-height:74px;color:var(--ink);background:#fffefb;border:1px solid #d4e2d7;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 #d4e5da;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-offset:2px;outline:3px solid #e87d4673}@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{resize:vertical;width:100%;min-height:92px;color:var(--ink);background:#fffefb;border:1px solid #d4e2d7;border-radius:7px;margin-bottom:9px;padding:9px;font-size:11px;display:block}.track-pills button{color:var(--teal-dark);background:#e5f0e9;border:1px solid #d4e4da;border-radius:20px;padding:7px 10px;font-size:10px}.track-pills button.selected{background:var(--teal);border-color:var(--teal);color:#fff}.notes-card{margin-top:14px}.saved-notes{gap:9px;margin-top:16px;display:grid}.saved-note{border-left:3px solid var(--orange);background:#f7f8f3;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:#93a09a;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{color:var(--ink);background:#fffefb;border:1px solid #d4e2d7;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:#586d65;white-space:pre-line;font-size:12px;line-height:1.7}.formula-list{gap:6px;margin-top:10px;display:grid}.formula-list code{color:#d3e6dc;background:#172b29;border-radius:6px;padding:8px 10px;font-size:11px;display:block}.code-example{background:#f3f6f1;border:1px solid #e0e8e0;border-radius:8px;margin-top:10px;padding:12px}.code-example strong{color:var(--teal-dark);font-size:11px;display:block}.code-example pre{color:#d3e6dc;background:#172b29;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{background:#fffefb;border:1px solid #d4e2d7;border-radius:7px;width:100px;padding:9px}.session-card{margin-top:14px}.session-progress{background:#e8ece7;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{min-width:120px;color:var(--ink);background:#fffefb;border:1px solid #d4e2d7;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{background:#f2f7f2;border:1px solid #d8e8dc;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);-webkit-text-decoration:line-through #9dc8b1;text-decoration:line-through #9dc8b1}.warning-note{color:#9b5c34;border-left:3px solid var(--orange);background:#fff4e9;padding:8px 10px;font-size:11px;line-height:1.5}.success-note{white-space:pre-line}.linked-exercise{background:#f5f7f3;border:1px solid #e4e9e1;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{width:76px;color:var(--ink);background:#fffefb;border:1px solid #d4e2d7;border-radius:7px;padding:9px;font-size:11px}.getting-started{background:#fffaf0;border-color:#ecd9b9;margin-top:14px}.start-steps{grid-template-columns:repeat(3,1fr);gap:8px;margin-top:15px;display:grid}.start-steps button{text-align:left;color:var(--ink);background:#fffdf7;border:1px solid #eadfc9;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:#e8ece7;border-radius:8px;height:7px;margin:15px 0 17px;overflow:hidden}.readiness-bar span{background:linear-gradient(90deg, var(--teal), #69b99a);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{background:#f1f6f1;border:1px solid #d8e4dc;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{background:#fffefb;border:1px solid #d8e4dc;border-radius:9px;padding:14px}.portfolio-card.genai-portfolio-card{background:linear-gradient(145deg,#fffaf2,#fffefb);border-color:#e8c7a8}.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 #d8e4dc;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{resize:vertical;width:100%;min-height:260px;color:var(--ink);background:#f7faf6;border:1px solid #cbded1;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{color:#a7664a!important;min-height:0!important;margin:11px 0 0!important;font-size:11px!important}.loading-state.compact{min-height:420px}.error-banner .text-button{color:#874f34;text-underline-offset:3px;margin-left:10px;text-decoration:underline}.feedback-panel{background:#f3f7f2;border:1px solid #d8e4dc;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;width:100%;min-height:180px;color:var(--ink);background:#f7faf6;border:1px solid #cbded1;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{color:var(--ink);background:#fffefb;border:1px solid #d4e2d7;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:#93a09a;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{background:#fffefb;border:1px solid #cbded0;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;width:100%;min-height:170px;color:var(--ink);background:#f8fbf7;border:1px solid #d4e2d7;border-radius:7px;padding:10px;font:11px/1.55 ui-monospace,SFMono-Regular,Consolas,monospace}.feedback-report small{color:#72877c;font-size:10px;line-height:1.45}.feedback-list{gap:9px;margin-top:17px;display:grid}.feedback-item{border-top:1px solid #dbe5dd;padding-top:11px}.feedback-item-meta{color:#8b9b92;flex-wrap:wrap;align-items:center;gap:8px;font-size:9px;display:flex}.feedback-item-meta .tag{background:#fffef9;padding:5px 7px;font-size:8px}.feedback-item p,.community-feedback-card p{color:#536760;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{background:#e6f0e8;border:1px solid #d8e4dc;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{color:#58706a;max-width:650px;margin:0;font-size:13px;line-height:1.65}.community-boundary{color:#668179;border-top:1px solid #087f7826;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{background:#fffefb;border:1px solid #e0e8e0;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{background:#e6f0e8;border:1px solid #d8e4dc;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{color:#58706a;max-width:620px;margin:0;font-size:13px;line-height:1.65}.security-safe-panel{color:#55756b;background:#fffefba3;border:1px solid #087f7833;border-radius:10px;gap:6px;min-width:175px;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{background:#f3f8f3;border:1px solid #d7e5db;border-radius:12px;padding:20px 22px}.security-method-card h3{font:500 21px var(--display-font);margin:7px 0 0}.security-method-card>p{color:#586d65;max-width:760px;margin:10px 0 16px;font-size:12px;line-height:1.65}.security-steps{flex-wrap:wrap;gap:8px;display:flex}.security-steps span{color:#4e6c61;background:#fffefb;border:1px solid #d5e4d8;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{min-width:155px;color:var(--ink);background:#fffefb;border:1px solid #d4e2d7;border-radius:7px;padding:8px 10px;font-size:11px}.security-finding-list{gap:10px;margin-top:15px;display:grid}.security-finding{background:#fffefb;border:1px solid #e2e8e2;border-left:3px solid #bdcfc5;border-radius:9px;padding:15px}.security-finding.security-needs_human_review{border-left-color:#e58a54}.security-finding.security-verified_control{border-left-color:var(--teal);background:#f5faf5}.security-finding-top{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.security-finding-top code{color:#52736a;overflow-wrap:anywhere;max-width:55%;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{color:#54675e;background:#f1f3ef}.severity-critical,.severity-high{color:#a64d38;background:#fce9e4}.severity-medium{color:#a96838;background:#fff0e1}.severity-low{color:#62756c;background:#f1f3ee}.severity-info{color:#247369;background:#e3f2e8}.security-status{color:#61736c;background:#f0f3ef;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{color:#536960}.security-remediation{color:#2e5f55}.security-finding p strong{color:var(--ink)}.security-source{color:#94a29c;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:#586d65;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{background:#fffefb;border:1px solid #e5ebe5;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:#64766e;flex:none;font-size:9px}.security-route-write{color:#a9653e}.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{width:190px;min-height:36px;color:var(--ink);background:#fffefb;border:1px solid #d4e2d7;border-radius:18px;padding:8px 52px 8px 12px;font-size:11px}.global-search input::placeholder{color:#7f908a}.global-search kbd{color:#7f908a;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{color:var(--teal-dark);background:#edf5ef}.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:#f4f6f1;border:1px solid #e4e9e1;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:#e8f0e9;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{width:44px;height:44px;color:var(--teal-dark);background:#fffefb;border:1px solid #d4e2d7;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:#5d6d68}@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}}:root{--display-font:"Times New Roman", "Segoe UI", serif}.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{background:linear-gradient(145deg,#f3f9f4,#fffefb);border:1px solid #cfe2d4;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:#cfe2d4;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{color:var(--teal-dark);white-space:nowrap;background:#eff5ef;border:1px solid #d4e2d7;border-radius:8px;align-items:center;gap:7px;padding:9px 12px;font-size:11px;font-weight:700;display:inline-flex}.back-button:hover{background:#e5f0e8;border-color:#a9cdb8}.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);white-space:nowrap;background:#f0f7f1;border:1px solid #d6e6da;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{width:100%;color:inherit;text-align:left;background:0 0;border:0;border-top:1px solid #e1ebe2;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:#506961;font-size:12px;font-weight:600;line-height:1.5}.study-step-copy small{color:#82948b;font-size:10px;line-height:1.45}.study-step-chevron{width:25px;height:25px;color:var(--teal);background:#f2f7f2;border:1px solid #cfe2d4;border-radius:50%;place-items:center;font-size:17px;line-height:1;display:grid}.study-step-item.open .study-step-chevron{background:var(--teal);color:#fff;border-color:#a9cdb8}.study-step-detail{background:#fbfdf9;border:1px solid #cfe2d4;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:#5d746b;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{background:#fffefb;border:1px solid #e0e9e0;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{color:#d3e6dc;white-space:pre-wrap;background:#172b29;border-radius:6px;max-height:230px;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(--ink-muted,#5b6b68);font-weight:700}.code-example-guide dd{color:var(--ink,#19312f);margin:0}.study-step-answer{border-top:1px solid #e1ebe2;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:#a8c7b8 #edf2ed;min-height:0;max-height:calc(100vh - 160px);overflow-y:auto}.lesson-detail:focus{outline:none}.lesson-playbook{background:linear-gradient(145deg,#f3f8f3,#fbfcf8);border:1px solid #d2e3d6;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:#5d746b;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 #e1ebe2;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:#506961;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{background:#fffefb;border:1px solid #dce8dd;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:#fff8ef;border-color:#f0dcc8}.interview-questions{border-top:1px solid #e1ebe2;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{background:#f7f9f4;border:1px solid #e0e9e0;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{background:#f1f8f1;border-color:#a9cdb8;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:#546b62;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:#71867d;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:#eef6ef;border-color:#d1e4d5}.workspace-flow{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:0 0 18px;display:grid}.workspace-flow>div{background:#f7faf5;border:1px solid #dce8dd;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{background:#f1f6f1;border:1px solid #d8e4dc;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]){width:100%;color:var(--ink);background:#fffefb;border:1px solid #cbded1;border-radius:7px;padding:9px 10px;font-size:11px}.publish-preview{color:#d3e6dc;white-space:pre-wrap;overflow-wrap:anywhere;background:#172b29;border-radius:8px;margin:12px 0;padding:12px;font:10px/1.65 ui-monospace,SFMono-Regular,Consolas,monospace}.publish-confirm{color:#506961;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{background:#fffefb;border:1px solid #dce8dd;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:#a9cdb8;transform:translateY(-2px);box-shadow:0 10px 24px #2d534114}.resource-card.featured{background:linear-gradient(145deg,#fffaf2,#fffefb);border-color:#e8c7a8}.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:#71867d!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{color:var(--teal);background:#eef6ef;border-radius:999px;padding:4px 7px;font-size:9px;font-weight:700}.resource-how{background:#f8faf7;border:1px solid #e4ece4;border-radius:7px;margin-top:13px;padding:10px}.resource-how strong{color:var(--ink);font-size:10px}.resource-how p{color:#61776d;margin:5px 0 0;font-size:10px;line-height:1.55}.resource-card .resource-link{color:var(--teal);border-top:1px solid #e5ede5;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-offset:7px;border-radius:4px;outline:3px solid #087f7852}.lesson-anchor-nav{z-index:4;overscroll-behavior-x:contain;scrollbar-width:thin;scrollbar-color:#a8c7b8 transparent;-webkit-overflow-scrolling:touch;background:#fffef9f5;border:1px solid #d8e5da;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:#6d8178;letter-spacing:.1em;text-transform:uppercase;flex:none;padding:8px 9px;font-size:9px;font-weight:700}.lesson-anchor-nav a{color:#526c62;white-space:nowrap;border:1px solid #0000;border-radius:8px;flex:none;align-items:center;min-height:38px;padding:8px 11px;font-size:10px;font-weight:700;line-height:1.2;text-decoration:none;display:inline-flex}.lesson-anchor-nav a:hover{color:var(--teal-dark);background:#edf6ef;border-color:#cce0d0}.lesson-anchor-nav a:focus-visible{outline-offset:2px;color:var(--teal-dark);background:#fff8ef;outline:3px solid #e87d4673}.lesson-section,.lesson-detail>.lesson-section-overview,.lesson-detail>.detail-section[id]{background:#fffefb;border:1px solid #dfe9df;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]{background:linear-gradient(145deg,#f0f8f1,#fffefb);border-color:#cfe3d4}.lesson-section-concept,.lesson-section[id=concept],.lesson-detail>.detail-section[id=concept]{background:linear-gradient(145deg,#f5f8fa,#fffefb);border-color:#d5e1e7}.lesson-section-practice,.lesson-section[id=practice],.lesson-detail>.detail-section[id=practice]{background:linear-gradient(145deg,#fffaf2,#fffefb);border-color:#e7ddcf}.lesson-section-check,.lesson-section[id=check],.lesson-detail>.detail-section[id=check]{background:linear-gradient(145deg,#faf7fc,#fffefb);border-color:#e0d9e8}.lesson-section-resources,.lesson-section[id=resources],.lesson-detail>.detail-section[id=resources]{background:linear-gradient(145deg,#f5faf5,#fffefb);border-color:#d7e3d9}.lesson-section-notes,.lesson-section[id=notes],.lesson-detail>.detail-section[id=notes]{background:linear-gradient(145deg,#fff9f4,#fffefb);border-color:#e7d9cf}.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 #e1ebe2;padding-top:18px}.lesson-check-block+.lesson-check-block{border-top:1px solid #e1ebe2;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}}
