/* Mundus Novus design tokens. One file for the site, the apps and the social network.
   Light and dark follow the system unless a page sets data-theme="light" or "dark" on <html>. */
@font-face { font-family: "Chancel"; src: url("Chancel-Regular.woff") format("woff"); font-display: swap; }

:root {
  /* the palette: an old map of the New World. Sea, gold and parchment, with a terracotta for warnings */
  --mn-sea: #2a62c9;      --mn-sea-bright: #4a82e6; --mn-sea-deep: #17449a; --mn-abyss: #0c2558;
  --mn-gold: #e9b04b;     --mn-gold-light: #ffd47e; --mn-gold-deep: #a8761a;
  --mn-ink: #0c1222;      --mn-night: #131c31;      --mn-coal: #1c2742;
  --mn-cream: #f4ecdb;    --mn-paper: #e5d8bd;      --mn-stone: #faf7f0;
  --mn-alert: #c4432d;    --mn-alert-bright: #e0603f;

  /* type: Chancel for display, the system for reading and for interfaces */
  --mn-display: "Chancel", ui-monospace, monospace;
  --mn-text: "Atkinson Hyperlegible", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;
  --mn-mono: ui-monospace, "SF Mono", "Cascadia Code", Menlo, monospace;
  --mn-step--1: clamp(.83rem, .8rem + .15vw, .9rem);
  --mn-step-0: clamp(1rem, .96rem + .2vw, 1.1rem);
  --mn-step-1: clamp(1.25rem, 1.15rem + .5vw, 1.5rem);
  --mn-step-2: clamp(1.6rem, 1.35rem + 1.2vw, 2.2rem);
  --mn-step-3: clamp(2.2rem, 1.6rem + 3vw, 4rem);
  --mn-step-4: clamp(3rem, 1.8rem + 6vw, 7rem);

  /* space, radius, motion */
  --mn-space: clamp(16px, 2.4vw, 28px);
  --mn-radius-s: 8px; --mn-radius: 14px; --mn-radius-l: 22px;
  --mn-ease: cubic-bezier(.32, .08, .24, 1);      /* settle */
  --mn-ease-out: cubic-bezier(.16, 1, .3, 1);     /* arrive */
  --mn-ease-spring: cubic-bezier(.34, 1.4, .64, 1);
  --mn-fast: .18s; --mn-med: .32s; --mn-slow: .7s;

  /* the light appearance */
  color-scheme: light dark;
  --mn-bg: var(--mn-stone);
  --mn-surface: #ffffff;
  --mn-surface-2: #efe9dc;
  --mn-glass: rgb(255 255 255 / .72);
  --mn-line: rgb(12 18 34 / .12);
  --mn-fg: var(--mn-ink);
  --mn-fg-2: #4a5468;
  --mn-accent: var(--mn-sea-deep);
  --mn-accent-fg: #ffffff;
  --mn-highlight: var(--mn-gold-deep);
  --mn-focus: var(--mn-gold);
  --mn-shadow: 0 1px 2px rgb(12 18 34 / .06), 0 8px 24px rgb(12 18 34 / .08);
}
@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) {
    --mn-bg: var(--mn-ink); --mn-surface: var(--mn-night); --mn-surface-2: var(--mn-coal);
    --mn-glass: rgb(19 28 49 / .7); --mn-line: rgb(244 236 219 / .12);
    --mn-fg: var(--mn-cream); --mn-fg-2: #b4bdd0; --mn-accent: var(--mn-sea-bright); --mn-highlight: var(--mn-gold); --mn-alert: var(--mn-alert-bright);
    --mn-shadow: 0 1px 2px rgb(0 0 0 / .4), 0 12px 32px rgb(0 0 0 / .45);
  }
}
:root[data-theme="dark"] {
  --mn-bg: var(--mn-ink); --mn-surface: var(--mn-night); --mn-surface-2: var(--mn-coal);
  --mn-glass: rgb(19 28 49 / .7); --mn-line: rgb(244 236 219 / .12);
  --mn-fg: var(--mn-cream); --mn-fg-2: #b4bdd0; --mn-accent: var(--mn-sea-bright); --mn-highlight: var(--mn-gold); --mn-alert: var(--mn-alert-bright);
  --mn-shadow: 0 1px 2px rgb(0 0 0 / .4), 0 12px 32px rgb(0 0 0 / .45);
}
@media (prefers-reduced-motion: reduce) { :root { --mn-fast: .01ms; --mn-med: .01ms; --mn-slow: .01ms; } }
