:root,:root[data-theme="light"]{color-scheme:light;--c-bg:#FAFAF7;--c-card:#FFFFFF;--c-ink:#2A2E33;--c-mut:#5A6069;--c-navy:#1F3A5F;--c-teal:#0F6E56;--c-teal2:#1D9E75;--c-line:#DCE0DA;--c-nl:#ECF1F7;--c-head:#FFFFFF;--c-onacc:#FFFFFF}
:root[data-theme="dark"]{color-scheme:dark;--c-bg:#0D151B;--c-card:#151F27;--c-ink:#E9EEF2;--c-mut:#AAB6BF;--c-navy:#E5EDF5;--c-teal:#72D8BA;--c-teal2:#55C9A5;--c-line:#35444E;--c-nl:#182A3C;--c-head:#0A1015;--c-onacc:#0D151B}
:root{--hg-bg:var(--c-bg);--hg-fg:var(--c-ink);--hg-muted:var(--c-mut);--hg-accent:var(--c-teal);--hg-line:var(--c-line)}
.hg-skip{position:fixed;top:10px;left:10px;z-index:1000;padding:12px 16px;border-radius:8px;background:var(--c-teal);color:var(--c-onacc);font:700 14px system-ui,-apple-system,"Segoe UI",sans-serif;text-decoration:none;transform:translateY(-180%)}
.hg-skip:focus{transform:none}
.hg-content-header{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:13px max(16px,calc((100% - 1080px)/2));border-bottom:1px solid var(--c-line);background:var(--c-head);color:var(--c-ink);font:14px/1.4 system-ui,-apple-system,"Segoe UI",sans-serif}
.hg-content-header a{color:inherit;text-decoration:none}.hg-content-header a:hover{text-decoration:underline;text-underline-offset:4px}.hg-content-header a:focus-visible{outline:3px solid var(--c-teal2);outline-offset:4px}
.hg-content-brand{font-size:20px;font-weight:800;letter-spacing:-1px;white-space:nowrap;font-family:system-ui,sans-serif}.hg-content-brand span{font-weight:400;color:var(--c-mut)}.hg-content-brand i{color:var(--c-teal);font-style:normal}
.hg-content-path{color:var(--c-mut);text-align:right}.hg-content-path strong{color:var(--c-navy)}
.hg-module-intro{padding:36px max(16px,calc((100% - 1080px)/2)) 32px;background:var(--c-bg);color:var(--c-ink);font:17.5px/1.75 system-ui,-apple-system,"Segoe UI",sans-serif;border-bottom:1px solid var(--c-line)}
.hg-module-intro[hidden]{display:none}
.hg-module-intro .hg-eyebrow{margin:0 0 8px;color:var(--c-teal);font-size:12.5px;font-weight:800;letter-spacing:.16em;text-transform:uppercase}
.hg-module-intro h1{margin:0;font:600 clamp(32px,4.8vw,50px)/1.12 "Iowan Old Style","Palatino Linotype",Palatino,"Book Antiqua",Georgia,serif;color:var(--c-navy)}
.hg-module-intro>.hg-lead{max-width:760px;margin:14px 0 0;color:var(--c-mut)}
.hg-objectives{margin-top:24px;padding:22px 24px;border:1px solid var(--c-line);border-left:4px solid var(--c-teal2);border-radius:18px;background:var(--c-card)}
.hg-objectives h2{margin:0;color:var(--c-navy);font:600 24px/1.2 "Iowan Old Style","Palatino Linotype",Palatino,"Book Antiqua",Georgia,serif}
.hg-objectives>p{margin:6px 0 12px}
.hg-objectives ol{margin:0;padding-left:22px;display:grid;gap:7px}
.hg-objectives li::marker{color:var(--c-teal);font-weight:800}
.hg-prerequisites{margin:16px 0 0;color:var(--c-mut);font-size:15px}
.hg-prerequisites strong{color:var(--c-navy)}
.hg-module-progress{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:9px 18px;align-items:center;padding:12px max(16px,calc((100% - 1080px)/2));border-bottom:1px solid var(--c-line);background:var(--c-head);color:var(--c-ink);font:13.5px/1.4 system-ui,-apple-system,"Segoe UI",sans-serif}
.hg-module-progress p{margin:0}.hg-module-progress strong{color:var(--c-teal)}
.hg-progress-track{height:6px;border-radius:999px;background:var(--c-line);overflow:hidden}
.hg-progress-track i{display:block;width:0;height:100%;border-radius:inherit;background:var(--c-teal2);transition:width .25s ease}
.hg-progress-reset{grid-row:1/3;grid-column:2;border:1px solid var(--c-line);border-radius:10px;background:var(--c-card);color:var(--c-mut);font:inherit;padding:7px 12px;cursor:pointer}
.hg-progress-reset:hover,.hg-progress-reset:focus-visible{border-color:var(--c-teal2);color:var(--c-ink)}
@media(max-width:640px){.hg-content-header{align-items:flex-start;flex-direction:column;gap:6px}.hg-content-path{text-align:left;font-size:12px}}
@media(max-width:520px){.hg-module-progress{grid-template-columns:1fr}.hg-progress-reset{grid-row:auto;grid-column:auto;justify-self:start}}
@media(prefers-reduced-motion:reduce){.hg-progress-track i{transition:none}}
