/* =========================================================================
   Meridian · design tokens
   Light is the base. Dark overrides under [data-theme="dark"] and, for System
   mode (no attribute), under prefers-color-scheme. The reader toggle stamps
   data-theme on <html>; the admin default is applied by js/theme-mode.js.
   Colour presets (data-preset on <html>) swap the accent triad only.
   ========================================================================= */

:root {
  /* ---- typography ---- */
  --mrd-font-heading: 'Playfair Display', Georgia, 'Times New Roman', serif;
  --mrd-font-body: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
  --mrd-font-mono: 'JetBrains Mono', ui-monospace, SFMono-Regular, Menlo, monospace;
  --mrd-font-script: 'Great Vibes', 'Marck Script', cursive;

  /* ---- accent triad (Gold Editorial) ---- */
  --mrd-primary: #0B2341;
  --mrd-primary-2: #0E3358;
  --mrd-accent: #D4AF37;
  --mrd-accent-2: #E9C866;
  --mrd-hover: #0E5AA7;
  --mrd-neon: #37D5FF;

  /* ---- light surfaces ---- */
  --mrd-bg: #FFFFFF;
  --mrd-bg-2: #F5F7FA;
  --mrd-surface: #FFFFFF;
  --mrd-surface-2: #F5F7FA;
  --mrd-border: rgba(11, 35, 65, .12);
  --mrd-border-2: rgba(11, 35, 65, .2);

  --mrd-text: #0B2341;
  --mrd-text-2: #47566B;
  --mrd-text-3: #6B7A90;
  --mrd-on-primary: #FFFFFF;
  --mrd-on-accent: #0B2341;

  --mrd-danger: #C0392B;
  --mrd-success: #1E7F4F;
  --mrd-warning: #B9770E;

  /* ---- scale ---- */
  --mrd-radius: 16px;
  --mrd-radius-sm: 10px;
  --mrd-radius-lg: 22px;
  --mrd-shadow-sm: 0 1px 3px rgba(11, 35, 65, .06), 0 1px 2px rgba(11, 35, 65, .08);
  --mrd-shadow: 0 10px 30px rgba(11, 35, 65, .08), 0 2px 8px rgba(11, 35, 65, .05);
  --mrd-shadow-lg: 0 30px 70px rgba(11, 35, 65, .14);
  --mrd-ring: 0 0 0 3px rgba(14, 90, 167, .35);

  --mrd-header-h: 116px;   /* utility bar + nav */
  --mrd-nav-h: 60px;
  --mrd-max: 1280px;
  --mrd-gutter: clamp(16px, 4vw, 40px);
  /* Large / 4K displays: let the column breathe instead of a narrow strip. */

  --mrd-hero-veil-o: 1;    /* set below 1 by the "Hero overlay" theme option */
  --mrd-motion: 1;         /* set to 0 by reduced-motion / admin */
  --mrd-ease: cubic-bezier(.22, .61, .36, 1);

  color-scheme: light;
  --mrd-heading-style: normal;
}

/* ---- font presets ---- */
:root[data-fonts="nature"]    { --mrd-font-heading: 'Merriweather', Georgia, serif;      --mrd-font-body: 'Source Sans 3', system-ui, sans-serif; }
:root[data-fonts="modern"]    { --mrd-font-heading: 'Manrope', system-ui, sans-serif;    --mrd-font-body: 'Inter', system-ui, sans-serif; }
:root[data-fonts="corporate"] { --mrd-font-heading: 'IBM Plex Serif', Georgia, serif;    --mrd-font-body: 'IBM Plex Sans', system-ui, sans-serif; }
:root[data-fonts="classic"]   { --mrd-font-heading: 'Libre Baskerville', Georgia, serif; --mrd-font-body: 'Lato', system-ui, sans-serif; }
:root[data-fonts="editorialItalic"] { --mrd-font-heading: 'Cormorant Garamond', Georgia, serif; --mrd-font-body:'Inter',system-ui,sans-serif; --mrd-heading-style:italic; }

/* ---- colour presets (accent triad) ---- */
:root[data-preset="sapphire"]     { --mrd-primary:#0A2A5E; --mrd-accent:#3B82F6; --mrd-accent-2:#7CB0FA; --mrd-hover:#1D4ED8; --mrd-on-accent:#062046; }
:root[data-preset="emerald"]      { --mrd-primary:#06301F; --mrd-accent:#10B981; --mrd-accent-2:#5FD3AE; --mrd-hover:#047857; --mrd-on-accent:#03271A; }
:root[data-preset="burgundy"]     { --mrd-primary:#3F1220; --mrd-accent:#C0392B; --mrd-accent-2:#E07A6E; --mrd-hover:#96261B; --mrd-on-accent:#FFF; }
:root[data-preset="royalPurple"]  { --mrd-primary:#2A1A4A; --mrd-accent:#7C3AED; --mrd-accent-2:#A987F2; --mrd-hover:#5B21B6; --mrd-on-accent:#FFF; }
:root[data-preset="ocean"]        { --mrd-primary:#083344; --mrd-accent:#0891B2; --mrd-accent-2:#4CC7DE; --mrd-hover:#0E7490; --mrd-on-accent:#032530; }
:root[data-preset="natureGreen"]  { --mrd-primary:#14331A; --mrd-accent:#639922; --mrd-accent-2:#96C459; --mrd-hover:#3B6D11; --mrd-on-accent:#0B1E08; }
:root[data-preset="academicGray"] { --mrd-primary:#1F2933; --mrd-accent:#52606D; --mrd-accent-2:#8794A1; --mrd-hover:#323F4B; --mrd-on-accent:#FFF; }
:root[data-preset="quantumAI"]    { --mrd-primary:#0E3D2C; --mrd-accent:#22C58B; --mrd-accent-2:#4FDBA8; --mrd-hover:#6D7BFF; --mrd-on-accent:#06210F; }
:root[data-preset="midnightDark"] { --mrd-primary:#0B1220; --mrd-accent:#6D7BFF; --mrd-accent-2:#9AA5FF; --mrd-hover:#4F5BD5; --mrd-on-accent:#FFF; }

/* ---- dark mode ---- */
:root[data-theme="dark"] {
  --mrd-bg: #071421;
  --mrd-bg-2: #0B1C2C;
  --mrd-surface: #102536;
  --mrd-surface-2: #0B1C2C;
  --mrd-border: #1E3A4D;
  --mrd-border-2: #2C4A60;

  --mrd-text: #EAF1F8;
  --mrd-text-2: #A9BED0;
  --mrd-text-3: #7F97AC;
  --mrd-primary: #EAF1F8;      /* on dark, "primary" text/bars go light */
  --mrd-primary-2: #C9DAEA;
  --mrd-on-primary: #071421;

  --mrd-shadow-sm: 0 1px 3px rgba(0, 0, 0, .4);
  --mrd-shadow: 0 14px 40px rgba(0, 0, 0, .45);
  --mrd-shadow-lg: 0 30px 80px rgba(0, 0, 0, .55);
  --mrd-ring: 0 0 0 3px rgba(55, 213, 255, .4);

  color-scheme: dark;
}

@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) {
    --mrd-bg: #071421;
    --mrd-bg-2: #0B1C2C;
    --mrd-surface: #102536;
    --mrd-surface-2: #0B1C2C;
    --mrd-border: #1E3A4D;
    --mrd-border-2: #2C4A60;
    --mrd-text: #EAF1F8;
    --mrd-text-2: #A9BED0;
    --mrd-text-3: #7F97AC;
    --mrd-primary: #EAF1F8;
    --mrd-primary-2: #C9DAEA;
    --mrd-on-primary: #071421;
    --mrd-shadow-sm: 0 1px 3px rgba(0, 0, 0, .4);
    --mrd-shadow: 0 14px 40px rgba(0, 0, 0, .45);
    --mrd-shadow-lg: 0 30px 80px rgba(0, 0, 0, .55);
    --mrd-ring: 0 0 0 3px rgba(55, 213, 255, .4);
    color-scheme: dark;
  }
}

@media (min-width: 1600px) { :root { --mrd-max: 1460px; } }
@media (min-width: 2000px) { :root { --mrd-max: 1600px; } }
@media (min-width: 2600px) { :root { --mrd-max: 1760px; } }

@media (prefers-reduced-motion: reduce) {
  :root { --mrd-motion: 0; }
}

/* =========================================================================
   v0.3.0 — Seven curated colourways. Each palette defines a complete light
   surface system, not only an accent. Dark mode derives a deeper companion
   while preserving the selected accent identity.
   ========================================================================= */
:root[data-preset="institutionalGold"] { --mrd-primary:#17324D; --mrd-primary-2:#274B6A; --mrd-accent:#D9A441; --mrd-accent-2:#F1CD7A; --mrd-hover:#B77A18; --mrd-neon:#7FC9E8; --mrd-bg:#FBFCFD; --mrd-bg-2:#F1F5F8; --mrd-surface:#FFFFFF; --mrd-surface-2:#F6F8FA; --mrd-border:rgba(23,50,77,.13); --mrd-border-2:rgba(23,50,77,.23); --mrd-text:#17324D; --mrd-text-2:#52677B; --mrd-text-3:#718397; }
:root[data-preset="tealBreeze"]       { --mrd-primary:#0E6072; --mrd-primary-2:#147E91; --mrd-accent:#20B9B1; --mrd-accent-2:#83DDD8; --mrd-hover:#087F8C; --mrd-neon:#68DDE9; --mrd-bg:#F6FCFC; --mrd-bg-2:#EAF7F7; --mrd-surface:#FFFFFF; --mrd-surface-2:#EFF9F9; --mrd-border:rgba(14,96,114,.14); --mrd-border-2:rgba(14,96,114,.24); --mrd-text:#123D48; --mrd-text-2:#4B6E75; --mrd-text-3:#729198; }
:root[data-preset="roseQuartz"]       { --mrd-primary:#8F285F; --mrd-primary-2:#B3447D; --mrd-accent:#D965A3; --mrd-accent-2:#F0A9CE; --mrd-hover:#B92E73; --mrd-neon:#F3A8D4; --mrd-bg:#FFF9FC; --mrd-bg-2:#FCEFF6; --mrd-surface:#FFFFFF; --mrd-surface-2:#FFF3F9; --mrd-border:rgba(143,40,95,.13); --mrd-border-2:rgba(143,40,95,.23); --mrd-text:#55213E; --mrd-text-2:#76576A; --mrd-text-3:#99798C; }
:root[data-preset="indigoMist"]       { --mrd-primary:#354FBA; --mrd-primary-2:#526DD5; --mrd-accent:#7187E8; --mrd-accent-2:#B3C0F5; --mrd-hover:#415FCB; --mrd-neon:#91B6FF; --mrd-bg:#F8FAFF; --mrd-bg-2:#EEF2FC; --mrd-surface:#FFFFFF; --mrd-surface-2:#F2F5FD; --mrd-border:rgba(53,79,186,.13); --mrd-border-2:rgba(53,79,186,.23); --mrd-text:#24376E; --mrd-text-2:#59678E; --mrd-text-3:#7B87A8; }
:root[data-preset="oliveNature"]      { --mrd-primary:#236B4B; --mrd-primary-2:#328663; --mrd-accent:#55B983; --mrd-accent-2:#A4E1BE; --mrd-hover:#21845A; --mrd-neon:#82DDB0; --mrd-bg:#F8FCF9; --mrd-bg-2:#EDF7F0; --mrd-surface:#FFFFFF; --mrd-surface-2:#F1F9F3; --mrd-border:rgba(35,107,75,.13); --mrd-border-2:rgba(35,107,75,.23); --mrd-text:#244B39; --mrd-text-2:#587364; --mrd-text-3:#7B9487; }
:root[data-preset="sandyBeige"]       { --mrd-primary:#9B562D; --mrd-primary-2:#B96C39; --mrd-accent:#D9953D; --mrd-accent-2:#F2C985; --mrd-hover:#B76B22; --mrd-neon:#E8B56D; --mrd-bg:#FFFCF7; --mrd-bg-2:#F8F1E7; --mrd-surface:#FFFFFF; --mrd-surface-2:#FBF5EC; --mrd-border:rgba(155,86,45,.13); --mrd-border-2:rgba(155,86,45,.23); --mrd-text:#5D3B28; --mrd-text-2:#786354; --mrd-text-3:#9A8372; }
:root[data-preset="slateGray"]        { --mrd-primary:#40566C; --mrd-primary-2:#5C7185; --mrd-accent:#71879B; --mrd-accent-2:#B9C6D2; --mrd-hover:#526E88; --mrd-neon:#91B2CF; --mrd-bg:#FAFBFC; --mrd-bg-2:#F0F3F6; --mrd-surface:#FFFFFF; --mrd-surface-2:#F4F6F8; --mrd-border:rgba(64,86,108,.13); --mrd-border-2:rgba(64,86,108,.23); --mrd-text:#2F4254; --mrd-text-2:#607181; --mrd-text-3:#82909E; }

:root[data-theme="dark"][data-preset] {
  --mrd-bg:#071421; --mrd-bg-2:#0B1C2C; --mrd-surface:#102536; --mrd-surface-2:#0B1C2C;
  --mrd-border:#1E3A4D; --mrd-border-2:#2C4A60; --mrd-text:#EEF5FA; --mrd-text-2:#B6C8D6; --mrd-text-3:#89A0B2;
}
:root[data-theme="dark"][data-preset="institutionalGold"] { --mrd-accent:#E1B553; --mrd-accent-2:#F4D78D; --mrd-hover:#F0C76C; }
:root[data-theme="dark"][data-preset="tealBreeze"] { --mrd-accent:#2CC9C1; --mrd-accent-2:#8DE5DF; --mrd-hover:#55D8D1; }
:root[data-theme="dark"][data-preset="roseQuartz"] { --mrd-accent:#E675B2; --mrd-accent-2:#F3B4D5; --mrd-hover:#EE8FC2; }
:root[data-theme="dark"][data-preset="indigoMist"] { --mrd-accent:#8298F2; --mrd-accent-2:#C0CBF8; --mrd-hover:#9AAAF5; }
:root[data-theme="dark"][data-preset="oliveNature"] { --mrd-accent:#65C993; --mrd-accent-2:#ACE8C6; --mrd-hover:#80D6A7; }
:root[data-theme="dark"][data-preset="sandyBeige"] { --mrd-accent:#E5A451; --mrd-accent-2:#F5D294; --mrd-hover:#ECB66D; }
:root[data-theme="dark"][data-preset="slateGray"] { --mrd-accent:#8CA0B3; --mrd-accent-2:#C5D0DA; --mrd-hover:#A4B5C4; }
