:root{color-scheme:dark;--bg:#090a0b;--panel:#111315;--line:#24282a;--text:#eaeef3;--muted:#a6adb7;--blue:#9dbfe5;--soft:#17191c;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-size:17px;line-height:1.8}a{color:var(--blue);text-underline-offset:4px}a:hover{color:#d5e7ff}button,input,textarea,select{font:inherit}button,select{background:#111315;color:var(--text);border:1px solid #343a40;border-radius:7px;padding:9px 15px;cursor:pointer}button:hover{border-color:var(--blue);background:#17191c}button.primary,.primary{background:#b2cdee;color:#111315;border-color:#b2cdee;text-decoration:none;border-radius:7px;padding:10px 18px;display:inline-block;font-weight:600}.primary:hover{background:#d1e2f8;color:#111315}button:disabled{opacity:.4;cursor:default}:focus-visible{outline:2px solid #c3dcff;outline-offset:4px}#content:focus{outline:none}.skip{position:fixed;top:-80px;left:20px;padding:10px;background:#fff;color:#000;z-index:100}.skip:focus{top:10px}#sidebar{position:fixed;inset:0 auto 0 0;width:294px;border-right:1px solid var(--line);background:#090a0b;display:flex;flex-direction:column;z-index:30}.brand{display:flex;gap:13px;align-items:center;text-decoration:none;color:var(--text);padding:30px 23px;font-size:17px;line-height:1.4}.brand-icon{font:600 22px/1 ui-monospace,monospace;letter-spacing:-2px;color:var(--blue);border:1px solid #405574;padding:12px 10px;border-radius:10px}.brand small{display:block;font:9px/2 ui-monospace,monospace;letter-spacing:.13em;color:var(--muted)}.side-actions{padding:0 19px 24px;display:grid;gap:9px}.side-actions>*{font-size:13px;text-align:left;display:flex;justify-content:space-between;text-decoration:none;padding:9px 12px;border:1px solid #24282a;border-radius:6px;color:#c2d6ee;background:#111315}.side-caption{display:flex;justify-content:space-between;padding:0 23px 12px;font:9px ui-monospace,monospace;color:var(--muted);letter-spacing:.09em}.side-caption span{color:#65778d}#course-nav{overflow:auto;padding:0 12px 20px;flex:1;scrollbar-width:thin}#course-nav details{border:0;margin:0;padding:0}#course-nav summary{font-size:12px;line-height:1.6;padding:13px 11px;color:#a2b0c1;cursor:pointer}#course-nav a{display:block;font-size:12px;line-height:1.65;color:#98a7b9;text-decoration:none;border-left:1px solid #24282a;margin-left:15px;padding:9px 13px}#course-nav a[aria-current=page]{color:#cce0f9;background:#17191c;border-left:2px solid #9dbfe5;border-radius:0 5px 5px 0}#course-nav a:hover{background:#111315;color:#d7e4f5}.side-foot{padding:18px 22px;border-top:1px solid var(--line);font-size:10px;color:#8b9caf}.side-foot a{display:block;font-size:11px;margin-top:5px}.dot{display:inline-block;width:5px;height:5px;background:#9dbfe5;border-radius:50%;margin-right:4px}.workspace{margin-left:294px}.topbar{padding:22px 42px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;gap:12px;font:10px/1.5 ui-monospace,monospace;letter-spacing:.06em;color:#93a4b9}.topbar a{font:11px/1.5 -apple-system,BlinkMacSystemFont,sans-serif;text-decoration:none}main{max-width:880px;margin:auto;padding:54px 48px 70px;min-height:85vh}h1,h2,h3{line-height:1.3;color:#edf2f8;font-weight:550}h1{font-size:40px;letter-spacing:-1.5px;margin:15px 0 22px;max-width:740px}h2{font-size:25px;letter-spacing:-.5px;margin:48px 0 18px}h3{font-size:21px;margin:36px 0 15px}p{margin:18px 0;color:#bdc7d4;white-space:pre-line}strong{color:#e7edf6}.eyebrow{font:11px/1.7 ui-monospace,monospace;letter-spacing:.1em;color:var(--blue);text-transform:uppercase}.lede{font-size:21px;line-height:1.7;color:#b5c2d4;max-width:650px}.hero{padding:8px 0 35px}.hero h1{font-size:55px;line-height:1.12;max-width:620px;margin-top:24px}.hero h1 em{font-style:normal;color:var(--blue)}.hero .lede{margin-bottom:30px}.hero-meta{display:flex;gap:24px;margin-top:38px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:20px 0;color:var(--muted);font-size:12px}.hero-meta strong{font-weight:500;display:block;font-size:19px}.hero-meta>div{flex:1}.callout{background:#111315;border:1px solid #343a40;border-left:3px solid var(--blue);border-radius:6px;padding:18px 22px;margin:26px 0;font-size:15px}.callout p{margin:5px 0}.prereq{background:#111315;border:1px solid var(--line);padding:20px 24px;border-radius:8px;margin:24px 0 35px}.prereq h2{font:11px/1.5 ui-monospace,monospace;letter-spacing:.08em;color:var(--blue);text-transform:uppercase;margin:0 0 12px}.prereq p{font-size:15px;margin:8px 0}.code-wrap{margin:25px 0;border:1px solid #24282a;border-radius:9px;overflow:hidden;min-width:0}.code-header{background:#17191c;padding:9px 16px;display:flex;justify-content:space-between;align-items:center;font:10px/1.5 ui-monospace,monospace;letter-spacing:.08em;color:#a0b7d3}.code-header button{font:11px -apple-system,sans-serif;padding:4px 9px}pre{margin:0;padding:24px;overflow:auto;background:#090a0b;color:#c9ddf8;font:14px/1.85 ui-monospace,SFMono-Regular,Consolas,monospace;tab-size:2;max-width:100%}code{font-family:ui-monospace,SFMono-Regular,Consolas,monospace}details.reveal{border:1px solid #24282a;background:#111315;border-radius:7px;margin:18px 0;overflow:hidden}details.reveal summary{cursor:pointer;padding:14px 20px;font-size:14px;color:#b6cfea}details.reveal>div{border-top:1px solid var(--line);padding:2px 20px 16px}.reveal p{font-size:16px}.check{padding:18px 22px;border:1px solid #24282a;border-radius:7px;background:#111315}.watch{border-left:2px solid #7387a1;padding:8px 20px;font-size:15px}.lesson-nav{border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:16px;padding-top:28px;margin-top:50px}.lesson-nav a{max-width:48%;font-size:14px;text-decoration:none}.lesson-nav small{display:block;color:var(--muted);font:10px/2 ui-monospace,monospace;letter-spacing:.07em}.toolbar{display:flex;gap:12px;flex-wrap:wrap;align-items:center;margin:24px 0}.toolbar label{font-size:13px;color:#b9c7d9}.toolbar select{font-size:13px;padding:9px}.toolbar input[type=search]{padding:10px 12px;background:#111315;border:1px solid #343a40;border-radius:6px;color:var(--text);min-width:0;width:100%;font-size:14px}.search-label{flex:1 0 180px}.problem{border:1px solid #24282a;border-radius:8px;background:#111315;margin:14px 0;padding:20px 23px}.problem-head{display:flex;gap:10px;align-items:baseline}.problem-num{color:#788ca4;font:11px ui-monospace,monospace;min-width:24px}.problem h3{font-size:18px;margin:0;flex:1}.problem h3 a{text-decoration:none}.problem h3 a:after{content:' ↗';font-size:14px;color:#7996b9}.problem-meta{font:10px ui-monospace,monospace;color:#8398b4;margin:8px 0 0 34px}.problem-controls{display:flex;gap:25px;flex-wrap:wrap;margin:15px 0 0 29px}.problem-controls label{display:flex;align-items:center;gap:8px;font-size:14px;padding:4px;cursor:pointer}input[type=checkbox]{width:18px;height:18px;accent-color:#adcdef;cursor:pointer}.problem details{font-size:13px;margin:10px 0 0 34px}.problem summary{cursor:pointer;color:#a9bdd6}.problem textarea{width:100%;min-height:95px;background:#090a0b;border:1px solid #343a40;border-radius:6px;color:var(--text);padding:12px;font-size:14px;resize:vertical}.problem .note-label{display:block;margin:12px 0 6px}.problem details p{font-size:14px}.stats{font-size:14px;color:#b0bed0;margin:20px 0}.stats strong{font-weight:500;color:#d2e2f7}.button-row{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin:22px 0}.button-row a{font-size:14px}.site-footer{border-top:1px solid var(--line);margin:0 42px;padding:25px 0;display:flex;justify-content:space-between;gap:14px;font-size:11px;color:#8392a6}.site-footer span{font:9px/2 ui-monospace,monospace;color:#6c7f96}dialog{max-width:480px;width:calc(100% - 32px);border:1px solid #405675;border-radius:12px;background:#111315;color:var(--text);padding:28px}dialog h2{margin:0;font-size:24px}dialog::backdrop{background:#000b}dialog p{font-size:16px}.status{position:fixed;bottom:20px;right:20px;max-width:370px;background:#24282a;border:1px solid #526c8b;border-radius:7px;font-size:13px;z-index:70}.status:not(:empty){padding:12px 18px}.mobile-header{display:none}.source-links{display:grid;gap:12px;margin:24px 0}.source-links a{font-size:15px}.empty{padding:35px;border:1px dashed #41506a;border-radius:8px;text-align:center}.progress-line{height:3px;background:#24282a;margin:10px 0 25px}.progress-line>span{display:block;height:100%;background:var(--blue)}.tiny{font-size:13px;color:var(--muted)}.file-label{display:inline-block;border:1px solid #343a40;border-radius:7px;padding:9px 15px;cursor:pointer}.file-label:focus-within{outline:2px solid #c3dcff;outline-offset:4px}.file-label input{display:block;width:100%;font-size:13px;margin-top:8px}.error{background:#281c22;border-color:#8f586b}
@media(min-width:1500px){main{max-width:940px;padding-top:70px}}@media(max-width:1000px){#sidebar{width:255px}.workspace{margin-left:255px}main{padding:38px 30px}.topbar{padding:20px 30px}.hero h1{font-size:45px}h1{font-size:33px}}@media(max-width:760px){.mobile-header{display:flex;position:sticky;top:0;z-index:40;background:#111315f5;align-items:center;justify-content:space-between;padding:12px 18px;border-bottom:1px solid var(--line);font-size:13px}.mobile-header button{font-size:12px;padding:8px 10px}#sidebar{display:none;top:62px;width:min(320px,90vw)}body.menu-open #sidebar{display:flex}#shade:not([hidden]){position:fixed;inset:62px 0 0;background:#0009;z-index:25}.workspace{margin-left:0}.topbar{padding:18px 22px;font-size:8px}.topbar a{font-size:10px}main{padding:30px 22px 45px}.hero h1{font-size:42px}.lede{font-size:18px}.hero-meta{gap:14px}.hero-meta strong{font-size:17px}.hero-meta{font-size:11px}h1{font-size:32px}h2{font-size:23px}h3{font-size:20px}body{font-size:16px}.problem{padding:18px 15px}.problem-controls{margin-left:0;gap:12px}.problem details{margin-left:0}.problem h3{font-size:17px}.site-footer{margin:0 22px;display:block}.site-footer span{display:block;margin-top:8px}pre{padding:18px;font-size:12px}.code-wrap{margin-inline:-2px}.prereq{padding:18px}.button-row{align-items:stretch}.toolbar{gap:10px}.toolbar select{max-width:100%}.lesson-nav a{font-size:12px}.status{left:15px;right:15px;bottom:15px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.practice-stage{padding:5px 0 0;margin-top:35px}.practice-stage h3{margin-bottom:5px}.practice-stage p{font-size:15px;margin-top:5px;color:#a7bbd5}
.inline-reference{border-left:2px solid #405574;padding:8px 18px;margin:22px 0;font-size:15px;line-height:1.8;color:var(--muted)}.inline-reference strong{font-weight:500}
.resource-jump{display:inline-block;margin:0 0 24px;font-size:15px}.module-resources{border-top:1px solid var(--line);padding-top:30px;margin-top:48px;scroll-margin-top:90px}.module-resources>h2,.module-resources>h3{margin:10px 0 18px}.module-resources>p{font-size:15px}.module-resources h4{font-size:18px;margin:28px 0 16px}.resource-list{list-style:none;padding:0;margin:0}.resource-list li{padding:18px 0;border-bottom:1px solid var(--line)}.resource-list a{display:block;font-size:17px;line-height:1.55;overflow-wrap:anywhere}.resource-kind{display:block;font-size:12px;color:var(--muted);margin-bottom:5px}.resource-list p{font-size:15px;line-height:1.7;margin:8px 0 0}#course-nav .resource-nav{color:var(--blue)}
.module-resources:focus{outline:none}
.guided-extension{border-top:1px solid #343a40;border-bottom:1px solid #343a40;padding:25px 0;margin:35px 0}.guided-extension>h3{margin-top:12px}.part-nav{display:flex;flex-wrap:wrap;gap:12px;margin:24px 0;padding:16px 0;border-block:1px solid var(--line);font-size:14px}h2[id],h3[id]{scroll-margin-top:90px}

/* Inline code remains readable without changing verbatim, scrollable code blocks. */
:not(pre)>code{font-size:.9em;color:#cee1fb;background:#17191c;border:1px solid #343a40;border-radius:4px;padding:.08em .28em;white-space:break-spaces;overflow-wrap:anywhere;box-decoration-break:clone;-webkit-box-decoration-break:clone}
.vocabulary-nav{display:grid;gap:11px;border-block:1px solid var(--line);padding:22px 0;margin:28px 0 42px;font-size:15px}.vocabulary-nav a{text-decoration:none}.vocabulary-nav span{color:var(--muted);margin-right:5px}.vocabulary-group{scroll-margin-top:90px;margin:48px 0}.vocabulary-group:focus{outline:none}.vocabulary-group>h2{margin-top:0}.vocabulary-term{padding:23px 0;border-bottom:1px solid var(--line)}.vocabulary-term dt{font-size:20px;font-weight:550;color:#e6eef9;line-height:1.5}.vocabulary-term dd{margin:0}.vocabulary-term p{margin:14px 0}.vocabulary-example{padding-left:16px;border-left:2px solid #46617e}.vocabulary-caution{font-size:15px;color:#a8b8cd}.vocabulary-caution strong{font-weight:500}.vocabulary-check{margin:32px 0}.vocabulary-check h3{font-size:18px;margin-bottom:12px}

.vocabulary-purpose{color:#bbcadc}.vocabulary-trace{margin:20px 0;padding:1px 18px 6px;background:#111315;border-left:2px solid #344b65;border-radius:0 5px 5px 0}.vocabulary-trace>p{font-size:14px;color:#c4d5e9;margin-bottom:8px}.vocabulary-trace ol{padding-left:23px;margin-top:8px}.vocabulary-trace li{padding-left:5px;margin:12px 0;color:#bdc7d4}.lesson-explanation{margin:32px 0}.lesson-explanation h2{margin-top:0}.lesson-explanation p{font-size:17px}.vocabulary-purpose strong{font-weight:500}

/* Worked truthiness examples stay part of the reading flow. */
#vocab-truthiness{scroll-margin-top:90px}#vocab-truthiness:focus{outline:none}.truthiness-table-wrap{overflow-x:auto;margin:25px 0}.truthiness-table{width:100%;border-collapse:collapse;font-size:15px}.truthiness-table caption{text-align:left;color:#d7e4f5;font-weight:500;margin-bottom:12px}.truthiness-table th,.truthiness-table td{padding:13px 12px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}.truthiness-table thead{background:#17191c}.truthiness-table th{font-weight:500}.truthiness-table th:first-child{width:25%}.truthiness-table th:nth-child(2){width:22%}.truthiness-example{padding:12px 0 24px;margin:30px 0;border-bottom:1px solid var(--line)}.truthiness-example h3{font-size:21px;line-height:1.45;margin-top:10px}.truthiness-example .output-label{font-size:13px;color:var(--muted);margin-bottom:8px}.truthiness-example .example-output{margin-top:0;background:#111315;border-left:2px solid #456d82}.truthiness-examples h4{font-size:17px;margin-bottom:12px}@media(max-width:760px){.truthiness-table{font-size:13px}.truthiness-table th,.truthiness-table td{padding:10px 7px}.truthiness-example h3{font-size:19px}}

/* Case comparisons use the same reading column as their lesson. */
.lesson-cases{scroll-margin-top:90px;margin:40px 0;padding-top:15px;border-top:1px solid var(--line)}.lesson-cases:focus{outline:none}.case-jump{display:block;margin-bottom:12px}.case-section{margin:28px 0 36px}.case-section h3{font-size:21px;line-height:1.5}.worked-case{padding:1px 0 1px 18px;border-left:2px solid #405b79;margin:20px 0}.worked-case p{margin:12px 0}.case-takeaway{color:#bdccdf}.case-takeaway strong,.worked-case strong{font-weight:550}.vocabulary-term[id]{scroll-margin-top:90px}.vocabulary-term[id]:focus{outline:none}@media(max-width:760px){.case-section h3{font-size:19px}.worked-case{padding-left:14px}}

/* Optional account sync keeps the course reader as the main activity. */
.account-card h2{margin-top:0;font-size:21px}.google-button{background:#f2f2f2;color:#1f1f1f;border-color:#747775;font-weight:600}.google-button:hover{background:#fff;color:#1f1f1f}.account-conflict{border:1px solid #435670;border-radius:8px;padding:22px;margin:22px 0}.account-conflict h3{margin-top:0}.account-comparison{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:18px 0}.account-comparison>div{background:#111315;border:1px solid var(--line);padding:15px;border-radius:6px;min-width:0}.account-comparison h4{margin:0;font-size:14px}.account-comparison p{white-space:pre-wrap;overflow-wrap:anywhere;font-size:14px}.account-conflict label{display:block;margin:15px 0 8px;font-size:14px}.account-conflict textarea{display:block;width:100%;min-height:140px;max-width:100%;background:#090a0b;color:var(--text);border:1px solid #40516a;border-radius:6px;padding:12px;resize:vertical;font-size:15px}#account-confirm{max-width:600px;width:calc(100% - 30px)}#account-confirm h2{margin-top:0}#account-link{overflow-wrap:anywhere}#save-location{line-height:1.6}@media(max-width:650px){.account-comparison{grid-template-columns:1fr}.account-conflict{padding:17px}.account-card .button-row>*{max-width:100%}}

/* Account tools share a compact, keyboard-accessible disclosure. */
.topbar{align-items:center}
.profile-menu{position:relative;flex-shrink:0;letter-spacing:0}
.profile-menu>summary{display:flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:10px 13px;border:1px solid #526c8b;border-radius:8px;background:#17191c;color:#c8ddf5;font:600 14px/1.5 -apple-system,BlinkMacSystemFont,sans-serif;cursor:pointer;list-style:none}
.profile-menu>summary::-webkit-details-marker{display:none}
.profile-menu>summary:hover,.profile-menu[open]>summary{background:#24282a;border-color:var(--blue);color:#edf5ff}
.profile-chevron{font-size:16px}.profile-menu[open] .profile-chevron{transform:rotate(180deg)}
.profile-panel{position:absolute;right:0;top:calc(100% + 8px);z-index:45;width:min(290px,calc(100vw - 60px));padding:6px;border:1px solid #405675;border-radius:10px;background:#111315;box-shadow:0 12px 30px #0008}
.topbar .profile-panel a{display:flex;align-items:center;min-height:46px;padding:10px 12px;border-radius:6px;color:#d2e2f7;font-size:14px;line-height:1.5}
.topbar .profile-panel a:hover,.topbar .profile-panel a:focus-visible{background:#24282a}
@media(max-width:760px){.topbar{padding-block:14px}.profile-menu>summary{padding-inline:10px;gap:6px;font-size:12px}.profile-menu>summary svg{width:18px;height:18px}}

.profile-copy{display:flex;flex-direction:column;align-items:flex-start;min-width:0;max-width:190px;text-align:left;line-height:1.35}
#profile-name{display:block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
#profile-state{font-size:11px;font-weight:400;color:#aebbc9;margin-top:3px}
.profile-menu>summary[data-session="signed-in"] #profile-state{color:#a5d8bb}
.profile-menu>summary[data-session="pending"] #profile-state{color:#b8d3f5}
@media(max-width:760px){.profile-copy{max-width:130px}#profile-state{font-size:10px}}

/* Keep the reader width comfortable when the desktop sidebar is hidden. */
.reader-controls{display:flex;align-items:center;gap:18px;min-width:0}
#sidebar-toggle{display:inline-flex;align-items:center;gap:8px;white-space:nowrap;font:12px/1.5 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;letter-spacing:0;min-height:40px;padding:8px 10px}
#sidebar-toggle svg{flex:none}
@media(min-width:761px){body.sidebar-hidden #sidebar{display:none}body.sidebar-hidden .workspace{margin-left:0}}
@media(max-width:1100px){.course-label{display:none}}
@media(max-width:760px){.reader-controls{display:none}}
.topbar .profile-menu{margin-left:auto}

.confidence-scale{border:0;margin:20px 0 0;padding:0;min-width:0}.confidence-scale legend{font-size:13px;margin-bottom:10px;color:#c9d8ea}.confidence-choices{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.confidence-choices label{position:relative;cursor:pointer}.confidence-choices input{position:absolute;opacity:0;width:1px;height:1px}.confidence-choice{display:flex;align-items:center;flex-direction:column;gap:5px;line-height:1.4;padding:10px 5px;background:#111315;border:1px solid #343a40;border-radius:7px;font-size:11px;text-align:center;min-height:64px}.confidence-choice strong{font-size:14px}.confidence-choices input:checked+.confidence-choice{background:#343a40;border:2px solid #b8d8ff;padding:9px 4px;color:#e4f0ff}.confidence-choices input:focus-visible+.confidence-choice{outline:2px solid #fff;outline-offset:3px}.level-bars{display:flex;height:16px;gap:3px;align-items:flex-end}.level-bars i{width:6px;height:4px;background:#343a40;border-radius:1px}.level-bars i:nth-child(2){height:8px}.level-bars i:nth-child(3){height:12px}.level-bars i:nth-child(4){height:16px}.level-bars i.filled{background:#9dbfe5}.confidence-caption{display:flex;align-items:center;gap:12px;justify-content:space-between;margin-top:10px;font-size:12px;color:#bccfe6;min-height:32px}.confidence-caption button{padding:4px 8px;font-size:11px}.confidence-caption button[hidden]{display:none}.confidence-distribution{height:10px;display:flex;gap:3px;border-radius:4px;overflow:hidden}.confidence-level-0{background:#343a40}.confidence-level-1{background:#637185}.confidence-level-2{background:#718fae}.confidence-level-3{background:#97bce1}.confidence-level-4{background:#c3ddf5}.confidence-legend{display:flex;gap:10px 18px;flex-wrap:wrap;list-style:none;padding:0;font-size:11px;line-height:1.5}.confidence-swatch{display:inline-block;width:9px;height:9px;margin-right:5px}.confidence-breakdown{margin:18px 0 25px}.confidence-breakdown p{margin:8px 0}.confidence-caption span{white-space:normal}@media(max-width:420px){.confidence-choices{grid-template-columns:repeat(2,minmax(0,1fr))}.confidence-choice{min-height:64px}}
.scale-endpoints{display:flex;justify-content:space-between;gap:10px;font-size:11px;color:#a6b6ca;margin-top:8px}.scale-endpoints span:last-child{text-align:right}@media(max-width:420px){.confidence-choices{grid-template-columns:repeat(4,minmax(0,1fr))}}

.read-panel{margin:38px 0 20px;padding:22px;border:1px solid #39516b;border-radius:9px}.read-panel h2{margin:0;font-size:21px}.read-panel p{font-size:15px}.group-progress{display:block;margin-top:7px;font-size:10px;line-height:1.6;color:#8da4bf}.group-progress>span{display:block}.group-progress.group-complete,.page-state{color:#b4d6bb}.page-state{display:block;font-size:10px;margin-top:3px}#course-nav .all-problems-nav{margin:14px 0;border:1px solid #343a40;border-radius:6px;background:#17191c}#course-nav .all-problems-nav small{display:block;font-size:10px;color:#9badc4}.tracker-module>h2{border-top:1px solid var(--line);padding-top:28px}.tracker-module .confidence-legend{margin-bottom:28px}

/* Independent module sections keep the full problem bank easy to scan. */
.tracker-module{border:1px solid #343a40;border-radius:10px;margin:16px 0;background:#111315;overflow:hidden}
.tracker-module>summary{display:grid;grid-template-columns:12px minmax(0,1fr);column-gap:16px;padding:20px 22px;cursor:pointer;color:#c2d9f4;list-style:none;margin:0}
.tracker-module>summary::-webkit-details-marker{display:none}
.tracker-module>summary::before{content:'';grid-column:1;grid-row:1;width:0;height:0;margin-top:7px;border-top:5px solid transparent;border-bottom:5px solid transparent;border-left:7px solid #9dbfe5;transform-origin:3px 5px}
.tracker-module[open]>summary::before{transform:rotate(90deg)}
.tracker-module-heading{display:flex;grid-column:2;min-width:0;flex-direction:column;gap:5px;font-size:16px;line-height:1.5}
.tracker-module-heading strong{font-size:19px;color:#e5eefb}
.tracker-module-heading>span{color:#a8bad0}
.tracker-module-count{grid-column:2;display:flex;gap:8px 20px;flex-wrap:wrap;margin-top:12px;font-size:12px;color:#a2b5ce}
.tracker-module-body{border-top:1px solid var(--line);padding:0 22px 12px}
.tracker-module[open]>summary{background:#17191c}
.tracker-module-body .problem{background:#111315}
@media(max-width:760px){.tracker-module>summary{padding:16px 14px;column-gap:12px}.tracker-module-heading{font-size:14px}.tracker-module-heading strong{font-size:17px}.tracker-module-body{padding:0 10px 8px}.tracker-module-count{font-size:11px}}

/* Worked traces in the additional modules stay readable on narrow screens. */
.teaching-table{overflow-x:auto;max-width:100%;margin:1.5rem 0}
.teaching-table table{border-collapse:collapse;width:100%;min-width:360px}
.teaching-table th,.teaching-table td{padding:.8rem;text-align:left;border-bottom:1px solid var(--line,#343a40);vertical-align:top}
.teaching-table th{color:var(--text,#e0e8f4)}

/* Sidebar sections share the All problems card treatment. */
#course-nav{padding:2px 18px 20px}
#course-nav>details,#course-nav>.all-problems-nav{margin:0 0 10px;border:1px solid #343a40;border-radius:8px;background:#17191c}
#course-nav>details>summary{position:relative;list-style:none;padding:11px 30px 11px 13px;color:#c2d6ee;font-size:12px;line-height:1.65;border-radius:7px}
#course-nav>details>summary::-webkit-details-marker{display:none}
#course-nav>details>summary::after{content:'';position:absolute;right:14px;top:21px;width:6px;height:6px;border-right:1.5px solid #9dbfe5;border-bottom:1.5px solid #9dbfe5;transform:rotate(-45deg)}
#course-nav>details[open]>summary::after{transform:rotate(45deg)}
#course-nav>details>summary:hover,#course-nav>.all-problems-nav:hover{background:#17191c;color:#e0edff}
#course-nav>details[open]{background:#111315}
#course-nav>details[open]>summary{background:#17191c;border-bottom:1px solid #343a40;border-radius:7px 7px 0 0}
#course-nav>details:has(a[aria-current=page]){border-color:#6c91ba}
#course-nav>details>a{margin:0 8px 0 13px;padding:10px 11px;border-left:1px solid #343a40}
#course-nav>details>a:first-of-type{margin-top:8px}
#course-nav>details>a:last-child{margin-bottom:10px}
#course-nav>.all-problems-nav{padding:13px;color:#c2d6ee}
#course-nav>.all-problems-nav[aria-current=page]{border:1px solid #9dbfe5;background:#24282a}
#course-nav .group-progress{display:flex;flex-wrap:wrap;gap:0 8px;margin-top:6px;color:#a6b9d0}
#course-nav .group-progress>span+span::before{content:"·";margin-right:8px;color:#7088a5}
#course-nav .group-progress.group-complete{color:#b4d6bb}
#course-nav summary:focus-visible{outline-offset:-3px}

/* Shared charcoal surfaces. Blue identifies actions, focus and progress. */
input,textarea,select{color-scheme:dark}
input[type=radio],input[type=checkbox]{accent-color:var(--blue)}
input::placeholder,textarea::placeholder{color:#969ea9;opacity:1}
.google-button{background:var(--soft);color:var(--text);border-color:#515960}
.google-button:hover{background:#24282a;color:#fff}
.question{padding:24px;margin:30px 0;border:1px solid #343a40;border-radius:10px;background:var(--panel);scroll-margin-top:90px}
.question:target{border-color:var(--blue)}
.question h3{margin:12px 0 20px;font-size:21px}
.question-meta{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;color:var(--muted);font-size:12px;line-height:1.6}
.question fieldset{padding:0;margin:20px 0;border:0;min-width:0}
.question legend{font-size:17px;color:var(--text);margin-bottom:16px;line-height:1.7}
.question-choice{display:flex;gap:12px;align-items:flex-start;padding:12px 14px;border:1px solid #343a40;border-radius:7px;margin:9px 0;cursor:pointer;background:#17191c;line-height:1.6}
.question-choice:has(input:checked){border-color:var(--blue);background:#1c2229}
.question-choice:has(input:focus-visible){outline:2px solid var(--blue);outline-offset:3px}
.question-choice input{flex:none;width:18px;height:18px;margin:4px 0 0}
.question-choice input:disabled{opacity:1;cursor:default}
.question label:has(.short-answer),.question fieldset>label:not(.question-choice){display:block;margin-bottom:6px}
.short-answer{display:block;width:100%;max-width:520px;min-height:46px;padding:10px 12px;background:var(--bg);border:1px solid #515960;border-radius:6px;color:var(--text)}
.short-answer:disabled{opacity:1;color:#c3cbd5}
.question-feedback{font-size:14px;margin:18px 0;color:#c3cbd5}
.question[data-result=correct] [data-question-badge]{color:#b4d6bb}
.question[data-result=incorrect] [data-question-badge]{color:#edc396}
.question .reveal{margin:12px 0}
.question .reveal>div{padding:0 20px 18px;white-space:pre-line;font-size:15px}
.question pre{border:1px solid var(--line);border-radius:6px;margin:18px 0}
.question-row{padding:18px 0;border-bottom:1px solid var(--line)}
.question-row h3{font-size:17px;line-height:1.6;margin:8px 0}
.tracker-categories{display:flex;gap:8px;flex-wrap:wrap;margin:25px 0 18px}
.tracker-categories button[aria-pressed=true]{border-color:var(--blue);color:var(--blue);background:#1c2229}
[hidden]{display:none!important}
@media(max-width:760px){.question{padding:18px 14px}.question h3{font-size:19px}.question .button-row{align-items:stretch}.question .button-row button{min-height:44px}.question legend{font-size:16px}.question-choice{padding:12px 10px}.question pre{padding:16px}.question-row .question-meta{display:block}.question-row .question-meta span{display:block}}
/* Annotation styles load after this file; scope overrides to the page body. */
body .lesson-notes,body .highlight-note-card,body .highlight-selection-bar,body .highlight-live{background:var(--panel);border-color:#343a40}
body .lesson-notes-body{border-color:var(--line)}
body .highlight-note-quote,body .highlight-quote{background:var(--soft);border-left-color:var(--blue);color:var(--text)}
body .highlight-dialog textarea{background:var(--bg);border-color:#515960;color:var(--text)}
body .highlight-selection-bar{border-color:var(--blue)}
.side-caption span,.site-footer span{color:var(--muted)}
.short-answer{border-color:#68727d}

/* Anchor the mobile disclosure to the full header, not the narrow profile button. */
@media(max-width:760px){.topbar{position:relative;padding-inline:16px;gap:8px}.topbar .profile-menu{position:static}.topbar .profile-panel{left:16px;right:16px;width:auto;top:calc(100% + 8px)}}

/* Match the compact course header without shrinking its touch targets. */
.topbar{padding-block:8px;gap:12px}.profile-menu>summary{padding:6px 10px;min-height:44px}.topbar .profile-menu{margin-left:auto;flex-shrink:0}
@media(max-width:760px){.topbar{padding:8px 16px;gap:8px}.profile-menu>summary{padding:5px 9px}}
