/* Today's AI tokens. Direction: The Almanac v3 (design-direction/round3/almanac-v3/).
   One aubergine ink on warm paper, flat with grain. Geist Serif everywhere (D-014), Geist Sans on buttons only (D-017).
   Muted red and green are reserved for real price moves. */
/* Tier 1: primitives. Never referenced by components. */
:root{
  --aub-950:#33132F;--aub-900:#4A1F45;--aub-700:#6E4A68;--aub-500:#8B6685;
  --aub-a30:rgba(74,31,69,.30);--aub-a14:rgba(74,31,69,.14);--aub-a06:rgba(74,31,69,.06);
  --paper-50:#FBF8F3;--paper-100:#F5F1EA;--paper-200:#EDE6DC;
  --rust-700:#8A3A2E;--moss-700:#3D6648;
}
/* Tier 2: semantic roles. Components use only these. */
:root{
  --ink:var(--aub-900);              /* 11.9:1 on paper */
  --ink-deep:var(--aub-950);         /* pressed states */
  --ink-2:var(--aub-700);            /* secondary text, 6.6:1 on paper, 6.0:1 on paper-2 */
  --paper:var(--paper-100);--sheet:var(--paper-50);--paper-2:var(--paper-200);
  --rule:var(--aub-a30);--rule-2:var(--aub-a14);--wash:var(--aub-a06);
  --up:var(--rust-700);              /* price rises only, 7.3:1 */
  --down:var(--moss-700);            /* price cuts only, 6.2:1 */
  --chart-input:var(--aub-500);--chart-output:var(--aub-900);--chart-track:var(--aub-a14);
  --focus-ring:var(--aub-900);
  --serif:"Geist Serif","Geist Serif Fallback","Geist Serif Fallback TNR",Georgia,"Times New Roman",serif;
  --font-sans:var(--serif);
  --font-mono:var(--serif);
  --grain:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.86' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .29 0 0 0 0 .12 0 0 0 0 .27 0 0 0 .9 -.28'/%3E%3C/filter%3E%3Crect width='200' height='200' filter='url(%23n)' opacity='.2'/%3E%3C/svg%3E");
  --fibre:url(/art/paper-fibre.webp); /* opaque 512px seamless paper tile, 4 KB: soft horizontal fibres from FFT-filtered noise, baked on --paper */
  --paper-tex:var(--grain),var(--fibre),var(--paper);
  --font-ui:"Geist","Geist Fallback",ui-sans-serif,system-ui,-apple-system,"Segoe UI",Arial,sans-serif;
  --gut:clamp(16px,4vw,56px);--max:1312px;
  --s1:4px;--s2:8px;--s3:12px;--s4:16px;--s5:20px;--s6:24px;--s8:32px;--s10:40px;--s12:48px;--s16:64px;--s20:80px;--s24:96px;
  --ease-out:cubic-bezier(0.22,1,0.36,1);
  --dur-hover:150ms;--dur-toggle:200ms;--dur-presence:400ms;--dur-hero:1800ms;
}
