/* 00 · palette
   The house colors, each written once as light-dark(light, dark). The theme module sets color-scheme;
   nothing here changes per theme by hand. Element files (01) copy from these; only gems and hero stops
   are read directly, because the shape engine swaps whole ladders at runtime. */

:root{
  color-scheme:dark light;

  /* ground, panels, ink */
  --bg:light-dark(#F6EEF1,#0F0B11);
  --bg2:light-dark(#F3E7EC,#140B14);
  --bg3:light-dark(#EFDDE4,#1A0D15);
  --panel:light-dark(#FCF7F8,#18131A);
  --raise:light-dark(#F2E5EA,#221A24);
  --line:light-dark(#E0CBD3,#382A38);
  --groove:light-dark(#EBDCE2,#0A0810);
  --ink:light-dark(#1A0B14,#F5EEF3);
  --sec:light-dark(#4B2436,#D4C6D0);
  --mute:light-dark(#7C5566,#A28FA0);

  /* the brand rose and its family */
  --rose:light-dark(#B42F4A,#E8697F);
  --rose-soft:light-dark(#8E2238,#F4B2BE);
  --rose-band:light-dark(#F7DCE2,#3A1B24);
  --rose-deep:light-dark(#7A0F22,#8E2238);
  --rose-dark:light-dark(#4E0816,#5A1424);

  /* gems: one ladder, codified from hero's lava (night blue, space white, rose, blood rose, lava), and every gem is
     that same texture at its own wavelength: only the body hue (--h-*) changes. Five stops, each a fixed lightness,
     chroma and hue offset from the body: 0 the cool side (body - 90), 1 its near-white highlight, 2 the light body,
     3 the body (signature), 4 the hot end (body + 35). By day the ladder is darker, by night brighter */
  --h-hero:5;--h-teal:190;--h-sage:150;--h-amethyst:300;--h-gold:65;--h-peri:255;
  --hero-0:light-dark(oklch(.47 .15 calc(var(--h-hero) - 90)),oklch(.70 .15 calc(var(--h-hero) - 90)));
  --hero-1:light-dark(oklch(.52 .13 calc(var(--h-hero) - 60)),oklch(.96 .025 calc(var(--h-hero) - 90)));
  --hero-2:light-dark(oklch(.52 .16 var(--h-hero)),oklch(.78 .12 var(--h-hero)));
  --hero-3:light-dark(oklch(.38 .13 calc(var(--h-hero) + 8)),oklch(.62 .18 calc(var(--h-hero) + 5)));
  --hero-4:light-dark(oklch(.58 .17 calc(var(--h-hero) + 35)),oklch(.72 .18 calc(var(--h-hero) + 35)));
  --g-teal-0:light-dark(oklch(.47 .15 calc(var(--h-teal) - 90)),oklch(.70 .15 calc(var(--h-teal) - 90)));
  --g-teal-1:light-dark(oklch(.52 .13 calc(var(--h-teal) - 60)),oklch(.96 .025 calc(var(--h-teal) - 90)));
  --g-teal-2:light-dark(oklch(.52 .16 var(--h-teal)),oklch(.78 .12 var(--h-teal)));
  --g-teal-3:light-dark(oklch(.38 .13 calc(var(--h-teal) + 8)),oklch(.62 .18 calc(var(--h-teal) + 5)));
  --g-teal-4:light-dark(oklch(.58 .17 calc(var(--h-teal) + 35)),oklch(.72 .18 calc(var(--h-teal) + 35)));
  --g-sage-0:light-dark(oklch(.47 .15 calc(var(--h-sage) - 90)),oklch(.70 .15 calc(var(--h-sage) - 90)));
  --g-sage-1:light-dark(oklch(.52 .13 calc(var(--h-sage) - 60)),oklch(.96 .025 calc(var(--h-sage) - 90)));
  --g-sage-2:light-dark(oklch(.52 .16 var(--h-sage)),oklch(.78 .12 var(--h-sage)));
  --g-sage-3:light-dark(oklch(.38 .13 calc(var(--h-sage) + 8)),oklch(.62 .18 calc(var(--h-sage) + 5)));
  --g-sage-4:light-dark(oklch(.58 .17 calc(var(--h-sage) + 35)),oklch(.72 .18 calc(var(--h-sage) + 35)));
  --g-amethyst-0:light-dark(oklch(.47 .15 calc(var(--h-amethyst) - 90)),oklch(.70 .15 calc(var(--h-amethyst) - 90)));
  --g-amethyst-1:light-dark(oklch(.52 .13 calc(var(--h-amethyst) - 60)),oklch(.96 .025 calc(var(--h-amethyst) - 90)));
  --g-amethyst-2:light-dark(oklch(.52 .16 var(--h-amethyst)),oklch(.78 .12 var(--h-amethyst)));
  --g-amethyst-3:light-dark(oklch(.38 .13 calc(var(--h-amethyst) + 8)),oklch(.62 .18 calc(var(--h-amethyst) + 5)));
  --g-amethyst-4:light-dark(oklch(.58 .17 calc(var(--h-amethyst) + 35)),oklch(.72 .18 calc(var(--h-amethyst) + 35)));
  --g-gold-0:light-dark(oklch(.47 .15 calc(var(--h-gold) - 90)),oklch(.70 .15 calc(var(--h-gold) - 90)));
  --g-gold-1:light-dark(oklch(.52 .13 calc(var(--h-gold) - 60)),oklch(.96 .025 calc(var(--h-gold) - 90)));
  --g-gold-2:light-dark(oklch(.52 .16 var(--h-gold)),oklch(.78 .12 var(--h-gold)));
  --g-gold-3:light-dark(oklch(.38 .13 calc(var(--h-gold) + 8)),oklch(.62 .18 calc(var(--h-gold) + 5)));
  --g-gold-4:light-dark(oklch(.58 .17 calc(var(--h-gold) + 35)),oklch(.72 .18 calc(var(--h-gold) + 35)));
  --g-peri-0:light-dark(oklch(.47 .15 calc(var(--h-peri) - 90)),oklch(.70 .15 calc(var(--h-peri) - 90)));
  --g-peri-1:light-dark(oklch(.52 .13 calc(var(--h-peri) - 60)),oklch(.96 .025 calc(var(--h-peri) - 90)));
  --g-peri-2:light-dark(oklch(.52 .16 var(--h-peri)),oklch(.78 .12 var(--h-peri)));
  --g-peri-3:light-dark(oklch(.38 .13 calc(var(--h-peri) + 8)),oklch(.62 .18 calc(var(--h-peri) + 5)));
  --g-peri-4:light-dark(oklch(.58 .17 calc(var(--h-peri) + 35)),oklch(.72 .18 calc(var(--h-peri) + 35)));

  /* type: the design faces first (used only if installed or self-hosted later), then system faces.
     No remote fonts: access rule, third-party. */
  --f-display:"Fraunces",ui-serif,"Iowan Old Style","Palatino Linotype","Book Antiqua",Georgia,serif;
  --f-body:"Public Sans",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  --f-data:"IBM Plex Mono",ui-monospace,"Cascadia Mono","SF Mono",Consolas,monospace;
  /* the block face: thick, square-shouldered system blacks (Arial Black, Segoe UI Black, SF Pro and Roboto at 900) */
  --f-block:"Arial Black","Segoe UI Black",system-ui,-apple-system,"Helvetica Neue",Roboto,Arial,sans-serif;

  /* the beat: every looping animation is a whole number of beats, so all loops realign */
  --rw-beat:4.5s;
  --e:cubic-bezier(.2,.8,.2,1);
  --t1:.18s;
  --t2:.45s;
  --t3:.9s;
}
/* the switch's own attribute (modules/theme.js); a host's data-theme cannot overrule it, and neither can a
   color-scheme the host writes inline on the root or the body (hence important, here only) */
:root[data-rw-theme="dark"],:root[data-rw-theme="dark"] body{color-scheme:dark!important}
:root[data-rw-theme="light"],:root[data-rw-theme="light"] body{color-scheme:light!important}
