/* Shared Hub identity. Loaded after page styles; public learning uses the homepage palette. */
:root{--font-main:Arial,sans-serif;--font-display:Georgia,serif;--primary:#234f7a;--primary-dark:#173b60;--primary-light:#234f7a;--accent:#234f7a}
html:not([data-theme="dark"]),html.hub-public{--theme-bg:#f7f7f2;--theme-bg-secondary:#fff;--theme-bg-tertiary:#edf1f3;--theme-bg-elevated:#fff;--theme-text:#142a3d;--theme-text-secondary:#506172;--theme-text-muted:#506172;--theme-text-body:#243b4c;--theme-text-link:#234f7a;--theme-border:#d9e0e2;--theme-border-strong:#a9bac7;--theme-border-input:#a9bac7;--theme-card-bg:#fff;--theme-input-bg:#fff;--theme-nav-bg:#f7f7f2;--gray-900:#142a3d;--gray-800:#243b4c;--gray-700:#506172;--gray-600:#506172;--gray-200:#d9e0e2;--gray-100:#edf1f3;--white:#fff}
html[data-theme="dark"]:not(.hub-public){--primary:#83b4dc;--primary-light:#9cc8eb;--primary-dark:#234f7a;--theme-bg:#14212d;--theme-bg-secondary:#1d2d3b;--theme-card-bg:#1d2d3b;--theme-text:#f7f7f2;--theme-text-secondary:#b9cad7;--theme-text-muted:#b9cad7;--theme-border:#3a4e5f}
body{font-family:Arial,sans-serif}html.hub-public body{background:#f7f7f2;color:#142a3d;padding-top:0}
.hub-header,.hub-footer{background:#f7f7f2;color:#142a3d;font-family:Arial,sans-serif}
.hub-nav{max-width:1180px;margin:auto;padding:24px 28px;display:flex;align-items:center;justify-content:space-between;gap:24px;border-bottom:1px solid #d9e0e2;position:static}
.hub-brand,.sidebar-logo.hub-brand,.auth-nav__logo.hub-brand{font:24px/1.1 Georgia,serif;color:#142a3d;display:block;text-decoration:none;letter-spacing:-.4px;flex-shrink:0}
.hub-brand span{display:block;font:10px/1.5 Arial,sans-serif;text-transform:uppercase;letter-spacing:1.5px;margin-top:9px;color:#506172}
.hub-links{display:flex;gap:24px;align-items:center;flex-wrap:wrap}.hub-links a{font:14px/1.5 Arial,sans-serif;color:#243b4c;text-decoration:none;padding:8px 0}.hub-links a:hover,.hub-links a[aria-current]{color:#234f7a;text-decoration:underline;text-underline-offset:7px}
.hub-footer{margin-top:60px;padding:0 28px}.hub-footer>div{max-width:1124px;margin:auto;border-top:1px solid #d9e0e2;padding:32px 0;display:flex;justify-content:space-between;gap:24px;align-items:center}.hub-footer p{font:19px/1.4 Georgia,serif;margin:0}.hub-footer p span{display:block;font:12px/1.7 Arial,sans-serif;color:#506172;margin-top:5px}.hub-footer nav{display:flex;gap:20px;flex-wrap:wrap}.hub-footer a{font:13px/1.6 Arial,sans-serif;color:#234f7a}
.hub-public .container{max-width:1180px;padding-left:28px;padding-right:28px}.hub-public .container.narrow{max-width:900px}
.hub-public h1,.hub-public h2,.hub-public h3{font-family:Georgia,serif;font-weight:400;letter-spacing:-.02em}.hub-public .course-hero h1{font-size:clamp(40px,5vw,68px);max-width:850px;line-height:1.08}.hub-public .mod-hero h1{font-size:clamp(36px,4vw,54px)}.hub-public .les-hero h1{font-size:clamp(32px,4vw,48px)}
.hub-public .course-hero{padding:64px 0 36px}.hub-public .mod-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,290px),1fr));gap:20px}.hub-public .mod-card{padding:28px;box-shadow:none}.hub-public .mod-card h2{font-size:27px;line-height:1.2}.hub-public .lede{max-width:700px;font-size:18px}.hub-public .freshness{border-left-color:#a9bac7;background:transparent;font-size:14px}.hub-public .course-stats{margin:20px 0}.hub-hero-actions{display:flex;flex-wrap:wrap;gap:20px;align-items:center;margin-top:26px}.hub-button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:12px 20px;background:#234f7a;color:#fff!important;border-radius:8px;text-decoration:none;font:600 14px/1.5 Arial,sans-serif}.hub-button:hover{background:#173b60}.hub-hero-actions>a:not(.hub-button){color:#234f7a;text-underline-offset:4px}
.hub-resource{--brand:#234f7a;--brand-light:#234f7a;--bg:#f7f7f2;--surface:#fff;--surface-alt:#edf1f3;--border:#d9e0e2;--text:#243b4c;--text-muted:#506172;--text-heading:#142a3d;--check-bg:#edf1f3;--accent-green:#246544;--accent-amber:#80531c;--accent-cyan:#246075}
html.hub-public body.hub-resource{padding:0}.hub-resource .page-wrapper,.hub-resource .page-wrap{padding:36px 24px;margin:auto;max-width:948px}.hub-resource .hub-old-mark{display:none}.hub-resource h1{font-size:clamp(32px,4vw,46px);line-height:1.15}.hub-resource h2{line-height:1.25}.hub-resource textarea,.hub-resource input{max-width:100%}.hub-resource table{font-size:clamp(11px,2vw,14px)}.hub-resource .back-link{color:#234f7a}
.hub-member .page-header h1,.hub-member .welcome-banner h1,.hub-member .category-heading,.hub-member .auth-card__heading{font-family:Georgia,serif;font-weight:400;letter-spacing:-.02em}.hub-member .welcome-banner{background:#234f7a}.hub-member .sidebar-logo.hub-brand{font-size:23px;padding:8px 0;max-width:100%;height:auto;width:auto}.hub-member .hub-mobile-brand{font:16px/1.1 Georgia,serif;color:var(--theme-text);text-decoration:none}.hub-member .hub-mobile-brand span{display:none}.hub-member .auth-nav__logo.hub-brand{font-size:22px}.hub-member .auth-nav{height:auto;min-height:100px;padding-top:20px;padding-bottom:20px}
[data-theme="dark"] .hub-member .hub-brand{color:#f7f7f2}[data-theme="dark"] .hub-member .hub-brand span{color:#b9cad7}
:focus-visible{outline:3px solid #337ab4;outline-offset:4px}
@media(max-width:700px){.hub-nav{align-items:flex-start;flex-direction:column;gap:16px;padding:22px 20px}.hub-brand{font-size:23px}.hub-links{gap:20px;row-gap:0;width:100%}.hub-links a{font-size:13px}.hub-public .container{padding-left:20px;padding-right:20px}.hub-public .course-hero{padding:38px 0 24px}.hub-footer>div{align-items:flex-start;flex-direction:column}.hub-resource .page-wrapper,.hub-resource .page-wrap{padding:28px 20px}.hub-resource .header{align-items:flex-start}.hub-resource .settings-grid{grid-template-columns:1fr}.hub-member .auth-nav__logo.hub-brand{font-size:19px}.hub-member .auth-nav{gap:12px}}
@media print{.hub-header,.hub-footer{display:none!important}.hub-resource .page-wrapper,.hub-resource .page-wrap{padding:0}.hub-resource{--bg:#fff;--text:#111;--text-muted:#444;--surface:#fff;--surface-alt:#fff}}
.hub-public h1,.hub-public h2,.hub-public h3,.hub-member h1,.hub-member h2,.hub-member h3{text-transform:none}
.hub-member .auth-submit,.hub-member .btn-primary{color:#fff;background:#234f7a}.hub-member .auth-submit:hover,.hub-member .btn-primary:hover{background:#173b60}.hub-member .auth-card{border-radius:12px;box-shadow:none}
.hub-resource .hub-table-scroll{overflow-x:auto;max-width:100%;margin:16px 0}.hub-resource .hub-table-scroll table{margin:0}
.hub-resource .shot-item{min-width:0;flex-wrap:wrap}.hub-resource .shot-label{min-width:0;white-space:normal}.hub-resource .shot-note-line{min-width:24px;max-width:100%}.hub-resource .header>div{max-width:100%;flex-wrap:wrap}.hub-resource h1.brand-sub{font:400 32px/1.2 Georgia,serif!important;color:#142a3d;text-transform:none}.hub-resource .brand-name{display:none}
@media print{.hub-resource .hub-table-scroll{overflow:visible}.hub-resource .hub-table-scroll table{width:100%;min-width:0}}
