/* =====================================================================
   EMERGERA DESIGN TOKENS  v2.3  (2026-09-28)  Dark by default, light on request
   Learn. Build. Emerge.
   Single source of truth for colors, type, depth, motion.
   Pair with components.css for glass buttons, cards and the aurora
   background. v1 is archived in v1-archive/; every v1 variable name
   still exists here, so v1 pages keep working.

   TYPE: Apple's system fonts first (SF Pro Display / SF Pro Text / SF Mono
   via -apple-system and ui-monospace), then Inter for everyone else.
   SF Pro is licensed for Apple platforms only, so it is never self-hosted
   or embedded. Rendered artwork (PNG, PDF, video) uses Inter with optical
   sizing (the closest open match, SIL OFL), self-hosted in ./fonts.
   ===================================================================== */

@font-face { font-family: "Inter"; src: url("fonts/Inter-var.woff2?v=2c295d99e2") format("woff2"); font-weight: 100 900; font-display: swap;
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
/* Extended Latin, currencies (₹ €), arrows, math and UI symbols (→ ⌘ ✓ ★). Only downloaded when a page uses them. */
@font-face { font-family: "Inter"; src: url("fonts/Inter-var-ext.woff2?v=f8e890af1f") format("woff2"); font-weight: 100 900; font-display: swap;
  unicode-range: U+0100-024F, U+1E00-1EFF, U+20A0-20AB, U+20AD-20CF, U+2100-2121, U+2123-214F, U+2190, U+2192, U+2194-21FF, U+2200-2211, U+2213-2214, U+2216-22FF, U+2300-23FF, U+2460-24FF, U+25A0-25FF, U+2600-26FF, U+2700-27BF; }
@font-face { font-family: "JetBrains Mono"; src: url("fonts/JetBrainsMono-var.woff2?v=cb182feeed") format("woff2"); font-weight: 100 800; font-display: swap; }

:root {

  /* ---- Neutrals ----------------------------------------------------- */
  --em-ink:      #07080F;   /* page background, near-black with a blue cast */
  --em-night:    #0E1120;   /* raised surface */
  --em-dusk:     #1A1E33;   /* hairlines on dark */
  --em-fog:      #F5F5F7;   /* primary text on dark, light page background */
  --em-white:    #FFFFFF;
  --em-graphite: #1D1D1F;   /* primary text on light */
  --em-slate:    #A1A3B3;   /* secondary text on dark (8.1:1 on ink) */
  --em-slate-deep:#6E6E78;  /* secondary text on light (5.0:1 on fog) */

  /* ---- Brand colour ------------------------------------------------- */
  --em-ember:    #FF5A1F;   /* THE accent: primary buttons, key words */
  --em-gold:     #FFB020;   /* sunrise partner */
  --em-flare:    #FFC24A;   /* top of the sun */
  --em-ember-deep:#C2410C;  /* ember text on light (4.9:1) */
  --em-mint:     #30D5A0;   /* success, career outcomes */
  --em-mint-deep:#0B7A5A;
  --em-sky:      #8AB4FF;   /* links on dark, data */

  /* Aurora: the moving background. Warm core, cool depth. Violet and
     indigo live ONLY inside backgrounds, never on text or buttons. */
  --em-aurora-ember:  #FF5A1F;
  --em-aurora-amber:  #FFA41B;
  --em-aurora-rose:   #FF3D6E;
  --em-aurora-violet: #6C4DFF;
  --em-aurora-indigo: #1B2A7A;

  /* ---- Gradients ---------------------------------------------------- */
  --em-sunrise:   linear-gradient(92deg, #FF5A1F 0%, #FF8A1F 50%, #FFC24A 100%);
  --em-sunrise-v: linear-gradient(0deg, #FF4A1A 0%, #FF7A1F 45%, #FFC24A 100%);
  --em-text-sheen: linear-gradient(180deg, #FFFFFF 0%, #FFFFFF 55%, rgba(245,245,247,.62) 100%);

  /* ---- v1 names (kept so older pages keep working) ------------------ */
  --em-midnight: var(--em-ink);
  --em-paper:    var(--em-fog);

  /* ---- Semantic: theme-dependent values live in the THEME blocks below */
  --em-bg: var(--em-ink);
  --em-surface: var(--em-night);
  --em-border: rgba(255,255,255,.10);
  --em-text: var(--em-fog);
  --em-text-muted: var(--em-slate);
  --em-accent: var(--em-ember);
  --em-accent-text: #FF7A45;       /* ember lifted for small text on ink */
  --em-success: var(--em-mint);

  /* ---- Glass -------------------------------------------------------- */
  --em-glass-bg:      rgba(255,255,255,.06);
  --em-glass-bg-hi:   rgba(255,255,255,.10);
  --em-glass-tint:    rgba(10,12,24,.45); /* dark base under glass keeps text legible over bright aurora */
  --em-glass-border:  rgba(255,255,255,.14);
  --em-glass-blur:    saturate(180%) blur(24px);
  --em-specular:      inset 0 1px 0 rgba(255,255,255,.28), inset 0 -1px 0 rgba(255,255,255,.04);
  --em-inner-shadow:  inset 0 -10px 24px rgba(0,0,0,.18);

  /* ---- Depth (layered, soft, like physical light) ------------------ */
  --em-shadow-1: 0 1px 2px rgba(0,0,0,.30), 0 1px 1px rgba(0,0,0,.20);
  --em-shadow-2: 0 2px 4px rgba(0,0,0,.22), 0 8px 24px rgba(0,0,0,.28);
  --em-shadow-3: 0 4px 8px rgba(0,0,0,.20), 0 24px 64px rgba(0,0,0,.45);
  --em-glow-ember: 0 8px 28px rgba(255,90,31,.38), 0 2px 6px rgba(255,90,31,.30);

  /* ---- Typography --------------------------------------------------- */
  --em-font-display: -apple-system, BlinkMacSystemFont, "SF Pro Display", "Inter", "Segoe UI Variable Display", "Segoe UI", system-ui, sans-serif;
  --em-font-body:    -apple-system, BlinkMacSystemFont, "SF Pro Text", "Inter", "Segoe UI Variable Text", "Segoe UI", system-ui, sans-serif;
  --em-font-mono:    ui-monospace, "SF Mono", "JetBrains Mono", "Cascadia Code", Menlo, monospace;

  /* Fluid scale (Apple-style large display type) */
  --em-fs-xs: 0.75rem;   /* 12 */
  --em-fs-sm: 0.875rem;  /* 14 */
  --em-fs-md: 1.0625rem; /* 17, Apple body */
  --em-fs-lg: 1.3125rem; /* 21 */
  --em-fs-xl: 1.75rem;   /* 28 */
  --em-fs-2xl: clamp(2rem, 1.4rem + 2vw, 3rem);          /* 32-48 */
  --em-fs-3xl: clamp(2.5rem, 1.6rem + 3.2vw, 4rem);      /* 40-64 */
  --em-fs-4xl: clamp(3rem, 1.6rem + 5vw, 5.5rem);        /* 48-88 */
  --em-fs-5xl: clamp(3.5rem, 1.4rem + 7.5vw, 7.5rem);    /* 56-120 */
  --em-fs-6xl: clamp(3.5rem, 1.4rem + 7.5vw, 7.5rem);

  --em-lh-tight: 1.02;
  --em-lh-snug: 1.18;
  --em-lh-body: 1.5;
  --em-track-display: -0.035em;  /* large headlines */
  --em-track-title: -0.022em;    /* 28-40px titles */
  --em-track-body: -0.011em;     /* 17px body, matches SF Pro Text */
  --em-track-mono: 0.02em;

  /* ---- Space, radius ------------------------------------------------ */
  --em-space-1: 4px;  --em-space-2: 8px;  --em-space-3: 12px; --em-space-4: 16px;
  --em-space-5: 24px; --em-space-6: 32px; --em-space-7: 48px; --em-space-8: 64px;
  --em-space-9: 96px; --em-space-10: 144px;
  --em-radius-sm: 10px;
  --em-radius-md: 16px;
  --em-radius-lg: 24px;
  --em-radius-xl: 32px;
  --em-radius-pill: 999px;
  --em-line: 1px;
  --em-grid-dot: rgba(255,255,255,.05);

  /* ---- Motion ------------------------------------------------------- */
  --em-ease-out:    cubic-bezier(.16, 1, .3, 1);     /* entrances, hovers */
  --em-ease-in-out: cubic-bezier(.65, 0, .35, 1);    /* state changes */
  --em-ease-spring: cubic-bezier(.34, 1.56, .64, 1); /* button release */
  --em-dur-1: 120ms;  /* press */
  --em-dur-2: 240ms;  /* hover */
  --em-dur-3: 480ms;  /* reveal */
  --em-dur-aurora: 28s;
}


/* ---- v2.1: states, texture, layout, accessibility --------------------- */
:root {
  /* Status colours (text-safe on ink) */
  --em-danger:  #FF6B6B;  --em-danger-bg:  rgba(255,107,107,.12);
  --em-warning: #FFC24A;  --em-warning-bg: rgba(255,194,74,.12);
  --em-info:    #8AB4FF;  --em-info-bg:    rgba(138,180,255,.12);
  --em-success-bg: rgba(48,213,160,.12);

  /* Texture: fine film grain used on glass and buttons so they read as a
     material, not a flat CSS fill. Tiles seamlessly. */
  --em-noise: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 1 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
  --em-noise-opacity: .16;

  /* Focus: one ring everywhere, visible on glass, aurora, light and dark */
  --em-focus-color: var(--em-flare);
  --em-focus-ring: 0 0 0 2px var(--em-bg), 0 0 0 4px var(--em-focus-color);

  /* Interaction */
  --em-tap: 44px;              /* minimum touch target (Apple HIG / WCAG 2.5.5) */
  --em-control-h: 48px;
  --em-disabled-opacity: .45;

  /* Layout */
  --em-container: 1200px;
  --em-gutter: clamp(16px, 4vw, 48px);
  --em-section-y: clamp(64px, 10vw, 160px);
  --em-nav-h: 56px;
  --em-safe-top: env(safe-area-inset-top, 0px);
  --em-safe-right: env(safe-area-inset-right, 0px);
  --em-safe-bottom: env(safe-area-inset-bottom, 0px);
  --em-safe-left: env(safe-area-inset-left, 0px);

  /* Layers */
  --em-z-raised: 10; --em-z-dropdown: 40; --em-z-sticky: 50; --em-z-overlay: 80;
  --em-z-modal: 90; --em-z-toast: 100; --em-z-tooltip: 110;
}
@media (min-width: 1920px) { :root { --em-container: 1320px; } }
@media (min-width: 2560px) { :root { --em-container: 1480px; } html { font-size: 112.5%; } }
@media (min-width: 3600px) { html { font-size: 137.5%; } }   /* 4K and up: scale everything */

/* THEME:BEGIN (generated by tools/themes.py; edit there) */
/* Dark is the default. Light: add .em-light or data-theme="light" to a page or any section.
   .em-dark / data-theme="dark" switches back inside a light area. .em-auto-theme follows the system. */
:root, .em-dark, [data-theme="dark"] {
  color-scheme: dark;
  --em-bg: var(--em-ink);
  --em-bg-alt: #0B0D18;
  --em-surface: var(--em-night);
  --em-border: rgba(255,255,255,.10);
  --em-text: var(--em-fog);
  --em-text-muted: var(--em-slate);
  --em-accent-text: #FF7A45;
  --em-success: var(--em-mint);
  --em-link: var(--em-sky);
  --em-grid-dot: rgba(255,255,255,.05);
  --em-text-sheen: linear-gradient(180deg, #FFFFFF 0%, #FFFFFF 55%, rgba(245,245,247,.62) 100%);
  --em-danger: #FF6B6B;
  --em-danger-bg: rgba(255,107,107,.12);
  --em-warning: #FFC24A;
  --em-warning-bg: rgba(255,194,74,.12);
  --em-info: #8AB4FF;
  --em-info-bg: rgba(138,180,255,.12);
  --em-success-bg: rgba(48,213,160,.12);
  --em-focus-color: var(--em-flare);
  --em-noise-opacity: .16;
  --em-glass-bg: rgba(255,255,255,.06);
  --em-glass-bg-hi: rgba(255,255,255,.10);
  --em-glass-tint: rgba(10,12,24,.45);
  --em-glass-border: rgba(255,255,255,.14);
  --em-glass-base: linear-gradient(180deg, rgba(255,255,255,.09), rgba(255,255,255,.025));
  --em-glass-base-hi: linear-gradient(180deg, rgba(255,255,255,.13), rgba(255,255,255,.04));
  --em-glass-rim: linear-gradient(180deg, rgba(255,255,255,.34), rgba(255,255,255,.06) 40%, rgba(255,255,255,.03));
  --em-specular: inset 0 1px 0 rgba(255,255,255,.28), inset 0 -1px 0 rgba(255,255,255,.04);
  --em-shadow-1: 0 1px 2px rgba(0,0,0,.30), 0 1px 1px rgba(0,0,0,.20);
  --em-shadow-2: 0 2px 4px rgba(0,0,0,.22), 0 8px 24px rgba(0,0,0,.28);
  --em-shadow-3: 0 4px 8px rgba(0,0,0,.20), 0 24px 64px rgba(0,0,0,.45);
  --em-fill-1: rgba(255,255,255,.06);
  --em-fill-2: rgba(255,255,255,.10);
  --em-fill-3: rgba(255,255,255,.16);
  --em-rim: rgba(255,255,255,.14);
  --em-rim-hi: rgba(255,255,255,.34);
  --em-field-bg: rgba(255,255,255,.05);
  --em-field-border: rgba(255,255,255,.18);
  --em-field-inset: inset 0 2px 4px rgba(0,0,0,.28);
  --em-autofill: #1A1D2E;
  --em-option-bg: #0E1120;
  --em-option-fg: #F5F5F7;
  --em-overlay: rgba(4,5,10,.62);
  --em-popover-bg: rgba(20,23,40,.86);
  --em-track: rgba(255,255,255,.12);
  --em-skeleton: rgba(255,255,255,.07);
  --em-skeleton-hi: rgba(255,255,255,.14);
  --em-btn-glass-bg: linear-gradient(180deg, rgba(255,255,255,.18), rgba(255,255,255,.05));
  --em-btn-glass-bg-hover: linear-gradient(180deg, rgba(255,255,255,.24), rgba(255,255,255,.08));
  --em-btn-glass-shadow: inset 0 1px 0 rgba(255,255,255,.34), inset 0 0 0 1px rgba(255,255,255,.14), inset 0 -10px 18px rgba(0,0,0,.16), inset 0 10px 18px rgba(255,255,255,.05), 0 8px 24px rgba(0,0,0,.25);
  --em-btn-glass-grain-blend: overlay;
  --em-btn-glass-grain: .26;
  --em-btn-contrast-fg: #1D1D1F;
  --em-btn-contrast-bg: linear-gradient(180deg, #FFFFFF, #E9E9EE);
  --em-btn-contrast-shadow: inset 0 1px 0 #fff, inset 0 -2px 4px rgba(0,0,0,.06), 0 0 0 1px rgba(0,0,0,.06), 0 8px 24px rgba(0,0,0,.28);
  --em-btn-contrast-gloss: .9;
  --em-chip-ember-fg: #FFB08A;
  --em-chip-ember-bg: rgba(255,90,31,.14);
  --em-chip-on-bg: #F5F5F7;
  --em-chip-on-fg: #1D1D1F;
  --em-seg-on-bg: linear-gradient(180deg, rgba(255,255,255,.22), rgba(255,255,255,.1));
  --em-seg-on-shadow: inset 0 1px 0 rgba(255,255,255,.3), 0 0 0 .5px rgba(0,0,0,.2), 0 3px 8px rgba(0,0,0,.25);
  --em-tip-bg: #F5F5F7;
  --em-tip-fg: #1D1D1F;
  --em-nav-bg: rgba(7,8,15,.62);
  --em-nav-line: rgba(255,255,255,.07);
  --em-dialog-bg: linear-gradient(180deg, rgba(255,255,255,.08), rgba(255,255,255,.02)), rgba(16,18,32,.92);
  --em-dialog-shadow: inset 0 1px 0 rgba(255,255,255,.18), 0 0 0 1px rgba(255,255,255,.14), 0 40px 120px rgba(0,0,0,.6);
  --em-pre-bg: rgba(0,0,0,.35);
  --em-tile-bg: linear-gradient(180deg, rgba(255,255,255,.1), rgba(255,255,255,.03));
  --em-solid-surface: #0E1120;
  --em-solid-popover: #15182A;
  --em-solid-btn-glass: #23263A;
  --em-banner-bg: linear-gradient(90deg, #2A1406, #3A1A08 50%, #2A1406);
  --em-banner-fg: #F5F5F7;
  --em-banner-link: #FFC08F;
  --em-banner-line: rgba(255,138,31,.35);
  --em-aurora-core: #120E1C;
  --em-aurora-base: var(--em-ink);
  --em-aurora-blend: screen;
  --em-aurora-opacity: .85;
}
.em-light, [data-theme="light"] {
  color-scheme: light;
  --em-bg: #FFFFFF;
  --em-bg-alt: #F6F6F8;
  --em-surface: #FFFFFF;
  --em-border: rgba(0,0,0,.09);
  --em-text: var(--em-graphite);
  --em-text-muted: var(--em-slate-deep);
  --em-accent-text: var(--em-ember-deep);
  --em-success: var(--em-mint-deep);
  --em-link: #0055CC;
  --em-grid-dot: rgba(0,0,0,.05);
  --em-text-sheen: linear-gradient(180deg, #1D1D1F 0%, #1D1D1F 55%, rgba(29,29,31,.74) 100%);
  --em-danger: #C9302C;
  --em-danger-bg: rgba(201,48,44,.07);
  --em-warning: #8A5200;
  --em-warning-bg: rgba(255,176,32,.13);
  --em-info: #0055CC;
  --em-info-bg: rgba(0,85,204,.06);
  --em-success-bg: rgba(11,122,90,.07);
  --em-focus-color: var(--em-ember-deep);
  --em-noise-opacity: .10;
  --em-glass-bg: rgba(255,255,255,.72);
  --em-glass-bg-hi: rgba(255,255,255,.86);
  --em-glass-tint: rgba(255,255,255,.62);
  --em-glass-border: rgba(0,0,0,.08);
  --em-glass-base: linear-gradient(180deg, rgba(255,255,255,.92), rgba(255,255,255,.74));
  --em-glass-base-hi: linear-gradient(180deg, #FFFFFF, rgba(255,255,255,.86));
  --em-glass-rim: linear-gradient(180deg, rgba(0,0,0,.06), rgba(0,0,0,.09));
  --em-specular: inset 0 1px 0 rgba(255,255,255,.95), inset 0 -1px 0 rgba(0,0,0,.02);
  --em-shadow-1: 0 1px 2px rgba(16,18,32,.06);
  --em-shadow-2: 0 1px 2px rgba(16,18,32,.05), 0 6px 20px rgba(16,18,32,.07);
  --em-shadow-3: 0 2px 6px rgba(16,18,32,.06), 0 24px 56px rgba(16,18,32,.12);
  --em-fill-1: rgba(0,0,0,.035);
  --em-fill-2: rgba(0,0,0,.06);
  --em-fill-3: rgba(0,0,0,.10);
  --em-rim: rgba(0,0,0,.10);
  --em-rim-hi: #FFFFFF;
  --em-field-bg: #FFFFFF;
  --em-field-border: rgba(0,0,0,.18);
  --em-field-inset: inset 0 1px 2px rgba(0,0,0,.05);
  --em-autofill: #FFF8EE;
  --em-option-bg: #FFFFFF;
  --em-option-fg: #1D1D1F;
  --em-overlay: rgba(20,20,28,.36);
  --em-popover-bg: rgba(255,255,255,.94);
  --em-track: rgba(0,0,0,.09);
  --em-skeleton: rgba(0,0,0,.055);
  --em-skeleton-hi: rgba(0,0,0,.10);
  --em-btn-glass-bg: linear-gradient(180deg, #FFFFFF, #F3F3F6);
  --em-btn-glass-bg-hover: linear-gradient(180deg, #FFFFFF, #ECECF0);
  --em-btn-glass-shadow: inset 0 1px 0 #fff, inset 0 0 0 1px rgba(0,0,0,.12), inset 0 -6px 12px rgba(0,0,0,.035), 0 1px 2px rgba(16,18,32,.06), 0 4px 14px rgba(16,18,32,.06);
  --em-btn-glass-grain-blend: multiply;
  --em-btn-glass-grain: .08;
  --em-btn-contrast-fg: #FFFFFF;
  --em-btn-contrast-bg: linear-gradient(180deg, #3A3A40, #16161A);
  --em-btn-contrast-shadow: inset 0 1px 0 rgba(255,255,255,.22), 0 0 0 1px #000, 0 6px 18px rgba(16,18,32,.22);
  --em-btn-contrast-gloss: .28;
  --em-chip-ember-fg: var(--em-ember-deep);
  --em-chip-ember-bg: rgba(255,90,31,.09);
  --em-chip-on-bg: #1D1D1F;
  --em-chip-on-fg: #FFFFFF;
  --em-seg-on-bg: #FFFFFF;
  --em-seg-on-shadow: 0 0 0 .5px rgba(0,0,0,.08), 0 3px 8px rgba(0,0,0,.12);
  --em-tip-bg: #1D1D1F;
  --em-tip-fg: #FFFFFF;
  --em-nav-bg: rgba(255,255,255,.8);
  --em-nav-line: rgba(0,0,0,.08);
  --em-dialog-bg: rgba(255,255,255,.97);
  --em-dialog-shadow: 0 0 0 1px rgba(0,0,0,.08), 0 40px 120px rgba(16,18,32,.22);
  --em-pre-bg: #F4F4F6;
  --em-tile-bg: linear-gradient(180deg, #FFFFFF, #F7F7F9);
  --em-solid-surface: #FFFFFF;
  --em-solid-popover: #FFFFFF;
  --em-solid-btn-glass: #F3F3F6;
  --em-banner-bg: linear-gradient(90deg, #FFF1E8, #FFE6D6 50%, #FFF1E8);
  --em-banner-fg: #3A1A08;
  --em-banner-link: #B8400C;
  --em-banner-line: rgba(255,90,31,.25);
  --em-aurora-core: #FFF0E3;
  --em-aurora-base: #FFFFFF;
  --em-aurora-blend: multiply;
  --em-aurora-opacity: .20;
}
@media (prefers-color-scheme: light) {
.em-auto-theme:not([data-theme="dark"]) {
    color-scheme: light;
    --em-bg: #FFFFFF;
    --em-bg-alt: #F6F6F8;
    --em-surface: #FFFFFF;
    --em-border: rgba(0,0,0,.09);
    --em-text: var(--em-graphite);
    --em-text-muted: var(--em-slate-deep);
    --em-accent-text: var(--em-ember-deep);
    --em-success: var(--em-mint-deep);
    --em-link: #0055CC;
    --em-grid-dot: rgba(0,0,0,.05);
    --em-text-sheen: linear-gradient(180deg, #1D1D1F 0%, #1D1D1F 55%, rgba(29,29,31,.74) 100%);
    --em-danger: #C9302C;
    --em-danger-bg: rgba(201,48,44,.07);
    --em-warning: #8A5200;
    --em-warning-bg: rgba(255,176,32,.13);
    --em-info: #0055CC;
    --em-info-bg: rgba(0,85,204,.06);
    --em-success-bg: rgba(11,122,90,.07);
    --em-focus-color: var(--em-ember-deep);
    --em-noise-opacity: .10;
    --em-glass-bg: rgba(255,255,255,.72);
    --em-glass-bg-hi: rgba(255,255,255,.86);
    --em-glass-tint: rgba(255,255,255,.62);
    --em-glass-border: rgba(0,0,0,.08);
    --em-glass-base: linear-gradient(180deg, rgba(255,255,255,.92), rgba(255,255,255,.74));
    --em-glass-base-hi: linear-gradient(180deg, #FFFFFF, rgba(255,255,255,.86));
    --em-glass-rim: linear-gradient(180deg, rgba(0,0,0,.06), rgba(0,0,0,.09));
    --em-specular: inset 0 1px 0 rgba(255,255,255,.95), inset 0 -1px 0 rgba(0,0,0,.02);
    --em-shadow-1: 0 1px 2px rgba(16,18,32,.06);
    --em-shadow-2: 0 1px 2px rgba(16,18,32,.05), 0 6px 20px rgba(16,18,32,.07);
    --em-shadow-3: 0 2px 6px rgba(16,18,32,.06), 0 24px 56px rgba(16,18,32,.12);
    --em-fill-1: rgba(0,0,0,.035);
    --em-fill-2: rgba(0,0,0,.06);
    --em-fill-3: rgba(0,0,0,.10);
    --em-rim: rgba(0,0,0,.10);
    --em-rim-hi: #FFFFFF;
    --em-field-bg: #FFFFFF;
    --em-field-border: rgba(0,0,0,.18);
    --em-field-inset: inset 0 1px 2px rgba(0,0,0,.05);
    --em-autofill: #FFF8EE;
    --em-option-bg: #FFFFFF;
    --em-option-fg: #1D1D1F;
    --em-overlay: rgba(20,20,28,.36);
    --em-popover-bg: rgba(255,255,255,.94);
    --em-track: rgba(0,0,0,.09);
    --em-skeleton: rgba(0,0,0,.055);
    --em-skeleton-hi: rgba(0,0,0,.10);
    --em-btn-glass-bg: linear-gradient(180deg, #FFFFFF, #F3F3F6);
    --em-btn-glass-bg-hover: linear-gradient(180deg, #FFFFFF, #ECECF0);
    --em-btn-glass-shadow: inset 0 1px 0 #fff, inset 0 0 0 1px rgba(0,0,0,.12), inset 0 -6px 12px rgba(0,0,0,.035), 0 1px 2px rgba(16,18,32,.06), 0 4px 14px rgba(16,18,32,.06);
    --em-btn-glass-grain-blend: multiply;
    --em-btn-glass-grain: .08;
    --em-btn-contrast-fg: #FFFFFF;
    --em-btn-contrast-bg: linear-gradient(180deg, #3A3A40, #16161A);
    --em-btn-contrast-shadow: inset 0 1px 0 rgba(255,255,255,.22), 0 0 0 1px #000, 0 6px 18px rgba(16,18,32,.22);
    --em-btn-contrast-gloss: .28;
    --em-chip-ember-fg: var(--em-ember-deep);
    --em-chip-ember-bg: rgba(255,90,31,.09);
    --em-chip-on-bg: #1D1D1F;
    --em-chip-on-fg: #FFFFFF;
    --em-seg-on-bg: #FFFFFF;
    --em-seg-on-shadow: 0 0 0 .5px rgba(0,0,0,.08), 0 3px 8px rgba(0,0,0,.12);
    --em-tip-bg: #1D1D1F;
    --em-tip-fg: #FFFFFF;
    --em-nav-bg: rgba(255,255,255,.8);
    --em-nav-line: rgba(0,0,0,.08);
    --em-dialog-bg: rgba(255,255,255,.97);
    --em-dialog-shadow: 0 0 0 1px rgba(0,0,0,.08), 0 40px 120px rgba(16,18,32,.22);
    --em-pre-bg: #F4F4F6;
    --em-tile-bg: linear-gradient(180deg, #FFFFFF, #F7F7F9);
    --em-solid-surface: #FFFFFF;
    --em-solid-popover: #FFFFFF;
    --em-solid-btn-glass: #F3F3F6;
    --em-banner-bg: linear-gradient(90deg, #FFF1E8, #FFE6D6 50%, #FFF1E8);
    --em-banner-fg: #3A1A08;
    --em-banner-link: #B8400C;
    --em-banner-line: rgba(255,90,31,.25);
    --em-aurora-core: #FFF0E3;
    --em-aurora-base: #FFFFFF;
    --em-aurora-blend: multiply;
    --em-aurora-opacity: .20;
  }
}
/* THEME:END */

/* ---- Base primitives (v1 class names kept) ---------------------------- */
.em-eyebrow { font-family: var(--em-font-body); font-weight: 600; font-size: var(--em-fs-sm); letter-spacing: -.005em; color: var(--em-accent-text); }
.em-display { font-family: var(--em-font-display); font-weight: 650; letter-spacing: var(--em-track-display); line-height: var(--em-lh-tight); font-optical-sizing: auto; }
.em-sunrise-text { background: var(--em-sunrise); -webkit-background-clip: text; background-clip: text; color: transparent; }
.em-sheen-text { background: var(--em-text-sheen); -webkit-background-clip: text; background-clip: text; color: transparent; }
.em-dotgrid { background-image: radial-gradient(var(--em-grid-dot) 1px, transparent 1px); background-size: 24px 24px; }
