/* Hallmark · macrostructure: Workbench · theme: existing monochrome · nav: product links · footer: signature
 * Audience: Arabic subtitle viewers · tone: direct, cinematic · pre-emit critique: P4 H4 E4 S5 R5 V4 */
:root{
 --font-body:"Rethink Sans",system-ui,sans-serif;--font-display:var(--font-body);--font-arabic:"IBM Plex Sans Arabic",sans-serif;
 --paper:#030305;--bg:var(--paper);--panel:#111318;--elevated:#191c23;--ink:#f5f5f7;--muted:#b9bdc8;--line:#3b404b;--soft-line:var(--line);--hover:#20242d;--accent:var(--ink);--secondary:var(--muted);--button-ink:var(--paper);
 --success:#a4dcb7;--error:#ffb3b3;--focus:#d2d6e2;--track:#313640;--reference:#aeb8c9;--demo-cue:#f5f5f7;--demo-cue-ink:#15171d;
 --space-xs:8px;--space-sm:16px;--space-md:24px;--space-lg:40px;--space-xl:64px;--space-section:120px;--radius:12px;
 --ease-out:cubic-bezier(.16,1,.3,1);--type-body:16px;--type-control:16px;--type-section:24px;
 color-scheme:dark;
}
:root[data-theme=light]{--paper:#babdc3;--bg:var(--paper);--panel:#d1d3d8;--elevated:#dde0e5;--ink:#20242b;--muted:#454b56;--line:#747d8b;--hover:#c8ccd3;--button-ink:#f5f5f7;--success:#205637;--error:#812222;--focus:#333c50;--track:#a5abb5;--reference:#697587;--demo-cue:#313a4a;--demo-cue-ink:#f5f5f7;color-scheme:light}
:root[lang=ar]{--font-body:var(--font-arabic);--font-display:var(--font-arabic)}
html,body{overflow-x:clip}html{scroll-padding-top:32px;scrollbar-color:var(--muted) var(--paper)}
body{font-family:var(--font-body);color:var(--ink);line-height:1.65}
::selection{background:var(--ink);color:var(--paper)}
input,textarea{caret-color:var(--ink)}
:where(a,button,input,select,textarea,summary,[tabindex]):focus-visible{outline:2px solid var(--focus);outline-offset:5px}
:where(button,a,summary){-webkit-tap-highlight-color:transparent}
:where(button,input,select,textarea){font-family:inherit}
button:disabled{cursor:not-allowed}
.night-sky{opacity:.62}
body:not(.landing)>header{height:88px;border-bottom:0;background:none;backdrop-filter:none;width:min(1180px,calc(100% - 48px))}
body:not(.landing) .brand{font-family:"Rethink Sans",system-ui,sans-serif;letter-spacing:-.03em}
body:not(.landing) .top-nav a{min-height:44px;display:inline-flex;align-items:center;color:var(--muted);font-size:16px}
body:not(.landing) .top-nav a:hover,body:not(.landing) .top-nav a[aria-current=page]{color:var(--ink)}
body:not(.landing) .hero{padding-top:48px;padding-bottom:24px;margin-bottom:32px}
body:not(.landing) .hero h1,.library-page h1,.activity-page h1{font-size:clamp(32px,4vw,48px);letter-spacing:-.03em;line-height:1.2}
body:not(.landing) .section{margin-bottom:56px}
body:not(.landing) .section-heading{margin-bottom:24px}
body:not(.landing) .hint,body:not(.landing) .section-note,body:not(.landing) .field{color:var(--muted);font-size:15px;line-height:1.65}
body:not(.landing) .sources{gap:24px}
body:not(.landing) .sources>.card{padding:24px;background:var(--panel);border:0;border-radius:var(--radius)}
body:not(.landing) .sources>.card:hover{background:var(--panel)}
body:not(.landing) .source-icon{width:36px;height:36px}
body:not(.landing) .card-top h3{font-size:20px}
body:not(.landing) :is(input:not([type=checkbox]):not([type=radio]),select,textarea){min-height:48px}
body:not(.landing) .media-card-body .media-story{font-size:14px;line-height:1.65}
body:not(.landing) .media-card .media-facts{font-size:13px;line-height:1.6}
body:not(.landing) .media-grid{row-gap:32px}
body:not(.landing) .shelf-heading{margin-bottom:24px}
body:not(.landing) .foot{border-top:0;padding-top:32px;padding-bottom:24px}
body:not(.landing) .faq-answer p{max-width:70ch;font-size:16px}
@media(max-width:680px){
 body:not(.landing)>header{height:auto;min-height:112px;padding-block:12px;width:calc(100% - 32px);gap:8px}
 body:not(.landing) .top-nav{gap:24px}body:not(.landing) .top-nav a{font-size:14px}
 body:not(.landing) .hero{padding-top:28px;margin-bottom:24px}
 body:not(.landing) .sources>.card{padding:20px}
 body:not(.landing) .sources{gap:20px}body:not(.landing) .section{margin-bottom:40px}
 body:not(.landing) .section-heading h2{font-size:22px}
 body:not(.landing) .media-card-body .media-story{font-size:14px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{scroll-behavior:auto!important}}

/* Keep the header's left, center, and right anchors fixed in both locales. */
.landing-header .header-inner{direction:ltr}
.landing-header .landing-brand,.landing-header .landing-nav,.landing-header .landing-tools{direction:ltr}
body:not(.landing)>header{direction:ltr}
body:not(.landing)>header .top-nav{direction:ltr}

/* Give every page a clear footer divider; the landing footer uses only its X and owner links. */
body:not(.landing) .foot{border-top:1px solid var(--line);padding-top:24px}
.landing .landing-footer{display:grid;grid-template-columns:1fr auto;align-items:center;gap:24px;min-height:100px;padding:24px 0 32px;border-top:1px solid var(--line);font-weight:500}
.landing .landing-footer>.footer-social{justify-self:start}
.landing .landing-footer>.footer-owner{justify-self:end;margin:0}
