:root{--bg:#f8f7f3;--paper:#fff;--ink:#20221f;--muted:#62675e;--line:#dcded5;--soft:#efeee7;--accent:#584588;--tint:#f0edf7;--gold:#d8b14a;--good:#256341;--good-bg:#eaf4eb;--bad:#9c3232;--bad-bg:#fbebea;--amber:#78581a;--amber-bg:#fff3d8;--shadow:0 12px 40px #20221f08;color-scheme:light}
:root[data-theme=dark]{--bg:#161815;--paper:#1f221e;--ink:#f0f1ea;--muted:#b2b8aa;--line:#3b4137;--soft:#282d25;--accent:#c2aff2;--tint:#30283e;--gold:#edc764;--good:#a0d8ad;--good-bg:#203c2b;--bad:#ffb4af;--bad-bg:#432726;--amber:#f0d18b;--amber-bg:#3e3420;--shadow:none;color-scheme:dark}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:88px}body{margin:0;background:var(--bg);color:var(--ink);font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:16px;line-height:1.6}a{color:inherit;text-underline-offset:4px}button,input,select{font:inherit}button,a,input,select,summary{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:default;opacity:.5}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid var(--accent);outline-offset:4px}button{color:inherit}h1,h2,h3,p{margin:0}h1,h2,h3{line-height:1.15;letter-spacing:-.035em}h1{font-size:clamp(2.6rem,5.7vw,4.8rem);font-weight:650}h2{font-size:clamp(1.65rem,3vw,2.2rem);font-weight:640}h3{font-size:1.25rem;font-weight:650}p{color:var(--muted)}small{font-size:.79rem;color:var(--muted)}.skip{position:fixed;top:-80px;left:20px;background:var(--paper);padding:14px;z-index:100}.skip:focus{top:10px}.mast{position:sticky;top:0;z-index:20;border-bottom:1px solid var(--line);background:var(--bg)}.mast-inner{max-width:1240px;margin:auto;display:flex;align-items:center;gap:24px;padding:16px 32px}.brand{display:flex;align-items:center;gap:11px;text-decoration:none;font-size:1.2rem;font-weight:750;letter-spacing:-.05em;white-space:nowrap}.brand svg{width:34px;height:39px}.brand small{display:block;font-size:.57rem;letter-spacing:.15em;font-weight:550;margin-top:1px}.mast nav{display:flex;align-items:center;gap:24px;margin-left:auto;font-size:.83rem}.mast nav button{border:0;background:transparent;padding:10px 0;border-bottom:2px solid transparent;font-weight:550}.mast nav button[aria-current=page]{border-color:var(--ink)}.mast nav a{text-decoration:none}.icon-btn{border:1px solid var(--line);border-radius:5px;background:transparent;padding:7px 10px;font-size:.8rem;white-space:nowrap}.menu-toggle{display:none}main{max-width:1180px;padding:0 32px;margin:0 auto}.eyebrow{display:block;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:.13em;font-size:.7rem;font-weight:600;color:var(--accent)}.hero{display:grid;grid-template-columns:1.25fr .85fr;gap:50px;padding:64px 0 46px;align-items:center}.hero h1{margin:19px 0 22px}.hero h1 em{font-family:Georgia,serif;font-weight:400;color:var(--accent)}.hero p{max-width:570px;font-size:1rem}.hero-actions{display:flex;gap:10px;flex-wrap:wrap;margin:26px 0 18px}.button{display:inline-flex;align-items:center;justify-content:center;gap:10px;border:1px solid var(--ink);border-radius:5px;padding:11px 18px;background:var(--ink);color:var(--bg);text-decoration:none;font-size:.86rem;font-weight:600;min-height:45px;line-height:1.35}.button:hover{filter:brightness(.94)}.button.secondary{background:transparent;color:var(--ink);border-color:var(--line)}.button.accent{background:var(--accent);border-color:var(--accent);color:var(--paper)}[data-theme=dark] .button.accent{color:#161815}.button.small{padding:9px 12px;min-height:40px;font-size:.78rem}.button.link{padding:8px 0;border:0;background:transparent;color:var(--ink);text-decoration:underline}.badges{display:flex;flex-wrap:wrap;gap:8px 20px;font-family:ui-monospace,monospace;font-size:.68rem;color:var(--muted)}.badges span:before{content:'+';margin-right:7px;color:var(--accent)}.blueprint{position:relative;border:1px solid var(--line);padding:24px 20px 12px;background:var(--soft);background-image:linear-gradient(var(--line) 1px,transparent 1px),linear-gradient(90deg,var(--line) 1px,transparent 1px);background-size:24px 24px;border-radius:4px}.blueprint svg{width:100%;height:270px;color:var(--ink)}.blueprint .label{font-family:ui-monospace,monospace;font-size:.67rem;background:var(--bg);padding:4px 7px;display:inline-block}.blueprint .bottom{display:flex;justify-content:space-between;gap:8px;align-items:center;margin-top:7px}.blueprint strong{font-size:1.7rem;letter-spacing:-.06em;font-weight:650}.rule-strip{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-bottom:40px}.rule-strip>div{padding:17px 20px;border-right:1px solid var(--line);display:flex;align-items:center;gap:12px}.rule-strip>div:first-child{padding-left:0}.rule-strip>div:last-child{border:0}.rule-strip strong{font-size:1.65rem;letter-spacing:-.05em;white-space:nowrap}.rule-strip span{font-size:.73rem;line-height:1.4;color:var(--muted)}.resume-banner{margin:30px 0 18px;border:1px solid var(--accent);border-radius:5px;background:var(--tint);padding:20px 23px;display:flex;align-items:center;justify-content:space-between;gap:20px}.resume-banner h3{font-size:1.1rem;margin-bottom:5px}.resume-banner p{font-size:.85rem}.section-head{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;margin:34px 0 22px}.section-head .eyebrow{margin-bottom:9px}.section-head p{font-size:.85rem;max-width:420px}.section-head h2{font-size:2rem}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.topic-card{display:flex;flex-direction:column;border:1px solid var(--line);border-top:3px solid var(--ink);border-radius:5px;background:var(--paper);padding:24px;position:relative;box-shadow:var(--shadow)}.topic-card .number{font-family:ui-monospace,monospace;font-size:.72rem;color:var(--muted)}.topic-top{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:22px}.weight{font-family:ui-monospace,monospace;font-size:.7rem;border:1px solid var(--line);border-radius:3px;padding:2px 7px}.topic-card h3{font-size:1.3rem;max-width:240px;margin-bottom:12px;min-height:48px}.topic-card p{font-size:.82rem;margin-bottom:20px}.topic-card .card-actions{margin-top:auto;display:flex;flex-wrap:wrap;gap:8px}.topic-card.complete{border-top-color:var(--good)}.topic-card.developing{border-top-color:var(--amber)}.topic-card.needs-work{border-top-color:var(--bad)}.score-line{font-size:.74rem;display:flex;align-items:center;gap:7px;margin-bottom:17px;color:var(--muted);min-height:26px}.status{display:inline-flex;align-items:center;gap:5px;font-size:.69rem;font-weight:650;padding:3px 7px;border-radius:3px}.status.good{color:var(--good);background:var(--good-bg)}.status.bad{color:var(--bad);background:var(--bad-bg)}.status.amber{color:var(--amber);background:var(--amber-bg)}.status.neutral{background:var(--soft);color:var(--muted)}.mock-card{border-top-color:var(--accent);background:var(--tint)}.mock-card .eyebrow{margin-bottom:18px}.text-note{font-size:.79rem;line-height:1.6;padding:15px 0;color:var(--muted)}.info-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin:35px 0 50px}.panel{border:1px solid var(--line);border-radius:5px;background:var(--paper);padding:25px}.panel h3{margin-bottom:12px}.panel p{font-size:.87rem;margin-top:9px}.panel .button{margin-top:16px}.panel ul{padding-left:20px;font-size:.85rem;color:var(--muted)}.support{max-width:1116px;margin:20px auto 0;padding:30px;border:1px solid var(--gold);border-radius:5px;display:grid;grid-template-columns:1fr auto;gap:18px 40px}.support .eyebrow{color:var(--amber)}.support h2{font-size:1.5rem;margin:9px 0}.support p{font-size:.86rem;max-width:620px}.paylinks{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.paylinks a{background:var(--gold);color:#28220f;text-decoration:none;border:1px solid #9a7932;border-radius:4px;padding:10px 13px;font-size:.78rem;font-weight:650}.support small{grid-column:1/-1}footer{max-width:1180px;margin:0 auto;padding:34px 32px 40px;display:grid;grid-template-columns:1fr 2fr;gap:12px 30px;font-size:.72rem}footer p{font-size:.72rem}.footer-brand{font-size:1rem;font-weight:700;text-decoration:none;grid-row:1/3}.related{grid-column:2;display:flex;flex-wrap:wrap;gap:20px}.page-head{margin:40px 0 28px}.page-head h1{font-size:clamp(2rem,5vw,3.2rem);margin:12px 0}.page-head p{max-width:720px;font-size:.92rem}.toolbar{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.tools{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin:20px 0}.tools label{font-size:.85rem}.tools select{padding:9px 12px;border:1px solid var(--line);background:var(--paper);border-radius:4px;max-width:100%}.quiz-layout{display:grid;grid-template-columns:minmax(0,1fr) 235px;gap:22px;margin:25px 0 45px;align-items:start}.quiz-meta{display:flex;align-items:center;justify-content:space-between;gap:15px;font-size:.78rem;margin-bottom:12px;color:var(--muted)}.track{height:5px;background:var(--line);border-radius:5px;margin-bottom:28px;overflow:hidden}.track span{display:block;height:100%;background:var(--accent)}.question-title{font-size:clamp(1.3rem,3vw,1.8rem);line-height:1.4;letter-spacing:-.02em;margin:16px 0 24px;scroll-margin-top:110px}.quiz-panel{padding:28px}.choices{border:0;padding:0;margin:0;display:grid;gap:10px;min-width:0}.choice{display:flex;align-items:center;gap:13px;text-align:left;border:1px solid var(--line);border-radius:5px;background:var(--paper);padding:15px;font-size:.91rem;width:100%;line-height:1.5}.choice .letter{display:inline-flex;align-items:center;justify-content:center;flex:0 0 28px;height:28px;border:1px solid var(--line);border-radius:4px;font-family:ui-monospace,monospace;font-size:.77rem}.choice[aria-pressed=true]{border-color:var(--accent);background:var(--tint)}.choice.correct{background:var(--good-bg);border-color:var(--good);color:var(--good)}.choice.incorrect{background:var(--bad-bg);border-color:var(--bad);color:var(--bad)}.choice:disabled{opacity:1}.feedback{margin-top:23px;padding:19px;border-left:3px solid var(--good);background:var(--good-bg);border-radius:3px;font-size:.88rem}.feedback.incorrect{border-color:var(--bad);background:var(--bad-bg)}.feedback strong{display:block;margin-bottom:8px}.feedback p{color:var(--ink)}.feedback .source{display:block;margin-top:12px;font-size:.76rem;color:var(--muted)}.quiz-actions{display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap;margin-top:25px}.question-tools{display:flex;gap:14px;justify-content:space-between;align-items:center;margin-bottom:14px}.question-tools button{background:none;border:0;font-size:.78rem;padding:5px 0}.question-tools button[aria-pressed=true]{color:var(--accent);font-weight:700}.navigator{padding:20px}.navigator h3{font-size:1rem;letter-spacing:-.02em}.navigator p{font-size:.74rem;margin:10px 0}.question-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:5px;max-height:400px;overflow:auto;margin:14px 0;padding:3px}.qjump{border:1px solid var(--line);border-radius:3px;background:var(--paper);font-family:ui-monospace,monospace;font-size:.67rem;padding:6px 0;min-height:32px}.qjump.answered{background:var(--tint);border-color:var(--accent)}.qjump.flagged{box-shadow:inset 0 -3px var(--gold)}.qjump.current{outline:2px solid var(--ink);outline-offset:0}.quiz-hint{font-size:.73rem;margin-top:15px}.test-footer{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;margin-top:25px}.test-footer small{font-size:.7rem}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.result-hero{display:grid;grid-template-columns:auto 1fr;gap:30px;align-items:center;padding:30px;margin-bottom:25px}.result-number{font-size:4.6rem;font-weight:650;line-height:1;letter-spacing:-.065em;color:var(--accent)}.result-hero h2{margin-bottom:9px}.result-hero p{font-size:.87rem}.result-hero .toolbar{margin-top:18px}.breakdown{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;margin-bottom:25px}.breakdown>div{background:var(--paper);border:1px solid var(--line);border-radius:4px;padding:14px}.breakdown strong{font-size:1.4rem;display:block}.breakdown span{font-size:.71rem;color:var(--muted);display:block}.review-item{margin:12px 0;border:1px solid var(--line);border-radius:4px;background:var(--paper);padding:20px}.review-item h3{font-size:1rem;line-height:1.5;letter-spacing:-.015em;margin:10px 0}.review-item p{font-size:.84rem;margin-top:8px}.review-item .answer{color:var(--good)}.review-item .wrong{color:var(--bad)}.review-item .source{display:block;font-size:.74rem;margin-top:12px}.notes{display:grid;grid-template-columns:1.1fr 1fr;gap:20px;align-items:start;margin-bottom:30px}.notes details{border:1px solid var(--line);border-radius:5px;background:var(--paper);margin-bottom:12px;padding:18px}.notes summary{cursor:pointer;font-weight:650;font-size:.93rem}.notes details p{font-size:.85rem;margin:12px 0}.notes details ul{font-size:.85rem;color:var(--muted);padding-left:20px}.notes details li{margin:9px 0}.formula{background:var(--soft);padding:12px;border-radius:4px;font-family:ui-monospace,monospace;font-size:.78rem;margin:14px 0}.calc-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:18px 0}.calc-grid label{font-size:.77rem;color:var(--muted)}.calc-grid input{display:block;width:100%;border:1px solid var(--line);background:var(--bg);color:var(--ink);border-radius:4px;padding:9px;margin-top:5px}.calc-result{font-size:2rem;color:var(--accent);letter-spacing:-.04em;margin-top:10px}.reference-list{padding:0;list-style:none}.reference-list li{padding:14px 0;border-bottom:1px solid var(--line)}.reference-list a{font-weight:600;font-size:.85rem}.reference-list small{display:block;margin-top:5px}.table-wrap{overflow-x:auto}table{border-collapse:collapse;width:100%;text-align:left;font-size:.82rem}td,th{padding:13px 10px;border-bottom:1px solid var(--line)}th{font-size:.7rem;color:var(--muted);font-weight:600}td:first-child,th:first-child{padding-left:0}.empty{padding:42px 20px;text-align:center;color:var(--muted)}.storage-warning{padding:12px;text-align:center;background:var(--amber-bg);color:var(--amber);font-size:.85rem}.study-callout{padding:18px 20px;border-left:3px solid var(--accent);background:var(--tint);border-radius:3px;font-size:.85rem;margin:20px 0}.study-callout p{margin-top:6px}.label-muted{font-size:.72rem;color:var(--muted)}dialog{border:1px solid var(--line);border-radius:8px;background:var(--paper);color:var(--ink);max-width:480px;width:calc(100% - 32px);padding:28px}dialog::backdrop{background:#14181399}dialog h2{font-size:1.5rem;margin-bottom:14px}dialog p{font-size:.9rem}dialog .toolbar{margin-top:23px}#toast{position:fixed;bottom:20px;left:50%;transform:translateX(-50%);z-index:100;background:var(--ink);color:var(--bg);border-radius:4px;padding:10px 18px;display:none;font-size:.85rem;max-width:90vw}#toast.show{display:block}
@media(min-width:1450px){.hero{padding-top:75px}}
@media(max-width:1050px){.mast-inner{gap:16px}.mast nav{gap:16px}.brand{font-size:1.05rem}.brand small{font-size:.5rem}.mast nav{font-size:.78rem}.hero{gap:25px}.cards{grid-template-columns:repeat(2,1fr)}.support{margin-left:32px;margin-right:32px;grid-template-columns:1fr}.quiz-layout{grid-template-columns:minmax(0,1fr) 200px}.navigator{padding:15px}.related{gap:12px}}
@media(max-width:760px){.mast-inner{padding:12px 20px;gap:10px}.brand{font-size:1.06rem}.brand small{font-size:.49rem}.brand svg{width:28px;height:34px}.mast nav{display:none;position:absolute;top:100%;left:0;right:0;padding:12px 20px;background:var(--bg);border-bottom:1px solid var(--line);align-items:flex-start;gap:10px;flex-direction:column}.mast nav.open{display:flex}.mast nav button,.mast nav a{padding:9px;font-size:.9rem}.mast #theme{margin-left:auto}.menu-toggle{display:block}.hero{grid-template-columns:1fr;padding:35px 0 28px;gap:25px}.hero h1{font-size:clamp(2.8rem,10vw,4.2rem);margin:14px 0 17px}.hero p{font-size:.95rem}.blueprint{display:none}.rule-strip{grid-template-columns:repeat(2,1fr);margin-bottom:26px}.rule-strip>div{padding:15px 12px}.rule-strip>div:nth-child(2){border-right:0}.rule-strip>div:nth-child(n+3){border-top:1px solid var(--line)}.rule-strip>div:nth-child(3){padding-left:0}.rule-strip strong{font-size:1.45rem}.rule-strip span{font-size:.72rem}.section-head{align-items:flex-start;flex-direction:column;gap:10px}.cards{gap:12px}.topic-card{padding:20px}.topic-card h3{font-size:1.17rem}.info-grid,.notes{grid-template-columns:1fr}.support{margin:10px 20px 0;padding:23px;gap:20px}.support h2{font-size:1.4rem}main{padding:0 20px}footer{padding:28px 20px;display:block}footer p{margin-top:12px}.related{margin-top:18px}.quiz-layout{grid-template-columns:1fr}.navigator{order:2}.question-grid{grid-template-columns:repeat(10,1fr);max-height:180px}.quiz-panel{padding:22px}.page-head{margin:28px 0 20px}.result-hero{gap:20px;padding:22px}.result-number{font-size:3.6rem}.breakdown{grid-template-columns:repeat(3,1fr)}.resume-banner{align-items:flex-start;gap:14px;padding:18px}.resume-banner .button{white-space:nowrap}.quiz-meta{font-size:.73rem}}
@media(max-width:450px){.cards{grid-template-columns:1fr}.topic-card h3{min-height:0;max-width:none}.topic-top{margin-bottom:14px}.topic-card p{margin-bottom:13px}.topic-card .card-actions .button{flex:1}.topic-card{padding:21px}.hero-actions>.button{flex:1}.brand{gap:8px}.mast-inner{gap:8px}.icon-btn{padding:7px 8px}.icon-btn span{display:none}.breakdown{grid-template-columns:repeat(2,1fr)}.result-hero{grid-template-columns:1fr}.result-hero .toolbar .button{flex:1}.resume-banner{flex-direction:column}.resume-banner .button{width:100%}.quiz-actions>.button{flex:1}.question-grid{grid-template-columns:repeat(8,1fr)}.paylinks a{flex:1;text-align:center}.quiz-panel{padding:19px}.choice{font-size:.87rem;padding:12px}.section-head h2{font-size:1.8rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important;animation:none!important}}
@media print{.mast,.support,footer,.toolbar,.card-actions,.quiz-actions,.navigator,.hero-actions,.button{display:none!important}body{background:white;color:black}main{max-width:none;padding:0}.panel,.review-item{break-inside:avoid}.cards{grid-template-columns:1fr 1fr}}

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