/* Site-wide brand layer: clinical/lab palette, flat controls, no gradients or glow, no emoji UI. Loaded last. */
html:not([data-theme="dark"]){--bg:#f7f5ef;--bg-elevated:#fffdf8;--bg-inset:#efebe1;--line:#dcd6c8;--ink:#14181f;--ink-soft:#3b4250;--ink-faint:#6b7280;--brand:#1d4ed8;--brand-strong:#1e40af;--brand-soft:#e8edf9}
html:not([data-theme="dark"]) body{background:var(--bg)}
html:not([data-theme="dark"]) body nav{background:rgba(247,245,239,.9)!important}
html body nav .nav-logo{background:#14181f!important;box-shadow:none!important;border-radius:4px!important}
html[data-theme="dark"] body nav .nav-logo{background:#e8eef5!important}
html[data-theme="dark"] body nav .nav-logo svg *{stroke:#070F17}
html a.bc-cta,html .btn-primary,html .nav-cta{background:var(--brand)!important;background-image:none!important;box-shadow:none!important;border-radius:6px!important}
html a.bc-cta:hover,html a.bc-cta:focus-visible{background:var(--brand-strong)!important;box-shadow:none!important}
html a.bc-cta{animation-name:bc-cta-breathe!important}
@keyframes bc-cta-breathe{0%,100%{transform:scale(1)}50%{transform:scale(1.03)}}
.bc-theme-toggle .bc-ic{font-size:0!important;width:12px;height:12px;display:inline-block;background:currentColor;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M10.5 1.5a6.5 6.5 0 1 0 4 11.6A7 7 0 0 1 10.5 1.5z'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M10.5 1.5a6.5 6.5 0 1 0 4 11.6A7 7 0 0 1 10.5 1.5z'/%3E%3C/svg%3E") center/contain no-repeat}
html[data-theme="dark"] .bc-theme-toggle .bc-ic{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Ccircle cx='8' cy='8' r='3.2'/%3E%3Cpath d='M7.3 0h1.4v2.6H7.3zM7.3 13.4h1.4V16H7.3zM0 7.3h2.6v1.4H0zM13.4 7.3H16v1.4h-2.6z'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Ccircle cx='8' cy='8' r='3.2'/%3E%3Cpath d='M7.3 0h1.4v2.6H7.3zM7.3 13.4h1.4V16H7.3zM0 7.3h2.6v1.4H0zM13.4 7.3H16v1.4h-2.6z'/%3E%3C/svg%3E")}
.bc-theme-toggle,.click-sound-toggle{border-radius:4px!important;box-shadow:none!important;font-family:var(--font-data,ui-monospace,monospace)!important;font-size:11px!important}
/* Closing call to action: a ruled section on the page colour, not a saturated colour band */
html:not([data-theme="dark"]) .cta-section{background:var(--bg-inset)!important;background-image:none!important;color:var(--ink)!important;border-top:2px solid var(--ink)}
html:not([data-theme="dark"]) .cta-section h2,html:not([data-theme="dark"]) .cta-section p{color:var(--ink)!important}
.cta-section h2{font-family:var(--font-display)!important}
.cta-section::before,.cta-section::after{display:none!important}
html[data-theme="dark"] .cta-section{background:var(--bg-elevated)!important;background-image:none!important;border-top:2px solid var(--ink)}
html[data-theme="dark"] .cta-section h2,html[data-theme="dark"] .cta-section p{color:var(--ink)!important}
html[data-theme="dark"] .rhythm-band{background:#0e1a26!important;color:var(--ink)!important;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}

/* ── Type everywhere (some pages hard-code Inter on body) ── */
:root{--font-display:'Source Serif 4',Georgia,Cambria,'Times New Roman',serif;--font-ui:'Space Grotesk',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;--font-data:'JetBrains Mono',ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}
html body{font-family:var(--font-ui)}
html body h1,html body h2,html body h3:not(.pf-ttl){font-family:var(--font-display)}
.bc-theme-toggle{font-family:var(--font-data)!important}
.pp-final{background:var(--bg-inset)!important;background-image:none!important;color:var(--ink)!important;border-top:2px solid var(--ink)}
.pp-final h2,.pp-final p{color:var(--ink)!important}
.pp-final a{background:var(--brand)!important;color:#fff!important;box-shadow:none!important;border-radius:6px!important}

/* ── Exam guides: hub + subpages ── */
.page-shell{max-width:1140px;margin:0 auto;padding:0 24px}
.page-shell .page-hero{padding:64px 0 36px;margin:0 0 40px;border-bottom:2px solid var(--ink);text-align:left;background:none}
.page-shell .page-hero .eyebrow{font-family:var(--font-data);font-size:12px;letter-spacing:.08em;color:var(--ink-faint);font-weight:500}
.page-shell .page-hero h1{font-family:var(--font-display);font-size:clamp(34px,4vw,54px);line-height:1.06;letter-spacing:-.02em;font-weight:700;max-width:20em;margin:12px 0 16px}
.page-shell .page-hero p{font-size:17px;line-height:1.6;color:var(--ink-soft);max-width:44em}
.page-shell .guide,.page-shell .hub{max-width:none;margin:0;padding:0}
.page-shell .guide{display:block;max-width:760px}
.page-shell .guide h2{font-family:var(--font-display);font-size:26px;margin:44px 0 14px;padding-top:0}
.page-shell .guide p,.page-shell .guide li{font-size:16.5px;line-height:1.7;color:var(--ink-soft)}
.page-shell .tablewrap{border:0;border-radius:0;box-shadow:none;background:none;overflow-x:auto}
.page-shell table{border-collapse:collapse;width:100%;background:none}
.page-shell thead th{background:none!important;font:600 11px var(--font-data);text-transform:uppercase;letter-spacing:.07em;color:var(--ink-faint);border-bottom:2px solid var(--ink)!important;padding:0 12px 10px 0;text-align:left}
.page-shell tbody td,.page-shell tbody th{background:none!important;border-bottom:1px solid var(--line);padding:12px 12px 12px 0;font-size:15px}
.page-shell tbody tr:nth-child(even) td{background:none!important}
.page-shell tbody td:not(:first-child){color:var(--ink);font-variant-numeric:tabular-nums}
.page-shell tbody tr:last-child td{border-bottom:1px solid var(--line)}
.page-shell .cta{background:var(--bg-inset)!important;background-image:none!important;border:0!important;border-top:2px solid var(--ink)!important;border-radius:0!important;box-shadow:none!important;padding:26px 28px!important;margin:44px 0}
.page-shell .cta h2{margin-top:0!important;font-size:24px}
.page-shell details{border:0;border-top:1px solid var(--line);border-radius:0;background:none;padding:14px 0;box-shadow:none}
.page-shell details:last-of-type{border-bottom:1px solid var(--line)}
.page-shell summary{font-weight:600;color:var(--ink);cursor:pointer}
.page-shell .guidegrid{display:block;border-top:2px solid var(--ink)}
.page-shell .guidecard{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px;padding:16px 0;border:0;border-bottom:1px solid var(--line);border-radius:0;background:none;box-shadow:none;transform:none!important}
.page-shell .guidecard strong{font-family:var(--font-display);font-size:17px;color:var(--ink)}
.page-shell .guidecard span{color:var(--ink-soft);font-size:14.5px}
.page-shell .guidecard:hover strong{color:var(--brand);text-decoration:underline;text-underline-offset:3px}
/* hub */
.page-shell .hub h2{font-family:var(--font-display);font-size:clamp(26px,2.6vw,34px);margin:0 0 8px}
.page-shell .pick{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;border-top:2px solid var(--ink);border-bottom:1px solid var(--line);margin-top:22px}
.page-shell .tile{background:none!important;border:0!important;border-radius:0!important;box-shadow:none!important;padding:22px 24px 22px 0;transform:none!important}
.page-shell .tile+.tile{border-left:1px solid var(--line)!important;padding-left:24px}
.page-shell .tile .who{font-family:var(--font-data);font-size:28px;font-weight:600;color:var(--ink)!important;letter-spacing:-.02em}
.page-shell .tile strong{font-family:var(--font-display);font-size:17px}
.page-shell .tile ul li span:last-child{font-family:var(--font-data);color:var(--ink)}
.page-shell .tile ul li{border-bottom:1px dashed var(--line)}
.page-shell .tile .go{color:var(--brand);font-weight:600}
.page-shell .tile:hover .go{text-decoration:underline}
.page-shell .group{background:none!important;border:0!important;border-radius:0!important;box-shadow:none!important;margin:56px 0 0;padding:0}
.page-shell .group header{background:none!important;border:0!important;border-bottom:2px solid var(--ink)!important;padding:0 0 12px!important}
.page-shell .group header h2{margin:0}
.page-shell .row{background:none!important;border:0!important;border-bottom:1px solid var(--line)!important;border-radius:0!important;padding:16px 0!important;display:grid!important;grid-template-columns:110px minmax(0,1fr) auto;gap:16px;align-items:baseline}
.page-shell .row:hover strong{color:var(--brand)}
.page-shell .tag{background:none!important;color:var(--ink-faint)!important;border:1px solid var(--line)!important;border-radius:3px!important;font-family:var(--font-data)!important;font-size:10.5px!important;font-weight:500!important;letter-spacing:.06em;padding:2px 7px!important;justify-self:start}
.page-shell .tag.start{color:var(--ink)!important;border-color:var(--ink)!important}
.page-shell .row strong{font-family:var(--font-display);font-size:18px;color:var(--ink)}
.page-shell .arrow{font-family:var(--font-data);font-size:13px;color:var(--brand)}
.page-shell .meta{font-size:13px;color:var(--ink-faint)}
@media(max-width:860px){.page-shell .pick{grid-template-columns:1fr}.page-shell .tile+.tile{border-left:0!important;border-top:1px solid var(--line)!important;padding-left:0}.page-shell .row{grid-template-columns:1fr auto}.page-shell .row .tag{grid-column:1/-1}.page-shell .guidecard{grid-template-columns:1fr;gap:4px}}
.skip-link{font-family:var(--font-ui)!important}
