:root{color-scheme:light;--bg:#f4f4f4;--surface:#fff;--ink:#101010;--muted:#555;--line:#b8b8b8;--soft:#f5f5f5;--gold:#f4d38a;--gold-hover:#efc766;--gold-border:#ac812f;--gold-ink:#281b09;font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-synthesis:none}
:root[data-theme=dark]{color-scheme:dark;--bg:#101112;--surface:#1b1d1f;--ink:#f3f3f3;--muted:#c4c4c4;--line:#777;--soft:#232528}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;color:var(--ink);background:var(--bg);font-size:16px;line-height:1.65;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}a,button{touch-action:manipulation}:focus-visible{outline:3px solid var(--ink);outline-offset:5px}.wrap{width:min(1120px,calc(100% - 64px));margin-inline:auto}.skip{position:fixed;top:10px;left:10px;background:var(--ink);color:var(--surface);padding:10px 16px;transform:translateY(-180%);z-index:20}.skip:focus{transform:none}
.site-header{border-bottom:3px double var(--ink);background:var(--surface)}.header-row{display:flex;align-items:center;gap:28px;min-height:88px}.brand{display:flex;align-items:center;gap:11px;min-width:0;font-size:25px;font-weight:850;line-height:1.15;letter-spacing:-.8px}.brand img{display:block;flex:none}.brand small{display:block;font-size:9px;letter-spacing:2px;margin-top:7px;color:var(--muted)}nav{margin-left:auto;display:flex;gap:25px;align-items:center;font-size:13px;font-weight:650}nav a{min-height:44px;display:inline-flex;align-items:center}nav a:hover,.back-link:hover,footer a:hover{text-decoration:underline;text-underline-offset:4px}.header-actions{display:flex;gap:9px;align-items:center;flex:none}.theme-toggle{width:44px;height:44px;display:grid;place-items:center;background:var(--surface);color:var(--ink);border:1px solid var(--line);border-radius:3px;font-size:23px;line-height:1}.theme-toggle:hover{background:var(--soft)}
.support-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;min-width:44px;padding:9px 14px;border:1px solid var(--gold-border);border-radius:3px;background:var(--gold);color:var(--gold-ink);font-size:13px;font-weight:800;white-space:nowrap}.support-button svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.support-button:hover,.payment-choice:hover{background:var(--gold-hover);border-color:var(--gold-ink)}
h1,h2,h3{font-family:Georgia,"Times New Roman",serif;line-height:1.13;letter-spacing:-.035em;margin:0;font-weight:700}h1{font-size:clamp(40px,5.2vw,64px)}h2{font-size:clamp(27px,3vw,36px)}h3{font-size:26px}.eyebrow{font-size:10px;line-height:1.5;letter-spacing:.13em;font-weight:800;color:var(--muted);margin:0 0 18px}.hero{display:grid;grid-template-columns:1.65fr 1fr;gap:64px;align-items:center;padding-block:62px 52px}.intro{font-size:17px;line-height:1.8;max-width:580px;color:var(--muted);margin:23px 0 25px}.hero-actions{display:flex;align-items:center;gap:24px;flex-wrap:wrap}.button{display:inline-flex;align-items:center;justify-content:center;gap:22px;min-height:46px;padding:11px 18px;color:var(--surface);background:var(--ink);border:1.5px solid var(--ink);border-radius:3px;font-size:13px;font-weight:750}.button:hover{background:var(--surface);color:var(--ink)}.text-button{border:0;background:transparent;padding:8px 0;min-height:44px;color:var(--ink);font-size:13px;text-decoration:underline;text-underline-offset:4px}.hero-note{font-size:11px;color:var(--muted);margin:22px 0 0}
.study-note{padding:27px 28px;border:1px solid var(--line);border-top:3px solid var(--ink);background:var(--surface);border-radius:3px}.study-note h2{font-size:28px}.study-note ol{padding:0;list-style:none;counter-reset:steps;margin:23px 0}.study-note li{counter-increment:steps;padding:9px 0;border-top:1px solid var(--line);font-size:14px;color:var(--muted)}.study-note li::before{content:"0" counter(steps);font-size:10px;font-weight:700;display:inline-block;width:29px;color:var(--ink)}.study-note li span{font-weight:750;color:var(--ink)}.study-note>p:last-child{font:italic 15px/1.5 Georgia,serif;color:var(--muted);margin:0}
.catalog{padding-block:30px 48px;border-top:4px double var(--ink)}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:24px;margin-bottom:27px}.section-heading .eyebrow{margin-bottom:10px}.section-heading>p{font-size:12px;color:var(--muted);margin:0}.course-list{border-top:1px solid var(--ink);background:var(--surface)}.study-path{display:grid;grid-template-columns:42px minmax(0,1fr) 144px;align-items:start;gap:20px;padding:25px 22px;border:1px solid var(--line);border-top:0;scroll-margin:20px}.study-path:hover{background:var(--soft)}.study-path:hover .path-action{text-decoration:underline;text-underline-offset:4px}.path-number{font:25px/1.2 Georgia,serif;color:var(--muted);padding-top:3px}.path-copy p{font-size:14px;color:var(--muted);line-height:1.7;margin:10px 0 12px;max-width:690px}.path-tags{display:block;color:var(--muted);font-size:9px;font-weight:650;line-height:1.6;letter-spacing:.045em}.path-action{display:flex;justify-content:space-between;align-items:center;gap:12px;align-self:center;font-size:12px;font-weight:750}.path-action>span{font-size:21px;font-weight:400}
.approach{border-top:4px double var(--ink);padding-block:36px 42px}.approach .eyebrow{margin-bottom:11px}.steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:36px;margin-top:29px}.steps article>span{display:block;font-size:9px;letter-spacing:.06em;font-weight:800;color:var(--muted);margin-bottom:13px}.steps h3{font-size:22px}.steps p{font-size:13px;line-height:1.8;color:var(--muted);margin:12px 0 0}.support-strip{display:flex;align-items:center;justify-content:space-between;gap:30px;padding:25px 28px;border:1px solid var(--line);border-radius:3px;background:var(--surface);margin-bottom:40px}.support-strip h2{font-size:25px}.support-strip p{font-size:13px;color:var(--muted);line-height:1.7;margin:8px 0 0;max-width:650px}.support-strip .support-button{flex:none}
footer{display:flex;align-items:center;gap:27px;border-top:3px double var(--ink);padding-block:24px;font-size:11px;color:var(--muted)}.footer-brand{font-size:19px;font-weight:850;letter-spacing:-.6px;color:var(--ink)}footer p{flex:1;font-size:10px;line-height:1.7;margin:0}footer>a:last-of-type{padding-block:10px;white-space:nowrap}.print-url,.print-home{display:none}
.support-page{padding-block:32px 55px}.back-link{display:inline-block;min-height:44px;font-size:12px;font-weight:650;margin-bottom:24px}.support-page>.intro{max-width:650px;margin-bottom:38px}.donation-section{border-block:4px double var(--ink);padding-block:29px 32px}.donation-section h2{font-size:28px}.donation-section>p{color:var(--muted);font-size:13px;margin:13px 0 22px}.donation-links{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:17px}.payment-choice{display:block;background:var(--gold);color:var(--gold-ink);border:1.5px solid var(--gold-border);border-radius:3px;padding:22px 23px;min-height:111px}.payment-name{display:flex;align-items:center;justify-content:space-between;gap:15px;font-size:21px;font-weight:800;line-height:1.3}.payment-name>span{font-size:23px;font-weight:400}.payment-detail{display:block;font-size:12px;line-height:1.6;margin-top:11px}.support-thanks{padding-top:33px}.support-thanks h2{font-size:25px;max-width:670px}.support-thanks p{color:var(--muted);font-size:14px;max-width:680px}.support-thanks .button{margin-top:10px}
@media(max-width:850px){.wrap{width:calc(100% - 44px)}.header-row{gap:20px}nav{gap:17px}.hero{gap:30px;grid-template-columns:1.4fr 1fr;padding-block:45px}.study-note{padding:22px}.study-note h2{font-size:25px}.study-path{grid-template-columns:32px minmax(0,1fr) 120px;gap:16px;padding:22px 18px}.steps{gap:24px}.payment-choice{padding:20px 17px}.payment-detail{font-size:11px}.support-strip{padding:23px}}
@media(max-width:680px){.wrap{width:calc(100% - 32px)}.header-row{flex-wrap:wrap;min-height:0;gap:0;padding-block:15px 0}.brand{font-size:23px}.brand img{width:36px;height:36px}.header-actions{margin-left:auto}nav{order:3;width:100%;justify-content:flex-start;gap:24px;margin-left:0;padding-top:9px;border-top:1px solid var(--line);margin-top:14px;font-size:12px}nav a{min-height:39px}.hero{grid-template-columns:1fr;padding-block:35px;gap:28px}h1{font-size:45px}.intro{font-size:16px;margin:19px 0 22px}.hero-actions{gap:19px}.hero-note{font-size:10px}.study-note{padding:20px 22px}.study-note ol{margin:18px 0}.study-note h2{font-size:26px}.study-note .eyebrow{margin-bottom:11px}.catalog{padding-block:26px 32px}.section-heading{gap:15px;align-items:start;flex-direction:column;margin-bottom:21px}.section-heading>p{font-size:12px}.section-heading>p br{display:none}.study-path{grid-template-columns:27px minmax(0,1fr);gap:12px;padding:21px 16px}.path-number{font-size:22px}.path-copy h3{font-size:25px}.path-copy p{font-size:14px;margin:9px 0 11px}.path-tags{font-size:8px}.path-action{grid-column:2;justify-content:flex-start;font-size:12px;gap:15px}.path-action>span{font-size:18px}.approach{padding-block:28px 32px}.steps{grid-template-columns:1fr;gap:20px;margin-top:24px}.steps article{border-top:1px solid var(--line);padding-top:18px}.steps article>span{margin-bottom:8px}.steps p{margin-top:9px}.support-strip{flex-direction:column;align-items:start;padding:22px;gap:18px;margin-bottom:30px}.support-strip h2{font-size:24px}footer{flex-wrap:wrap;gap:15px 20px;padding-block:22px}footer p{flex-basis:100%;order:3}footer>a:last-of-type{margin-left:auto;font-size:10px}.support-page{padding-block:22px 37px}.support-page>.intro{margin-bottom:28px}.support-page .back-link{margin-bottom:19px}.donation-links{grid-template-columns:1fr;gap:12px}.payment-choice{min-height:96px;padding:19px 21px}.payment-detail{font-size:12px}.donation-section{padding-block:25px}.donation-section h2{font-size:26px}}
@media(max-width:440px){.brand{font-size:22px;gap:9px}.brand small{font-size:8px;letter-spacing:1.7px}.support-label{display:none}.header-actions{gap:7px}.header-actions .support-button{padding:0;width:44px;height:44px}.theme-toggle{width:40px;height:44px}h1{font-size:40px}.hero-actions{gap:14px}.hero-actions .button{padding-inline:14px;font-size:12px}.text-button{font-size:12px}.hero-note{max-width:none;white-space:nowrap;line-height:1.8}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
@page{margin:14mm}
@media print{
:root,:root[data-theme=dark]{color-scheme:light;--bg:#fff;--surface:#fff;--ink:#000;--muted:#333;--line:#aaa;--soft:#fff;--gold:#fff;--gold-hover:#fff;--gold-border:#555;--gold-ink:#000}
html{scroll-behavior:auto}body{font-size:10pt;line-height:1.4;background:#fff}.wrap{width:100%;max-width:none}.skip,nav,.header-actions,.hero-actions,.study-note,.hero-note,.support-strip,.path-tags,.path-action,.back-link,.support-thanks .button,footer>a:last-of-type{display:none!important}
.site-header{border-bottom:3px double #000}.header-row{min-height:0;padding:0 0 10px;display:flex}.brand{font-size:20px;gap:9px}.brand img{width:30px;height:30px}.brand small{font-size:7px;margin-top:4px}
.hero{display:block;padding:18px 0 16px}.eyebrow{font-size:7pt;letter-spacing:.09em;margin-bottom:7px}h1{font-size:26pt;line-height:1.05}h2{font-size:18pt}.intro{font-size:10pt;line-height:1.5;max-width:100%;margin:10px 0 0}.catalog{padding:14px 0 17px;border-top:3px double #000}.section-heading{margin:0 0 11px;display:flex;flex-direction:row;align-items:end}.section-heading>p{font-size:8pt}.section-heading .eyebrow{margin-bottom:5px}.course-list{border-top:1px solid #000}.study-path{display:grid;grid-template-columns:26px minmax(0,1fr);gap:10px;padding:10px 9px;break-inside:avoid;background:#fff}.path-number{font-size:15pt;padding-top:0}.path-copy h3{font-size:14pt}.path-copy p{font-size:9pt;line-height:1.45;margin:5px 0 3px;max-width:none}.print-url{display:block;font-size:8pt;line-height:1.4;font-weight:600;color:#000;overflow-wrap:anywhere}
.approach{padding:15px 0 17px;border-top:3px double #000}.approach>.eyebrow{margin-bottom:6px}.approach h2{font-size:17pt}.steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-top:14px}.steps article{padding:0;border:0;break-inside:avoid}.steps article>span{font-size:6.5pt;margin-bottom:5px}.steps h3{font-size:12pt}.steps p{font-size:8pt;line-height:1.45;margin:6px 0 0}footer{padding:12px 0 0;gap:15px;flex-wrap:nowrap;break-inside:avoid}footer p{font-size:7pt;flex:1;order:0}.footer-brand{font-size:12pt}.print-home{display:block;font-size:8pt}
.support-page{padding:20px 0}.support-page>.intro{margin-bottom:22px}.donation-section{padding:18px 0}.donation-section h2{font-size:17pt}.donation-section>p{font-size:9pt;margin:9px 0 15px}.donation-links{display:grid;grid-template-columns:1fr;gap:10px}.payment-choice{background:#fff!important;color:#000!important;border:1px solid #555;min-height:0;padding:13px 15px;break-inside:avoid}.payment-name{font-size:15pt}.payment-detail{font-size:9pt;margin-top:5px}.payment-choice .print-url{margin-top:5px;font-weight:400}.support-thanks{padding-top:23px}.support-thanks h2{font-size:17pt}.support-thanks p{font-size:10pt}
}

/* QuickPrints shared colors and economical print layout. */
html.qp-palette {
  color-scheme:light;
  --qp-bg:#f4f4f4;--qp-surface:#fff;--qp-card:#fff;--qp-raised:#f0f0f0;
  --qp-ink:#101010;--qp-muted:#555;--qp-line:#b8b8b8;
  --qp-accent:#101010;--qp-button:#101010;--qp-button-ink:#fff;--qp-tint:#efefef;
  --qp-good:#24633c;--qp-good-bg:#e5eee7;--qp-bad:#a12e36;--qp-bad-bg:#fbecee;
  --qp-warn:#805b13;--qp-warn-bg:#fff6df;--qp-gold:#f4d38a;--qp-gold-ink:#281b09;
  --bg:var(--qp-bg);--paper:var(--qp-card);--surface:var(--qp-surface);--surface2:var(--qp-raised);--card:var(--qp-card);--raised:var(--qp-raised);--soft:var(--qp-raised);
  --ink:var(--qp-ink);--muted:var(--qp-muted);--line:var(--qp-line);--border:var(--qp-line);
  --accent:var(--qp-accent);--button:var(--qp-button);--focus:var(--qp-accent);--blue:var(--qp-accent);--violet:var(--qp-accent);--green:var(--qp-accent);--green-soft:var(--qp-tint);--tint:var(--qp-tint);
  --good:var(--qp-good);--goodbg:var(--qp-good-bg);--good-bg:var(--qp-good-bg);--live:var(--qp-good);--live-bg:var(--qp-good-bg);
  --bad:var(--qp-bad);--wrong:var(--qp-bad);--badbg:var(--qp-bad-bg);--bad-bg:var(--qp-bad-bg);--wrong-soft:var(--qp-bad-bg);
  --warn:var(--qp-warn);--amber:var(--qp-warn);--warnbg:var(--qp-warn-bg);--amber-bg:var(--qp-warn-bg);
  --gold:var(--qp-gold);--goldbg:var(--qp-warn-bg);--gold-ink:var(--qp-gold-ink);--shadow:0 6px 22px #24252b08;
}
html.qp-palette[data-theme=dark] {
  color-scheme:dark;
  --qp-bg:#101112;--qp-surface:#1b1d1f;--qp-card:#1b1d1f;--qp-raised:#292b2d;
  --qp-ink:#f3f3f3;--qp-muted:#c4c4c4;--qp-line:#777;
  --qp-accent:#f3f3f3;--qp-button:#f3f3f3;--qp-button-ink:#101112;--qp-tint:#2c2e30;
  --qp-good:#a3d9b3;--qp-good-bg:#203228;--qp-bad:#ffb3bb;--qp-bad-bg:#3c242c;
  --qp-warn:#e8cb8a;--qp-warn-bg:#372d1e;--qp-gold:#f4d38a;--qp-gold-ink:#281b09;
  --shadow:none;
}
html.qp-palette body{color:var(--ink);background:var(--bg);background-image:none}
html.qp-palette .mast,html.qp-palette .site-header{background:var(--bg);color:var(--ink);border-bottom:3px double var(--ink);box-shadow:none;backdrop-filter:none}
html.qp-palette .brand,html.qp-palette .mast .brand,html.qp-palette .mast a.brand{color:var(--ink)}
html.qp-palette .brand small,html.qp-palette .mast .brand small{color:var(--muted)}
html.qp-palette :is(h1,h2,h3,h4,.big,.question,.qtext){color:var(--ink)}
html.qp-palette :is(.eyebrow,.kicker,.topic-number,.hero h1 em,.study-hero h1 em){color:var(--accent)}
html.qp-palette :is(.gradient,.big.gradient){background:none!important;color:var(--accent)!important;-webkit-text-fill-color:var(--accent)!important}
html.qp-palette :is(.panel,.panel.slim,.card,.card-course,.topiccard,.topic-card,.section-card,.lesson-block,.stat-card,.progress-card,.quiz-card,.quiz-panel,.review,.review-answer,.review-item,.flashcard,.flashtile,.course,.guide-topic,.topic,.lesson,.test-accordion,.test-accordion-more){background:var(--paper);color:var(--ink);border-color:var(--line);box-shadow:var(--shadow)}
html.qp-palette :is(.hero,.overview-intro,.sectionhead,.section-heading,.metric,.overview-stats,.overview-stat,.rule-strip,.rule-strip>div){border-color:var(--line)}
html.qp-palette :is(.hero p,.panel p,.card-course p,.topiccard p,.topic-card p,.card p,.course p,.overview-intro p,.accordion-content p,.guide-body p,.lesson li,.notice,.small,.muted,.site-disclaimer,.review p,.flashtile small){color:var(--muted)}
html.qp-palette :is(.metric b,.metric strong,.overview-stat b,.flashtile b){color:var(--ink)}
html.qp-palette :is(.accordion-content,.lesson .body,.lesson summary,.planrow,.overview-stats,.study-diagram,.study-diagram>div){background:var(--surface);color:var(--ink);border-color:var(--line)}
html.qp-palette :is(.lesson summary:hover,.test-accordion summary:hover,.test-accordion[open] summary){background:var(--tint);color:var(--ink);border-color:var(--line)}
html.qp-palette .lesson[open] summary{background:var(--tint);color:var(--ink);border-left-color:var(--accent)}
html.qp-palette .lesson[open] summary .pill{background:var(--paper);color:var(--accent);border-color:var(--line)}
html.qp-palette :is(.accordion-index,.accordion-stats span,.pill,.tag,.number-grid button,.q-jump,.qjump){background:var(--surface);color:var(--ink);border-color:var(--line)}
html.qp-palette :is(.btn,.btn.secondary,.btn.small,.btn.tiny,.btn.quiet,.btn.subtle,.icon-button,.menu-button,.icon-btn,.compact,.theme-toggle){background:var(--surface);color:var(--ink);border-color:var(--line);box-shadow:none}
html.qp-palette #navToggle{background:var(--surface);color:var(--ink);border-color:var(--line)}
html.qp-palette :is(.button,.button.accent,.btn.primary,.btn.green){background:var(--button);color:var(--qp-button-ink);border-color:var(--button);box-shadow:none}
html.qp-palette :is(.button.secondary,.button.link,.btn.secondary,.btn.quiet,.btn.subtle){background:var(--surface);color:var(--ink);border-color:var(--line)}
html.qp-palette :is(.button:hover,.btn.primary:hover,.btn.green:hover):not(:disabled){background:var(--button);color:var(--qp-button-ink);border-color:var(--button)}
html.qp-palette :is(.button.secondary:hover,.btn.secondary:hover,.btn.quiet:hover,.btn.subtle:hover):not(:disabled){background:var(--tint);color:var(--ink);border-color:var(--accent)}
html.qp-palette :is(.button.link,.link-button,.text-button){color:var(--accent);background:none}
html.qp-palette .btn.danger{color:var(--bad);border-color:var(--bad)}
html.qp-palette :is(.tabs button[aria-pressed=true],.q-jump.current,.number-grid button.current){color:#fff;background:var(--button);border-color:var(--button)}
html.qp-palette :is(.progress,.track){background:var(--raised);border-color:var(--line)}
html.qp-palette :is(.progress>div,.progress .fill,.fill,.track span){background:var(--accent)}
html.qp-palette :is(.number-grid button.answered,.qjump.answered,.q-jump.answered){color:var(--accent);background:var(--tint);border-color:var(--accent)}
html.qp-palette :is(.number-grid button.flagged,.qjump.flagged,.q-jump.flagged){border-color:var(--gold)}
html.qp-palette :is(.resume-banner,.resume,.note,.note.warn,.study-callout,.formula,.formula-box,.answer-feedback){background:var(--tint);color:var(--ink);border-color:var(--line);border-left-color:var(--accent)}
html.qp-palette :is(.resume-banner p,.note p,.answer-feedback p,.feedback p){color:inherit}
html.qp-palette :is(.sources a,.source-group){background:var(--paper);color:var(--ink);border-color:var(--line)}
html.qp-palette :is(select,input,.formitem select,.formitem label,option){color:var(--ink);background:var(--paper);border-color:var(--line)}
html.qp-palette input{accent-color:var(--accent)}
html.qp-palette :is(.answer,.answer:disabled,.choice,.option){color:var(--ink);background:var(--paper);border-color:var(--line)}
html.qp-palette :is(.answer .letter,.choice .letter,.option .letter){color:var(--ink);background:var(--surface);border-color:var(--line)}
html.qp-palette :is(.answer.selected,.choice[aria-pressed=true],.option.selected){color:var(--ink);background:var(--tint);border-color:var(--accent);outline-color:var(--accent)}
html.qp-palette .option:has(input:checked){border-color:var(--accent);outline-color:var(--accent)}
html.qp-palette :is(.answer.correct,.answer.selected.correct,.choice.correct,.choice.correct[aria-pressed=true],.option.correct,.option.right){background:var(--good-bg);color:var(--good);border-color:var(--good);outline:none}
html.qp-palette :is(.answer.correct .letter,.answer.selected.correct .letter,.choice.correct .letter){background:var(--good-bg);color:var(--good);border-color:var(--good)}
html.qp-palette :is(.answer.wrong,.answer.wrong:disabled,.answer.selected.wrong,.answer.selected.wrong:disabled,.choice.incorrect,.choice.incorrect[aria-pressed=true],.option.wrong){color:var(--bad);background:var(--bad-bg);border-color:var(--bad);outline:none}
html.qp-palette :is(.answer.wrong .letter,.answer.selected.wrong .letter,.choice.incorrect .letter){color:var(--bad);background:var(--bad-bg);border-color:var(--bad)}
html.qp-palette .feedback{background:var(--good-bg);color:var(--good);border-color:var(--good);border-left-color:var(--good)}
html.qp-palette :is(.feedback.bad,.feedback.incorrect){background:var(--bad-bg);color:var(--bad);border-color:var(--bad);border-left-color:var(--bad)}
html.qp-palette :is(.review .right,.review .answer-right,.review-answer .correct-line,.review-item .answer,.answer .answer-mark,.score.good){color:var(--good)}
html.qp-palette :is(.review .wrong,.review .answer-wrong,.review-answer .chosen,.review-item .wrong,.answer.wrong .answer-mark,.score.bad){color:var(--bad)}
html.qp-palette :is(.status.good,.pill.good,.tag.good){color:var(--good);background:var(--good-bg);border-color:var(--good)}
html.qp-palette :is(.status.bad,.pill.red,.tag.red){color:var(--bad);background:var(--bad-bg);border-color:var(--bad)}
html.qp-palette :is(.status.amber,.pill.warn,.tag.warn,.score.mid){color:var(--warn);background:var(--warnbg);border-color:var(--warn)}
html.qp-palette :is(.status-passed){color:var(--good)!important;background:var(--good-bg)!important;border-color:var(--good)!important}
html.qp-palette :is(.status-review){color:var(--bad)!important;background:var(--bad-bg)!important;border-color:var(--bad)!important}
html.qp-palette :is(.status-nearly){color:var(--warn)!important;background:var(--warnbg)!important;border-color:var(--warn)!important}
html.qp-palette :is(.category-passed,.lesson-passed){border-left-color:var(--good)!important}
html.qp-palette :is(.category-review,.lesson-review){border-left-color:var(--bad)!important}
html.qp-palette :is(.category-nearly,.lesson-nearly){border-left-color:var(--warn)!important}
html.qp-palette :is(.donate-banner,.donation-outro,.donation-end, .support){background:var(--warnbg);color:var(--ink);border-color:var(--gold);box-shadow:none;background-image:none}
html.qp-palette :is(.donate-banner strong,.donate-banner-copy strong,.donation-outro h2){color:var(--ink)}
html.qp-palette :is(.donate-banner span,.donate-banner-copy span,.donation-outro p,.donate-merchant,.donate-reassure){color:var(--muted)!important}
html.qp-palette :is(.payment-choice,.donation-outro a.payment-choice,.paylinks a,.payments a,.btn.gold,.donate-nav, .donate-header-link,.support-button){color:var(--gold-ink);background:var(--gold);border-color:var(--gold);box-shadow:none}
html.qp-palette .payment-choice span{color:var(--gold-ink)!important}
html.qp-palette :is(footer,footer .wrap){color:var(--muted);background:var(--bg);border-color:var(--line)}
html.qp-palette footer a{color:var(--ink)}
html.qp-palette .mast nav a{color:var(--ink);background:transparent}
html.qp-palette .mast nav a.active{color:var(--accent);background:var(--tint)}
html.qp-palette .mast nav a:hover{color:var(--ink);background:var(--tint)}
html.qp-palette .study-diagram svg{filter:none}
html.qp-palette[data-theme=dark] .study-diagram svg{filter:invert(.92) hue-rotate(180deg)}
html.qp-palette :focus-visible{outline-color:var(--accent)}
.qp-print-tools{max-width:1180px;margin:10px auto 0;padding:0 24px;display:flex;justify-content:flex-end}
.qp-print-trigger{display:inline-flex;align-items:center;gap:7px;border:1px solid var(--line);border-radius:6px;padding:7px 11px;min-height:34px;background:var(--surface);color:var(--muted);font:500 12px/1.3 system-ui,sans-serif;cursor:pointer}
.qp-print-trigger:hover{color:var(--accent);border-color:var(--accent)}
.qp-print-trigger svg{width:15px;height:15px;flex:none}
.qp-print-heading{display:none}
html.qp-palette .brand img{display:block;width:38px;height:38px;flex:none;object-fit:contain}
@media(max-width:650px){html.qp-palette .brand img{width:30px;height:30px}}
@media(max-width:650px){.qp-print-tools{padding:0 14px;margin-top:8px}.qp-print-trigger{font-size:11px;min-height:32px}}
@media(max-width:1160px){html.qp-palette .mast nav,html.qp-palette .mast nav.open{background:var(--surface);border-color:var(--line);box-shadow:none}}
@media print {
  @page{size:auto;margin:15mm 12mm}
  html.qp-palette,html.qp-palette[data-theme=dark]{color-scheme:light;--qp-bg:#fff;--qp-surface:#fff;--qp-card:#fff;--qp-raised:#fff;--qp-ink:#000;--qp-muted:#333;--qp-line:#aaa;--qp-accent:#000;--qp-button:#fff;--qp-button-ink:#000;--qp-tint:#fff;--qp-good:#000;--qp-good-bg:#fff;--qp-bad:#000;--qp-bad-bg:#fff;--qp-warn:#000;--qp-warn-bg:#fff;--qp-gold:#fff;--qp-gold-ink:#000;--shadow:none}
  html.qp-palette,html.qp-palette body,html.qp-palette[data-theme=dark],html.qp-palette[data-theme=dark] body{background:#fff!important;color:#000!important;background-image:none!important;font-size:11pt;line-height:1.45}
  html.qp-palette *,html.qp-palette[data-theme=dark] *{box-shadow:none!important;text-shadow:none!important;background-image:none!important;filter:none!important;-webkit-print-color-adjust:economy;print-color-adjust:economy;animation:none!important;transition:none!important}
  html.qp-palette :is(.mast,.site-header,nav,footer,.skip,.qp-print-tools,.support,.donate-banner,.donation-outro,.donation-end,.hero-actions,.card-actions,.quiz-actions,.quiz-controls,.questionnav,.question-tools,.button-row,.toolbar,.tools,.actions,.top-actions,.back,.quiz-extras,.quiz-side,.side-card,.navigator,.resume,.resume-banner,.storage-warning,.storage-notice,.flash-controls,.flash-toolbar,.practice-actions,.lesson-actions,.question-grid,.number-grid,.quiz-hint,.test-footer,.hero-notes,.hero-visual,.blueprint,.study-note,.support-strip,.support-thanks,.live-pill,.hero-kicker,dialog,#toast),
  html.qp-palette button:not(.choice):not(.answer):not(.option),html.qp-palette a:is(.button,.btn,.text-button,.link-button){display:none!important}
  html.qp-palette .qp-print-heading{display:block!important;color:#000!important;border-bottom:1px solid #000;margin:0 0 18pt;padding:0 0 10pt;font:700 11pt/1.5 system-ui,sans-serif}
  html.qp-palette .qp-print-heading span{display:block;font-size:9pt;font-weight:400;color:#333!important}
  html.qp-palette :is(main,.wrap,.page,.container,.lesson,.quiz,.guide,.notes){width:100%!important;max-width:none!important;margin-left:0!important;margin-right:0!important;padding-left:0!important;padding-right:0!important;overflow:visible!important}
  html.qp-palette main{padding-top:0!important}
  html.qp-palette :is(.hero,.study-hero,.page-intro,.page-head,.practice-section,.topic-section,.catalog,.approach,.study-about){padding-top:12pt!important;padding-bottom:12pt!important;margin-top:0!important}
  html.qp-palette :is(.hero,.study-hero,.quiz-layout,.notes,.lesson-grid,.info-grid,.guide-list,.steps,.steps-grid){display:block!important}
  html.qp-palette :is(.cards,.course-grid,.section-grid){display:grid!important;grid-template-columns:1fr 1fr!important;gap:10pt!important}
  html.qp-palette :is(h1,h2,h3,h4,.big,.question,.qtext,.question-title,.gradient,.big.gradient){color:#000!important;-webkit-text-fill-color:#000!important;background:none!important;letter-spacing:normal!important;break-after:avoid}
  html.qp-palette h1{font-size:25pt!important;line-height:1.15!important;margin:0 0 12pt!important}
  html.qp-palette h2{font-size:17pt!important;margin:12pt 0 8pt!important}
  html.qp-palette h3{font-size:13pt!important;margin:10pt 0 6pt!important}
  html.qp-palette :is(p,li,small,.eyebrow,.small,.muted,.notice,.intro,.stat-row span){color:#222!important;orphans:3;widows:3}
  html.qp-palette :is(.panel,.card,.topic-card,.section-card,.course,.topiccard,.card-course,.stat-card,.progress-card,.quiz-card,.lesson-block,.review,.review-answer,.review-item,.guide-topic,.topic,.lesson,.note,.note.warn,.formula,.formula-box,.flashcard,.flashtile,.overview-stats,.overview-stat,.accordion-content,.planrow,.study-callout){background:#fff!important;color:#000!important;border-color:#aaa!important;box-shadow:none!important;min-height:0!important;transform:none!important}
  html.qp-palette :is(.panel,.card,.topic-card,.section-card,.course,.topiccard,.card-course,.stat-card,.review-answer,.review-item){padding:10pt!important;break-inside:avoid}
  html.qp-palette :is(.quiz-card,.quiz-panel,.guide-topic,.lesson,.lesson-block,.topic,.notes details){break-inside:auto!important;overflow:visible!important}
  html.qp-palette :is(.guide-body,.lesson-content,.accordion-content,.lesson .body,.notes details>div){display:block!important;background:#fff!important;color:#000!important;padding:8pt 0!important}
  html.qp-palette details::details-content{content-visibility:visible!important;display:block!important}
  html.qp-palette details>:not(summary){display:block!important}
  html.qp-palette summary{color:#000!important;background:#fff!important;cursor:default!important;padding:8pt 0!important;break-after:avoid}
  html.qp-palette summary:after{content:none!important}
  html.qp-palette :is(.choice,.answer,.answer:disabled,.option,.answer.selected,.answer.correct,.answer.selected.correct,.answer.wrong,.answer.wrong:disabled,.answer.selected.wrong,.answer.selected.wrong:disabled,.choice[aria-pressed=true],.choice.correct,.choice.incorrect,.choice.correct[aria-pressed=true],.choice.incorrect[aria-pressed=true],.option.correct,.option.right,.option.wrong,.option.selected){display:flex!important;width:100%!important;color:#000!important;background:#fff!important;border:1px solid #aaa!important;outline:none!important;box-shadow:none!important;padding:8pt!important;break-inside:avoid}
  html.qp-palette :is(.answer.correct,.choice.correct,.option.correct,.option.right){border:2px solid #000!important}
  html.qp-palette :is(.answer.wrong,.choice.incorrect,.option.wrong){border:2px dashed #000!important}
  html.qp-palette :is(.answer .letter,.answer.correct .letter,.answer.selected.correct .letter,.answer.wrong .letter,.answer.selected.wrong .letter,.choice .letter,.choice.correct .letter,.choice.incorrect .letter,.option .letter){color:#000!important;background:#fff!important;border-color:#aaa!important}
  html.qp-palette :is(.feedback,.feedback.bad,.feedback.incorrect,.answer-feedback){background:#fff!important;color:#000!important;border:1px solid #555!important;border-left:3px solid #000!important;padding:10pt!important;break-inside:avoid}
  html.qp-palette :is(.review .right,.review .wrong,.review .answer-right,.review .answer-wrong,.review-answer .correct-line,.review-answer .chosen,.review-item .answer,.review-item .wrong,.answer .answer-mark,.answer.wrong .answer-mark,.feedback p){color:#000!important;background:transparent!important}
  html.qp-palette :is(.status-passed,.status-review,.status-nearly,.status.good,.status.bad,.status.amber,.pill,.pill.good,.pill.red,.pill.warn,.tag,.tag.good,.tag.red,.tag.warn){background:#fff!important;color:#000!important;border:1px solid #555!important}
  html.qp-palette :is(.status-passed,.pill.good,.status.good){border-style:solid!important}
  html.qp-palette :is(.status-review,.pill.red,.status.bad){border-style:dashed!important}
  html.qp-palette :is(.category-passed,.lesson-passed,.category-nearly,.lesson-nearly,.category-review,.lesson-review){border-left-color:#000!important}
  html.qp-palette :is(.study-diagram,.study-diagram>div,.formula,.formula-box,.calc-grid input){background:#fff!important;color:#000!important;border-color:#888!important}
  html.qp-palette .study-diagram svg{filter:none!important;max-width:100%!important}
  html.qp-palette :is(a,a:visited,em,strong,.eyebrow,.score,.score.good,.score.bad,.score.mid,.calc-result){color:#000!important}
  html.qp-palette a{overflow-wrap:anywhere;text-decoration:underline}
  html.qp-palette .print-url{display:block!important;color:#000!important;font-size:9pt!important}
  html.qp-palette .table-wrap{overflow:visible!important}
  html.qp-palette table{width:100%!important;font-size:9pt!important}
  html.qp-palette thead{display:table-header-group}
  html.qp-palette tr{break-inside:avoid}
  html.qp-palette [hidden]{display:none!important}
}

/* One introduction above the directory; study guidance lives below it. */
.hero.hero--intro{grid-template-columns:minmax(0,1fr)}
.hero--intro .intro{max-width:780px}
.study-encouragement{margin:28px 0 0;color:var(--muted);font:italic 20px/1.5 Georgia,"Times New Roman",serif}
@media(max-width:680px){.study-encouragement{font-size:18px;margin-top:24px}}
/* Study directory: the title toggles details; the separate link opens the course. */
.study-path-disclosure{border:1px solid var(--line);border-top:0;background:var(--surface);scroll-margin:20px}
.study-path-disclosure>summary{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:82px;padding:22px;cursor:pointer;list-style:none;touch-action:manipulation}
.study-path-disclosure>summary::-webkit-details-marker{display:none}
.study-path-disclosure>summary::marker{content:""}
.study-path-disclosure>summary:hover{background:var(--soft)}
.study-path-disclosure>summary:focus-visible{outline:3px solid var(--ink);outline-offset:-4px}
.study-path-disclosure>summary h3{font-size:clamp(22px,2.5vw,28px);line-height:1.2;overflow-wrap:anywhere}
.path-toggle{display:grid;place-items:center;flex:0 0 32px;width:32px;height:32px;border:1px solid var(--line);border-radius:3px;color:var(--ink);font:400 24px/1 system-ui,sans-serif}
.path-toggle::before{content:"+"}
.study-path-disclosure[open] .path-toggle::before{content:"−"}
.study-path-disclosure[open]>summary{border-bottom:1px solid var(--line)}
.path-details{padding:20px 22px 24px;display:flex;align-items:center;justify-content:space-between;gap:30px}
.path-details .path-copy{min-width:0}
.path-details .path-copy p{margin:0 0 12px;max-width:700px}
.path-start.button{flex:none;gap:24px;min-height:50px;padding:12px 20px;font-size:15px;font-weight:800;border-width:2px}
.path-start>span{font-size:22px;line-height:1}
@media(max-width:680px){
  .study-path-disclosure>summary{min-height:74px;padding:19px 16px;gap:14px}
  .study-path-disclosure>summary h3{font-size:23px}
  .path-details{display:block;padding:18px 16px 21px}
  .path-details .path-tags{font-size:9px}
  .path-start.button{display:flex;width:100%;justify-content:space-between;margin-top:20px;padding:12px 17px;font-size:15px}
}
@media print{
  .study-path-disclosure{break-inside:avoid;background:#fff;border-color:#aaa}
  .study-path-disclosure>summary{min-height:0;padding:8pt 0}
  .study-path-disclosure>summary h3{margin:0!important}
  .path-toggle{display:none!important}
  .path-details{display:block;padding:6pt 0 10pt}
}

/* CDL palette bridge: override higher-specificity legacy dark-theme aliases. */
html.qp-palette,html.qp-palette[data-theme=light],html.qp-palette[data-theme=dark]{
  --bg:var(--qp-bg);--paper:var(--qp-card);--surface:var(--qp-surface);--surface2:var(--qp-raised);--card:var(--qp-card);--raised:var(--qp-raised);--soft:var(--qp-raised);
  --ink:var(--qp-ink);--muted:var(--qp-muted);--line:var(--qp-line);--border:var(--qp-line);
  --accent:var(--qp-accent);--button:var(--qp-button);--focus:var(--qp-accent);--blue:var(--qp-accent);--violet:var(--qp-accent);--green:var(--qp-accent);--green-soft:var(--qp-tint);--tint:var(--qp-tint);
  --good:var(--qp-good);--goodbg:var(--qp-good-bg);--good-bg:var(--qp-good-bg);--live:var(--qp-good);--live-bg:var(--qp-good-bg);
  --bad:var(--qp-bad);--wrong:var(--qp-bad);--badbg:var(--qp-bad-bg);--bad-bg:var(--qp-bad-bg);--wrong-soft:var(--qp-bad-bg);
  --warn:var(--qp-warn);--amber:var(--qp-warn);--warnbg:var(--qp-warn-bg);--amber-bg:var(--qp-warn-bg);
  --gold:var(--qp-gold);--goldbg:var(--qp-warn-bg);--gold-ink:var(--qp-gold-ink);
}
