:root{--ink:#203a36;--muted:#546963;--paper:#f5f7f3;--line:#dce4dc;--accent:#286746;--green:#c7f2cf;--dark:#183e34}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;background:var(--paper);color:var(--ink);font:15px/1.7 system-ui,-apple-system,Segoe UI,sans-serif}button,input,select,textarea{font:inherit}button,a{touch-action:manipulation}button{cursor:pointer;background:transparent;color:var(--accent);border:1px solid var(--line);border-radius:7px;padding:9px 13px;line-height:1.4}button:hover{background:#edf5eb}button:disabled{opacity:.55;cursor:not-allowed}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible,mark:focus-visible{outline:3px solid #34824d;outline-offset:3px}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}h1,h2,h3{letter-spacing:-.035em;line-height:1.3}h1{font-size:34px;margin:9px 0 14px;font-weight:650}h2{font-size:23px;margin:0 0 14px;font-weight:650}h3{font-size:18px;margin:12px 0}p{color:var(--muted);margin:0 0 18px}small{display:block;font-size:12px;color:var(--muted)}strong{font-weight:650}input,select,textarea{max-width:100%;padding:10px 12px;border:1px solid #b6c8ba;border-radius:6px;background:#fff;color:var(--ink)}textarea{width:100%;min-height:110px;resize:vertical}input:not([type=radio]):not([type=checkbox]){width:100%}label{display:flex;flex-direction:column;gap:7px;font-size:13px;margin-bottom:16px}summary{cursor:pointer;font-weight:600;padding:12px 0}hr{border:0;border-top:1px solid var(--line);margin:26px 0}[hidden]{display:none!important}.sidebar{position:fixed;inset:0 auto 0 0;width:225px;padding:32px 22px;background:white;border-right:1px solid var(--line);display:flex;flex-direction:column;z-index:2}.brand{font-size:27px;font-weight:750;letter-spacing:-1.4px;color:var(--ink)}.brand span{color:#46825a}.workspace-label{font-size:10px;letter-spacing:1.8px;margin:45px 10px 15px;color:var(--muted)}.nav-item{display:flex;align-items:center;gap:14px;padding:12px 14px;margin:4px 0;color:#53685e;border-radius:8px}.nav-item span{font-size:23px}.nav-item.active{background:#e9f3e5;color:#245e3d;font-weight:650}.aside-bottom{margin-top:auto;padding:25px 8px 5px;border-top:1px solid var(--line)}.aside-bottom p{font-size:12px;margin:8px 0 20px}.workspace{margin-left:225px}.workspace>header{min-height:82px;border-bottom:1px solid var(--line);padding:15px 38px;display:flex;align-items:center;gap:24px;background:#fff}.breadcrumb{font-size:12px;color:var(--muted);margin-right:auto}.breadcrumb span{padding:0 10px}.track-switch{flex-direction:row;align-items:center;margin:0;font-size:11px;gap:12px}.track-switch select{font-size:12px;padding:7px}.profile{position:relative}.profile>summary{font-size:12px;white-space:nowrap}.profile>div{position:absolute;right:0;top:45px;width:270px;background:white;padding:22px;border:1px solid var(--line);border-radius:10px;z-index:8;box-shadow:0 8px 30px #173d3320;overflow-wrap:anywhere}.profile small{margin-bottom:12px}main{max-width:1320px;padding:40px;margin:auto;min-height:calc(100vh - 150px)}footer{padding:22px 40px;font-size:11px;color:var(--muted);border-top:1px solid var(--line)}.page-heading{margin-bottom:28px}.eyebrow{font-size:10px;letter-spacing:1.7px;font-weight:700;color:#4f7357}.page-heading>p{max-width:780px;font-size:14px}.hero{padding:36px 40px;background:var(--dark);border-radius:15px;color:#fff;position:relative;overflow:hidden;margin-bottom:26px}.hero:after{content:'◈';font-size:270px;line-height:1;position:absolute;right:28px;top:24px;opacity:.08;pointer-events:none}.hero h2{font-size:34px;max-width:650px;font-weight:550;margin:22px 0}.hero p,.hero small{color:#d2e3d3}.hero-meta{font-size:12px;color:#d2e3d3;margin:18px 0}.pill{border:1px solid #71947d;border-radius:20px;display:inline-block;padding:5px 12px;font-size:10px;letter-spacing:1px}.primary{display:inline-flex;align-items:center;justify-content:center;background:var(--green);border-color:#a0c8a9;color:#194a2b;font-weight:700}.primary:hover{background:#b5e8c0}.secondary{display:inline-flex;background:white;border:1px solid #b9cdbb;padding:9px 14px;border-radius:7px;align-items:center;font-size:13px}.hero-progress{max-width:520px;height:4px;background:#476456;margin:20px 0 10px}.hero-progress span{width:var(--progress);height:100%;display:block;background:var(--green)}.two-columns,.module-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.panel{background:white;border:1px solid var(--line);border-radius:11px;padding:27px;margin-bottom:22px;min-width:0}.two-columns .panel,.module-grid .panel{margin:0}.section-title{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:30px 0 20px}.section-title p{margin:6px 0 0;font-size:13px}.section-title h2{margin:0}.section-title a{font-size:12px}.notice{background:#f5f0de;border:1px solid #d7cc9e;color:#63542b;padding:14px 18px;border-radius:8px;margin-bottom:24px;font-size:13px}.notice a{color:#5b532b;text-decoration:underline}.subtle{font-size:12px;color:#5d7067}.lesson-row{display:flex;align-items:center;width:100%;text-align:left;border:0;border-top:1px solid var(--line);border-radius:0;padding:18px 6px;gap:18px;color:var(--ink)}.lesson-row>span:nth-child(2){flex:1}.lesson-row small{margin-top:4px}.lesson-number{display:grid;place-items:center;border:1px solid var(--line);width:34px;height:34px;border-radius:50%;font-size:12px;flex-shrink:0}.module details{margin-top:16px}.lab{background:#f6f8f4;padding:12px 20px;margin:10px 0;border-radius:8px}.lab p,.lab li{font-size:13px}.check{flex-direction:row;align-items:center}.table-scroll{overflow:auto;max-width:100%}table{border-collapse:collapse;width:100%;font-size:13px}th,td{text-align:left;padding:14px 12px;border-bottom:1px solid var(--line);vertical-align:top;min-width:150px}th{background:#f1f5ee;font-weight:650}td button{font-size:12px;padding:4px 0;border:0}.reader-top{display:flex;justify-content:space-between;gap:20px;font-size:12px;margin-bottom:30px}.reader-top span{color:var(--muted)}.reader-layout{display:grid;grid-template-columns:175px minmax(0,760px);gap:38px}.outline{align-self:start;position:sticky;top:20px;font-size:12px}.outline summary{padding-top:0}.outline nav{display:flex;flex-direction:column;gap:12px;border-left:2px solid var(--line);padding-left:15px}.outline a{color:var(--muted)}.reader{min-width:0}.reader h1{font-size:36px}.reader h2{margin-top:6px}.reader p{line-height:1.9;font-size:16px;color:#354e44}.outcomes{border-left:3px solid #83ad80;background:#eaf2e4;padding:20px 24px;margin:26px 0 38px}.outcomes ul{margin:8px 0 0;padding-left:20px}.outcomes li{font-size:14px}.content-block{margin-bottom:40px;scroll-margin-top:24px}.block-actions{display:flex;align-items:flex-start;gap:16px;margin-top:15px}.block-actions button{font-size:11px;white-space:nowrap}.block-actions>span{font-size:11px;line-height:1.6}.flow{list-style:none;padding:0;display:flex;gap:10px;flex-wrap:wrap}.flow li{padding:12px;background:#eaf2e4;border:1px solid #cdddc7;border-radius:6px;font-size:12px;flex:1;min-width:140px}.flow li:not(:last-child):after{content:' →';color:#587a53}pre{overflow:auto;max-width:100%;padding:24px;background:#203e34;color:#e1f5e2;border-radius:9px;font:13px/1.7 ui-monospace,Consolas,monospace}.callout{border:1px solid #c8d9c1;border-radius:8px;background:#edf4e7;padding:22px;margin:25px 0}.callout p{margin:0;font-size:14px}.actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin:16px 0}.provenance{border-top:1px solid var(--line);margin-top:40px;font-size:12px}.provenance p{font-size:12px}.toolbar{display:flex;gap:14px;align-items:center;flex-wrap:wrap;margin:20px 0}.toolbar label{flex:1;min-width:220px}.tag{display:inline-block;padding:2px 8px;background:#edf4e8;font-size:11px;border-radius:15px}.note-card blockquote{margin:18px 0}.empty{text-align:center;padding:50px 20px}blockquote{font-size:14px;line-height:1.7;border-left:3px solid #9cb589;margin:14px 0;padding:8px 14px;background:#f3f6ed;overflow-wrap:anywhere}mark{background:#f1e3a7;border-radius:2px;cursor:pointer;color:inherit}#selection-toolbar{position:fixed;z-index:20;background:#173e31;padding:5px;border-radius:8px;box-shadow:0 4px 15px #203e3430;display:flex;gap:3px}#selection-toolbar button{border:0;background:transparent;color:white;font-size:12px}#selection-toolbar button:hover{background:#315f48}#tutor{position:fixed;right:0;top:0;bottom:0;width:390px;background:white;border-left:1px solid var(--line);box-shadow:-8px 0 24px #143d3310;z-index:15;overflow:auto}.tutor-head{position:sticky;top:0;background:white;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);padding:15px 22px;z-index:1}.tutor-head button{font-size:23px;padding:0 9px}.tutor-body{padding:24px}.tutor-body blockquote{max-height:130px;overflow:auto}.tutor-body label{margin-top:18px}.tutor-body input{font-size:13px}#ai-state,#note-save-state{font-size:12px;color:#4a6650;padding:10px 0}.ai-answer{white-space:pre-wrap;font-size:14px;line-height:1.8;overflow-wrap:anywhere}#ai-citations a{display:block;font-size:11px;margin:12px 0}.panel-open .workspace{margin-right:390px}.panel-open .reader-layout{display:block}.panel-open .outline{position:static;margin-bottom:25px}.panel-open .outline nav{display:none}.panel-open main{padding:30px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.session-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.timer{white-space:nowrap;font-variant-numeric:tabular-nums;font-size:13px;border:1px solid var(--line);padding:10px;border-radius:6px}.practice-layout{display:grid;grid-template-columns:minmax(0,1fr) 210px;gap:22px}.question h2{font-size:23px;line-height:1.6;letter-spacing:-.02em}.question fieldset{border:0;padding:0;margin:25px 0}.question-meta{display:flex;align-items:center;justify-content:space-between;font-size:10px;margin-bottom:20px;gap:14px}.answer{border:1px solid var(--line);padding:16px;flex-direction:row;align-items:flex-start;gap:13px;border-radius:8px;margin:12px 0;font-size:14px;cursor:pointer}.answer.selected{border-color:#51855b;background:#edf6e9}.answer input{margin-top:5px;accent-color:#27693f}.option-letter{font-size:11px;color:#4e6856;background:#edf3ea;min-width:24px;border-radius:4px;text-align:center}.question-map{align-self:start}.question-map h3{font-size:14px;margin:0 0 15px}.question-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;margin-bottom:20px}.question-grid button{padding:7px 2px;font-size:12px}.question-grid .current{outline:2px solid #377c48;outline-offset:1px}.question-grid .answered{background:#e0efda}.rationale{border-left:3px solid #ddd;padding:13px 18px;margin:16px 0;background:#fafbf8}.rationale.right{border-color:#438d50;background:#edf5e8}.rationale strong{font-size:11px}.rationale p{font-size:13px;margin:7px 0}.stats-grid,.domain-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.stats-grid strong{display:block;font-size:32px;margin:14px 0}.stats-grid p{font-size:12px}.domain-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.domain-grid h3{font-size:15px}dialog{border:1px solid var(--line);border-radius:14px;padding:32px;width:510px;max-width:calc(100vw - 32px);color:var(--ink);box-shadow:0 20px 80px #0c291b35}dialog::backdrop{background:#142f2666}#auth-error{color:#9b342b;font-size:13px}#toast{position:fixed;bottom:24px;left:50%;transform:translate(-50%,15px);opacity:0;pointer-events:none;background:#203e34;color:white;padding:13px 22px;border-radius:9px;z-index:100;max-width:min(620px,90vw);font-size:13px;transition:opacity .15s,transform .15s}#toast.show{opacity:1;transform:translate(-50%,0)}.sr-only,.skip:not(:focus){position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.skip:focus{position:fixed;top:0;left:0;background:white;padding:15px;z-index:200}
@media(min-width:1600px){.panel-open .reader-layout{display:grid;grid-template-columns:160px minmax(0,700px)}.panel-open .outline nav{display:flex}}
@media(max-width:1100px){.sidebar{width:190px;padding:26px 16px}.workspace{margin-left:190px}.workspace>header{padding:18px 25px;gap:14px}main{padding:28px}.reader-layout{grid-template-columns:140px minmax(0,1fr);gap:25px}.panel-open .workspace{margin-right:0}#tutor{box-shadow:-20px 0 60px #15382930}.practice-layout{grid-template-columns:minmax(0,1fr) 170px}.hero h2{font-size:30px}}
@media(max-width:760px){.sidebar{position:static;width:auto;height:auto;padding:16px 20px 10px;border-bottom:1px solid var(--line)}.brand{font-size:24px}.workspace-label,.aside-bottom{display:none}.sidebar nav{display:flex;justify-content:space-between;gap:3px;margin-top:14px}.nav-item{font-size:12px;gap:6px;padding:8px 10px}.nav-item span{font-size:17px}.workspace{margin-left:0}.workspace>header{min-height:65px;padding:12px 20px;gap:14px}.breadcrumb{display:none}.track-switch{margin-right:auto}main{padding:26px 20px}h1{font-size:28px}.hero{padding:27px}.hero h2{font-size:29px}.hero:after{font-size:180px;right:15px;top:80px}.two-columns,.module-grid,.stats-grid{grid-template-columns:1fr}.panel{padding:22px}.section-title{align-items:flex-start}.section-title button{max-width:130px;flex-shrink:0}.reader-layout{display:block}.outline{position:static;margin-bottom:25px}.outline nav{gap:8px}.reader h1{font-size:30px}.reader p{font-size:16px}.reader-top{font-size:11px}.block-actions{flex-direction:column;gap:9px}.form-grid{grid-template-columns:1fr}.practice-layout{display:flex;flex-direction:column}.question-map{width:100%}.question-grid{grid-template-columns:repeat(8,minmax(0,1fr))}.question h2{font-size:20px}.answer{padding:13px;gap:10px}.question-meta{flex-wrap:wrap}.session-top h1{font-size:23px}.stats-grid .panel{margin-bottom:0}.stats-grid{margin-bottom:22px}.toolbar{align-items:stretch}.toolbar label{flex-basis:100%;margin:0}.domain-grid{grid-template-columns:1fr}.profile>div{right:-3px}#tutor{width:min(420px,100vw);border-left:0;box-shadow:-20px 0 60px #15382940}.panel-open main{padding:26px 20px}footer{padding:20px}.lesson-row{gap:12px}.lesson-row strong{font-size:13px}.lesson-row small{font-size:11px}td,th{padding:12px;min-width:160px}.tutor-head{padding:12px 20px}.tutor-body{padding:20px}dialog{padding:25px}.flow li{min-width:100%}.reader-top span{max-width:50%;text-align:right}.nav-item{padding:8px}.nav-item span{display:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
.local-status{background:#eaf4e6;border-color:#bed5b6;color:#27563a}.ai-answer details{margin-top:16px;border-top:1px solid var(--line);padding-top:8px}.ai-answer details summary{color:var(--accent)}
/* A calm, sequential classroom */
:root{--paper:#f7f8f7;--line:#e3e9e5;--muted:#62736c}main{max-width:1180px;padding:48px 56px 72px}.page-heading{margin-bottom:32px}.page-heading p{max-width:600px}.page-heading h1{font-size:32px}.sidebar{width:210px;padding:30px 20px}.workspace{margin-left:210px}.workspace>header{padding:14px 36px;gap:18px}.workspace-label{margin-top:38px}.aside-bottom{font-size:12px}.ai-chip{font-size:11px;color:#437555;white-space:nowrap}.track-switch{font-size:0}.track-switch select{max-width:250px;font-size:12px;border-color:transparent;background:#f5f7f4}.continue-card{display:grid;grid-template-columns:1fr 190px;align-items:center;gap:40px;background:#edf4ed;border:1px solid #dce7dc;padding:38px 40px;border-radius:16px;margin-bottom:48px}.continue-card h2{font-size:30px;max-width:540px;margin:16px 0 12px}.continue-card p{font-size:13px;margin-bottom:24px}.continue-card .primary,.course-progress .primary{background:#24583f;color:white;border-color:#24583f;padding:12px 19px}.course-meter{display:flex;flex-direction:column;gap:8px}.course-meter strong{font-size:40px;letter-spacing:-2px;font-weight:550}.course-meter>span{font-size:12px;color:var(--muted)}progress{width:100%;accent-color:#3d7655;height:6px;border:0}.course-meter small{font-size:11px}.section-title p{font-size:13px;margin:7px 0 0}.section-title h2{margin:0}.section-title>a{font-size:12px}.path-preview{display:flex;flex-direction:column;border:1px solid var(--line);background:#fff;border-radius:12px;overflow:hidden}.path-card{border:0;border-radius:0;display:flex;text-align:left;align-items:center;padding:22px 24px;gap:22px;color:var(--ink);border-bottom:1px solid var(--line)}.path-card:last-child{border-bottom:0}.path-card>span:last-child{margin-left:auto}.path-card small{margin-top:5px}.step-badge{width:36px;height:36px;flex-shrink:0;border-radius:50%;background:#eff3ee;border:1px solid #dbe5db;color:#477552;display:flex;align-items:center;justify-content:center;font-size:13px}.course-footnote{font-size:11px;margin:22px 0;color:#78867e}.resume-strip{display:flex;align-items:center;gap:18px;font-size:13px;margin:-20px 0 30px}.resume-strip button{border:0}.course-progress{display:flex;gap:20px;align-items:center;margin-bottom:34px}.course-progress progress{max-width:220px}.course-progress>span{font-size:12px;color:var(--muted)}.course-progress button{margin-left:auto;font-size:12px}.course-path{position:relative;display:flex;flex-direction:column;gap:18px}.course-module{background:white;border:1px solid var(--line);border-radius:12px;overflow:hidden}.course-module>summary{display:flex;align-items:center;gap:22px;padding:24px 28px;list-style:none}.course-module>summary::-webkit-details-marker{display:none}.module-label{display:flex;flex-direction:column;gap:5px}.module-label strong{font-size:18px;font-weight:600}.module-label small{font-size:9px;letter-spacing:1.3px}.module-label>span{font-size:12px;color:var(--muted);font-weight:400}.module-chevron{margin-left:auto;font-size:20px}.course-module[open] .module-chevron{transform:rotate(180deg)}.module-body{padding:0 28px 24px 86px}.module-body>p{font-size:13px;padding-bottom:10px}.lesson-row{padding:17px 14px;border-radius:7px;gap:16px}.lesson-row strong{font-size:14px}.lesson-row small{margin-top:5px;font-size:11px}.current-lesson{background:#f2f7ef;border-color:#d4e2d1}.module-end{margin-top:22px}.module-end>details{font-size:12px;margin-top:18px}.course-reference{margin-top:36px;border-top:1px solid var(--line);padding-top:14px}.course-reference>summary{font-size:13px;color:var(--muted)}.course-reference>p{font-size:12px}.service-entry{padding:18px 0;border-bottom:1px solid var(--line)}.service-entry p{font-size:13px;margin:5px 0}.reader-layout{grid-template-columns:160px minmax(0,720px);gap:30px}.reader .page-heading h1{font-size:34px}.reader .outcomes{background:transparent;border:1px solid var(--line);padding:0 20px;margin:26px 0}.outcomes summary{font-size:13px}.reader .content-block{margin-bottom:38px}.block-actions{opacity:.8}.block-actions>span{font-size:10px}.reader-top{font-size:12px;margin-bottom:32px}.profile>div{line-height:1.6}.profile small{font-size:11px}.course-reference table{font-size:12px}footer{font-size:10px;border:0}
@media(min-width:1200px){.reader-layout{grid-template-columns:155px minmax(0,720px)}.outline{font-size:11px}}
@media(max-width:1000px){main{padding:32px}.workspace>header{padding:12px 22px}.breadcrumb{display:none}.ai-chip{margin-left:auto}.reader-layout{display:block}.outline{position:static;margin-bottom:22px}.continue-card{padding:30px;gap:24px}.continue-card h2{font-size:26px}}
@media(max-width:700px){.sidebar{width:auto}.workspace{margin-left:0}.workspace>header{gap:10px;padding:12px 18px}.track-switch select{max-width:210px;font-size:11px}.ai-chip{font-size:0}.ai-chip:first-letter{font-size:12px}.profile>summary{font-size:11px}main{padding:28px 20px 46px}.page-heading h1{font-size:27px}.continue-card{grid-template-columns:1fr;padding:26px;gap:26px;margin-bottom:34px}.continue-card h2{font-size:25px}.course-meter{display:grid;grid-template-columns:48px 1fr;gap:4px 12px;align-items:center}.course-meter strong{font-size:26px;grid-row:span 2}.course-meter progress{grid-column:2}.course-meter small{display:none}.course-progress{flex-wrap:wrap;gap:12px}.course-progress progress{max-width:140px}.course-progress button{margin-left:0}.course-module>summary{padding:20px;gap:14px}.module-label strong{font-size:16px}.module-body{padding:0 14px 20px}.module-body>p{padding:0 8px;font-size:12px}.step-badge{width:30px;height:30px}.lesson-row{padding:16px 10px}.lesson-row strong{font-size:13px}.path-card{padding:20px;gap:14px}.section-title{align-items:start;gap:20px}.section-title>a{max-width:90px;flex-shrink:0}.reader .page-heading h1{font-size:28px}}
.practice-picker{max-width:780px;padding:32px}.practice-picker .form-grid{grid-template-columns:1fr 1fr}.practice-picker .form-grid label:first-child{grid-column:1/-1}.practice-details{border-top:1px solid var(--line);margin-top:28px;padding-top:12px}.practice-details summary{font-size:12px;color:var(--muted)}.practice-details p{font-size:12px}.practice-picker>.primary{padding:12px 22px;background:#24583f;color:#fff;border-color:#24583f}@media(max-width:700px){.practice-picker{padding:24px}.practice-picker .form-grid{grid-template-columns:1fr}}
.task-skills{max-width:400px}.task-skills summary{font-size:11px;color:var(--muted);padding:6px 0}.task-skills ul{padding-left:18px;font-size:12px}
/* Subject courses, source-linked visuals, and readable explanations */
.course-tabs{display:flex;gap:28px;border-bottom:1px solid var(--line);margin:-4px 0 30px;overflow:auto}.course-tabs button{border:0;border-radius:0;padding:12px 0 15px;font-size:13px;white-space:nowrap;color:var(--muted)}.course-tabs button[aria-current]{color:var(--accent);border-bottom:3px solid var(--accent);font-weight:650}.course-series{background:#fff;border:1px solid var(--line);border-radius:14px;padding:0 28px}.subject-course{display:grid;grid-template-columns:82px 1fr auto;gap:22px;padding:27px 0;border-bottom:1px solid var(--line);align-items:start}.subject-course:last-child{border:0}.subject-course small{font-size:9px;letter-spacing:1px}.subject-course h2{margin:5px 0 7px;font-size:20px}.subject-course h2 button{border:0;padding:0;font:inherit;text-align:left;color:var(--ink)}.subject-course h2 button:hover{text-decoration:underline;background:none}.subject-course p{font-size:12px;margin:0}.subject-course details{font-size:12px}.subject-course details summary{padding:7px 0;color:var(--accent);font-size:12px}.subject-course details p{margin:8px 0}.course-open{align-self:center;white-space:nowrap;font-size:12px;border-color:transparent}.course-thumb{display:block;width:82px;height:72px;border-radius:9px;background:#e5eef5;padding:10px}.course-thumb svg{width:100%;height:100%;fill:none;stroke:#2c617d;stroke-width:2.5;stroke-linejoin:round}.tone-1{background:#e9e7f5}.tone-1 svg{stroke:#665b91}.tone-2{background:#e3f0ed}.tone-2 svg{stroke:#35786f}.tone-3{background:#f5ecdf}.tone-3 svg{stroke:#987137}.tone-4{background:#e7edf6}.tone-4 svg{stroke:#466e9f}.back-link{border:0;padding:0;margin-bottom:24px;font-size:12px}.course-outcomes{margin:0 0 24px;border-bottom:1px solid var(--line);padding-bottom:8px;font-size:13px}.worked-learning{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:32px 0;margin:38px 0;display:grid;grid-template-columns:minmax(0,1fr);gap:24px}.worked-example h2{margin-top:9px}.worked-example ol{padding-left:23px}.worked-example li{padding:5px 0;color:var(--muted)}.example-result{background:#edf5eb;border-left:3px solid #75a17a;padding:16px 20px;margin:22px 0;border-radius:0 7px 7px 0}.example-result p{margin:5px 0 0}.lesson-visual{min-width:0;background:#f7faf8;border:1px solid #e1e9e3;border-radius:11px;padding:22px}.concept-figure{margin:0}.concept-figure h3{font-size:15px;margin:0 0 12px}.concept-figure svg{width:100%;height:auto;max-height:580px;display:block}.concept-figure figcaption{font-size:11px;line-height:1.6;color:var(--muted);margin:12px 0}.diagram-node{fill:#fff;stroke:#a7beb0;stroke-width:1.5}.diagram-label{fill:#244b3a;font:20px system-ui,sans-serif}.diagram-edge{fill:none;stroke:#4b7863;stroke-width:2}.diagram-edge-label{fill:#526e5c;font:15px system-ui,sans-serif;paint-order:stroke;stroke:#f7faf8;stroke-width:5px;stroke-linejoin:round}.visual-sources{font-size:10px;line-height:1.8;color:var(--muted)}.visual-sources a{display:inline-block}.tutor-tools{display:flex;flex-wrap:wrap;gap:7px;margin:18px 0}.tutor-tools button{font-size:11px;padding:7px 10px;border-radius:18px}.ai-answer{white-space:normal}.ai-answer section{margin:19px 0}.ai-answer h4{font-size:13px;margin:0 0 8px;color:var(--ink)}.ai-answer p{font-size:13px;margin:8px 0;line-height:1.8}.ai-answer ul{font-size:13px;color:var(--muted);padding-left:20px}.ai-answer li{margin:6px 0}.ai-answer details{margin-top:18px}.ai-answer details summary{font-size:12px}#ai-visual{background:#f7faf8;border:1px solid var(--line);border-radius:10px;padding:18px;margin-bottom:20px}.resource-list{background:#fff;border:1px solid var(--line);border-radius:12px;padding:0 25px}.resource-row{padding:23px 0;border-bottom:1px solid var(--line)}.resource-row:last-child{border:0}.resource-row small{font-size:11px}.resource-row h3{font-size:17px;margin:4px 0 8px}.resource-row p{font-size:12px;margin:7px 0}.resource-row details{font-size:12px}.resource-row summary{font-size:11px;padding:7px 0}.access-label{display:inline-block;font-size:10px;color:#556b5c;background:#f0f4ee;padding:4px 8px;border-radius:4px}.practice-resources{max-width:780px;margin-top:40px}.practice-resources .section-title h2{font-size:22px}
@media(min-width:1500px){.reader-layout{grid-template-columns:150px minmax(0,850px)}.worked-learning{grid-template-columns:minmax(0,1fr) minmax(0,.9fr);gap:28px}.lesson-visual{align-self:start}}
@media(max-width:700px){.course-tabs{gap:22px;margin-bottom:24px}.course-tabs button{font-size:12px}.course-series{padding:0 18px}.subject-course{grid-template-columns:54px 1fr;gap:14px;padding:23px 0}.course-thumb{width:54px;height:54px;padding:7px}.subject-course h2{font-size:17px}.subject-course h2 button{font-size:17px}.course-open{grid-column:2;justify-self:start;margin-top:-8px;padding:4px 0}.worked-learning{padding:25px 0}.lesson-visual{padding:15px}.diagram-label{font-size:21px}.resource-list{padding:0 20px}.practice-resources .section-title h2{font-size:20px}}
.learning-summary{margin:18px 0 25px}.learning-summary h3{font-size:14px;margin:20px 0 10px}.learning-summary.lesson{background:#fff;border:1px solid var(--line);border-radius:12px;padding:5px 24px 20px;margin:24px 0 32px}.topic-tags,.service-tags{display:flex;flex-wrap:wrap;gap:7px}.topic-tags span,.service-tags span{font-size:11px;background:#eff4f0;border:1px solid #e0e8e1;padding:4px 9px;border-radius:5px;color:#456352}.service-tags span{background:#edf2f8;color:#365c79;border-color:#dfe7f0}.learning-skills{padding-left:21px;font-size:13px;color:var(--muted)}.learning-skills li{margin:7px 0}.service-glossary{margin:0}.service-glossary>div{border-top:1px solid var(--line);padding:13px 0}.service-glossary dt{font-size:13px;font-weight:650}.service-glossary dd{margin:6px 0 0;font-size:12px;color:var(--muted);line-height:1.75}.service-glossary dd small{font-size:10px}.module-learning{font-size:12px;margin-bottom:20px}.module-learning>summary{font-size:12px}.lesson-services{color:#527b65!important;font-size:10px!important}.section-recall{background:#f3f7f1;border:1px solid #dfe7db;border-radius:10px;padding:4px 20px 14px;margin-top:24px}.section-recall>summary{font-size:13px;color:#315e40}.section-recall .recall-question{font-size:14px;color:var(--ink);margin:12px 0 20px}.section-recall textarea{min-height:130px;background:#fff;font-size:13px;line-height:1.8}.section-recall .actions{gap:10px;flex-wrap:wrap}.section-recall button{font-size:12px}.section-recall>.recall-state{font-size:11px;margin:15px 0 7px}.section-recall>small{font-size:10px}.recall-result{border-top:1px solid #d5e0d1;margin-top:20px;padding-top:20px}.recall-result>p{font-size:13px;margin:10px 0}.recall-result>ul{padding:0;list-style:none}.recall-result li{border-top:1px solid var(--line);padding:17px 0;line-height:1.7}.recall-result li>strong{display:block;font-size:13px;margin:7px 0}.recall-result li>p{font-size:12px;margin:7px 0}.recall-result blockquote{font-size:12px;margin:10px 0;padding:9px 14px;background:#fff;border-left:2px solid #9ab69c;white-space:pre-wrap;overflow-wrap:anywhere}.recall-badge{font-size:10px;border-radius:4px;padding:3px 7px;background:#e5eadf;color:#4e6249}.recall-badge.met{background:#dfeeda;color:#34552f}.recall-badge.partial{background:#f5ebd4;color:#765a29}.recall-badge.missing{background:#f2e4dd;color:#7c4933}.recall-next{background:#fff;padding:15px 18px;border-radius:7px;margin-bottom:15px}.recall-next>p{margin:5px 0;font-size:13px}.recall-disclaimer{font-size:10px!important;color:var(--muted)}.published-diagram img{width:100%;height:auto;display:block;background:white;border-radius:4px;object-fit:contain}.published-diagram>a{display:block}.published-diagram figcaption{font-size:11px;line-height:1.8}.image-unavailable{font-size:12px}.worked-example>small{font-size:10px;margin-top:15px}.source-guide{padding:20px;border:1px solid var(--line);border-radius:10px;background:#fff}.source-guide p{margin:10px 0 0;font-size:12px}.worked-example h2 a{color:var(--ink)}
@media(max-width:700px){.learning-summary.lesson{padding:3px 17px 16px}.section-recall{padding:3px 15px 14px}.service-glossary dd{font-size:12px}}
.worked-learning.without-diagram{grid-template-columns:1fr}
:root{--sticky-nav-height:0px;--sticky-header-height:82px}html{scroll-padding-top:calc(var(--sticky-nav-height) + var(--sticky-header-height) + 20px)}.workspace>header{position:sticky;top:var(--sticky-nav-height);z-index:12;background:#fff;box-shadow:0 3px 12px #203a3608}.outline{top:calc(var(--sticky-nav-height) + var(--sticky-header-height) + 20px)}@media(max-width:760px){.sidebar{position:sticky;top:0;z-index:13;background:#fff}.workspace>header{top:var(--sticky-nav-height)}}
.spinner,[data-loading="true"]::before{display:inline-block;width:17px;height:17px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:processing-spin .8s linear infinite;flex:none;vertical-align:-3px}.spinner{color:#386b53}[data-loading="true"]::before{content:"";margin-right:9px}[data-loading="true"]{cursor:progress}#ai-state[data-loading="true"]{display:flex;align-items:center;gap:9px}#ai-state[data-loading="true"]::before{margin:0}.startup-loading{min-height:60vh;display:flex;align-items:center;justify-content:center;gap:14px}.startup-loading p{margin:0}#processing-status{position:fixed;bottom:20px;left:calc(50% + 80px);transform:translateX(-50%);z-index:190;display:flex;align-items:center;gap:11px;max-width:calc(100vw - 32px);padding:12px 18px;border:1px solid #cbdcd1;border-radius:10px;background:#fff;box-shadow:0 6px 25px #1b3a2820;font-size:13px;color:#2d4d3e;pointer-events:none}#processing-status[hidden]{display:none}.login-layout{min-height:100vh;display:flex;flex-direction:column;padding:30px 5vw;background:#f6f8f4}.login-layout>.brand{align-self:flex-start}.login-main{width:min(100%,1050px);margin:auto;display:grid;grid-template-columns:1fr 440px;align-items:center;gap:80px;padding:65px 0}.login-intro h1{font-size:43px;line-height:1.2;max-width:400px;margin:15px 0 24px}.login-intro>p{font-size:18px;max-width:370px}.login-intro ul{list-style:none;padding:0;margin:30px 0}.login-intro li{margin:15px 0;font-size:14px;color:#527060}.login-intro li::before{content:"✓";display:inline-block;margin-right:12px;color:#2a734e}.login-card{background:#fff;border:1px solid var(--line);border-radius:17px;padding:32px;box-shadow:0 12px 45px #294b3910;min-width:0}.login-card h2{font-size:23px;margin:0 0 20px}.login-providers{display:flex;flex-direction:column;gap:12px}.provider-button{display:block;width:100%;padding:13px 18px;text-align:center;border:1px solid #c8d6cd;border-radius:8px;text-decoration:none;font-size:14px;background:#fff;line-height:1.5;color:#244636}.provider-button:hover{background:#f1f6ef}.provider-button:disabled{opacity:.55;cursor:not-allowed}.login-card small{display:block;font-size:11px;color:var(--muted);line-height:1.7}.login-divider{display:flex;align-items:center;gap:10px;color:var(--muted);font-size:11px;margin:26px 0}.login-divider::before,.login-divider::after{content:"";height:1px;background:var(--line);flex:1}.login-card input{background:#fff}.login-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:24px 0 18px}.login-actions button{font-size:13px;padding:12px}.login-back{display:inline-block;font-size:12px;margin-top:25px}.login-layout>footer{justify-content:center;padding:20px 0;font-size:11px}#auth-error{color:#a03d36;font-size:13px;line-height:1.7}#auth-error:empty{display:none}@keyframes processing-spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.spinner,[data-loading="true"]::before{animation:none;border-style:dotted}}@media(max-width:760px){.login-layout{padding:24px 20px}.login-main{grid-template-columns:1fr;gap:25px;padding:40px 0;max-width:440px}.login-intro h1{font-size:31px;margin:10px 0 15px}.login-intro>p{font-size:15px;margin:0}.login-intro ul{display:none}.login-card{padding:25px 22px}.login-layout>.brand{font-size:24px}#processing-status{left:50%;bottom:12px;font-size:12px;padding:10px 14px}}
.reading-prose{font-size:15px;line-height:1.9;color:#344b44}.reader .content-block>.reading-prose{font-size:16px;max-width:72ch}.reading-points{padding-left:24px;margin:12px 0 20px}.reading-points>li{padding-left:5px;margin:12px 0}.worked-example .reading-points>li{color:#61523a}.selectable h1,.selectable h2{user-select:text}.lesson-takeaway{background:transparent!important;border:0!important;padding:0!important;border-radius:0!important;margin:26px 0 0!important}.lesson-takeaway h3{font-size:17px}.lesson-takeaway>ul{padding-left:22px;margin:12px 0 24px}.lesson-takeaway>ul>li{margin:14px 0;line-height:1.85}.lesson-takeaway [data-reading-text]{display:inline}.recall-paper>.actions{margin-top:24px}@media(max-width:700px){.reader .content-block>.reading-prose{font-size:15px}.reading-points{padding-left:21px}.reading-points>li{padding-left:2px}}
.service-overview{padding:8px 0 24px;border-bottom:1px solid var(--line);margin:16px 0 28px}.service-overview h2{font-size:23px;margin:10px 0 15px}.service-overview>p{font-size:16px;line-height:1.85;color:#3c514a;max-width:72ch}.service-overview h3{font-size:15px;margin:24px 0 12px}.service-concepts{display:flex;flex-wrap:wrap;gap:9px}.service-concepts>span{font-size:12px;padding:6px 11px;background:#edf3ef;border-radius:5px;color:#355b48}.lesson-sequence{padding-left:24px;font-size:14px}.lesson-sequence li{margin:9px 0}.lesson-sequence a{text-decoration:none}.lesson-sequence a:hover{text-decoration:underline}.aws-term{color:#23648a;text-decoration:underline;text-decoration-style:dotted;text-underline-offset:3px;text-decoration-thickness:1px}.aws-term:hover{background:#edf4f8;text-decoration-style:solid}.term-popover{position:fixed;z-index:160;width:min(380px,calc(100vw - 24px));max-height:calc(100vh - 24px);overflow:auto;border:1px solid #c5d7df;background:#fff;box-shadow:0 14px 50px #15382930;border-radius:12px;padding:20px}.term-popover-head{display:flex;justify-content:space-between;gap:16px;align-items:start;font-size:15px}.term-popover-head button{padding:1px 8px;font-size:20px;line-height:1.3}.term-popover p{font-size:13px;line-height:1.8;margin:15px 0}.term-popover>a,.term-popover>.term-explain{display:block;margin:12px 0 0;font-size:12px;text-align:center}.term-popover>.term-explain{width:100%}.tutor-paper .followup-row{display:block}.tutor-paper .followup-row textarea{width:100%;min-height:100px}.tutor-paper .followup-row button{display:block;margin:10px 0 16px;width:100%;font-size:13px}.tutor-paper>summary{display:list-item}.roadmap-references{padding:20px;margin-top:28px;border-top:1px solid var(--line)}.roadmap-references summary{font-size:13px}.roadmap-references p,.roadmap-references li{font-size:12px}.roadmap-references li{margin:14px 0}.roadmap-references small{display:block;color:var(--muted)}@media(max-width:700px){.service-overview>p{font-size:15px}.service-overview h2{font-size:21px}.term-popover{padding:17px}}
.beginner-paper{background:#eef5fb;border:1px solid #d2e0ec;border-radius:16px;padding:30px;margin:28px 0;color:#243f53}.beginner-paper h2{font-size:25px;margin:10px 0 18px}.beginner-paper p,.starter-glossary dd{font-size:15px;line-height:1.9;color:#344f61}.context-story{background:#fff;border-radius:10px;padding:20px 24px;margin:24px 0}.context-story h3{margin-top:0}.context-story p{margin-bottom:0}.starter-glossary{margin:0}.starter-glossary>div{padding:17px 0;border-bottom:1px solid #d5e1eb}.starter-glossary dt{font-size:15px;font-weight:700}.starter-glossary dd{margin:7px 0 0}.starter-glossary a{font-size:12px;white-space:nowrap}.reading-route{font-size:13px!important;margin:24px 0 0}.lesson-objectives{padding:12px 20px;background:#fff;border:1px solid var(--line);border-radius:10px;margin-bottom:32px}.lesson-objectives>summary{font-size:14px;color:#395c4a}.reader .content-block>p{font-size:16px;line-height:1.95;max-width:72ch;color:#344b44}.reader .content-block{padding-top:12px;margin-top:36px}.worked-learning{background:#fff6e7;border:1px solid #e9d9b9;border-radius:16px;padding:28px;gap:26px;margin:30px 0 42px}.worked-example p,.worked-example li{color:#61523a;font-size:14px;line-height:1.85}.worked-example>small{display:block;line-height:1.7;margin-top:20px}.worked-example h2{font-size:23px}.worked-learning .lesson-visual{background:#fffaf1;border-color:#e8dcc5}.recall-paper{background:#f1edf9;border:1px solid #ded5ef;border-radius:16px;padding:30px;margin:35px 0}.recall-paper h2{font-size:25px}.recall-paper textarea{background:#fff;min-height:145px}.lesson-takeaway{border-left:3px solid #9a83bd;background:#fff9;padding:17px 20px;border-radius:0 8px 8px 0;margin:25px 0}.lesson-takeaway p{margin:8px 0 0}.section-recall{background:#edf5ef;border-color:#cbded0}.section-recall>summary{font-weight:650}.rationale.wrong{background:#fff0ef;border:1px solid #e5a29d;border-left:5px solid #b43b35;color:#762d29}.rationale.wrong strong{color:#9c2b26}.rationale.wrong p{color:#762d29}.rationale.alternative{background:#fff8ef;border:1px solid #e6d4bb;border-left:4px solid #c29457}.rationale.alternative strong{color:#805c2d}.rationale.right{background:#edf8ed;border:1px solid #a8cfa8;border-left:5px solid #3b8049}.rationale.right strong{color:#27683a}.tutor-paper{border:1px solid;border-radius:12px;padding:5px 16px 16px;margin:22px 0}.tutor-paper>summary{font-size:14px;font-weight:650;padding:12px 0;display:list-item}.tutor-paper>summary span{display:block;font-size:10px;font-weight:400;opacity:.8;margin-left:16px}.followup-paper{background:#edf3fa;border-color:#cfdeee}.save-paper{background:#f2eff9;border-color:#dbd0eb}.tutor-paper label{font-size:12px}.tutor-paper input,.tutor-paper textarea,.tutor-paper select{background:#fff}.followup-row{display:flex;align-items:flex-end;gap:10px}.followup-row label{flex:1;min-width:0}.followup-row textarea{resize:vertical;min-height:82px;max-height:320px;line-height:1.7}.followup-row button{flex:none;margin-bottom:16px;font-size:12px}.tutor-paper[open]>summary{border-bottom:1px solid #d9dfeb;margin-bottom:16px}.save-paper small{display:block;line-height:1.7}.aside-bottom #how-to-use{display:block;margin-bottom:20px;font-size:12px;background:#fff}.tour-focus{outline:3px solid #277aa7!important;outline-offset:7px;border-radius:8px;scroll-margin-top:80px;scroll-margin-bottom:330px}#tour-welcome{width:min(540px,calc(100vw - 32px));border:1px solid #cbdcd4;border-radius:18px;padding:32px;color:var(--ink);box-shadow:0 24px 90px #15382940}#tour-welcome::backdrop{background:#132d3066}#tour-welcome h2{font-size:27px}#tour-welcome p{font-size:15px}#tour-welcome small{display:block;font-size:12px;margin-top:22px}#tour-coach{position:fixed;right:24px;bottom:24px;z-index:110;width:min(415px,calc(100vw - 32px));max-height:65vh;overflow:auto;background:#fff;border:1px solid #a7c7d7;border-radius:15px;padding:22px;box-shadow:0 12px 70px #1d344b35}#tour-coach h2{font-size:21px;margin:12px 0}#tour-coach p{font-size:14px;line-height:1.75;margin-bottom:18px}#tour-coach small{font-size:11px;display:block;margin-top:14px}.tour-top{display:flex;align-items:center;justify-content:space-between;gap:12px}.tour-top span{font-size:10px;letter-spacing:1px;color:#426879}.tour-top button{padding:2px 9px;font-size:22px}.tour-try{margin-bottom:16px;font-size:12px}#tour-coach .actions{justify-content:space-between}footer #footer-guide{font-size:11px;white-space:nowrap}dialog{max-height:90vh;overflow:auto}@media(max-width:700px){.beginner-paper,.recall-paper{padding:22px 19px}.beginner-paper h2,.recall-paper h2{font-size:23px}.context-story{padding:18px}.worked-learning{padding:22px 18px}.starter-glossary dd{font-size:14px}.reader .content-block>p{font-size:15px}.followup-row{flex-wrap:wrap}.followup-row label{flex-basis:100%}.followup-row button{margin-bottom:8px}.tutor-paper{padding-inline:13px}#tour-coach{bottom:12px;right:16px;max-height:44vh;padding:18px}#tour-coach h2{font-size:19px}#tour-coach p{font-size:13px}.tour-focus{scroll-margin-bottom:48vh}footer{flex-wrap:wrap}}
footer{display:flex;justify-content:space-between;align-items:flex-start;gap:24px}.footer-credit{font-size:11px}.footer-about{max-width:410px;font-size:11px}.footer-about summary{padding:0;font-size:11px}.footer-about p{font-size:11px;margin:12px 0}.footer-about>div{display:flex;gap:20px;margin:12px 0}.footer-about small{font-size:10px}@media(max-width:700px){footer{flex-direction:column;gap:16px}}
