/* Visual-area targets: foundation navy 50%, panel blue 12%, deep navy 8%,
   white 10%, blue gray 6%, yellow 4%, lime 4%, royal blue 3%, pale lime 2%, teal 1%.
   The supplied reference defines these as composition targets, not pixel quotas. */
:root, html[data-theme="dark"], html[data-theme="light"] {
 --bg:#203864; --surface:#2B527D; --surface-2:#102D50; --ink:#FFFFFF;
 --muted:#98AAC0; --line:rgba(152,170,192,.36); --navy:#3774F0;
 --navy-deep:#102D50; --teal:#C1E22F; --teal-soft:#EEF5C9;
 --gold:#FFC000; --coral:#FFC000; --white:#FFFFFF;
 --header:rgba(32,56,100,.96); --shadow:0 22px 60px rgba(16,45,80,.22);
}
body { background:#203864; }
h1,h2,h3,h4 { color:#FFC000; }
.kicker,.eyebrow { color:#C1E22F; }
.hero { background:#203864; }
.hero-overlay, html[lang="ar"] .hero-overlay { background:linear-gradient(90deg,rgba(32,56,100,.98),rgba(32,56,100,.92) 54%,rgba(32,56,100,.78)); }
html[lang="ar"] .hero-overlay { background:linear-gradient(270deg,rgba(32,56,100,.98),rgba(32,56,100,.92) 54%,rgba(32,56,100,.78)); }
.hero h1, .hero h1 span { color:#FFC000; }
.hero-lead,.overview-copy,.section-heading>p,.compact-heading>p,.topic-card>p { color:#FFFFFF; }
.hero .eyebrow,.join-copy .kicker,.sharekat .kicker,.contact-copy .kicker { color:#C1E22F; }
.primary,.join-form button,.contact-form button { color:#102D50; background:#C1E22F; }
.secondary { color:#FFFFFF; border-color:#98AAC0; }
.brand-mark,.header-contact { background:#3774F0; color:#FFFFFF; }
.brand strong { color:#FFFFFF; }
.desktop-nav a,.brand small { color:#FFFFFF; }
.course-index,.footer { background:#102D50; }
.index-inner b { color:#C1E22F; }
.index-label { color:#98AAC0; }
.outcome-grid article { background:#203864; }
.outcome-grid p { color:#FFFFFF; }
.outcome-grid span { color:#FFC000; }
.day-header { background:#203864; }
.day-number { color:#102D50; background:#FFC000; }
.day-header p { color:#C1E22F; }
.day-header>div>span { color:#FFFFFF; }
.day-header>a { color:#98AAC0; }
.topic-card { background:#2B527D; }
.topic-top { color:#C1E22F; }
.topic-top small { color:#FFFFFF; }
.resource-list strong { color:#FFFFFF; }
.resource-list small,.soon { color:#FFFFFF; }
.file-badge { background:#3774F0; color:#FFFFFF; }
.file-badge.alt { background:#377F7E; color:#FFFFFF; }
.workshop-card { background:#102D50; }
.workshop-label span { color:#C1E22F; }
.workshop-label b { color:#98AAC0; }
.workshop-card h4 { color:#FFC000; }
.workshop-card>div>p,.workshop-files small,.soon.light { color:#FFFFFF; }
.day-instructors { background:#203864; }
.day-instructors>span { color:#98AAC0; }
.day-instructors a { color:#102D50; background:#FFFFFF; }
.materials-summary { background:#203864; }
.text-link { color:#C1E22F; }
.join-banner,.join-copy { background:#203864; }
.join-form { background:#2B527D; }
.join-copy p:last-child,.join-form>small { color:#FFFFFF; }
.join-form input { color:#102D50; background:#FFFFFF; }
.instructor-card { background:#203864; }
.instructor-card h3 { color:#FFC000; }
.expertise,.instructor-card details>p,.instructor-card details ul { color:#FFFFFF; }
.instructor-card details a { color:#C1E22F; }
.sharekat { background:#203864; }
.sharekat-word,.tool-card>span { color:#C1E22F; }
.sharekat-intro>p:not(.kicker):not(.sharekat-word) { color:#FFFFFF; }
.sharekat-button { background:#FFFFFF; color:#102D50; }
.tool-card { background:#2B527D; border-color:#98AAC0; }
.tool-card:hover,.tool-card.is-active { background:#3774F0; border-color:#C1E22F; }
.tool-card small { color:#FFFFFF; }
.resource-accordion { background:#203864; }
.resource-accordion summary b { color:#98AAC0; }
.reference-grid a { background:#2B527D; }
.reference-grid small { color:#FFFFFF; }
.book-grid article { background:#FFFFFF; color:#203864; }
.book-grid img { background:#FFFFFF; }
.book-grid small,.book-grid p { color:#203864; }
.feedback-card { background:#EEF5C9; color:#203864; }
.feedback-card h2 { color:#203864; }
.feedback-card .kicker { color:#377F7E; }
.feedback-card p:last-child { color:#203864; }
.contact { background:#203864; }
.contact-form { background:#2B527D; }
.contact-copy p,.contact-copy a { color:#FFFFFF; }
.contact-form input,.contact-form select,.contact-form textarea { background:#FFFFFF; color:#203864; border-color:#98AAC0; }
.footer strong { color:#FFFFFF; }
.toast { background:#377F7E; }
/* Keep the existing light/dark control; the lighter variant changes selected panels,
   while navy remains dominant to preserve the reference palette's balance. */
html[data-theme="light"] .topic-card,
html[data-theme="light"] .resource-accordion { background:#FFFFFF; color:#203864; }
html[data-theme="light"] .topic-card h4,
html[data-theme="light"] .resource-accordion h3 { color:#203864; }
html[data-theme="light"] .topic-card p,
html[data-theme="light"] .topic-card .topic-top,
html[data-theme="light"] .topic-card .topic-top small,
html[data-theme="light"] .resource-list strong,
html[data-theme="light"] .resource-list small,
html[data-theme="light"] .topic-card .soon { color:#203864; }
html[data-theme="light"] .resource-list { border-color:#98AAC0; }
html[data-theme="light"] .resource-accordion summary i { color:#203864; }
html[data-theme="light"] .reference-grid a { color:#FFFFFF; }

/* Full light theme: reverse the surface/text balance, retaining the same accents. */
html[data-theme="light"] {
 color-scheme:light;
 --bg:#FFFFFF; --surface:#FFFFFF; --surface-2:#EEF5C9; --ink:#203864;
 --muted:#2B527D; --line:#98AAC0; --header:rgba(255,255,255,.97);
 --teal:#377F7E; --shadow:0 22px 60px rgba(16,45,80,.10);
}
html[data-theme="dark"] { color-scheme:dark; }
html[data-theme="light"] body,
html[data-theme="light"] .outcome-grid article,
html[data-theme="light"] .day-header,
html[data-theme="light"] .day-instructors,
html[data-theme="light"] .materials-summary,
html[data-theme="light"] .instructor-card,
html[data-theme="light"] .sharekat,
html[data-theme="light"] .contact,
html[data-theme="light"] .join-banner,
html[data-theme="light"] .join-copy { background:#FFFFFF; color:#203864; }
html[data-theme="light"] h1,
html[data-theme="light"] h2,
html[data-theme="light"] h3,
html[data-theme="light"] h4,
html[data-theme="light"] .brand strong,
html[data-theme="light"] .desktop-nav a,
html[data-theme="light"] .brand small,
html[data-theme="light"] .hero-lead,
html[data-theme="light"] .overview-copy,
html[data-theme="light"] .section-heading>p,
html[data-theme="light"] .compact-heading>p,
html[data-theme="light"] .outcome-grid p,
html[data-theme="light"] .day-header>div>span,
html[data-theme="light"] .expertise,
html[data-theme="light"] .instructor-card details>p,
html[data-theme="light"] .instructor-card details ul,
html[data-theme="light"] .sharekat-intro>p:not(.kicker):not(.sharekat-word),
html[data-theme="light"] .contact-copy p,
html[data-theme="light"] .contact-copy a,
html[data-theme="light"] .join-copy p:last-child { color:#203864; }
html[data-theme="light"] .kicker,
html[data-theme="light"] .hero .eyebrow,
html[data-theme="light"] .day-header p,
html[data-theme="light"] .join-copy .kicker,
html[data-theme="light"] .sharekat .kicker,
html[data-theme="light"] .sharekat-word,
html[data-theme="light"] .contact-copy .kicker,
html[data-theme="light"] .text-link,
html[data-theme="light"] .instructor-card details a { color:#377F7E; }
html[data-theme="light"] .hero { color:#203864; background:#FFFFFF; }
html[data-theme="light"] .hero-overlay { background:linear-gradient(90deg,rgba(255,255,255,.98),rgba(255,255,255,.94) 54%,rgba(255,255,255,.72)); }
html[lang="ar"][data-theme="light"] .hero-overlay { background:linear-gradient(270deg,rgba(255,255,255,.98),rgba(255,255,255,.94) 54%,rgba(255,255,255,.72)); }
html[data-theme="light"] .hero h1,
html[data-theme="light"] .hero h1 span { color:#203864; }
html[data-theme="light"] .secondary { color:#203864; border-color:#203864; }
html[data-theme="light"] .scroll-cue { color:#203864; }
html[data-theme="light"] .scroll-cue span { background:linear-gradient(#203864,transparent); }
html[data-theme="light"] .day-instructors a { background:#EEF5C9; }
html[data-theme="light"] .day-instructors>span,
html[data-theme="light"] .day-header>a { color:#2B527D; }
html[data-theme="light"] .sharekat-button { color:#FFFFFF; background:#203864; }
html[data-theme="light"] .workshop-card h4 { color:#FFC000; }
html[data-theme="light"] .tool-card { color:#FFFFFF; }
html[data-theme="light"] .join-form,
html[data-theme="light"] .contact-form { color:#FFFFFF; }
html[data-theme="light"] .outcome-grid span { color:#203864; background:#FFC000; padding:3px 8px; border-radius:4px; }
/* Responsive safety: grid children may shrink and long names/emails wrap. */
.site-header>*, .day-header>*, .topic-grid>*, .workshop-card>*,
.resource-list>div>*, .workshop-files>*, .reference-grid a>*,
.footer-inner>*, .instructor-card>*, .contact-layout>* { min-width:0; }
.day-instructors { flex-wrap:wrap; }
.day-instructors a { max-width:100%; overflow-wrap:anywhere; }
.contact-copy a,.instructor-card details a { overflow-wrap:anywhere; }
.theme-toggle,.language-toggle { min-height:44px; }
@media (max-width:1100px) {
 .desktop-nav,.header-contact { display:none; }
 .site-header { grid-template-columns:minmax(0,1fr) auto; }
 .menu-button { display:grid; }
 .mobile-nav { position:absolute; inset:76px 16px auto; padding:12px; display:grid; background:var(--surface); border:1px solid var(--line); border-radius:16px; box-shadow:var(--shadow); opacity:0; pointer-events:none; transform:translateY(-10px); }
 .mobile-nav.is-open { opacity:1; pointer-events:auto; transform:translateY(0); }
 .mobile-nav a { padding:12px; text-decoration:none; }
}
@media (max-width:720px) {
 .hero-content { padding-top:120px; padding-bottom:100px; }
 .hero { min-height:90svh; }
 .resource-list>div,.workshop-files { grid-template-columns:42px minmax(0,1fr); padding-block:10px; }
 .resource-list .soon,.workshop-files .soon { grid-column:2; }
 .reference-grid a { grid-template-columns:44px minmax(0,1fr) auto; }
 .reference-grid img,.ref-mark { width:44px; height:44px; }
 .footer-inner { grid-template-columns:minmax(0,1fr) auto; gap:15px; }
 .course-index { max-width:100%; }
 .theme-label { display:inline; font-size:.68rem; }
 .theme-toggle { padding-inline:9px; }
}
@media (max-width:380px) {
 .brand-mark { display:none; }
 .brand strong { font-size:.72rem; }
 .site-header { gap:6px; }
 .header-actions { gap:4px; }
 .menu-button { width:36px; }
 .language-toggle { padding-inline:7px; }
 .theme-toggle { padding-inline:7px; }
 .day-header { padding:20px; gap:14px; grid-template-columns:48px minmax(0,1fr); }
 .day-number { width:44px; height:44px; }
 .book-grid { grid-template-columns:1fr; }
}

/* Synced course updates; Sharekat retains its independent brand in both themes. */
html[data-theme] .sharekat { background:#DDF3EE; color:#0F5C5A; }
html[data-theme] .sharekat h2,html[data-theme] .sharekat .sharekat-word { color:#0F5C5A; }
html[data-theme] .sharekat .kicker { color:#0F5132; }
html[data-theme] .sharekat-intro>p:not(.kicker):not(.sharekat-word) { color:#0A3F3E; }
html[data-theme] .sharekat-button { background:#0F5C5A; color:#FFFFFF; }
html[data-theme] .sharekat .tool-card { background:#0F5C5A; color:#FFFFFF; border-color:#A8D5BA; }
html[data-theme] .sharekat .tool-card>span { color:#A8D5BA; }
html[data-theme] .sharekat .tool-card small { color:#DDF3EE; }
html[data-theme] .sharekat .tool-card:hover,html[data-theme] .sharekat .tool-card.is-active { background:#0A3F3E; border-color:#27AE60; }
html[data-theme] .join-banner { background:#203864; color:#FFFFFF; }
html[data-theme] .join-banner .join-copy,html[data-theme] .join-banner .join-form { background:transparent; color:#FFFFFF; }
html[data-theme] .join-banner h2 { color:#FFC000; }
html[data-theme] .join-banner .kicker { color:#C1E22F; }
html[data-theme] .join-banner .join-copy>p:last-of-type { color:#FFFFFF; }
html[data-theme] .contact-feedback-intro h2 { color:#FFFFFF; }
html[data-theme] .contact-feedback-intro .kicker { color:#C1E22F; }
html[data-theme] .day-files { color:var(--ink); }
