/* Terixon design tokens — mirrors docs/DESIGN.md §2. Change there first, then here. */
:root{
  color-scheme:dark;
  --bg-0:#05070F; --bg-1:#080C1A; --bg-2:#0C1226;
  /* Brand palette from the owner's logo (ADR-036): magenta → violet → sky. Every accent-derived value in this block
     equals accentTokens() in src/views/theme.js for DEFAULT_SETTINGS.theme — test/brand.test.js compares them. */
  --aurora-1:#B855FB; --aurora-2:#D939FD; --aurora-3:#F91CFF;
  --aurora-4:#B855FB; --aurora-5:#5CE7FF; --aurora-6:#AB82FF;

  --surface-1:rgba(18,26,48,.72); --surface-2:rgba(24,34,60,.82);
  --surface-3:rgba(30,42,72,.92); --surface-solid:#111A2E;
  --surface-hover:rgba(38,52,88,.9); --surface-sunken:rgba(5,8,16,.55);
  --highlight-top:rgba(255,255,255,.07);

  --border:rgba(140,170,220,.16); --border-strong:rgba(150,190,255,.30);
  /* The edge of a form control (visual QA 7, v1.5.1 §4.7): --border measured 1.16–1.42:1 around inputs, selects and the
     region buttons — a low-vision buyer could not find the field. Opaque on purpose, measured 4.66:1 on --bg-0, 4.52 on
     --bg-1, 4.02 on --surface-solid, 3.29 on --surface-3 painted opaque (WCAG 1.4.11 asks 3:1). Not accent-derived and not
     theme-overridable (ADR-020): a control edge is legibility, not brand. --border stays for decorative card edges. */
  --border-control:#6B7A99;
  --border-accent:rgb(var(--accent-rgb) / .45); --divider:rgba(140,170,220,.10);

  --text:#EAF1FF; --text-2:#B4C4E0; --text-muted:#8494B4;
  --text-on-accent:#04121C; --text-link:#CA8CFC; --accent-text:#CA8CFC;

  /* Accent channels are declared as "r g b" so every accent-derived colour below can be written as
     rgb(var(--accent-rgb) / alpha). src/views/theme.js overrides exactly these tokens for a custom palette —
     nothing accent-coloured may be hard-coded in a stylesheet, or a custom accent leaves cyan glows behind.
     The status family (--success/--warning/--danger/--info and the stock/price colours) is deliberately NOT
     accent-derived: "in stock" must stay green whatever the owner's brand colour is. */
  --accent-rgb:184 85 251; --accent-2-rgb:92 231 255; --accent-3-rgb:249 28 255;
  --accent:#B855FB; --accent-strong:#9847D1; --accent-2:#5CE7FF; --accent-3:#F91CFF;
  --grad-aurora:linear-gradient(110deg,#F91CFF 0%,#B855FB 34%,#8A9EFD 62%,#5CE7FF 88%);
  --grad-aurora-soft:linear-gradient(110deg,rgb(var(--accent-3-rgb) / .16),rgb(var(--accent-rgb) / .14),rgb(var(--accent-2-rgb) / .18));
  --grad-magenta:linear-gradient(120deg,#F91CFF,#B855FB);

  --success:#3BE8B0; --success-bg:rgba(59,232,176,.12);
  --warning:#FFC24B; --warning-bg:rgba(255,194,75,.13);
  --danger:#FF6B81;  --danger-bg:rgba(255,107,129,.13);
  --info:#5FD8FF;    --info-bg:rgba(95,216,255,.12);
  --stock-in:#3BE8B0; --stock-low:#FFC24B; --stock-out:#8494B4; --stock-unknown:#B14BFF;
  --price-up:#FF6B81; --price-down:#3BE8B0;

  --focus:#CF9BFD; --focus-ring:0 0 0 2px var(--bg-0),0 0 0 4px var(--focus);
  --ring-accent:0 0 0 3px rgb(var(--accent-rgb) / .18);
  --selection:rgb(var(--accent-rgb) / .35);
  --ribbon:conic-gradient(from 90deg at 50% 50%,transparent 0 30%,rgb(var(--accent-rgb) / .35) 38%,rgb(var(--accent-3-rgb) / .25) 46%,transparent 55%);
  --select-arrow:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='none' stroke='%23B4C4E0' stroke-width='2'><path d='M4 6l4 4 4-4'/></svg>");

  --r-sm:6px; --r-md:10px; --r-lg:16px; --r-xl:24px; --r-pill:999px;
  --shadow-1:0 1px 2px rgba(0,0,0,.4);
  --shadow-2:0 8px 24px -8px rgba(0,0,0,.65);
  --shadow-3:0 24px 64px -16px rgba(0,0,0,.75);
  --glow-accent:0 0 0 1px rgb(var(--accent-rgb) / .35),0 8px 32px -8px rgb(var(--accent-rgb) / .45);
  --glow-accent-hover:0 0 0 1px rgb(var(--accent-rgb) / .5),0 12px 36px -8px rgb(var(--accent-rgb) / .6);
  --glow-success:0 0 24px -6px rgba(59,232,176,.55);

  --font:"Inter",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  --font-mono:ui-monospace,"SF Mono","JetBrains Mono",Menlo,Consolas,monospace;
  --fs-xs:.75rem; --fs-sm:.8125rem; --fs-base:.9375rem; --fs-md:1.0625rem;
  --fs-lg:1.25rem; --fs-xl:1.5rem; --fs-2xl:2rem; --fs-3xl:2.75rem;
  --fs-hero:clamp(2.25rem,1.4rem + 3.4vw,4rem);
  --lh-tight:1.15; --lh:1.55;

  --s-1:4px; --s-2:8px; --s-3:12px; --s-4:16px; --s-5:24px; --s-6:32px;
  --s-7:48px; --s-8:64px; --s-9:96px;
  --container:1280px; --container-narrow:760px; --header-h:64px;
  --ease:cubic-bezier(.4,0,.2,1); --dur:160ms;
}
