:root{--bg:#f3f3f1;--paper:#fff;--ink:#171919;--muted:#595e60;--line:#d3d7d6;--soft:#f2f4f3;--good:#12693c;--goodbg:#e9f5ec;--warn:#875400;--warnbg:#fff5de;--bad:#a52121;--badbg:#fff0ef;--gold:#d4a943;--goldbg:#fff7df;--focus:#3156b7;--serif:Georgia,'Times New Roman',serif;--sans:system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;color-scheme:light}
:root[data-theme=dark]{--bg:#101213;--paper:#191c1e;--ink:#f1f2ee;--muted:#b3babd;--line:#454a4d;--soft:#23282a;--good:#91dfa9;--goodbg:#193326;--warn:#f2cf85;--warnbg:#372c17;--bad:#ffaaa5;--badbg:#3a2223;--gold:#e6bd60;--goldbg:#312a1c;--focus:#98b4ff;color-scheme:dark}
*{box-sizing:border-box}[hidden]{display:none!important}html{scroll-behavior:smooth;scroll-padding-top:95px}body{margin:0;color:var(--ink);background:var(--bg);font:17px/1.65 var(--serif);background-image:repeating-linear-gradient(0deg,transparent,transparent 43px,rgba(100,100,100,.02) 44px)}a{color:inherit;text-underline-offset:3px}button,input,select{font:inherit}button{cursor:pointer}button:disabled{cursor:default;opacity:.5}button,a,input,select{touch-action:manipulation}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid var(--focus);outline-offset:3px}button{color:inherit}h1,h2,h3,h4,p{margin:0 0 12px}h1{font-size:clamp(33px,5vw,52px);line-height:1.12;letter-spacing:-1.3px;max-width:750px}h2{font-size:28px;line-height:1.25}h3{font-size:21px;line-height:1.35}small,.small{font-size:13px}strong{font-weight:700}.muted{color:var(--muted)}#app:focus{outline:none}.wrap{max-width:1136px;margin:auto;padding:28px 24px}.mast{position:sticky;top:0;z-index:20;background:var(--paper);border-bottom:2px solid var(--ink);font-family:var(--sans)}.mastinner{max-width:1440px;margin:auto;padding:13px 22px;display:flex;align-items:center;gap:16px}.brand{display:flex;align-items:center;gap:10px;text-decoration:none;font-size:17px;font-weight:800;line-height:1.2;flex-shrink:0}.logo{border:2px solid var(--ink);font-size:18px;letter-spacing:-1px;width:40px;height:40px;display:grid;place-items:center}.brand small{display:block;font-size:8px;letter-spacing:1px;line-height:1.6;margin-top:4px}.mast nav{display:flex;align-items:center;justify-content:center;gap:4px;flex:1;min-width:0}.mast nav a{font-size:12px;font-weight:650;padding:9px 8px;text-decoration:none;white-space:nowrap}.mast nav a:hover,.mast nav a[aria-current=page]{background:var(--soft);text-decoration:underline}.compact{background:var(--paper);border:1px solid var(--line);padding:8px 10px;font:600 12px var(--sans);min-height:38px;white-space:nowrap}.donate-nav{font:700 12px var(--sans);color:var(--ink);background:var(--goldbg);border:1px solid var(--gold);padding:8px 10px;text-decoration:none;white-space:nowrap}.nav-toggle{display:none}.skip{position:fixed;top:-100px;left:12px;background:var(--paper);padding:12px;z-index:50}.skip:focus{top:8px}.donate-banner{background:var(--goldbg);border-bottom:1px solid var(--gold);font-family:var(--sans);scroll-margin-top:95px}.donate-inner{max-width:1136px;margin:auto;padding:13px 24px;display:flex;align-items:center;justify-content:space-between;gap:20px}.donate-inner strong{font-size:14px;display:block}.donate-inner span{display:block;color:var(--muted);font-size:11px;line-height:1.55}.payments{display:flex;gap:7px;flex-wrap:wrap}.payments a{padding:7px 12px;border:1px solid var(--gold);background:var(--paper);font-size:12px;font-weight:750;text-decoration:none;white-space:nowrap}.eyebrow,.label{font:750 11px/1.5 var(--sans);text-transform:uppercase;letter-spacing:1.4px;color:var(--muted)}.eyebrow{margin-bottom:12px}.hero{padding:30px 0 24px;border-bottom:2px solid var(--ink);display:grid;grid-template-columns:1fr 235px;gap:30px}.hero p{color:var(--muted);max-width:720px;margin:18px 0 0;font-size:18px}.stats{display:grid;grid-template-columns:1fr 1fr;align-content:center;gap:16px}.stat{border-top:2px solid var(--ink);padding-top:8px;font-family:var(--sans)}.stat b{display:block;font-size:29px;line-height:1.2}.stat span{font-size:10px;text-transform:uppercase;letter-spacing:.8px;color:var(--muted)}.actions{display:flex;align-items:center;gap:9px;flex-wrap:wrap}.btn{font:650 13px/1.4 var(--sans);border:1px solid var(--ink);background:var(--paper);text-decoration:none;color:var(--ink);padding:11px 15px;display:inline-flex;align-items:center;justify-content:center;gap:5px;min-height:42px}.btn:hover{background:var(--soft)}.btn.primary{background:var(--ink);color:var(--paper)}.btn.primary:hover{opacity:.86}.btn.quiet{border-color:var(--line)}.btn.gold{border-color:var(--gold);background:var(--goldbg)}.btn.danger{color:var(--bad);border-color:var(--bad)}.btn.small{font-size:12px;padding:8px 11px;min-height:36px}.section-head{display:flex;gap:16px;align-items:end;justify-content:space-between;margin:32px 0 16px}.section-head p{margin:5px 0 0;font-size:14px;color:var(--muted)}.cards{display:grid;grid-template-columns:1fr 1fr;gap:20px}.card{border:1px solid var(--line);border-top:3px solid var(--ink);padding:24px;background:var(--paper)}.card p{color:var(--muted);font-size:15px}.card .actions{margin-top:20px}.badge{font:650 11px/1.4 var(--sans);padding:4px 8px;border:1px solid var(--line);display:inline-block;color:var(--muted);background:var(--soft)}.good{color:var(--good)}.warn{color:var(--warn)}.bad{color:var(--bad)}.resume{display:flex;align-items:center;justify-content:space-between;gap:22px;border:1px solid var(--ink);border-left:5px solid var(--ink);background:var(--paper);padding:20px 24px;margin:24px 0}.resume h2{font-size:23px;margin:0 0 5px}.resume p{font-size:14px;color:var(--muted);margin:0}.section-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.section-card{padding:20px;background:var(--paper);border:1px solid var(--line);border-top:3px solid var(--ink);display:flex;flex-direction:column;min-width:0}.section-card h3{font-size:19px;margin:12px 0}.section-card p{font-size:14px;color:var(--muted);flex:1;margin-bottom:14px}.section-card .actions{gap:7px}.section-card .btn{flex:1}.section-card.done-good{border-color:var(--good);background:var(--goodbg)}.section-card.done-warn{border-color:var(--warn);background:var(--warnbg)}.section-card.done-bad{border-color:var(--bad);background:var(--badbg)}.section-top{display:flex;align-items:center;justify-content:space-between;gap:8px;font:650 10px var(--sans);color:var(--muted)}.scoreline{font:600 12px/1.5 var(--sans);margin-bottom:14px}.legend{font:12px var(--sans);color:var(--muted);margin:12px 0 20px}.toolbar{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.toolbar input{font:14px var(--sans);color:var(--ink);background:var(--paper);border:1px solid var(--line);padding:11px;min-width:180px;max-width:100%;width:280px}.tabs{display:flex;gap:6px;flex-wrap:wrap}.tabs button[aria-pressed=true]{background:var(--ink);color:var(--paper)}.progress{height:7px;background:var(--soft);border:1px solid var(--line);margin:15px 0}.progress>span{display:block;height:100%;background:var(--ink)}.notice{font:13px/1.65 var(--sans);background:var(--soft);border-left:3px solid var(--ink);padding:14px 17px;margin:20px 0}.storage-notice{font:13px/1.5 var(--sans);padding:12px 22px;background:var(--warnbg);color:var(--warn)}.back{margin:0 0 25px}.lesson{max-width:820px;margin:auto}.lesson-intro{color:var(--muted);font-size:18px}.lesson-block{background:var(--paper);padding:24px;border:1px solid var(--line);margin:16px 0}.lesson-block h2{font-size:23px}.lesson-block p{margin:0}.lesson details,.source-group{margin:20px 0;border:1px solid var(--line);padding:18px;background:var(--paper)}summary{cursor:pointer;font-family:var(--sans);font-size:14px;font-weight:700}.refs{font:13px/1.65 var(--sans);margin:15px 0 0;padding-left:20px}.refs li{margin:6px 0;overflow-wrap:anywhere}.quiz-shell{display:grid;grid-template-columns:minmax(0,1fr) 240px;gap:22px;align-items:start}.quiz-card{scroll-margin-top:95px;background:var(--paper);border:1px solid var(--line);border-top:3px solid var(--ink);padding:28px}.quiz-head{display:flex;justify-content:space-between;align-items:center;gap:10px;font:13px var(--sans);color:var(--muted)}.question{font-size:25px;line-height:1.4;font-weight:700;margin:24px 0}.options{display:grid;gap:11px}.option{display:flex;text-align:left;align-items:center;gap:14px;width:100%;background:var(--paper);border:1px solid var(--line);padding:15px;font:15px/1.5 var(--sans);color:var(--ink)}.option:hover{border-color:var(--ink);background:var(--soft)}.option.selected{border:2px solid var(--ink);padding:14px;background:var(--soft)}.option.right{border:2px solid var(--good);padding:14px;background:var(--goodbg);color:var(--good)}.option.wrong{border:2px solid var(--bad);padding:14px;background:var(--badbg);color:var(--bad)}.option .letter{width:27px;height:27px;border:1px solid currentColor;display:grid;place-items:center;flex-shrink:0;font-size:12px;font-weight:750}.option:disabled{opacity:1}.feedback{margin:20px 0;padding:17px;border:1px solid var(--line);background:var(--soft);font-size:15px}.feedback strong{font-family:var(--sans);font-size:14px}.feedback p{margin:8px 0}.feedback .refs{padding:0;list-style:none}.quiz-actions{margin-top:23px;display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap}.quiz-side{border:1px solid var(--line);padding:18px;background:var(--paper);font-family:var(--sans)}.quiz-side h2{font-size:15px;font-family:var(--sans)}.number-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:6px;margin:14px 0}.number-grid button{font:12px var(--sans);padding:8px 0;min-height:34px;background:var(--paper);border:1px solid var(--line)}.number-grid button.answered{background:var(--soft);border-color:var(--ink)}.number-grid button.current{background:var(--ink);color:var(--paper)}.number-grid button.flagged{box-shadow:inset 0 -3px var(--gold)}.quiz-side p{font-size:12px;color:var(--muted)}.scorehero{text-align:center;padding:30px 15px;border-bottom:2px solid var(--ink);margin-bottom:25px}.scorehero .big{font:800 70px/1.1 var(--sans);margin:15px}.result-table{width:100%;border-collapse:collapse;background:var(--paper);font:13px/1.5 var(--sans);margin:25px 0}.result-table th,.result-table td{text-align:left;border-bottom:1px solid var(--line);padding:13px}.result-table th{background:var(--soft)}.result-table td:last-child{white-space:nowrap}.review{padding:20px;background:var(--paper);border:1px solid var(--line);margin:15px 0}.review h3{font-size:19px}.review p{font-size:15px}.review .answer-wrong{color:var(--bad);font-family:var(--sans);font-size:13px}.review .answer-right{color:var(--good);font-family:var(--sans);font-size:13px}.review details{margin-top:10px}.review .refs{font-size:12px}.math-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.formula{background:var(--soft);border:1px dashed var(--line);padding:15px;font:14px/1.7 ui-monospace,monospace;overflow-wrap:anywhere;margin:12px 0}.calculator label{display:block;font:650 13px var(--sans);margin:14px 0}.calculator input{width:100%;margin-top:6px;background:var(--paper);color:var(--ink);border:1px solid var(--line);padding:10px;font:16px var(--sans)}.calc-fields{display:grid;grid-template-columns:1fr 1fr;gap:0 12px}.calc-result{font:700 20px var(--sans);padding:16px;background:var(--soft);margin-top:16px}.study-plan{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--line);background:var(--paper)}.study-plan>div{padding:20px;border-right:1px solid var(--line)}.study-plan>div:last-child{border:0}.study-plan b{font:800 24px var(--sans);display:block;margin-bottom:10px}.study-plan p{font-size:14px;margin:0;color:var(--muted)}.donation-end{padding:22px;border:1px solid var(--gold);background:var(--goldbg);margin:28px 0}.donation-end h2{font-size:22px}.donation-end p{font-size:14px;color:var(--muted)}footer{border-top:1px solid var(--line);margin-top:45px;background:var(--paper);font:12px/1.7 var(--sans);color:var(--muted)}footer .wrap{padding-top:22px;padding-bottom:22px}footer p:last-child{margin:0}dialog{max-width:480px;width:calc(100% - 30px);background:var(--paper);color:var(--ink);border:2px solid var(--ink);padding:25px;box-shadow:0 20px 70px #0005}dialog::backdrop{background:#0007}dialog h2{font-size:25px}dialog p{font-size:15px;color:var(--muted)}.dialog-close{font:13px var(--sans);margin-top:15px;padding:5px 0;border:0;border-bottom:1px solid var(--muted);color:var(--muted);background:none}.empty{padding:25px;background:var(--paper);border:1px dashed var(--line)}.history-list{padding:0;list-style:none}.history-list li{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:15px 0;border-bottom:1px solid var(--line);font:13px/1.6 var(--sans)}
@media(max-width:1180px){.mastinner{gap:9px;padding:11px 16px}.brand{font-size:15px}.brand small{font-size:7px}.mast nav a{font-size:11px;padding:8px 6px}}
@media(max-width:1000px){.mastinner{position:relative}.mast nav{display:none;position:absolute;left:0;right:0;top:100%;background:var(--paper);border-bottom:2px solid var(--ink);padding:10px 16px;flex-wrap:wrap;justify-content:flex-start;gap:4px;box-shadow:0 7px 12px #0001}.mast nav.open{display:flex}.mast nav a{font-size:13px;padding:12px}.brand{margin-right:auto}.nav-toggle{display:block}.section-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.quiz-shell{grid-template-columns:minmax(0,1fr) 200px}}
@media(max-width:700px){.wrap{padding:22px 17px}.mastinner{padding:10px 13px;gap:7px}.brand{font-size:14px;gap:7px}.logo{width:34px;height:34px;font-size:16px}.brand small{font-size:6px;letter-spacing:.55px}.compact{padding:7px 8px;min-height:35px}.donate-nav{padding:8px;font-size:11px}.donate-nav span{display:none}.donate-inner{padding:13px 17px;gap:11px;flex-direction:column;align-items:flex-start}.payments{gap:6px}.payments a{padding:6px 12px}.hero{grid-template-columns:1fr;gap:23px;padding-top:16px}.hero p{font-size:17px}.stats{grid-template-columns:repeat(4,1fr);gap:12px}.stat b{font-size:25px}.stat span{font-size:9px}.cards,.math-grid{grid-template-columns:1fr}.section-grid{grid-template-columns:1fr}.section-head{align-items:start;flex-direction:column;margin-top:26px}.section-head h2{font-size:26px}.resume{align-items:start;flex-direction:column;padding:19px;gap:15px}.resume .actions{width:100%}.resume .actions .btn{flex:1}.card{padding:22px}.quiz-shell{display:flex;flex-direction:column}.quiz-card{padding:21px 18px;width:100%}.quiz-side{width:100%}.question{font-size:22px}.option{padding:13px;font-size:14px}.option.selected,.option.right,.option.wrong{padding:12px}.number-grid{grid-template-columns:repeat(10,1fr)}.quiz-actions>.btn{flex:1}.study-plan{grid-template-columns:1fr}.study-plan>div{border-right:0;border-bottom:1px solid var(--line)}.toolbar{width:100%}.toolbar input{width:100%}.result-table{font-size:12px}.result-table th,.result-table td{padding:10px 8px}.lesson h1{font-size:34px}.lesson-block{padding:21px}.history-list li{align-items:start}.source-group{padding:17px}}
@media(max-width:370px){.brand small{display:none}.brand{max-width:160px}.brand>span:last-child{font-size:12px}.compact span{display:none}.stats{gap:8px}.stat span{font-size:8px}.number-grid{grid-template-columns:repeat(8,1fr)}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
@media print{.mast,.donate-banner,.actions,.toolbar,.back,.skip,footer,.quiz-side,.donation-end,.resume,.storage-notice{display:none!important}body{background:white;color:black;font-size:11pt}.wrap{max-width:none;padding:0}.hero,.card,.section-card,.lesson-block,.review{box-shadow:none;break-inside:avoid;background:white;color:black}.section-grid{grid-template-columns:1fr 1fr}.hero{display:block}.stats{margin-top:20px}.lesson{max-width:none}a{color:black}.notice{background:white}.review details>div{display:block}}

/* 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}
}

/* 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);
}
