/* Shared Auth Mechanics shell for curriculum, about, and error pages. */
:root{--bg:#f3f6f7;--ink:#162d3e;--muted:#667d8e;--line:#dce5e9;--blue:#087e8b;--green:#17775b;--accent-soft:#e4f3f2;--surface:#fff;--surface-soft:#f8fbfb;--header:#fff;--shadow:#173b4d0a;--logo-bg:#132f42}
*{box-sizing:border-box}html{min-height:100%}body{margin:0;min-height:100vh;background:var(--bg);color:var(--ink);font:15px/1.65 Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;-webkit-font-smoothing:antialiased}a{color:var(--blue)}a:focus-visible,button:focus-visible,select:focus-visible{outline:3px solid #79bbb8;outline-offset:3px}button,select{font:inherit}
.site-header{height:74px;padding:0 30px;background:var(--header);position:sticky;top:0;z-index:20;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:24px}.brand{display:flex;align-items:center;gap:11px;font-size:21px;font-weight:750;letter-spacing:-.8px;text-decoration:none;color:var(--ink);min-width:0}.logo{width:38px;height:38px;display:grid;place-items:center;flex:0 0 auto;background:var(--logo-bg);border-radius:10px;box-shadow:0 3px 8px #102e4217}.logo svg{display:block;width:30px;height:30px}.brand-copy strong{display:block}.brand-copy small{font-size:8px;letter-spacing:1.25px;color:var(--muted);font-weight:500;display:block;margin-top:2px;white-space:nowrap}.site-nav{display:flex;align-items:center;gap:5px;margin-left:auto}.site-nav a{color:var(--muted);text-decoration:none;font-size:12px;padding:8px 10px;border-radius:7px}.site-nav a:hover,.site-nav a[aria-current=page]{background:var(--accent-soft);color:var(--blue)}.header-tools{display:flex;align-items:center;gap:12px}.theme-control{display:flex;align-items:center;gap:8px;font-size:11px;color:var(--muted)}.theme-control select{font-size:11px;padding:7px 9px;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--ink)}
.page-main{max-width:1120px;margin:0 auto;padding:52px 28px 36px}.page-main.narrow{max-width:860px}.page-main.error-page{min-height:calc(100vh - 152px);display:grid;align-content:center}.eyebrow{font-size:9px;letter-spacing:1.5px;font-weight:750;color:#60808c;text-transform:uppercase}.page-hero{padding:18px 0 28px}.page-hero h1{font-size:clamp(34px,5vw,52px);line-height:1.06;letter-spacing:-1.7px;margin:10px 0 15px;color:var(--ink)}.page-hero p{max-width:780px;margin:0;color:var(--muted);font-size:17px;line-height:1.75}.page-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:22px}.button-link{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;padding:10px 14px;border-radius:8px;border:1px solid var(--line);background:var(--surface);color:var(--ink);font-size:12px;font-weight:650}.button-link.primary{background:var(--blue);border-color:var(--blue);color:#fff}.button-link:hover{border-color:var(--blue)}
.lesson-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.page-card{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:22px;box-shadow:0 4px 14px var(--shadow)}.page-card h2{font-size:18px;line-height:1.35;margin:7px 0}.page-card h2 a,.page-card .cta{text-decoration:none}.page-card p{color:var(--muted);font-size:13px;line-height:1.75;margin:8px 0 16px}.page-card .meta{font-size:9px;letter-spacing:1.1px;color:var(--muted);text-transform:uppercase}.page-card .cta{font-size:12px;font-weight:700;color:var(--blue)}
.info-stack{display:grid;gap:16px}.info-card .meta{font-size:9px;letter-spacing:1.1px;color:var(--muted);text-transform:uppercase;margin-bottom:7px}.course-orientation{margin-bottom:22px}.course-orientation h2{margin:7px 0}.course-orientation h2 a,.course-orientation .cta{text-decoration:none}.course-orientation .cta{font-size:12px;font-weight:700;color:var(--blue)}.info-card{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:24px;box-shadow:0 4px 14px var(--shadow)}.info-card h2{font-size:18px;margin:0 0 8px;color:var(--ink)}.info-card p{margin:0;color:var(--muted)}.info-card p+p{margin-top:12px}.info-card ul{margin:10px 0 0;padding-left:20px;color:var(--muted)}.info-card li+li{margin-top:6px}.privacy-updated{margin-top:14px!important;font-size:12px!important}.privacy-list strong{color:var(--ink)}.error-code{font:700 12px/1 ui-monospace,SFMono-Regular,Consolas,monospace;color:var(--blue);letter-spacing:1px}.error-page .page-hero{padding:0;max-width:720px}.error-page .page-hero h1{font-size:clamp(38px,6vw,58px)}
.site-footer{max-width:1120px;margin:0 auto;padding:24px 28px 34px;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:16px;align-items:center;color:var(--muted);font-size:10px;letter-spacing:.65px}.site-footer nav{display:flex;gap:14px}.site-footer a{text-decoration:none;color:var(--muted)}.site-footer a:hover{color:var(--blue)}
.orientation-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:16px}.orientation-steps>div,.legend-grid>div{padding:16px;border:1px solid var(--line);border-radius:10px;background:var(--surface-soft)}.orientation-steps strong{font-size:12px;color:var(--ink)}.orientation-steps p,.legend-grid p{margin:7px 0 0!important;font-size:12px!important;line-height:1.65!important}.orientation-note{margin-top:12px!important;font-size:12px}.legend-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:16px}.legend-token{display:inline-block;font:700 9px/1 ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:1px;color:var(--blue);background:var(--accent-soft);padding:6px 8px;border-radius:6px}.course-launch{margin:22px 0 10px;padding:24px;background:var(--logo-bg);color:#f1fffc;border-radius:14px;display:flex;align-items:center;justify-content:space-between;gap:24px}.course-launch h2{margin:5px 0 5px;font-size:20px}.course-launch p{margin:0;color:#c4d8df;font-size:13px}.course-launch .eyebrow{color:#75d2cd}.course-launch .button-link{flex:0 0 auto}.start-card{margin:0 8px 15px;padding:12px 13px;border:1px solid #cfe2e3;border-radius:10px;background:#edf8f6;color:#28596a;text-decoration:none;display:block;font-size:11px;line-height:1.5}.start-card strong{display:block;color:#087e8b;font-size:12px;margin-bottom:2px}.start-card:hover{border-color:#76b7b8}.header-link{font-size:11px;color:#446473;text-decoration:none;padding:7px 9px;border-radius:7px}.header-link:hover{background:#edf8f6;color:#087e8b}:root[data-theme=dark] .start-card{background:#193840;border-color:#285460;color:#bdd4da}:root[data-theme=dark] .start-card strong,:root[data-theme=dark] .header-link{color:#82d8d3}:root[data-theme=dark] .header-link:hover{background:#20464c}.course-launch .button-link.primary{background:#75d2cd;border-color:#75d2cd;color:#102e42}
:root[data-theme=dark]{--surface:#152631;--surface-soft:#1a313e;--header:#152631;--shadow:#00000022;--accent-soft:#20464c;--logo-bg:#0b202c}.theme-control select{color-scheme:light dark}:root[data-theme=dark] .site-header{background:var(--header);border-color:var(--line)}:root[data-theme=dark] .site-nav a:hover,:root[data-theme=dark] .site-nav a[aria-current=page]{background:#20464c;color:#b6f3e8}:root[data-theme=dark] .page-card,:root[data-theme=dark] .info-card,:root[data-theme=dark] .button-link,:root[data-theme=dark] .theme-control select{background:var(--surface);border-color:var(--line);color:var(--ink)}:root[data-theme=dark] .button-link.primary{background:#237b83;border-color:#439ca2;color:#fff}:root[data-theme=dark] .eyebrow,:root[data-theme=dark] .error-code{color:#82d8d3}:root[data-theme=dark] .page-card .cta,:root[data-theme=dark] .page-card h2 a{color:#82d8d3}
@media(max-width:820px){.orientation-steps,.legend-grid{grid-template-columns:1fr}.course-launch{align-items:flex-start;flex-direction:column}.site-header{height:auto;min-height:68px;padding:10px 16px;gap:12px;flex-wrap:wrap}.brand{font-size:18px}.brand-copy small{display:none}.site-nav{order:3;width:100%;margin:0;border-top:1px solid var(--line);padding-top:8px;overflow:auto}.site-nav a{white-space:nowrap}.header-tools{margin-left:auto}.theme-control{font-size:0}.theme-control select{font-size:10px}.page-main{padding:34px 18px 28px}.lesson-grid{grid-template-columns:1fr}.site-footer{padding:20px 18px 28px;flex-direction:column;align-items:flex-start}.page-hero p{font-size:15px}}
@media(max-width:480px){.logo{width:34px;height:34px}.logo svg{width:27px;height:27px}.page-card,.info-card{padding:18px}.page-hero h1{letter-spacing:-1.2px}.site-nav a{padding:7px 8px;font-size:11px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
