
:root{color-scheme:dark;--bg:#0b1223;--surface:#182642;--surface2:#213453;--border:#334a6f;--ink:#eff5ff;--muted:#a2b4d4;--blue:#6bd5ff;--violet:#9a8aff;--good:#77edb7;--bad:#ffa8ae;--amber:#ffe09b;--shadow:0 15px 45px #0004}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:radial-gradient(circle at 0% 0%,#1c3056,transparent 42%),radial-gradient(circle at 100% 3%,#153046,transparent 35%),var(--bg);font:15px/1.55 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);min-height:100vh}button,select,input{font:inherit}button{cursor:pointer}a{color:#a5e7ff}h1,h2,h3,h4{line-height:1.15;letter-spacing:-.4px}h1{font-size:clamp(32px,5vw,55px);letter-spacing:-1.5px;margin:12px 0}h2{font-size:clamp(23px,3vw,32px);margin:0 0 10px}h3{font-size:20px;margin:0 0 12px}p{color:#c4d0e6}li{color:#d0dcf1;margin:9px 0}.muted{color:var(--muted)}.small{font-size:12px;color:var(--muted)}.eyebrow{font-size:11px;text-transform:uppercase;letter-spacing:1.25px;color:var(--blue);font-weight:950}.mast{position:sticky;top:0;z-index:50;background:#0b1426ed;backdrop-filter:blur(14px);border-bottom:1px solid #ffffff1e}.mastinner{max-width:1160px;margin:auto;padding:10px 18px;display:flex;justify-content:space-between;align-items:center;gap:15px}.brand{display:flex;align-items:center;gap:10px;font-weight:950;color:#fff;text-decoration:none;white-space:nowrap}.brand small{display:block;font-size:10px;color:#9fb2d6;letter-spacing:1.15px}.logo{width:39px;height:39px;border-radius:12px;display:grid;place-items:center;background:linear-gradient(135deg,#755bea,#2da2cc);font-weight:1000}.mast nav{display:flex;gap:5px}.mast nav a{font-size:13px;color:#b7c8e5;text-decoration:none;font-weight:820;padding:8px 10px;border-radius:10px}.mast nav a:hover,.mast nav a.active{background:#25385a;color:white}#navToggle{display:none;background:#233651;color:white;border:1px solid var(--border);border-radius:9px;padding:6px 11px;font-size:21px}.wrap{max-width:1160px;margin:0 auto;padding:21px}.hero{padding:25px 0}.hero p{font-size:17px;max-width:780px}.gradient{background:linear-gradient(100deg,#ae9fff,#6bd4ff);background-clip:text;-webkit-background-clip:text;color:transparent}.grid2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.grid3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.grid4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.panel{background:linear-gradient(155deg,#1c2c47,#111d32);border:1px solid #ffffff19;box-shadow:var(--shadow);border-radius:18px;padding:21px}.panel.slim{padding:17px}.row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.between{justify-content:space-between}.start{align-items:flex-start}.end{justify-content:flex-end}.mt{margin-top:15px}.mt2{margin-top:26px}.mb{margin-bottom:15px}.section{margin:30px 0 15px}.sectionhead{display:flex;justify-content:space-between;gap:14px;align-items:end;margin-bottom:12px}.sectionhead h2{margin:0}.pill{border-radius:99px;background:#142541;border:1px solid #3b567b;padding:5px 9px;font-size:12px;font-weight:900;color:#d5e9ff;display:inline-block}.pill.good{color:#b8ffe1;background:#123e32;border-color:#327d64}.pill.warn{color:#ffe5ab;background:#3c301f;border-color:#7e6243}.pill.red{color:#ffd2d7;background:#3f2531;border-color:#9f5265}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;background:#243956;border:1px solid #416184;border-radius:11px;color:white;text-decoration:none;min-height:44px;padding:10px 14px;font-weight:850;cursor:pointer}.btn:hover{border-color:#92bbe6}.btn.primary{background:linear-gradient(135deg,#7259e7,#288cbd);border-color:#7778e8}.btn.green{background:#185d48;border-color:#2f9375}.btn.secondary{background:transparent}.btn.tiny{min-height:34px;font-size:12px;padding:6px 10px}.btn:disabled{opacity:.44;cursor:not-allowed}.big{font-size:37px;line-height:1.1;font-weight:1000}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.stats .panel{padding:18px}.stats p{font-size:12px;color:var(--muted);margin:5px 0}.card-course{display:flex;flex-direction:column;min-height:260px}.card-course p{flex:1;font-size:14px;margin:9px 0}.card-course .big{font-size:29px}.card-course h3{margin:10px 0}.progress{height:9px;background:#0a1426;border:1px solid #344566;border-radius:99px;overflow:hidden}.progress>div{height:100%;background:linear-gradient(90deg,#9f8cfc,#62d8ff)}.topiccard{min-height:165px;display:flex;flex-direction:column;gap:10px}.topiccard p{font-size:14px;flex:1;margin:0}.lesson{background:#15223a;border:1px solid #354e73;border-radius:14px;margin:11px 0;overflow:hidden}.lesson summary{list-style-position:inside;padding:17px 20px;font-size:17px;font-weight:900;cursor:pointer}.lesson summary:hover{background:#213352}.lesson .body{padding:3px 20px 19px}.lesson ul{padding-left:22px;line-height:1.65}.lesson li{margin:12px 0}.note{border-left:4px solid #78cfff;background:#132b43;padding:13px 16px;border-radius:11px;color:#dbf3ff}.note.warn{border-left-color:#f4c16d;background:#372b21;color:#ffe9be}.notice{font-size:13px;color:#b7c9e6}.metric{display:flex;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid #ffffff18}.metric b{color:#eff7ff}.formrow{display:flex;flex-wrap:wrap;gap:12px;align-items:end}.formitem{display:flex;flex-direction:column;gap:6px}.formitem label{font-size:12px;font-weight:900;color:#c7d6ef}.formitem select{height:44px;min-width:155px;background:#0f1b32;color:white;border:1px solid #405a7a;border-radius:10px;padding:8px 10px}.quiz{max-width:885px;margin:25px auto}.qtext{font-size:clamp(21px,2.8vw,29px);font-weight:930;line-height:1.32;margin:22px 0;letter-spacing:-.3px}.answers{display:grid;gap:11px}.answer{display:flex;gap:12px;align-items:center;border:1px solid #405b80;background:#102039;color:#f4f8ff;border-radius:13px;padding:14px 16px;min-height:65px;text-align:left;width:100%;font-weight:770}.answer .letter{flex:none;width:30px;height:30px;border-radius:9px;background:#2c4567;display:grid;place-items:center;font-size:13px}.answer:hover{border-color:#8cbee6}.answer.selected{outline:2px solid #6ed2ff;background:#1d3854}.answer.correct{border-color:#4cca99;background:#153e31}.answer.wrong{border-color:#dd7688;background:#432832}.answer:disabled{cursor:default;opacity:1}.feedback{border:1px solid #37886f;background:#153c32;color:#d1fce9;padding:15px;border-radius:12px;margin-top:16px}.feedback.bad{border-color:#a75a69;background:#3d2630;color:#ffe0e5}.feedback p{color:inherit;margin:6px 0 0}.questionnav{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;margin-top:19px}.number-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(35px,1fr));gap:5px;margin-top:14px}.number-grid button{min-height:30px;border-radius:7px;border:1px solid #40587e;background:#162942;color:#d5e4fa;cursor:pointer;font-size:12px;font-weight:850}.number-grid button.answered{background:#245978;border-color:#3e99b3}.number-grid button.flagged{border-color:#edba66;color:#ffe2a0}.number-grid button.now{outline:2px solid #fff;outline-offset:1px}.score{font-size:75px;line-height:1;font-weight:1000;color:#9bd3ff}.score.good{color:var(--good)}.score.mid{color:var(--amber)}.score.bad{color:var(--bad)}.review{background:#13213a;border:1px solid #354d72;border-radius:12px;padding:15px;margin:9px 0}.review summary{cursor:pointer;font-weight:890}.review p{margin:9px 0;font-size:14px}.review .right{color:var(--good);font-weight:900}.review .wrong{color:var(--bad)}.planrow{display:flex;gap:12px;align-items:flex-start;background:#152642;border:1px solid #2e4564;border-radius:11px;padding:14px;margin:9px 0}.planrow input{width:20px;height:20px;flex:none;accent-color:#56c99a;margin:2px 0}.planrow label{font-weight:900;cursor:pointer}.planrow p{font-size:13px;margin:5px 0}.flashtile{min-height:185px;display:grid;place-items:center;text-align:center;cursor:pointer;padding:20px;border-radius:15px;border:1px solid #6a85b5;background:linear-gradient(130deg,#273e62,#342f62)}.flashtile b{font-size:22px;line-height:1.4}.flashtile small{color:#a9bada}.sources a{display:block;border:1px solid #39557a;background:#142641;border-radius:10px;padding:12px;text-decoration:none;font-weight:880;margin:9px 0}footer{border-top:1px solid #ffffff20;color:#899dbd;font-size:12px;margin-top:50px}footer .wrap{display:flex;gap:20px;justify-content:space-between}
@media(max-width:980px){.mast nav a{font-size:12px;padding:7px}.grid4{grid-template-columns:1fr 1fr}.stats{grid-template-columns:1fr 1fr}}
@media(max-width:730px){.mastinner{padding:9px 12px}.mast nav{display:none;position:absolute;top:60px;left:10px;right:10px;background:#182943;border:1px solid #425979;border-radius:13px;padding:10px;box-shadow:var(--shadow);flex-direction:column}.mast nav.open{display:flex}.mast nav a{font-size:15px;padding:12px}#navToggle{display:block}.wrap{padding:14px}.grid2,.grid3{grid-template-columns:1fr}.panel{padding:17px}.sectionhead{align-items:flex-start;flex-direction:column}.card-course{min-height:0}.qtext{font-size:22px}.answer{font-size:14px;padding:12px}.questionnav .btn{flex:1}.lesson summary{font-size:16px;padding:15px}footer .wrap{display:block}}
@media(max-width:440px){.grid4{grid-template-columns:1fr}.stats{grid-template-columns:1fr 1fr}.big{font-size:30px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}


/* Prominent, voluntary donor CTA. Keeps navigation and all test results accessible. */
.donate-header-link,.donate-banner-cta,.donate-action{display:inline-flex;align-items:center;justify-content:center;gap:9px;text-decoration:none;font-weight:950;white-space:nowrap;border-radius:12px;cursor:pointer}
.donate-header-link{flex:none;padding:10px 15px;background:linear-gradient(130deg,#ffdc8a,#f1a64a);color:#30200e;box-shadow:0 4px 18px #d78e3655;border:1px solid #ffe3a5;font-size:14px}
.donate-header-link:hover,.donate-banner-cta:hover,.donate-action:hover{filter:brightness(1.06);transform:translateY(-1px)}
.donate-header-link span:first-child{color:#ad341f;font-size:17px}
.donate-banner{border-bottom:1px solid rgba(244,197,112,.32);background:linear-gradient(90deg,#3e281a 0%,#412a1f 53%,#302537 100%)}
.donate-banner-inner{max-width:1160px;margin:0 auto;padding:14px 20px;display:flex;align-items:center;gap:15px}
.donate-banner-icon{display:grid;place-items:center;flex:none;width:46px;height:46px;border-radius:13px;background:linear-gradient(140deg,#fcd580,#f8a759);color:#783821;font-size:25px;box-shadow:0 5px 20px #0004}
.donate-banner-copy{flex:1;min-width:0}
.donate-banner-copy strong,.donate-banner-copy span{display:block}
.donate-banner-copy strong{font-size:17px;color:#fff2d9}
.donate-banner-copy span{font-size:13px;color:#f2d7bc}
.donate-banner-cta{background:#fce0a8;color:#412b14;padding:12px 18px;font-size:14px;border:1px solid #fff0c8}
.donation-outro{margin:34px 0 20px;padding:3px;border-radius:23px;background:linear-gradient(130deg,#f7cd70,#eea15f,#9a75c9);box-shadow:0 16px 48px #0006}
.donation-outro-content{background:linear-gradient(135deg,#3b2a29,#24253e 70%,#1d2d42);border-radius:20px;padding:31px;text-align:center}
.donate-kicker{color:#ffd996;letter-spacing:1.5px;font-size:11px;font-weight:1000}
.donation-outro h2{font-size:clamp(25px,3.7vw,37px);color:#fff0cc;max-width:700px;margin:10px auto}
.donation-outro p{max-width:690px;margin:13px auto;color:#f4e1d2;font-size:16px;line-height:1.65}
.donation-outro p.donate-reassure{color:#ddc6d1;font-size:13px}
.donate-action{margin-top:15px;padding:15px 24px;background:linear-gradient(125deg,#ffdc8a,#efa14d);border:1px solid #ffeab4;color:#392312;font-size:18px;min-height:52px;box-shadow:0 8px 28px #ba772e59}
@media(max-width:1180px){.mast nav a{font-size:12px;padding:7px}.donate-header-link{font-size:13px;padding:9px 11px}}
@media(max-width:900px){.donate-banner-inner{flex-wrap:wrap}.donate-banner-cta{margin-left:60px}.mast nav{display:none;position:absolute;top:60px;left:10px;right:10px;background:#192943;border:1px solid #425979;padding:10px;flex-direction:column;border-radius:13px;box-shadow:0 14px 38px #0008}.mast nav.open{display:flex}.mast nav a{padding:12px;font-size:14px}.mast #navToggle{display:block}}
@media(max-width:600px){.mastinner{gap:8px}.mast .brand small{font-size:8px;max-width:140px}.mast .brand{font-size:14px}.donate-header-link{padding:9px 10px;font-size:13px}.mast #navToggle{padding:5px 8px;font-size:20px}.donate-banner-inner{padding:12px;gap:11px}.donate-banner-icon{width:35px;height:35px;font-size:19px}.donate-banner-copy{flex:1 1 calc(100% - 50px)}.donate-banner-copy strong{font-size:14px}.donate-banner-copy span{font-size:12px}.donate-banner-cta{width:100%;margin:0}.donation-outro-content{padding:21px 15px}.donation-outro p{font-size:14px}.donate-action{width:100%}}



/* -------------------------------------------------------------------
   QUICKPRINTS CDL • PRINTED-PAPER EDITION
   All learning UI uses black ink / white paper. GOLD is exclusive to
   voluntary donation calls-to-action. Red and green convey correctness.
   ------------------------------------------------------------------- */
:root{
  color-scheme:light;
  --bg:#f4f4f4;
  --surface:#ffffff;
  --surface2:#f5f5f5;
  --border:#919191;
  --ink:#101010;
  --muted:#555555;
  --blue:#111111;
  --violet:#202020;
  --good:#0b723a;
  --bad:#b02e36;
  --amber:#555555;
  --shadow:1px 2px 0 rgba(0,0,0,.09);
}
html{background:#f4f4f4}
body{
  color:#111111;
  background-color:#f4f4f4;
  background-image:repeating-linear-gradient(0deg,transparent,transparent 43px,rgba(0,0,0,.012) 44px);
  font-family:Georgia,"Times New Roman",serif;
  font-size:16px;
  line-height:1.63;
  text-rendering:optimizeLegibility;
}
button,input,select,.eyebrow,.brand,.mast nav,.pill,.btn,.small,.stat,.big,.tag,.metric b,.donate-banner,.donation-outro .donate-kicker,.donate-action,.donate-header-link,.donate-banner-cta,.number-grid,footer{
  font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}
h1,h2,h3,h4{
  font-family:Georgia,"Times New Roman",serif;
  color:#111;
  font-weight:800;
  letter-spacing:-.04em;
}
h1{font-size:clamp(36px,5vw,58px);line-height:1.05}
h2{font-size:clamp(25px,2.8vw,34px);line-height:1.13}
h3{font-size:clamp(18px,2.1vw,23px);line-height:1.2}
p,li,.hero p,.lesson li,.card-course p,.notice,.topiccard p{
  color:#292929;
}
a{color:#111;text-decoration-color:#555}
a:hover{color:#000}
.muted,.small,.notice,.stats p,.card-course p,.eyebrow + p{color:#555}
.eyebrow{
  font-size:11px;
  font-weight:900;
  letter-spacing:.12em;
  color:#333;
}
.gradient,.big.gradient{
  background:none!important;
  -webkit-text-fill-color:#111;
  color:#111!important;
}
.mast{
  background:rgba(255,255,255,.975);
  backdrop-filter:blur(8px);
  border-bottom:3px double #222;
  box-shadow:0 2px 0 rgba(0,0,0,.03);
}
.mastinner{min-height:60px}
.mast .brand,.mast a.brand,.brand{
  color:#111;
  font-weight:950;
  letter-spacing:-.015em;
}
.brand small,.mast .brand small{color:#555;letter-spacing:.12em}
.logo{
  width:39px;height:39px;border:2px solid #111;
  color:#111;
  background:#fff;
  border-radius:2px;
  font-weight:1000;
  box-shadow:none;
}
.mast nav a{
  color:#222;
  font-weight:800;
  font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  text-decoration:none;
  border-radius:2px;
  background:transparent;
  padding:8px 10px;
}
.mast nav a:hover{background:#ededed;color:#111}
.mast nav a.active{background:#111;color:#fff}
#navToggle,.mast #navToggle{
  color:#111;
  background:#fff;
  border:1.5px solid #111;
  border-radius:3px;
}
.wrap{max-width:1150px}
.hero{
  padding:33px 0 26px;
  margin-bottom:20px;
  border-bottom:4px double #222;
}
.hero .eyebrow{color:#444}
.hero h1{max-width:980px}
.hero p{font-size:18px;line-height:1.6}
.sectionhead{
  border-bottom:2px solid #111;
  padding-bottom:10px;
  margin-bottom:18px;
}
.sectionhead h2{margin:0}
.section .panel:not(.donation-outro-content){margin-top:0}
.panel,.panel.slim{
  color:#111;
  background:#fff;
  border:1px solid #b8b8b8;
  border-radius:5px;
  box-shadow:var(--shadow);
}
.stats .panel{
  background:#fff;
  border-top:3px solid #151515;
  border-radius:3px;
}
.big,.score{color:#111}
.card-course{background:#fff}
.card-course .big{color:#111}
.lesson{
  border:1px solid #b3b3b3;
  background:#fff;
  border-radius:3px;
}
.lesson summary{
  background:#f9f9f9;
  color:#111;
  padding:19px 20px;
  font-family:Georgia,"Times New Roman",serif;
  border-left:4px solid #171717;
  list-style-position:inside;
}
.lesson summary:hover{background:#f0f0f0;color:#111}
.lesson[open] summary{
  background:#171717;
  color:#fff;
  border-left-color:#171717;
}
.lesson .body{background:#fff}
.lesson .body li{color:#222;line-height:1.7}
.btn,.btn.small,.btn.tiny,.btn.secondary,.btn.green,.btn.primary{
  color:#111;
  border:1.5px solid #111;
  background:#fff;
  box-shadow:none;
  border-radius:3px;
  font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  font-weight:800;
  text-decoration:none;
  transition:background-color .13s ease,color .13s ease,transform .13s ease;
}
.btn.primary,.btn.green{
  background:#111;
  border-color:#111;
  color:#fff;
}
.btn.secondary{color:#111;background:transparent}
.btn:hover,.btn.small:hover,.btn.tiny:hover,.btn.secondary:hover{
  border-color:#111;
  background:#eaeaea;
  color:#111;
}
.btn.primary:hover,.btn.green:hover{
  background:#333;
  color:#fff;
}
.btn:disabled{opacity:.42;cursor:not-allowed}
.btn:focus-visible,button:focus-visible,a:focus-visible,
select:focus-visible,input:focus-visible,summary:focus-visible{
  outline:3px solid #111;
  outline-offset:3px;
}
.pill,.tag{
  border:1px solid #888;
  background:#f5f5f5;
  color:#222;
  border-radius:3px;
  font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  font-weight:800;
}
.pill.warn,.tag.warn{
  color:#333;
  background:#eee;
  border-color:#999;
}
.pill.good,.tag.good{
  background:#e8f5ec;
  border-color:#167345;
  color:#135e36;
}
.pill.red,.tag.red{
  background:#fae8e8;
  border-color:#a33338;
  color:#982528;
}
.note,.note.warn{
  color:#222;
  background:#f3f3f3;
  border:1px solid #b6b6b6;
  border-left:4px solid #222;
  border-radius:2px;
}
.progress{background:#e3e3e3;border:1px solid #999;border-radius:2px}
.progress>div,.fill,.progress .fill{background:#111;border-radius:1px}
.metric{border-bottom:1px solid #d0d0d0}
.metric b,.metric strong{color:#111}
.topiccard{background:#fff}
.formitem label{color:#262626}
.formitem select,select,input{
  color:#111;
  background:#fff;
  border:1.5px solid #888;
  border-radius:3px;
}
option{background:#fff;color:#111}
.quiz{max-width:890px}
.quiz>.panel{border:2px solid #222;padding:25px}
.qtext{color:#111;font-family:Georgia,"Times New Roman",serif;font-weight:900;line-height:1.38}
.answers{gap:11px}
.answer,.answer:disabled{
  color:#111;
  background:#fff;
  border:1.5px solid #777;
  border-radius:4px;
  box-shadow:none;
  line-height:1.45;
  font-size:16px;
  font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}
.answer:hover:not(:disabled){background:#f0f0f0;border-color:#111}
.answer .letter{
  color:#111;
  background:#ececec;
  border:1px solid #777;
  border-radius:2px;
  font-weight:900;
}
.answer.selected,.answer.selected:not(:disabled){
  outline:2px solid #111;
  outline-offset:0;
  background:#efefef;
  border-color:#111;
  color:#111;
}
.answer.selected .letter{background:#111;color:#fff;border-color:#111}
.answer.correct,.answer.correct:disabled,
.answer.selected.correct,.answer.selected.correct:disabled{
  color:#0b542c;
  border:2px solid #247a48;
  background:#e7f6eb;
  outline:0;
}
.answer.correct .letter{color:#fff;background:#17703d;border-color:#17703d}
.answer.wrong,.answer.wrong:disabled,
.answer.selected.wrong,.answer.selected.wrong:disabled{
  color:#92212d;
  border:2px solid #b73943;
  background:#ffeded;
  outline:0;
}
.answer.wrong .letter{color:#fff;background:#a92935;border-color:#a92935}
.feedback{
  color:#0b4e2c;
  border:1.5px solid #247a48;
  border-left:5px solid #247a48;
  background:#edf8f0;
  border-radius:3px;
}
.feedback p{color:inherit}
.feedback.bad{
  color:#83232b;
  border:1.5px solid #b73943;
  border-left:5px solid #b73943;
  background:#fff0f0;
}
.number-grid button{
  background:#fff;
  color:#111;
  border:1px solid #999;
  border-radius:2px;
}
.number-grid button.answered{background:#222;color:#fff;border-color:#222}
.number-grid button.flagged{color:#111;border:2px dashed #111;background:#ddd}
.number-grid button.now{outline:2px solid #111}
.score{font-family:Georgia,"Times New Roman",serif;font-weight:900;color:#111}
.score.good{color:#12663d}
.score.mid{color:#333}
.score.bad{color:#a52a32}
.review{
  color:#111;
  background:#fff;
  border:1px solid #aaa;
  border-radius:3px;
}
.review summary{font-family:Georgia,"Times New Roman",serif;color:#111}
.review p{color:#333}
.review .right{color:#15693d}
.review .wrong{color:#a72d38}
.planrow{
  color:#111;
  background:#fafafa;
  border:1px solid #bbb;
  border-radius:3px;
}
.planrow input{accent-color:#111}
.planrow label{color:#111}
.planrow p{color:#444}
.flashtile{
  color:#111;
  background:#fdfdfd;
  border:2px dashed #222;
  border-radius:2px;
  min-height:200px;
}
.flashtile b{color:#111;font-family:Georgia,"Times New Roman",serif}
.flashtile small{color:#555}
.sources a,.source{
  color:#111;
  background:#fff;
  border:1px solid #aaa;
  border-radius:3px;
  text-decoration:underline;
  text-decoration-color:#999;
}
.sources a:hover{background:#eee;color:#111}
footer{
  background:#fff;
  border-top:4px double #222;
  color:#555;
}
footer .wrap{color:#555}
footer a{color:#111}

/* Donations: the sole gold accent system, prominent but always optional. */
.donate-header-link,.donate-banner-cta,.donate-action{
  color:#211806;
  background:linear-gradient(180deg,#ffeab0,#edbd56);
  border:1.5px solid #926727;
  box-shadow:1px 2px 0 #c19d51;
  border-radius:4px;
  text-decoration:none;
  font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  font-weight:950;
  text-shadow:none;
}
.donate-header-link span:first-child{color:#211806}
.donate-header-link:hover,.donate-banner-cta:hover,.donate-action:hover{
  background:linear-gradient(180deg,#fff3d0,#f2c46a);
  color:#17120a;
  border-color:#6e4b1c;
  box-shadow:1px 3px 0 #b88c34;
  filter:none;
}
.donate-banner{
  background:linear-gradient(100deg,#fff9e8,#f3dca8);
  border-bottom:2px solid #aa833e;
}
.donate-banner-inner{color:#20170b}
.donate-banner-icon{
  background:linear-gradient(140deg,#ffecb8,#ecb950);
  border:1px solid #ae7b2b;
  border-radius:3px;
  box-shadow:none;
  color:#39250a;
}
.donate-banner-copy strong{color:#191407}
.donate-banner-copy span{color:#42371f}
.donate-banner-cta{background:#f3d27d}
.donation-outro{
  border:2px solid #a9772e;
  border-radius:5px;
  background:#f4d38a;
  box-shadow:2px 3px 0 rgba(0,0,0,.12);
  margin:32px 0;
  padding:4px;
}
.donation-outro-content{
  background:#fff9ea;
  border:1px solid #e2c28b;
  border-radius:2px;
  padding:31px 26px;
}
.donate-kicker,.donation-outro .donate-kicker{color:#815919}
.donation-outro h2{color:#141414}
.donation-outro p{color:#3c3424}
.donation-outro p.donate-reassure{color:#555}
.donate-action{color:#191408;min-height:53px;box-shadow:1px 3px 0 #c09b52}
.donate-action:hover{color:#181208}
@media(max-width:900px){
  .mast nav,.mast nav.open{
    background:#fff;
    color:#111;
    border:1.5px solid #111;
    border-radius:3px;
    box-shadow:2px 3px 0 #bbb;
  }
  .mast nav a{color:#111}
  .mast nav a.active{background:#111;color:#fff}
}
@media(max-width:600px){
  .wrap{padding:15px}
  .panel{padding:18px}
  .hero{padding:24px 0 18px}
  .hero p{font-size:17px}
  .mastinner{gap:7px}
  .donate-header-link{font-size:13px;border-radius:3px}
  .donate-banner-inner{padding:12px 14px}
  .donate-banner-copy strong{font-size:14px}
  .donate-banner-copy span{font-size:12px}
  .donation-outro-content{padding:24px 15px}
  .answer{min-height:62px;font-size:15px}
  .answer .letter{width:30px;height:30px}
}
@media print{
  :root{color-scheme:light}
  body,html{background:#fff!important;color:#000!important}
  .mast,.donate-banner,.donation-outro,.questionnav,footer,#navToggle,.btn,.sources a{box-shadow:none!important}
  .mast,.donate-banner,.donation-outro,#navToggle,.btn{display:none!important}
  .panel,.lesson,.answer{break-inside:avoid;background:#fff!important;color:#000!important}
  .panel{border:1px solid #000!important}
  .review{break-inside:avoid}
  *{-webkit-print-color-adjust:economy;print-color-adjust:economy}
}


/* Compact printed-page landing accordions: neutral ink and paper. */
.overview-intro{padding:25px 0 16px;border-bottom:3px double #222;}
.overview-intro h1{margin:10px 0 8px;font-size:clamp(31px,4.4vw,50px)}
.overview-intro p{font-size:16px;max-width:850px;margin:0;color:#333}
.overview-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border:1px solid #b9b9b9;background:#fff;margin:17px 0 23px;box-shadow:1px 2px 0 #ddd;}
.overview-stat{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;column-gap:9px;row-gap:2px;text-align:center;padding:12px 10px;border-right:1px solid #ccc;font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;}
.overview-stat:last-child{border-right:0}
.overview-stat b{font-size:22px;line-height:1.2;color:#111}
.overview-stat span{font-size:11px;color:#555;font-weight:800}
.test-accordion-list{display:grid;gap:10px}
.test-accordion{border:1.5px solid #aaa;background:#fff;border-radius:3px;box-shadow:1px 2px 0 #ddd}
.test-accordion summary{display:flex;align-items:center;gap:14px;padding:15px 17px;cursor:pointer;min-height:68px;list-style:none;user-select:none}
.test-accordion summary::-webkit-details-marker{display:none}
.test-accordion summary::marker{content:""}
.test-accordion summary:hover{background:#f1f1f1}
.test-accordion[open] summary{border-bottom:1px solid #bbb;background:#f5f5f5}
.accordion-index{display:grid;place-items:center;width:35px;height:35px;flex:none;border:1.5px solid #222;font:850 12px/1 system-ui,sans-serif;color:#111;background:#fff}
.accordion-name{flex:1;min-width:0}
.accordion-name strong,.accordion-name small{display:block}
.accordion-name strong{font:850 clamp(17px,1.8vw,20px)/1.24 Georgia,"Times New Roman",serif;color:#111}
.accordion-name small{font:700 11px/1.45 system-ui,sans-serif;letter-spacing:.015em;color:#666;margin-top:3px}
.accordion-stats{display:flex;align-items:center;gap:12px;flex:none}
.accordion-stats span{font:800 11px/1.2 system-ui,sans-serif;color:#444;white-space:nowrap;padding:6px 9px;background:#f1f1f1;border:1px solid #ccc}
.accordion-chevron{display:grid;place-items:center;font:900 25px/1 system-ui,sans-serif;color:#111;width:25px;flex:none;transform:rotate(0deg);transition:transform .18s}
.test-accordion[open] .accordion-chevron{transform:rotate(180deg)}
.accordion-content{padding:16px 22px 19px;background:#fff}
.accordion-content p{color:#333;margin-top:0;max-width:780px;font-size:15px}
.accordion-metrics{display:flex;gap:20px;flex-wrap:wrap;border-top:1px dashed #ccc;padding-top:12px;font:750 12px/1.5 system-ui,sans-serif;color:#555}
.accordion-metrics b{color:#111}
.test-accordion-more{margin-top:22px}
.site-disclaimer{padding:16px 2px 30px;font-size:12px;color:#555}
@media(max-width:780px){
  .overview-stats{grid-template-columns:repeat(2,minmax(0,1fr))}
  .overview-stat:nth-child(2){border-right:0}
  .overview-stat:nth-child(-n+2){border-bottom:1px solid #ccc}
  .accordion-stats{gap:5px;flex-direction:column;align-items:end}
  .accordion-stats span{font-size:10px;padding:3px 6px}
  .test-accordion summary{gap:10px;padding:13px}
  .accordion-content{padding:13px 16px 17px}
}
@media(max-width:485px){
  .overview-intro{padding:15px 0 10px}
  .overview-intro p{font-size:15px}
  .accordion-index{width:30px;height:30px}
  .accordion-name small{font-size:10px}
  .accordion-name strong{font-size:17px}
  .accordion-stats span:last-child{display:none}
  .test-accordion summary{min-height:61px}
  .accordion-chevron{width:16px}
  .accordion-content .btn{flex:1;min-width:145px}
}
@media print{
  .test-accordion{break-inside:avoid}
  .test-accordion[open] .accordion-content{display:block}
}


/* Release 3 — diagnostic, visual learning, compact phone layout, accessible review. */
.study-diagram{margin:16px 0 17px;background:#fff;border:1px solid #999;padding:13px 15px;border-radius:3px;color:#111;max-width:100%}
.study-diagram>div{background:#fff}
.study-diagram svg{max-height:240px}
.study-diagram figcaption{color:#555;text-align:center;font:700 11px/1.5 system-ui,sans-serif;margin-top:7px}
.study-diagram.diagram-quiz{margin:12px 0 20px;border:2px solid #444}
.review-right{border-left:3px solid #15693d}
.review-wrong{border-left:3px solid #b6363e}
.readiness-card{border-top:3px solid #222;margin-top:15px}
.readiness-card h3{margin:0}
.donate-merchant{font-size:12px!important;color:#594621!important;border-top:1px solid #e6d8b3;max-width:500px;margin:15px auto 0!important;padding-top:11px}
.accordion-content .row .btn{flex-wrap:wrap}
@media(max-width:680px){
 .mastinner{display:flex;flex-wrap:wrap;gap:8px}
 .mast .brand{font-size:13px}
 .mast .brand small{font-size:8px}
 .donate-header-link{margin-left:auto;min-height:38px}
 .donate-banner{padding:0}
 .donate-banner-inner{padding:6px 12px}
 .donate-banner-icon{display:none}
 .donate-banner-copy strong{font-size:13px}
 .donate-banner-copy span{display:none}
 .donate-banner-cta{width:auto;padding:8px 11px;font-size:12px;margin-left:auto}
 .overview-intro{padding:12px 0 9px}
 .overview-intro h1{font-size:29px;line-height:1.07}
 .overview-intro p{font-size:14px}
 .overview-stats{margin:13px 0 18px}
 .section{margin-top:19px}
 .accordion-stats span:last-child{display:none}
 .accordion-name strong{font-size:17px}
 .readiness-card p{font-size:14px}
 .study-diagram svg{max-height:180px}
 .questionnav .row{flex-wrap:wrap;justify-content:flex-end}
 .questionnav .row .btn{min-width:105px}
 .donation-outro{margin-top:23px}
}
@media print{.study-diagram{border:1px solid #222;break-inside:avoid}.donation-outro{display:none!important}}

/* Mark instructional imagery as schematic, with high contrast for print and phones. */
.study-diagram{border-color:#444}
.study-diagram figcaption::after{content:" • Simplified diagram, not to scale";font-weight:500;color:#666}
@media(max-width:600px){
  .overview-intro .row{gap:8px}
  .overview-intro .row>.btn{flex:1 1 135px}
  .overview-stats{margin-bottom:15px}
  .donate-banner-copy strong{line-height:1.2}
}


/* Three verified support options from JLake3D.com.
   Gold is used only for donation controls; course UI stays black and white. */
#support-options{scroll-margin-top:76px}
.payment-choice-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;flex:0 1 450px;align-items:stretch}
.payment-choice{
  min-height:45px;padding:10px 13px;display:flex;gap:8px;justify-content:center;align-items:center;
  background:linear-gradient(180deg,#fff0c7,#edc069);color:#271902;
  border:1.5px solid #926727;border-radius:4px;box-shadow:1px 2px 0 #c19d51;
  font:900 13px/1.25 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  text-decoration:none;white-space:nowrap;transition:background-color .15s ease,transform .15s ease;
}
.payment-choice:hover,.payment-choice:focus-visible{color:#211806;background:linear-gradient(180deg,#fff6dd,#f4cf87);border-color:#684817;transform:translateY(-1px)}
.payment-choice:focus-visible{outline:3px solid #111;outline-offset:3px}
.donate-banner-inner{gap:12px}
.donate-banner-copy{flex:1 1 330px}
.payment-choice-row-outro{margin:20px auto 10px;max-width:590px;width:100%;flex:auto;gap:12px}
.payment-choice-row-outro .payment-choice{padding:15px 14px;min-height:52px;font-size:16px;box-shadow:1px 3px 0 #bd9951}
.payment-choice-row-outro .payment-choice span:last-child{font-size:14px}
@media(max-width:1100px){
 .donate-banner-inner{flex-wrap:wrap}
 .donate-banner-copy{flex:1 1 calc(100% - 70px)}
 .payment-choice-row{flex:1 1 100%;max-width:640px;margin-left:auto}
}
@media(max-width:700px){
 .donate-banner-inner{padding:10px 13px;gap:7px 10px}
 .donate-banner-icon{display:none}
 .donate-banner-copy{flex:1 1 100%}
 .donate-banner-copy strong{font-size:13px;line-height:1.3}
 .donate-banner-copy span{display:none}
 .payment-choice-row{max-width:none;flex:1 1 100%;width:100%;margin:2px 0 0;gap:6px}
 .payment-choice{min-height:40px;padding:8px 5px;font-size:12px;gap:5px}
 .payment-choice-row-outro{max-width:none;gap:7px}
 .payment-choice-row-outro .payment-choice{min-height:47px;padding:10px 5px;font-size:13px}
 .donation-outro-content{padding:21px 13px}
}
@media print{.payment-choice-row,.donate-banner,.donation-outro{display:none!important}}



/* ==============================================================
   QUICKPRINTS CDL • OPTIONAL DARK PRINTED-PAPER THEME
   Default remains black ink on white paper. User-selectable dark
   theme uses white ink on charcoal. Gold is ONLY for donations;
   green/red remain reserved for right/wrong feedback.
   =============================================================== */

.theme-toggle{
  display:inline-flex;align-items:center;justify-content:center;gap:7px;flex:none;
  padding:8px 11px;min-height:40px;min-width:69px;
  border-radius:3px;border:1.5px solid #222;background:#fff;color:#111;
  font:850 13px/1.2 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  white-space:nowrap;box-shadow:none;cursor:pointer;
}
.theme-toggle .theme-icon{font-size:17px;line-height:1}
.theme-toggle:hover{background:#ebebeb;color:#111}
.theme-toggle:focus-visible{outline:3px solid #111;outline-offset:3px}

html[data-theme="dark"]{
  color-scheme:dark;
  --bg:#101112;
  --surface:#1b1d1f;
  --surface2:#242628;
  --border:#65696f;
  --ink:#f4f4f4;
  --muted:#c3c4c6;
  --blue:#ededed;
  --violet:#dedede;
  --good:#8cf4ad;
  --bad:#ffb1b9;
  --amber:#e1e1e1;
  --shadow:1px 2px 0 rgba(255,255,255,.045);
  background:#101112;color:#f6f6f6;
}
html[data-theme="dark"] body{
  color:#f5f5f5;background-color:#101112;
  background-image:repeating-linear-gradient(0deg,transparent,transparent 43px,rgba(255,255,255,.012) 44px);
}
html[data-theme="dark"] h1,
html[data-theme="dark"] h2,
html[data-theme="dark"] h3,
html[data-theme="dark"] h4,
html[data-theme="dark"] p,
html[data-theme="dark"] li,
html[data-theme="dark"] .hero p,
html[data-theme="dark"] .topiccard p,
html[data-theme="dark"] .card-course p,
html[data-theme="dark"] .lesson li,
html[data-theme="dark"] .notice{
  color:#f0f0f0;
}
html[data-theme="dark"] a{color:#f5f5f5;text-decoration-color:#c7c7c7}
html[data-theme="dark"] .small,
html[data-theme="dark"] .muted,
html[data-theme="dark"] .eyebrow,
html[data-theme="dark"] .hero .eyebrow,
html[data-theme="dark"] .stats p,
html[data-theme="dark"] .card-course p,
html[data-theme="dark"] .overview-intro p,
html[data-theme="dark"] .overview-stat span,
html[data-theme="dark"] .accordion-name small,
html[data-theme="dark"] .site-disclaimer,
html[data-theme="dark"] .flashtile small{
  color:#bec0c3;
}
html[data-theme="dark"] .gradient,
html[data-theme="dark"] .big.gradient{
  background:none!important;color:#f5f5f5!important;-webkit-text-fill-color:#f5f5f5!important;
}
html[data-theme="dark"] .big,
html[data-theme="dark"] .accordion-name strong,
html[data-theme="dark"] .question,
html[data-theme="dark"] .qtext{color:#f8f8f8}
html[data-theme="dark"] .mast{
  background:rgba(19,20,22,.98);
  border-bottom:3px double #c9c9c9;
  box-shadow:0 2px 0 rgba(255,255,255,.035);
}
html[data-theme="dark"] .mast .brand,
html[data-theme="dark"] .mast a.brand,
html[data-theme="dark"] .brand{color:#f7f7f7}
html[data-theme="dark"] .brand small,
html[data-theme="dark"] .mast .brand small{color:#ccc}
html[data-theme="dark"] .logo{
  color:#f3f3f3;background:#111;border-color:#ddd;
}
html[data-theme="dark"] .mast nav a{color:#eee;background:transparent}
html[data-theme="dark"] .mast nav a:hover{background:#35373a;color:#fff}
html[data-theme="dark"] .mast nav a.active{background:#efefef;color:#111}
html[data-theme="dark"] .theme-toggle{
  color:#f4f4f4;background:#1e2022;border-color:#bcbcbc;
}
html[data-theme="dark"] .theme-toggle:hover{background:#303235;color:#fff}
html[data-theme="dark"] .theme-toggle:focus-visible{outline-color:#eee}
html[data-theme="dark"] #navToggle,
html[data-theme="dark"] .mast #navToggle{
  background:#1e2022;color:#f5f5f5;border-color:#bcbcbc;
}
html[data-theme="dark"] .hero,
html[data-theme="dark"] .overview-intro{border-bottom-color:#c7c7c7}
html[data-theme="dark"] .sectionhead{border-bottom-color:#dedede}
html[data-theme="dark"] .panel,
html[data-theme="dark"] .panel.slim,
html[data-theme="dark"] .card-course,
html[data-theme="dark"] .topiccard,
html[data-theme="dark"] .stats .panel{
  background:#1b1d1f;color:#f4f4f4;border-color:#686868;
  box-shadow:1px 2px 0 rgba(255,255,255,.045);
}
html[data-theme="dark"] .stats .panel{border-top-color:#ddd}
html[data-theme="dark"] .overview-stats{
  border-color:#777;background:#1b1d1f;box-shadow:1px 2px 0 #292929;
}
html[data-theme="dark"] .overview-stat{
  border-color:#575757;color:#eee;
}
html[data-theme="dark"] .overview-stat b{color:#f7f7f7}
html[data-theme="dark"] .overview-stat:nth-child(-n+2){border-bottom-color:#555}
html[data-theme="dark"] .lesson,
html[data-theme="dark"] .test-accordion,
html[data-theme="dark"] .test-accordion-more{
  color:#f3f3f3;background:#1b1d1f;border-color:#777;box-shadow:1px 2px 0 #272727;
}
html[data-theme="dark"] .lesson summary{
  color:#f4f4f4;background:#232528;border-left-color:#f3f3f3;
}
html[data-theme="dark"] .lesson summary:hover{background:#303236}
html[data-theme="dark"] .lesson[open] summary{
  background:#ededed;color:#121212;border-left-color:#ededed;
}
html[data-theme="dark"] .lesson[open] summary .pill{
  color:#171717;background:#f4f4f4;border-color:#777;
}
html[data-theme="dark"] .lesson .body{background:#1b1d1f;color:#f5f5f5}
html[data-theme="dark"] .test-accordion summary:hover{background:#2b2e31}
html[data-theme="dark"] .test-accordion[open] summary{background:#303235;border-bottom-color:#676767}
html[data-theme="dark"] .accordion-content{background:#1b1d1f;color:#ededed}
html[data-theme="dark"] .accordion-content p{color:#e0e0e0}
html[data-theme="dark"] .accordion-index{
  color:#f5f5f5;background:#25272a;border-color:#ddd;
}
html[data-theme="dark"] .accordion-stats span{
  color:#e5e5e5;background:#292b2d;border-color:#656565;
}
html[data-theme="dark"] .accordion-chevron{color:#f3f3f3}
html[data-theme="dark"] .accordion-metrics{
  border-top-color:#777;color:#cecece;
}
html[data-theme="dark"] .accordion-metrics b{color:#fff}
html[data-theme="dark"] .btn,
html[data-theme="dark"] .btn.secondary,
html[data-theme="dark"] .btn.small,
html[data-theme="dark"] .btn.tiny{
  background:#25272a;color:#f6f6f6;border:1.5px solid #c6c6c6;
}
html[data-theme="dark"] .btn.primary,
html[data-theme="dark"] .btn.green{
  background:#f2f2f2;color:#111;border-color:#f2f2f2;
}
html[data-theme="dark"] .btn:hover:not(:disabled),
html[data-theme="dark"] .btn.small:hover:not(:disabled){
  background:#3a3c40;color:#fff;border-color:#eee;
}
html[data-theme="dark"] .btn.primary:hover:not(:disabled),
html[data-theme="dark"] .btn.green:hover:not(:disabled){
  color:#111;background:#d9d9d9;border-color:#d9d9d9;
}
html[data-theme="dark"] .btn:focus-visible,
html[data-theme="dark"] button:focus-visible,
html[data-theme="dark"] a:focus-visible,
html[data-theme="dark"] select:focus-visible{
  outline:3px solid #eee;outline-offset:3px;
}
html[data-theme="dark"] .pill,
html[data-theme="dark"] .tag{
  background:#292b2e;color:#ececec;border-color:#999;
}
html[data-theme="dark"] .pill.warn,
html[data-theme="dark"] .tag.warn{
  background:#303236;color:#e1e1e1;border-color:#999;
}
html[data-theme="dark"] .pill.good,
html[data-theme="dark"] .tag.good{
  background:#173b28;color:#b4f8cf;border-color:#72daa0;
}
html[data-theme="dark"] .pill.red,
html[data-theme="dark"] .tag.red{
  background:#4a2229;color:#ffd7db;border-color:#e26b79;
}
html[data-theme="dark"] .note,
html[data-theme="dark"] .note.warn{
  background:#26282b;color:#f0f0f0;border:1px solid #777;border-left:4px solid #eaeaea;
}
html[data-theme="dark"] .progress{background:#313337;border-color:#747474}
html[data-theme="dark"] .progress>div,
html[data-theme="dark"] .fill,
html[data-theme="dark"] .progress .fill{background:#ededed}
html[data-theme="dark"] .metric{border-bottom-color:#626262}
html[data-theme="dark"] .metric b,
html[data-theme="dark"] .metric strong{color:#f5f5f5}
html[data-theme="dark"] .formitem label{color:#f4f4f4}
html[data-theme="dark"] select,
html[data-theme="dark"] input,
html[data-theme="dark"] .formitem select{
  color:#f2f2f2;background:#252629;border-color:#999;
}
html[data-theme="dark"] option{color:#f2f2f2;background:#1c1e20}
html[data-theme="dark"] .quiz>.panel{border-color:#c8c8c8}
html[data-theme="dark"] .answer,
html[data-theme="dark"] .answer:disabled{
  color:#f2f2f2;background:#232528;border-color:#909090;
}
html[data-theme="dark"] .answer:hover:not(:disabled){
  color:#fff;background:#33363a;border-color:#ddd;
}
html[data-theme="dark"] .answer .letter{
  background:#393b3f;color:#f2f2f2;border-color:#a0a0a0;
}
html[data-theme="dark"] .answer.selected,
html[data-theme="dark"] .answer.selected:not(:disabled){
  background:#34373b;color:#fafafa;border-color:#fff;outline:2px solid #eee;
}
html[data-theme="dark"] .answer.selected .letter{
  background:#f1f1f1;color:#111;border-color:#f1f1f1;
}
/* Correct/incorrect retain meaningful green and red—not gold. */
html[data-theme="dark"] .answer.correct,
html[data-theme="dark"] .answer.correct:disabled,
html[data-theme="dark"] .answer.selected.correct,
html[data-theme="dark"] .answer.selected.correct:disabled{
  color:#c7f9d8;background:#123424;border:2px solid #78e0a2;outline:none;
}
html[data-theme="dark"] .answer.correct .letter,
html[data-theme="dark"] .answer.selected.correct .letter{
  background:#217e48;color:#fff;border-color:#77d79b;
}
html[data-theme="dark"] .answer.wrong,
html[data-theme="dark"] .answer.wrong:disabled,
html[data-theme="dark"] .answer.selected.wrong,
html[data-theme="dark"] .answer.selected.wrong:disabled{
  color:#ffd8db;background:#3d1d25;border:2px solid #e57586;outline:none;
}
html[data-theme="dark"] .answer.wrong .letter,
html[data-theme="dark"] .answer.selected.wrong .letter{
  background:#a13342;color:#fff;border-color:#eb8c99;
}
html[data-theme="dark"] .feedback{
  color:#d4ffe4;background:#143425;border-color:#73dba0;border-left:5px solid #7ce8aa;
}
html[data-theme="dark"] .feedback p{color:inherit}
html[data-theme="dark"] .feedback.bad{
  color:#ffe2e6;background:#381d24;border-color:#e97888;border-left:5px solid #e97888;
}
html[data-theme="dark"] .number-grid button{
  color:#eee;background:#242629;border-color:#888;
}
html[data-theme="dark"] .number-grid button.answered{
  color:#121212;background:#e3e3e3;border-color:#e3e3e3;
}
html[data-theme="dark"] .number-grid button.flagged{
  color:#fafafa;background:#45474a;border:2px dashed #eee;
}
html[data-theme="dark"] .number-grid button.now{outline-color:#f2f2f2}
html[data-theme="dark"] .score{color:#f6f6f6}
html[data-theme="dark"] .score.good{color:#8ef1b5}
html[data-theme="dark"] .score.mid{color:#efefef}
html[data-theme="dark"] .score.bad{color:#ffabb7}
html[data-theme="dark"] .review{
  color:#f5f5f5;background:#1c1e20;border-color:#888;
}
html[data-theme="dark"] .review summary{color:#f3f3f3}
html[data-theme="dark"] .review p{color:#e2e2e2}
html[data-theme="dark"] .review .right{color:#93f1b6}
html[data-theme="dark"] .review .wrong{color:#ffb1bc}
html[data-theme="dark"] .review-right{border-left-color:#7ae6a6}
html[data-theme="dark"] .review-wrong{border-left-color:#f48f9b}
html[data-theme="dark"] .planrow{
  background:#26282b;border-color:#7d7d7d;color:#fafafa;
}
html[data-theme="dark"] .planrow label{color:#f4f4f4}
html[data-theme="dark"] .planrow p{color:#d2d2d2}
html[data-theme="dark"] .planrow input{accent-color:#e5e5e5}
html[data-theme="dark"] .flashtile{
  color:#f4f4f4;background:#242628;border-color:#ddd;
}
html[data-theme="dark"] .flashtile b{color:#fafafa}
html[data-theme="dark"] .sources a,
html[data-theme="dark"] .source{
  color:#f3f3f3;background:#242628;border-color:#888;
}
html[data-theme="dark"] .sources a:hover{color:#fff;background:#35383b}
html[data-theme="dark"] .study-diagram{
  color:#e8e8e8;background:#1a1c1e;border-color:#a0a0a0;
}
html[data-theme="dark"] .study-diagram>div{background:#1a1c1e}
html[data-theme="dark"] .study-diagram svg{filter:invert(1)}
html[data-theme="dark"] .study-diagram figcaption{color:#cbcbcb}
html[data-theme="dark"] .study-diagram figcaption::after{color:#bababa}
html[data-theme="dark"] footer{
  color:#c4c4c4;background:#161819;border-top:4px double #d2d2d2;
}
html[data-theme="dark"] footer .wrap{color:#c4c4c4}
html[data-theme="dark"] footer a{color:#f5f5f5}
/* Donation gold stays unchanged across both themes; its background remains light. */
html[data-theme="dark"] .donate-header-link,
html[data-theme="dark"] .donate-header-link:hover,
html[data-theme="dark"] .payment-choice,
html[data-theme="dark"] .payment-choice:hover{
  color:#281b09;
}
html[data-theme="dark"] .donate-banner-copy strong{color:#201607}
html[data-theme="dark"] .donate-banner-copy span{color:#42371f}
html[data-theme="dark"] .donation-outro h2{color:#141414}
html[data-theme="dark"] .donation-outro p{color:#3c3424}
html[data-theme="dark"] .donation-outro p.donate-reassure{color:#555}
html[data-theme="dark"] .donate-kicker{color:#815919}
html[data-theme="dark"] .donate-merchant{color:#594621!important}
html[data-theme="dark"] .donation-outro a.payment-choice{color:#2b1e0a}
@media(max-width:900px){
  html[data-theme="dark"] .mast nav,
  html[data-theme="dark"] .mast nav.open{
    background:#202224;border-color:#d0d0d0;box-shadow:2px 3px 0 #393939;
  }
  html[data-theme="dark"] .mast nav a.active{background:#ededed;color:#111}
}
@media(max-width:700px){
  .theme-label{display:none}
  .theme-toggle{padding:6px 8px;min-height:36px;min-width:37px}
  .mastinner{gap:6px}
  .mast .brand{min-width:0;flex:1 1 auto}
  .mast .brand>span:last-child{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .mast .brand small{display:block;overflow:hidden;text-overflow:ellipsis;max-width:124px}
  .mast .logo{flex:none}
  html[data-theme="dark"] .donate-banner,
  html[data-theme="dark"] .donation-outro{background-color:#f4d38a}
}
@media(max-width:370px){
  .mastinner{padding-left:7px;padding-right:7px;gap:5px}
  .theme-toggle{min-width:33px;padding:5px 6px}
  .mast .brand small{max-width:92px}
}
@media print{
  .theme-toggle{display:none!important}
  html[data-theme="dark"],html[data-theme="dark"] body{
    color-scheme:light;color:#000!important;background:#fff!important;background-image:none!important;
  }
  html[data-theme="dark"] h1,html[data-theme="dark"] h2,
  html[data-theme="dark"] h3,html[data-theme="dark"] h4,
  html[data-theme="dark"] p,html[data-theme="dark"] li,
  html[data-theme="dark"] .panel,html[data-theme="dark"] .lesson,
  html[data-theme="dark"] .review,html[data-theme="dark"] .qtext,
  html[data-theme="dark"] .answer{
    color:#000!important;background:#fff!important;border-color:#444!important;
  }
  html[data-theme="dark"] .study-diagram{background:#fff!important}
  html[data-theme="dark"] .study-diagram svg{filter:none!important}
}

.continue-strip{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:15px;margin:16px 0 19px;background:var(--surface);border:2px solid var(--ink);border-radius:4px}.continue-strip>div{display:flex;flex-direction:column;gap:3px}.continue-strip strong{font:850 18px Georgia,serif;color:var(--ink)}.continue-strip span{font:13px system-ui,sans-serif;color:var(--muted)}.continue-strip .btn{flex:none}
.mastinner{flex-wrap:nowrap!important;gap:6px!important}.mast .brand{flex:1 1 auto;min-width:0;font-size:clamp(11px,2.7vw,16px)!important}.mast .brand>span:last-child{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mast .brand small{font-size:clamp(6px,1.4vw,9px)!important;max-width:100%!important}.mast .logo{flex:none;width:32px;height:32px}.mast .donate-header-link{margin-left:0;flex:none;padding:7px 8px;font-size:12px}.mast #navToggle{flex:none;margin:0}.mast .theme-toggle{flex:none;margin:0}
@media(max-width:900px){.mast nav{position:absolute;top:100%;left:8px;right:8px}.mastinner{position:relative}.mast #navToggle{display:block}}
@media(max-width:550px){.mastinner{padding:7px 8px!important}.mast .brand{font-size:11px!important}.mast .logo{width:28px;height:28px}.mast .donate-header-link{padding:6px 7px;font-size:11px}.mast #navToggle{font-size:17px;padding:4px 6px}.theme-toggle{min-width:30px;padding:4px 5px}.continue-strip{padding:12px;gap:8px}.continue-strip strong{font-size:15px}.continue-strip span{font-size:11px}.continue-strip .btn{padding:9px;font-size:12px}}

/* Saved progress and scored completion status */
.status-mark{font-weight:850!important}
.status-passed{color:#17693d!important;background:#e3f4e8!important;border:1px solid #3a965e!important}
.status-nearly{color:#705200!important;background:#fff4cf!important;border:1px solid #ad8930!important}
.status-review{color:#a02e39!important;background:#fff0f0!important;border:1px solid #bc5a64!important}
.category-passed,.lesson-passed{border-left:5px solid #22834b!important}
.category-nearly,.lesson-nearly{border-left:5px solid #b08a30!important}
.category-review,.lesson-review{border-left:5px solid #b13e4b!important}
.lesson-studied{border-left:4px solid #777!important}
html[data-theme="dark"] .status-passed{background:#193d2b!important;color:#aaf5c9!important;border-color:#65c68b!important}
html[data-theme="dark"] .status-nearly{background:#3c3218!important;color:#f4d887!important;border-color:#c4a452!important}
html[data-theme="dark"] .status-review{background:#47232b!important;color:#ffbcc6!important;border-color:#df7885!important}
html[data-theme="dark"] .category-passed,html[data-theme="dark"] .lesson-passed{border-left-color:#66cf93!important}
html[data-theme="dark"] .category-nearly,html[data-theme="dark"] .lesson-nearly{border-left-color:#d5b566!important}
html[data-theme="dark"] .category-review,html[data-theme="dark"] .lesson-review{border-left-color:#e78390!important}

/* Each study module and practice test can be resumed independently. */
.saved-session-list{margin:0 0 17px;background:var(--surface);border:1.5px solid var(--border);border-radius:3px}
.saved-session-list summary{cursor:pointer;padding:13px 15px;font:800 13px/1.4 system-ui,sans-serif;color:var(--ink)}
.saved-session-items{border-top:1px solid var(--border);padding:8px 13px}
.saved-session-items>div{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 0;border-bottom:1px solid var(--border)}
.saved-session-items>div:last-child{border-bottom:0}
.saved-session-items span{color:var(--ink);font:700 13px/1.45 system-ui,sans-serif}
.saved-session-items small{display:block;font-size:11px;color:var(--muted)}
@media(max-width:550px){.saved-session-items>div{gap:7px}.saved-session-items .btn{padding:7px 10px;flex:none}}

/* Fluid landscape and desktop spacing: avoid wrapped navigation and oversized type. */
.mastinner{width:100%;max-width:1440px;box-sizing:border-box;padding-inline:clamp(10px,1.5vw,22px)!important;gap:clamp(5px,.75vw,13px)!important}
.mast .brand{font-size:clamp(12px,1.05vw,17px)!important;min-width:0;flex:0 1 auto}
.mast .brand>span:last-child{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.mast .brand small{font-size:clamp(7px,.65vw,10px)!important;letter-spacing:clamp(.2px,.055vw,1px)!important;max-width:none!important}
.mast .logo{width:clamp(30px,2.6vw,40px);height:clamp(30px,2.6vw,40px)}
.mast nav{min-width:0;flex:1 1 auto;align-items:center;justify-content:flex-end;gap:clamp(2px,.25vw,5px)}
.mast nav a{font-size:clamp(11px,.8vw,13px)!important;line-height:1.1!important;white-space:nowrap!important;padding:clamp(6px,.6vw,9px) clamp(5px,.65vw,11px)!important}
.mast .theme-toggle{min-width:0;padding:8px 10px}
.mast .donate-header-link{white-space:nowrap;min-width:0;padding:9px 12px}
.donate-banner-inner{width:100%;max-width:1440px;box-sizing:border-box;padding:12px clamp(12px,2vw,24px);gap:clamp(9px,1vw,16px)}
.donate-banner-copy{flex:1 1 380px;min-width:0}
.donate-banner-copy strong{font-size:clamp(13px,1.3vw,18px);line-height:1.25}
.donate-banner-copy span{font-size:clamp(11px,1vw,14px);line-height:1.35}
.donate-banner .payment-choice-row{flex:0 1 580px;min-width:0;max-width:100%;margin:0}
.donate-banner .payment-choice{min-height:42px}
.overview-intro h1{font-size:clamp(29px,3.5vw,50px)!important;line-height:1.12}
.overview-intro p{font-size:clamp(14px,1.4vw,17px)!important;line-height:1.5;max-width:900px}
.wrap{max-width:1280px;width:100%;box-sizing:border-box;padding-inline:clamp(12px,2vw,26px)}
@media(min-width:901px) and (max-width:1360px){
 .mast nav a{font-size:11px!important;padding:7px 5px!important}
 .mast .brand{font-size:12px!important}
 .mast .brand small{font-size:7px!important}
 .mast .theme-toggle{padding:7px 6px}
 .mast .donate-header-link{padding:7px 9px}
 .donate-banner-inner{flex-wrap:nowrap}
 .donate-banner-copy{flex:1 1 45%}
 .donate-banner .payment-choice-row{flex:1 1 42%}
 .donate-banner .payment-choice{padding:8px 6px;font-size:12px}
}
@media(max-width:1500px){
 .mast nav{display:none!important;position:absolute;top:100%;left:8px;right:8px;z-index:40;background:var(--surface);border:1px solid var(--border);padding:10px;flex-direction:column;align-items:stretch}
 .mast nav.open{display:flex!important}
 .mast nav a{white-space:normal!important;font-size:14px!important;padding:12px!important}
 .mast #navToggle{display:block!important}
 .mastinner{position:relative}
 .mast .brand{flex:1 1 auto}
 .donate-banner-inner{flex-wrap:wrap}
 .donate-banner-copy{flex:1 1 calc(100% - 50px)}
 .donate-banner .payment-choice-row{flex:1 1 100%;width:100%;max-width:100%;margin:0}
}
@media(max-width:650px){
 .mastinner{padding:7px 8px!important}
 .mast .brand{font-size:11px!important}
 .mast .brand small{font-size:7px!important;max-width:100%!important}
 .mast .logo{width:29px;height:29px}
 .mast .theme-toggle{min-width:34px;padding:5px 6px}
 .mast .donate-header-link{font-size:12px;padding:7px 8px}
 .mast #navToggle{font-size:17px;padding:5px 7px}
 .donate-banner-inner{padding:9px 10px}
 .donate-banner-copy{flex:1 1 100%}
 .donate-banner .payment-choice-row{gap:6px}
 .donate-banner .payment-choice{padding:8px 4px;font-size:12px;min-height:39px}
}

/* 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 language menu shares the existing print toolbar. */
.qp-print-tools{gap:8px;align-items:stretch}
.cdl-language{position:relative;display:flex;flex:0 1 auto;min-width:0}
.cdl-language-toggle,.qp-print-trigger{min-height:42px}
.cdl-language-toggle{white-space:nowrap;color:var(--ink)}
.cdl-language-toggle .cdl-chevron{width:11px;height:11px}
.cdl-language-menu[hidden]{display:none!important}
.cdl-language-menu{position:absolute;right:0;top:calc(100% + 7px);width:260px;max-width:calc(100vw - 28px);z-index:100;background:var(--surface,#fff);color:var(--ink,#101010);border:1px solid var(--line,#bbb);border-radius:8px;padding:6px;box-shadow:0 6px 20px #0002;text-align:left}
.cdl-language-menu button{display:flex;align-items:center;justify-content:space-between;width:100%;min-height:44px;border:0;border-radius:4px;padding:9px 12px;background:transparent;color:inherit;font:500 14px/1.5 system-ui,sans-serif;text-align:left;cursor:pointer}
.cdl-language-menu button[aria-checked="true"]{background:var(--soft,#eee);font-weight:750}
.cdl-language-menu button[aria-checked="true"]::after{content:'✓';margin-left:8px}
.cdl-language-menu button:hover,.cdl-language-menu button:focus-visible{background:var(--soft,#eee);outline:2px solid var(--ink,#101010);outline-offset:-2px}
.cdl-language-note{margin:6px 5px 3px;padding:8px 6px 3px;border-top:1px solid var(--line,#bbb);font:400 11px/1.5 system-ui,sans-serif;color:var(--muted,#555)}
html:lang(hi) body{font-family:Arial,'Nirmala UI','Mangal',system-ui,sans-serif}
html:lang(hi) :is(h1,h2,h3,.qtext,.hero p,.overview-intro p){line-height:1.55}
html:not(:lang(en)) .mast .brand small{letter-spacing:.04em}
html:not(:lang(en)) .mast .brand span{min-width:0}
html:not(:lang(en)) .mast .brand small{white-space:normal}
@media(max-width:650px){.qp-print-tools .qp-print-trigger{font-size:11px;min-height:42px}.cdl-language{position:static}.cdl-language-menu{right:14px;left:auto}.qp-print-tools>[data-qp-print]{max-width:65%;text-align:left}.qp-print-tools{position:relative;gap:7px}}
@media print{.cdl-language,.cdl-language-menu{display:none!important}}

/* Alphabetical English labels with native names aligned on the right. */
.cdl-language-menu button{display:grid;grid-template-columns:minmax(0,1fr) auto 16px;column-gap:10px}
.cdl-language-native{text-align:right;font-weight:500}
.cdl-language-menu button::after{content:'';display:block;width:16px;text-align:right}
.cdl-language-menu button[aria-checked="true"]::after{content:'✓';margin-left:0}

/* Curriculum coverage and transparent handling of revised saved work. */
.content-update-note{margin:0 0 24px;border:2px solid var(--ink);padding:16px;background:var(--soft)}
.content-update-note p{margin:8px 0 12px;max-width:85ch}
.coverage-track{border-top:1px solid var(--line);padding:12px 0}
.requirement-row{border-top:1px solid var(--line);padding:14px 0}
.coverage-track summary{cursor:pointer;font-weight:750;line-height:1.6}
.coverage-track li{margin:12px 0;line-height:1.6}
.coverage-track li span{display:block}
.review-updated{border:2px dashed var(--ink)}
.review-updated h4{font-size:1rem;margin:18px 0 8px}
@media print{.content-update-note,.progress-storage-note{display:none!important}.coverage-track{break-inside:auto}.coverage-track li{break-inside:avoid}html.qp-palette .coverage-track:not([open])>:not(summary){display:none!important}html.qp-palette .coverage-track:not([open])::details-content{display:none!important;content-visibility:hidden!important}}

/* California road-sign reference */
.road-signs-entry{margin-top:22px;border-top:4px solid var(--ink)}
.road-signs-hero{padding:22px 0 10px}
.road-signs-hero>p{max-width:850px;font-family:Georgia,serif;font-size:19px}
.road-sign-search{max-width:760px;margin:24px 0 13px}
.road-sign-search>label{display:block;font-size:13px;font-weight:900;letter-spacing:.08em;text-transform:uppercase;margin-bottom:7px}
.road-sign-search>div{display:flex;align-items:center;gap:9px;border:2px solid var(--ink);background:var(--paper);padding:8px 10px;box-shadow:3px 3px 0 var(--line)}
.road-sign-search>div>span{font-size:26px;line-height:1;transform:rotate(-15deg)}
.road-sign-search input{min-width:0;flex:1;border:0;outline:0;background:transparent;color:var(--ink);font-size:18px;padding:7px 2px}
.road-sign-search .btn[hidden]{display:none!important}
.road-sign-filters{display:flex;gap:7px;flex-wrap:wrap;margin:14px 0}
.road-sign-filters button{border:1px solid var(--line);background:var(--paper);color:var(--ink);padding:7px 11px;font-size:12px;font-weight:850;border-radius:99px}
.road-sign-filters button:hover,.road-sign-filters button.active{background:var(--ink);color:var(--paper);border-color:var(--ink)}
.road-sign-count{font-size:13px;color:var(--muted);margin:10px 0}
.road-sign-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:18px 0 38px}
.road-sign-card{display:grid;grid-template-columns:132px minmax(0,1fr);gap:17px;align-items:center;background:var(--paper);border:1.5px solid var(--line);box-shadow:2px 3px 0 var(--soft);padding:15px;min-height:180px}
.road-sign-art{min-height:145px;display:grid;place-items:center;background:var(--tint);border:1px solid var(--line);padding:8px}
.road-sign-art svg{width:126px;height:126px;max-width:100%}
.road-sign-copy h2{font-family:Georgia,serif;font-size:23px;margin:7px 0 8px}
.road-sign-art{background:#fff}
.road-sign-design-link{display:flex;flex-direction:column;gap:10px;text-align:center;padding:8px;font-size:12px;overflow-wrap:anywhere;color:#111}
.road-sign-source{display:inline-block;font-size:12px;margin-top:10px;font-weight:700}
.road-sign-more{text-align:center;margin:20px 0 35px}
.road-sign-source-note{border-top:1px solid var(--line);padding:20px 0;margin-top:30px}
.road-sign-source-note summary{cursor:pointer;font-weight:850}
.road-sign-source-note p{max-width:850px}
.road-sign-result-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
#qp-road-sign-guide{display:none}
.road-sign-copy p{margin:0;color:var(--muted);font-size:14px;line-height:1.45}
.road-sign-meta{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:11px;font-weight:900;letter-spacing:.07em;text-transform:uppercase}
.road-sign-meta code{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:11px;border:1px solid var(--line);padding:3px 5px;background:var(--tint);color:var(--ink)}
.road-sign-empty{grid-column:1/-1;text-align:center;padding:45px}
.road-sign-empty button{border:0;background:transparent;text-decoration:underline;font-weight:850;cursor:pointer;color:inherit}
.official-sign-charts{border-top:5px double var(--ink);padding-top:30px}
.official-sign-charts .sectionhead p{max-width:790px}
.sign-chart-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
.sign-chart-list details{border:1px solid var(--line);background:var(--paper)}
.sign-chart-list summary{list-style:none;display:grid;grid-template-columns:44px 1fr auto;align-items:center;gap:10px;min-height:58px;padding:9px 13px;cursor:pointer}
.sign-chart-list summary::-webkit-details-marker{display:none}
.sign-chart-list summary>span:first-child{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-weight:900;color:var(--muted)}
.sign-chart-list summary>span:last-child{font-size:20px;transition:.2s transform}
.sign-chart-list details[open] summary>span:last-child{transform:rotate(180deg)}
.sign-chart-list details>div{border-top:1px solid var(--line);padding:7px;background:#eee;overflow:auto}
.sign-chart-list img{display:block;width:100%;height:auto;background:#fff}

@media(max-width:760px){
 .road-sign-grid,.sign-chart-list{grid-template-columns:1fr}
 .road-sign-card{grid-template-columns:104px minmax(0,1fr);gap:12px;padding:12px;min-height:150px}
 .road-sign-art{min-height:112px;padding:5px}.road-sign-art svg{width:100px;height:100px}
 .road-sign-copy h2{font-size:20px}.road-sign-copy p{font-size:13px}
 .road-sign-meta{align-items:flex-start;flex-direction:column;gap:4px}
}
@media(max-width:410px){
 .road-sign-card{grid-template-columns:88px minmax(0,1fr)}
 .road-sign-art{min-height:95px}.road-sign-art svg{width:84px;height:84px}
 .road-sign-copy h2{font-size:18px}
 .road-sign-search input{font-size:16px}
}
@media print{
 body.qp-printing-road-signs>:not(#qp-road-sign-guide){display:none!important}
 body.qp-printing-road-signs>#qp-road-sign-guide{display:block!important;margin:0!important;padding:0!important;background:#fff!important;color:#111!important}
 #qp-road-sign-guide *{color:#111!important;box-shadow:none!important;text-shadow:none!important}
 #qp-road-sign-guide .road-sign-art{background:#fff!important;border:0!important;padding:0!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}
 #qp-road-sign-guide .road-sign-art svg{overflow:hidden;-webkit-print-color-adjust:exact;print-color-adjust:exact}
 #qp-road-sign-guide .road-sign-source{display:none!important}
 #qp-road-sign-guide .road-sign-print-header{border-bottom:1px solid #111;padding-bottom:10pt;margin-bottom:12pt}
 #qp-road-sign-guide .road-sign-print-header h1{font:700 22pt Georgia,serif;margin:0 0 6pt}
 #qp-road-sign-guide .road-sign-print-header p{font:10pt Arial,sans-serif;margin:4pt 0}
 #qp-road-sign-guide .road-sign-print-sources{break-before:page;font:10pt Arial,sans-serif}
 .road-signs-hero{padding-top:0}.road-sign-search,.road-sign-filters,.official-sign-charts,.road-sign-empty{display:none!important}
 .road-sign-grid{grid-template-columns:repeat(2,1fr);gap:8pt;margin:8pt 0}
 .road-sign-card{break-inside:avoid;box-shadow:none!important;border:1px solid #777!important;grid-template-columns:1.1in 1fr;min-height:1.35in;padding:7pt}
 .road-sign-art{min-height:1in;background:#fff!important}.road-sign-art svg{width:.9in;height:.9in}
 .road-sign-copy h2{font-size:14pt;margin:2pt 0}.road-sign-copy p{font-size:9pt;line-height:1.3}.road-sign-meta{font-size:7.5pt}
}
