/* One visual system for the public course, readings and assessment surfaces. */
:root,:root[data-theme=light]{color-scheme:light;--bg:#f1f5f8;--bg2:#f1f5f8;--b:#f1f5f8;--panel:#fff;--panel2:#eaf0f4;--p:#fff;--p2:#eaf0f4;--ink:#172c3b;--muted:#506475;--dim:#506475;--line:#cbd7de;--accent:#006b62;--accent-ink:#fff;--teal:#006b62;--cyan:#006b62;--gold:#79551e;--blue:#165e99;--purple:#6b4794;--violet:#6b4794;--pink:#95255c;--mag:#95255c;--green:#17683e;--red:#a52932;--shadow:0 4px 18px #17334908}
:root[data-theme=dark]{color-scheme:dark;--bg:#0b1520;--bg2:#0b1520;--b:#0b1520;--panel:#142332;--panel2:#1b3041;--p:#142332;--p2:#1b3041;--ink:#f1f7fa;--muted:#b9cbd7;--dim:#b9cbd7;--line:#3b5263;--accent:#8ce2cf;--accent-ink:#102c28;--teal:#8ce2cf;--cyan:#8ce2cf;--gold:#edc690;--blue:#9bcff9;--purple:#d1b4f1;--violet:#d1b4f1;--pink:#ff9ccf;--mag:#ff9ccf;--green:#8ce2af;--red:#ffabb1;--shadow:none}
*{box-sizing:border-box}html{scroll-padding-top:150px}body{margin:0;background:var(--bg);color:var(--ink);font:17px/1.65 system-ui,-apple-system,'Segoe UI',sans-serif}a{color:var(--accent);text-underline-offset:4px}button,input,textarea,select{font:inherit}button,a,summary{touch-action:manipulation}a:focus-visible,button:focus-visible,input:focus-visible,summary:focus-visible{outline:3px solid var(--blue);outline-offset:4px}img{max-width:100%} [hidden]{display:none!important}
.site-header{position:sticky;top:0;z-index:20;background:var(--panel);border:0;border-top:4px solid var(--accent);border-bottom:1px solid var(--line);box-shadow:none}
.site-masthead,.site-nav,.site-footer-inner,.site-footer-bottom{width:min(1400px,100% - 64px);margin:0 auto}
.site-masthead{display:flex;align-items:center;gap:24px;justify-content:space-between;padding:19px 0 15px}
.site-brand{display:flex;align-items:center;gap:14px;text-decoration:none;color:var(--ink);min-width:0}.site-brand img{width:48px;height:48px;object-fit:contain;border-radius:8px;padding:3px;background:#fff;flex:none}.site-brand strong{display:block;font-size:1.8rem;font-weight:800;letter-spacing:-.04em;line-height:1.15;color:var(--accent)}.site-brand small{display:block;font-size:.8125rem;letter-spacing:0;color:var(--muted);margin-top:5px;line-height:1.3}
.site-utilities{display:flex;align-items:center;gap:24px}.site-utilities a{font-size:.9375rem;text-decoration:none;font-weight:650}.site-header .theme{font-size:.875rem;padding:9px 14px;min-height:44px;border-radius:7px;background:transparent;border:1px solid var(--line);color:var(--ink);cursor:pointer}
.site-nav{display:flex;flex-wrap:wrap;justify-content:flex-start;align-items:center;gap:4px 28px;padding:4px 0 0}.site-nav a{display:inline-flex;align-items:center;gap:6px;padding:12px 0 13px;font-size:.9375rem;line-height:1.4;font-weight:600;text-decoration:none;color:var(--muted);border:0;border-bottom:3px solid transparent;border-radius:0;min-height:48px}.site-nav a:hover,.site-nav a[aria-current=page]{color:var(--accent);border-bottom-color:var(--accent)}.site-header .nav-toggle{display:none}
.site-footer{position:static;border-top:1px solid var(--line);background:var(--panel);margin-top:56px;padding:0;color:var(--muted)}.site-footer-inner{display:grid;grid-template-columns:1.4fr 1fr 1fr 1.3fr;gap:36px;padding:38px 0}.site-footer a{font-size:.875rem;color:var(--muted);display:block;width:fit-content;max-width:100%;padding:5px 0;text-decoration:none;overflow-wrap:anywhere;line-height:1.6}.site-footer a:hover{color:var(--accent);text-decoration:underline}.site-footer h2{font-size:.875rem;color:var(--ink);line-height:1.5;margin:7px 0 12px;letter-spacing:0}.site-footer p{font-size:.8125rem;line-height:1.8;margin:9px 0;color:var(--muted)}.site-footer .footer-brand{font-size:1.5rem;font-weight:800;color:var(--accent);line-height:1.2}.site-footer .profile-link{color:var(--accent);font-weight:650}.site-footer-bottom{border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:20px;padding:14px 0;font-size:.8125rem}.site-footer-bottom a{padding:0}
.course-page .wrap{width:min(1400px,100% - 64px);max-width:none;margin:0 auto;padding:0}.course-page main.wrap{padding:0 0 24px}.course-page main.narrow{max-width:900px;padding-top:42px}.course-page .document-heading{padding:48px 0 28px;max-width:960px}.course-page h1{font-size:clamp(2.1rem,3.8vw,3.4rem);line-height:1.13;letter-spacing:-.04em}.course-page h1 em{font-style:normal;color:var(--accent)}.course-page .intro,.course-page .sub{font-size:1.0625rem;line-height:1.7;color:var(--muted)}.course-page .panel,.course-page .card{background:var(--panel);border:1px solid var(--line);border-radius:14px;box-shadow:none}.course-page .panel{padding:28px}.course-page .ey,.course-page .eyebrow,.course-page .kicker{font-size:.8125rem;letter-spacing:.09em;color:var(--accent)}.course-page h2{font-size:1.65rem;line-height:1.3;letter-spacing:-.025em}.course-page h3{font-size:1.2rem;line-height:1.4}.course-page .btn{font-size:.9375rem;min-height:44px;padding:11px 18px;border-radius:8px}.course-page .btn.primary{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}.course-page .btn.secondary{background:transparent;color:var(--accent);border-color:var(--accent)}.course-page .table-scroll{border-radius:12px}.course-page th{font-size:.875rem}.course-page td{font-size:.9375rem}.course-page .source-downloads a{border-radius:12px}.course-page .source-downloads span{font-size:.8125rem}.course-page .section{margin:36px 0}.course-page .crumb{font-size:.875rem;color:var(--muted);padding:20px 0 0}.course-page .crumb a{color:var(--accent)}
/* Existing faculty and archive content uses the same typography and surfaces. */
.page-methodology .hero{background:var(--panel);border:1px solid var(--line);box-shadow:none;border-radius:16px;padding:36px;margin:32px 0}.page-methodology .hero p,.page-methodology .card p,.page-methodology .step p,.page-methodology .kitItem p,.page-methodology .section p{font-size:1rem;color:var(--muted);line-height:1.7}.page-methodology .tag,.page-methodology .status{font-size:.8125rem}.page-methodology .manifesto,.page-methodology .pillar,.page-methodology .step,.page-methodology .kitItem,.page-methodology .next,.page-methodology .evidence,.page-methodology .scale,.page-methodology .expansion,.page-methodology .ready{background:var(--panel);border-color:var(--line);color:var(--ink);border-radius:12px}.page-methodology .sectionHead p{font-size:1rem}.page-methodology .flow>div{font-size:.9375rem}.page-methodology .hero h1{max-width:900px}
.page-history .hero,.page-showcase .hero{position:relative;background:#10222d;border-radius:16px;overflow:hidden;margin-top:30px;color:#fff}.page-history .hero p,.page-showcase .hero p{color:#e2ecf3;font-size:1.125rem}.page-history .hero h1,.page-showcase .hero h1{color:#fff}.page-history .hero h1 em,.page-showcase .hero h1 em{color:#8ce2cf}.page-history .hero .eyebrow,.page-showcase .hero .eyebrow{color:#edc690}.page-history .system-card,.page-history .stage,.page-history .callout,.page-showcase .info,.page-showcase .empty{background:var(--panel);color:var(--muted);border-color:var(--line);border-radius:12px}.page-history .system-card p,.page-history .stage p,.page-history .callout,.page-showcase .info,.page-showcase .empty{font-size:1rem;line-height:1.65}.page-history .system-card h3,.page-history .stage h3{color:var(--ink)}.page-history .label{font-size:.8125rem}.page-history .hero-proof{color:#e2ecf3}.page-history .hero header{position:static}.page-metrics main.wrap{padding-top:36px}.page-metrics .sub,.page-metrics .privacy,.page-metrics .status{font-size:1rem;line-height:1.65;color:var(--muted)}.page-metrics .panel{overflow:auto}
.national-page{font-family:system-ui,-apple-system,'Segoe UI',sans-serif;line-height:1.7}.national-page header,.national-page footer{font-family:inherit}.national-page .national-hero h1{font-size:clamp(2.1rem,3.8vw,3.4rem);line-height:1.13}.national-page .national-hero>p{font-size:1.0625rem}.national-page h2{line-height:1.3}.national-page h3{line-height:1.4}.national-page .national-chapter{border-radius:14px}.national-page .nc-heading>span{color:var(--accent)}
/* Source reading pages keep every source entry and figure. */
.source-page main{width:min(1100px,100% - 64px);max-width:none;margin:auto;padding:38px 0}.source-page h1{font-size:clamp(2rem,3.8vw,3rem);line-height:1.15;letter-spacing:-.03em}.source-page h2{font-size:1.6rem}.source-page nav:not(.site-nav){display:flex;gap:12px 22px;flex-wrap:wrap;margin:16px 0}.source-page details{border:1px solid var(--line);border-radius:12px;background:var(--panel);margin:14px 0;padding:18px}.source-page summary{cursor:pointer;font-weight:650;color:var(--accent)}.source-page pre{white-space:pre-wrap;overflow-wrap:anywhere;font:1rem/1.75 system-ui}.source-page .callout{border-left:3px solid var(--accent);padding:18px;background:var(--panel)}.source-page input{width:100%;padding:12px;background:var(--panel);color:var(--ink);border:1px solid var(--line);border-radius:8px;margin-top:8px;min-height:48px}.source-page .gallery{display:grid;grid-template-columns:1fr 1fr;gap:24px}.source-page figure{margin:0;padding:18px;background:var(--panel);border:1px solid var(--line);border-radius:12px}.source-page figure img{width:100%;height:260px;object-fit:contain;background:white}.source-page figcaption{font-size:.875rem;color:var(--muted);padding-top:12px}.source-page table{border-collapse:collapse}.source-page td,.source-page th{padding:12px;border:1px solid var(--line)}
/* Cosmetic assessment chrome: field IDs, scripts and scored content stay intact. */
body:has(.site-header[data-surface=assignment]) .w{max-width:1100px;padding-top:30px}body:has(.site-header[data-surface=assignment]) main>.top{display:block;position:static;background:transparent;border:0;border-bottom:1px solid var(--line);padding:0 0 24px}body:has(.site-header[data-surface=assignment]) .ey{color:var(--accent)}body:has(.site-header[data-surface=assignment]) .flow{background:var(--panel)}body:has(.site-header[data-surface=assignment]) .site-header .site-nav{display:flex}body:has(.site-header[data-surface=assignment]) .site-footer p{margin:9px 0}
@media(max-width:1100px){.site-nav{gap:4px 23px}.site-footer-inner{grid-template-columns:1fr 1fr}.site-utilities{gap:14px}.course-home .course-sidebar{top:168px}}
@media(max-width:900px){html{scroll-padding-top:24px}.site-header{position:relative}.site-masthead,.site-nav,.site-footer-inner,.site-footer-bottom{width:calc(100% - 32px)}.site-masthead{flex-wrap:wrap;gap:12px;padding:16px 0}.site-brand{flex:1}.site-brand strong{font-size:1.5rem}.site-brand small{font-size:.75rem;max-width:190px}.site-brand img{width:40px;height:40px}.site-header .nav-toggle{display:inline-flex;align-items:center;gap:10px;min-height:44px;margin:0;border:1px solid var(--line);background:transparent;color:var(--ink);border-radius:7px;padding:9px 12px}.site-utilities{order:3;flex-basis:100%;justify-content:space-between;padding-top:10px;border-top:1px solid var(--line)}.site-utilities a{font-size:.875rem}.site-header .theme{padding:7px 12px;min-height:40px}.site-header .site-nav,body:has(.site-header[data-surface=assignment]) .site-header .site-nav{display:none}.site-header .site-nav.is-open,body:has(.site-header[data-surface=assignment]) .site-header .site-nav.is-open{display:flex;flex-direction:column;align-items:stretch;gap:0;padding:0 0 16px}.site-nav a{padding:13px 4px;border:0;border-bottom:1px solid var(--line);min-height:48px}.site-nav a[aria-current=page]{border-left:3px solid var(--accent);padding-left:12px}.course-page .wrap{width:calc(100% - 32px)}.course-page .document-heading{padding-top:30px}.course-page .document-grid,.course-page .cols{grid-template-columns:1fr}.course-page .grid3,.course-page .grid2,.course-page .kit,.course-page .steps{grid-template-columns:1fr}.course-page .panel{padding:22px}.page-methodology .hero{padding:24px}.source-page main{width:calc(100% - 32px);padding-top:24px}.site-footer-inner{gap:26px;padding:28px 0}.site-footer{margin-top:36px}}
@media(max-width:540px){.site-footer-inner{grid-template-columns:1fr}.site-footer-bottom{flex-direction:column;gap:8px}.course-page .source-downloads,.source-page .gallery{grid-template-columns:1fr}.site-brand{gap:10px}.site-brand small{max-width:155px}.site-header .nav-toggle{padding:9px 10px;font-size:.875rem}.page-history .hero,.page-showcase .hero{padding:26px;min-height:390px}.course-page .panel{padding:20px}.source-page h1{font-size:2rem}.source-page details{padding:14px}}
@media print{.site-header,.site-footer{display:none!important}body{background:white;color:black}.course-page .wrap,.source-page main{width:100%}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
.skip{position:absolute;top:-100px;left:16px;z-index:100;background:var(--accent);color:var(--accent-ink);padding:12px 18px}.skip:focus{top:10px}.section-nav{display:flex;flex-wrap:wrap;gap:12px 24px;justify-content:flex-start;margin:24px 0}.section-nav a{font-size:.9375rem;color:var(--accent);padding:6px 0}.course-home .course-sidebar{top:168px}.archive-page>main>header{position:static}.archive-page .site-brand{font-family:system-ui}.archive-page .site-footer h2{font-family:system-ui}
.site-footer .site-footer-inner h2{font-size:.875rem;line-height:1.5;letter-spacing:0;margin:7px 0 12px}.site-footer .site-footer-inner p{font-size:.8125rem;line-height:1.8}
/* Legacy content accents follow the selected palette as well as the new chrome. */
.page-methodology .btn.gold{color:var(--gold);border-color:var(--gold);background:transparent}.page-methodology .card li{font-size:1rem;line-height:1.7;color:var(--muted)}.page-methodology .kitItem b{font-size:1rem;color:var(--ink)}.page-methodology .warning,.page-methodology .evidence,.page-methodology .manifesto{font-size:1rem;line-height:1.7;color:var(--ink)}.page-methodology .tag.ready{color:var(--green)}.page-methodology .tag.next{color:var(--gold)}.page-methodology .expansion{font-size:.8125rem}.page-history .system-card b{font-size:.9375rem;color:var(--accent)}.page-history .stage em{font-family:inherit;font-size:1rem;color:var(--muted)}.page-history .callout p{font-size:1rem;color:var(--muted)}.archive-status{display:block;font-size:.8125rem;color:var(--muted);margin-top:16px}.page-showcase .count{font-size:.875rem;color:var(--muted)}
