/* Design tokens: colour, type, spacing, radius. Geist foundations, dark theme. */

/* Foundations follow the Geist design system (Vercel), dark theme.
   Colour: neutral greys plus one brand blue, used for the primary action, links, focus and the highlighted price.
   Type: Geist and Geist Mono on the Geist scale. Space: 4px grid. */
:root {
  color-scheme: dark;
  --bg: #0a0a0a;               /* background-100, never pure black */
  --gray-100: #1a1a1a;
  --gray-200: #1f1f1f;
  --gray-400: #2e2e2e;
  --gray-700: #8f8f8f;
  --gray-900: #a1a1a1;         /* secondary text */
  --gray-1000: #ededed;        /* primary text */
  --border: rgba(255, 255, 255, 0.10);
  --border-strong: rgba(255, 255, 255, 0.16);
  --brand: #0a72ef;
  --brand-hover: #2a85f5;
  --blue: #2997ff; --purple: #bf5af2; --cyan: #32ade6; --pink: #ff375f; --orange: #ff9f0a;
  --grad: linear-gradient(90deg, #2997ff, #bf5af2 38%, #ff375f 70%, #ff9f0a);
  --grad-soft: linear-gradient(120deg, rgba(41,151,255,.55), rgba(191,90,242,.45) 38%, rgba(255,55,95,.4) 70%, rgba(255,159,10,.45));
  --sans: "Geist", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;
  --mono: "Geist Mono", ui-monospace, "SF Mono", Menlo, Consolas, monospace;
  --r-sm: 6px; --r-md: 8px; --r-lg: 12px; --r-full: 9999px;
  --s1: 4px; --s2: 8px; --s3: 12px; --s4: 16px; --s5: 20px; --s6: 24px; --s8: 32px; --s10: 40px; --s12: 48px; --s16: 64px; --s24: 96px;
  --header-h: 64px;
}
* { box-sizing: border-box; }
[hidden] { display: none !important; }
html { -webkit-text-size-adjust: 100%; scroll-padding-top: calc(var(--header-h) + var(--s4)); }
body { margin: 0; background: var(--bg); color: var(--gray-1000); font: 400 16px/24px var(--sans);
  -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; }
a { color: inherit; }
img { display: block; max-width: 100%; }
:focus-visible { outline: 2px solid var(--brand); outline-offset: 2px; border-radius: var(--r-sm); }
::selection { background: var(--brand); color: #fff; }
