/* ============================================================================
   dean.school — tokens
   Design contract: /DESIGN.md
   ========================================================================= */

/* --- Typefaces. SIL Open Font Licence, self-hosted, latin subset. ---------- */

@font-face {
  font-family: 'Geist';
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url('../fonts/geist-latin.woff2') format('woff2');
  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;
}

@font-face {
  font-family: 'Geist Mono';
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url('../fonts/geist-mono-latin.woff2') format('woff2');
  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;
}

@font-face {
  font-family: 'Instrument Serif';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url('../fonts/instrument-serif-italic.woff2') format('woff2');
  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;
}

@font-face {
  font-family: 'Instrument Serif';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('../fonts/instrument-serif.woff2') format('woff2');
  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;
}

:root {
  /* --- Field. Pulled toward the mark's violet rather than neutral black. --- */
  --ink: #0a0812;
  --ink-raise: #14101f;
  --ink-raise-2: #1c1730;
  --ink-sunken: #06040c;

  --chalk: #f7f5ff;
  --chalk-dim: rgba(247, 245, 255, 0.95);
  --chalk-mute: rgba(247, 245, 255, 0.84);
  --chalk-faint: rgba(247, 245, 255, 0.62);

  --hair: rgba(196, 178, 255, 0.13);
  --hair-strong: rgba(196, 178, 255, 0.22);

  /* --- Accent. Taken straight from the mark's own gradient. --------------- */
  --violet: #8b5cf6;
  --violet-lift: #b79bff;
  --violet-wash: rgba(139, 92, 246, 0.14);
  --cyan: #35b0f7;
  --signal: #56cfa0;
  --signal-wash: rgba(86, 207, 160, 0.14);
  --alert: #f0955c;
  --alert-wash: rgba(240, 149, 92, 0.14);

  /* Kept as aliases so existing rules resolve to the new accent. */
  --brass: var(--violet);
  --brass-lift: var(--violet-lift);
  --brass-wash: var(--violet-wash);

  /* --- Paper. The settle act, inverted from the field. -------------------- */
  --paper: #f5f3fb;
  --paper-raise: #fbfaff;
  --paper-ink: #14101f;
  --paper-dim: rgba(20, 16, 31, 0.7);
  --paper-mute: rgba(20, 16, 31, 0.5);
  --paper-hair: rgba(20, 16, 31, 0.13);

  /* --- Type -------------------------------------------------------------- */
  --sans: 'Geist', ui-sans-serif, system-ui, -apple-system, 'Segoe UI', sans-serif;
  --mono: 'Geist Mono', ui-monospace, 'SF Mono', Menlo, monospace;
  --serif: 'Instrument Serif', ui-serif, Georgia, serif;

  --t-hero: clamp(3.25rem, 8.2vw, 8.5rem);
  --t-scene: clamp(2.25rem, 5.4vw, 5rem);
  --t-sub: clamp(1.5rem, 3vw, 2.5rem);
  --t-lead: clamp(1.25rem, 2vw, 1.75rem);
  --t-body: clamp(1rem, 1.15vw, 1.125rem);
  --t-small: 0.9375rem;
  --t-micro: 0.75rem;
  --t-nano: 0.6875rem;

  /* --- Space ------------------------------------------------------------- */
  --gutter: clamp(1.25rem, 4vw, 4rem);
  --act-pad: clamp(6rem, 14vh, 11rem);
  --shell-max: 1440px;
  --read-max: 62ch;

  /* --- Material ---------------------------------------------------------- */
  --r-shell: 26px;
  --r-core: 20px;
  --r-panel: 14px;
  --r-chip: 999px;
  --shell-pad: 6px;

  /* --- Motion ------------------------------------------------------------ */
  --ease-enter: cubic-bezier(0.16, 1, 0.3, 1);
  --ease-state: cubic-bezier(0.32, 0.72, 0, 1);
  --dur-fast: 260ms;
  --dur-mid: 520ms;
  --dur-slow: 820ms;

  /* --- Layers. Systemic only. -------------------------------------------- */
  --z-desk: 1;
  --z-sticky: 20;
  --z-nav: 40;
  --z-overlay: 60;
  --z-grain: 80;
}
