/* =====================================================================
   Translitera Press — design tokens
   Palette and type are overridden at runtime from Admin → Appearance,
   which injects a :root block after this file.
   ===================================================================== */

:root {
  /* Colour ------------------------------------------------------- */
  --ink:        #14202E;   /* primary text, dark surfaces            */
  --ink-soft:   #24344a;
  --lapis:      #27418C;   /* links, primary actions                 */
  --lapis-deep: #1c3069;
  --ochre:      #B8873A;   /* diacritic accent, marginal rules       */
  --linen:      #EDEEE9;   /* page ground                            */
  --paper:      #F7F8F4;   /* raised surfaces                        */
  --slate:      #5C6675;   /* secondary text, apparatus              */
  --rule:       #D5D8CF;   /* hairlines                              */
  --rule-soft:  #E3E5DE;
  --signal:     #8E2B2B;   /* editorial states only                  */
  --white:      #FFFFFF;

  /* Type --------------------------------------------------------- */
  --font-display: 'Spectral', Georgia, 'Times New Roman', serif;
  --font-body:    'IBM Plex Sans', system-ui, -apple-system, 'Segoe UI', sans-serif;
  --font-serif:   'Spectral', Georgia, serif;
  --font-mono:    'IBM Plex Mono', ui-monospace, 'SF Mono', monospace;

  --fs-base:  17px;
  --fs-xs:    0.735rem;
  --fs-sm:    0.835rem;
  --fs-md:    0.94rem;
  --fs-lg:    1.18rem;
  --fs-xl:    1.5rem;
  --fs-2xl:   1.95rem;
  --fs-3xl:   2.55rem;
  --fs-4xl:   3.3rem;

  --lh-tight: 1.18;
  --lh-snug:  1.38;
  --lh-body:  1.68;

  /* Space -------------------------------------------------------- */
  --sp-1: 0.35rem;  --sp-2: 0.7rem;   --sp-3: 1.1rem;
  --sp-4: 1.6rem;   --sp-5: 2.4rem;   --sp-6: 3.4rem;
  --sp-7: 4.8rem;   --sp-8: 6.4rem;

  /* Measure ------------------------------------------------------ */
  --w-narrow: 44rem;
  --w-normal: 68rem;
  --w-wide:   80rem;
  --measure:  38rem;

  --radius: 2px;
  --transition: 160ms ease;
}

/* ---------------------------------------------------------------------
   Dark mode. Same variable names, different values, so every rule in
   public.css follows without being rewritten. Overridden at runtime by
   Appearance → Dark.
   --------------------------------------------------------------------- */
[data-theme="dark"] {
  --ink:        #E8EBEF;
  --ink-soft:   #C3CAD4;
  --lapis:      #8FA9E8;
  --lapis-deep: #AFC2F0;
  --ochre:      #D6A45E;
  --linen:      #121820;
  --paper:      #1A222C;
  --slate:      #98A2B0;
  --rule:       #2A3441;
  --rule-soft:  #222B36;
  --signal:     #E0736F;
  --white:      #1A222C;

  color-scheme: dark;
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: 0.01ms !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
}
