/* Yoinkly brand tokens v3: "Electric Violet + Coral" (DRAFT pack, Oct 2, 2026). Supersedes v2 Midnight Gold; v2 files stay in site-assets/v2/ as a record.
 * The 5 brand colours (bg #0B0712, text #FAF8FF, violet #6C2BD9, violet-accent #A855F7, coral #FF5C8A): APPROVED BY LUCAS (Oct 2, 2026; Electric Violet + Coral).
 * Everything else: DRAFT (derived by Bruce). Logo/icons: PLACEHOLDER until the artist's files arrive.
 * Rules: violet #6C2BD9 is a FILL colour on dark (white text on it); on #0B0712 use violet-accent #A855F7 for text, links, lines, focus.
 *        Text on coral and on violet-accent fills is #0B0712. Errors: #FF5A36 + an icon + the word "Error". Never colour alone.
 * Fonts: Space Grotesk (display) + Inter (body) for now. Pairing A vs B is still PENDING (Lucas to pick).
 * Contrast ratios below are WCAG 2.x, computed by v3/src/tokens_v3.py.
 * THIS FILE IS VARIABLES ONLY (:root + the prefers-reduced-motion override). It styles no element. Element/selector rules are in the opt-in brand-base.css, scoped under .yk-base.
 */
:root {
  color-scheme: dark;
  --yk-bg: #0B0712;                 /* APPROVED BY LUCAS (Oct 2, 2026; Electric Violet + Coral). page background · on surface 1.07 · on surface-raised 1.12 */
  --yk-surface: #151022;            /* DRAFT. cards, header, footer, inputs (bg nudged toward violet) · on bg 1.07 · on surface-raised 1.04 */
  --yk-surface-raised: #1B1428;     /* DRAFT. hover/raised surface, chips, menus · on bg 1.12 · on surface 1.04 */
  --yk-text: #FAF8FF;               /* APPROVED BY LUCAS (Oct 2, 2026; Electric Violet + Coral). body + headings, eyes of the mascot on dark · on bg 18.93 · on surface 17.66 · on surface-raised 16.93 */
  --yk-text-muted: #ADA3C4;         /* DRAFT. secondary text (help text, meta). ≥4.5 on bg, surface, surface-raised. Not faint grey. · on bg 8.37 · on surface 7.81 · on surface-raised 7.49 */
  --yk-violet: #6C2BD9;             /* APPROVED BY LUCAS (Oct 2, 2026; Electric Violet + Coral). primary brand colour: primary button fill (with white text), the logo body/wordmark ON LIGHT. Not for text/lines on #0B0712 (2.83:1) · on bg 2.83 · on surface 2.64 · on surface-raised 2.54 */
  --yk-violet-hover: #7C3AED;       /* DRAFT. primary button hover (lighter; white text 5.70) · on bg 3.50 · on surface 3.26 · on surface-raised 3.13 */
  --yk-violet-pressed: #5B21B6;     /* DRAFT. primary button active/pressed (darker; white text 8.98) · on bg 2.22 · on surface 2.07 · on surface-raised 1.99 */
  --yk-on-violet: #FFFFFF;          /* DRAFT. text/icons on violet fills (7.03 on #6C2BD9) · on bg 19.94 · on surface 18.60 · on surface-raised 17.84 */
  --yk-violet-accent: #A855F7;      /* APPROVED BY LUCAS (Oct 2, 2026; Electric Violet + Coral). violet on dark: links, focus ring, active nav, the logo body/wordmark ON DARK, line icons · on bg 5.04 · on surface 4.70 · on surface-raised 4.51 */
  --yk-violet-accent-hover: #C084FC;/* DRAFT. link hover · on bg 7.54 · on surface 7.04 · on surface-raised 6.75 */
  --yk-violet-subtle: #1E102D;      /* DRAFT. violet tint surface (12% violet-accent on bg): selected chips, SAMPLE pill, icon tiles · on bg 1.11 · on surface 1.03 · on surface-raised 1.01 */
  --yk-on-violet-accent: #0B0712;   /* DRAFT. text on violet-accent fills (5.04). Never white on #A855F7 (3.96) · on bg 1.00 · on surface 1.07 · on surface-raised 1.12 */
  --yk-coral: #FF5C8A;              /* APPROVED BY LUCAS (Oct 2, 2026; Electric Violet + Coral). energy accent: secondary CTA fill (dark text), "under your target" highlight, logo speed lines/i-dot/bolt/eye rims/"First to yoink." · on bg 6.79 · on surface 6.33 · on surface-raised 6.07 */
  --yk-coral-hover: #FF7AA0;        /* DRAFT. coral button hover · on bg 8.11 · on surface 7.57 · on surface-raised 7.26 */
  --yk-coral-pressed: #E64E7C;      /* DRAFT. coral button active/pressed · on bg 5.45 · on surface 5.09 · on surface-raised 4.88 */
  --yk-coral-subtle: #281120;       /* DRAFT. coral tint surface (12% coral on bg) · on bg 1.13 · on surface 1.06 · on surface-raised 1.01 */
  --yk-on-coral: #0B0712;           /* DRAFT. text/icons on coral fills. Never white on coral (2.94) · on bg 1.00 · on surface 1.07 · on surface-raised 1.12 */
  --yk-coral-on-light: #CF2F68;     /* DRAFT. on-light logo slogan only ("First to yoink." + underline): 4.93:1 on white. Not a site UI colour. · on bg 4.04 · on surface 3.77 · on surface-raised 3.62 */
  --yk-success: #3FB950;            /* DRAFT. success state (with icon + "Saved"/"Done"); only if needed, not a brand accent · on bg 7.85 · on surface 7.32 · on surface-raised 7.02 */
  --yk-success-subtle: #111C19;     /* DRAFT. success tint surface · on bg 1.14 · on surface 1.07 · on surface-raised 1.02 */
  --yk-error: #FF5A36;              /* DRAFT. error text + icon: red-orange, kept clearly apart from coral (ΔE2000 21.7). Always icon + the word "Error". Never colour alone. · on bg 6.42 · on surface 5.99 · on surface-raised 5.75 */
  --yk-error-surface: #281116;      /* DRAFT. error field / banner background · on bg 1.12 · on surface 1.05 · on surface-raised 1.00 */
  --yk-error-border: #E8492B;       /* DRAFT. error field border (UI part, ≥3:1) · on bg 5.14 · on surface 4.80 · on surface-raised 4.60 */
  --yk-border: #2D2440;             /* DRAFT. decorative dividers only (not for inputs) · on bg 1.37 · on surface 1.27 · on surface-raised 1.22 */
  --yk-border-input: #7D7296;       /* DRAFT. input/checkbox borders (UI part, ≥3:1 on bg, surface and surface-raised) · on bg 4.48 · on surface 4.18 · on surface-raised 4.01 */
  --yk-white: #FFFFFF;              /* DRAFT. light backgrounds for the on-light logo only (the site is dark) · on bg 19.94 · on surface 18.60 · on surface-raised 17.84 */
  --yk-focus-ring: #A855F7;         /* DRAFT. focus ring colour: 2px solid outline + 2px offset (see --yk-focus-shadow) · on bg 5.04 · on surface 4.70 · on surface-raised 4.51 */
  --yk-mascot-disc-dark: #1E102D; /* APPROVED BY LUCAS (Oct 4, 2026; hawk mascot). hawk avatar disc on dark UI (same hex as violet-subtle); decorative, never text · on bg 1.11 · on surface 1.03 · on surface-raised 1.01 */
  --yk-mascot-disc-light: #EDE4FE; /* APPROVED BY LUCAS (Oct 4, 2026; hawk mascot). hawk avatar disc on light UI; decorative, never text · on bg 16.26 · on surface 15.17 · on surface-raised 14.55 */
  --yk-mascot-bar-1: #E4D6FD;     /* APPROVED BY LUCAS (Oct 4, 2026; hawk mascot). hawk pose list bars / beak rim highlight; decorative art only · on bg 14.56 · on surface 13.58 · on surface-raised 13.03 */
  --yk-mascot-bar-2: #C9B3F7;     /* APPROVED BY LUCAS (Oct 4, 2026; hawk mascot). hawk pose list bars / beak underside; decorative art only · on bg 10.70 · on surface 9.99 · on surface-raised 9.58 */

  /* Type: PENDING pairing A vs B; A in use */
  --yk-font-display: "Space Grotesk", system-ui, -apple-system, "Segoe UI", sans-serif;
  --yk-font-body: "Inter", system-ui, -apple-system, "Segoe UI", sans-serif;
  --yk-radius-card: 16px;
  --yk-radius-control: 12px;
  --yk-radius-pill: 999px;
  --yk-focus-shadow: 0 0 0 2px var(--yk-bg), 0 0 0 4px var(--yk-focus-ring);  /* DRAFT. box-shadow form; or: outline: 2px solid var(--yk-focus-ring); outline-offset: 2px; */

  /* Motion: same as v2. Animate transform + opacity only (60fps, no layout shift). No heavy libraries. */
  --yk-duration-instant: 80ms;
  --yk-duration-fast: 140ms;
  --yk-duration-base: 200ms;
  --yk-duration-slow: 320ms;
  --yk-duration-reveal: 480ms;
  --yk-ease-standard: cubic-bezier(0.2, 0, 0, 1);
  --yk-ease-out: cubic-bezier(0.16, 1, 0.3, 1);
  --yk-ease-in: cubic-bezier(0.4, 0, 1, 1);
  --yk-reveal-distance: 12px;
  --yk-stagger: 60ms;
  --yk-hover-lift: -2px;

  /* Semantic aliases */
  --color-bg: var(--yk-bg);
  --color-surface: var(--yk-surface);
  --color-surface-raised: var(--yk-surface-raised);
  --color-text: var(--yk-text);
  --color-text-muted: var(--yk-text-muted);
  --color-primary: var(--yk-violet);
  --color-on-primary: var(--yk-on-violet);
  --color-secondary: var(--yk-coral);
  --color-on-secondary: var(--yk-on-coral);
  --color-link: var(--yk-violet-accent);
  --color-highlight: var(--yk-coral);
  --color-on-highlight: var(--yk-on-coral);
  --color-success: var(--yk-success);
  --color-error: var(--yk-error);
  --color-error-bg: var(--yk-error-surface);
  --color-error-border: var(--yk-error-border);
  --color-border: var(--yk-border);
  --color-border-input: var(--yk-border-input);
  --logo-src: url("logo/yoinkly-lockup-dark@2x.png");
}

/* Reduced motion: variables only. Durations go to ~0 and movement to 0; colour/opacity state changes stay. (Smooth-scroll off lives in brand-base.css.) */
@media (prefers-reduced-motion: reduce) {
  :root {
    --yk-duration-fast: 0.01ms; --yk-duration-base: 0.01ms; --yk-duration-slow: 0.01ms; --yk-duration-reveal: 0.01ms;
    --yk-reveal-distance: 0px; --yk-stagger: 0ms; --yk-hover-lift: 0px;
  }
}
