/* Semantic color tokens: the v4 design hand-off's ("Light as material", vendored at
   tools/v4/handoff). GENERATED by tools/v4/derive-css.ts from src/style/tokens.ts; edit the
   table there and run `bun run tokens:css`. :root is the light scheme, .dark on <html> (or
   any wrapper) the dark one. The accent is one oklch formula per role over --hue, and a
   palette is one --hue: violet 285 (the default), cyan 205, mint 165, rose 20, amber 75,
   selected by data-palette on <html> (setPalette) or on any wrapper. The rgba roles are
   translucent by contract. */
:root{
  --hue:285;
  --background:#f2f2f7;
  --surface-sunken:#fafafd;
  --foreground:#111118;
  --card:#ffffff;
  --card-foreground:#111118;
  --popover:#ffffff;
  --popover-foreground:#111118;
  --secondary:#f1f1f6;
  --secondary-foreground:#111118;
  --muted:#f1f1f6;
  --muted-foreground:#5a5a70;
  --subtle-foreground:#6c6c82;
  --accent:#f1f1f6;
  --accent-foreground:#111118;
  --surface-raised:#e4e4ee;
  --destructive:#d62a4b;
  --destructive-foreground:#ffffff;
  --destructive-soft:rgba(214, 42, 75, 0.1);
  --success:#0b7a53;
  --success-foreground:#ffffff;
  --success-soft:rgba(11, 122, 83, 0.1);
  --warning:#a55d00;
  --warning-foreground:#ffffff;
  --warning-soft:rgba(165, 93, 0, 0.1);
  --border:rgba(17, 17, 24, 0.08);
  --field-border:rgba(17, 17, 24, 0.16);
  --input:rgba(17, 17, 24, 0.16);
  --field-fill:#fafafd;
  --hover:rgba(17, 17, 24, 0.06);
  --highlight:rgba(255, 255, 255, 0.8);
  --scrim:rgba(17, 17, 24, 0.3);
  --shade:rgba(17, 17, 24, 0.05);
  --shade-md:rgba(17, 17, 24, 0.16);
  --shade-lg:rgba(17, 17, 24, 0.25);
  --shade-ring:rgba(17, 17, 24, 0.03);
  --shade-inset:rgba(255, 255, 255, 0);
  --inverse:#111118;
  --inverse-foreground:#ffffff;
  --destructive-text:#d62a4b;
  --success-text:#0b7a53;
  --warning-text:#a55d00;
  --featured-middle:oklch(0.62 0.13 205);
  --featured-end:oklch(0.66 0.15 165);
  --featured-stack:rgba(255, 255, 255, 0.5);
  --promo-middle:oklch(0.62 0.13 205);
  --promo-end:oklch(0.66 0.15 165);
  --chart-2:oklch(0.62 0.13 205);
  --chart-3:oklch(0.66 0.15 165);
  --chart-4:oklch(0.64 0.15 70);
  --chart-5:oklch(0.57 0.19 20);
  --chart-6:oklch(0.54 0.17 255);
  --chart-7:oklch(0.55 0.2 330);
  --chart-8:oklch(0.58 0.12 125);
  --p-menu-destructive:var(--destructive-text);
  --panel-danger:var(--destructive-text);
  --delta-up:var(--success-text);
  --delta-down:var(--destructive-text);
  --glass-tint:rgba(255, 255, 255, 0.62);
  --glass-tint-content:rgba(255, 255, 255, 0.8);
  --glass-tint-control:rgba(241, 241, 246, 0.72);
  --glass-tint-dense:rgba(255, 255, 255, 0.92);
  --glass-edge:rgba(17, 17, 24, 0.16);
  --glass-blur:20px;
  --glass-frost:blur(20px) saturate(1.6) /* @kind other */;
  --glass-specular:inset 0 0 0 1px var(--glass-edge) /* @kind shadow */;
  --glass-scroll-edge:76px /* @kind shadow */;
}
.dark{
  --background:#0a0a0f;
  --surface-sunken:#0e0e15;
  --foreground:#f4f4f8;
  --card:#12121a;
  --card-foreground:#f4f4f8;
  --popover:#171720;
  --popover-foreground:#f4f4f8;
  --secondary:#1e1e29;
  --secondary-foreground:#f4f4f8;
  --muted:#1e1e29;
  --muted-foreground:#a4a4b6;
  --subtle-foreground:#7f7f93;
  --accent:#1e1e29;
  --accent-foreground:#f4f4f8;
  --surface-raised:#282836;
  --destructive:#ff6b7a;
  --destructive-foreground:#2b0009;
  --destructive-soft:rgba(255, 107, 122, 0.14);
  --success:#3ddc97;
  --success-foreground:#04291a;
  --success-soft:rgba(61, 220, 151, 0.14);
  --warning:#f6b84c;
  --warning-foreground:#2a1800;
  --warning-soft:rgba(246, 184, 76, 0.14);
  --border:rgba(255, 255, 255, 0.08);
  --field-border:rgba(255, 255, 255, 0.16);
  --input:rgba(255, 255, 255, 0.16);
  --field-fill:#0e0e15;
  --hover:rgba(255, 255, 255, 0.05);
  --highlight:rgba(255, 255, 255, 0.1);
  --scrim:rgba(5, 5, 10, 0.55);
  --shade:rgba(0, 0, 0, 0.5);
  --shade-md:rgba(0, 0, 0, 0.7);
  --shade-lg:rgba(0, 0, 0, 0.8);
  --shade-ring:rgba(0, 0, 0, 0);
  --shade-inset:rgba(255, 255, 255, 0.1);
  --inverse:#f4f4f8;
  --inverse-foreground:#0a0a0f;
  --destructive-text:#ff6b7a;
  --success-text:#3ddc97;
  --warning-text:#f6b84c;
  --featured-middle:oklch(0.82 0.13 205);
  --featured-end:oklch(0.85 0.15 165);
  --featured-stack:rgba(255, 255, 255, 0.14);
  --promo-middle:oklch(0.82 0.13 205);
  --promo-end:oklch(0.85 0.15 165);
  --chart-2:oklch(0.82 0.13 205);
  --chart-3:oklch(0.85 0.15 165);
  --chart-4:oklch(0.82 0.14 75);
  --chart-5:oklch(0.72 0.17 20);
  --chart-6:oklch(0.72 0.14 255);
  --chart-7:oklch(0.74 0.16 330);
  --chart-8:oklch(0.78 0.1 125);
  --p-menu-destructive:var(--destructive-text);
  --panel-danger:var(--destructive-text);
  --delta-up:var(--success-text);
  --delta-down:var(--destructive-text);
  --glass-tint:rgba(18, 18, 26, 0.62);
  --glass-tint-content:rgba(18, 18, 26, 0.8);
  --glass-tint-control:rgba(30, 30, 41, 0.72);
  --glass-tint-dense:rgba(18, 18, 26, 0.92);
  --glass-edge:rgba(255, 255, 255, 0.16);
}
/* Each palette changes only the hand-off’s accent hue. */
[data-palette="violet"]{
  --hue:285;
}
[data-palette="cyan"]{
  --hue:205;
}
[data-palette="mint"]{
  --hue:165;
}
[data-palette="rose"]{
  --hue:20;
}
[data-palette="amber"]{
  --hue:75;
}
/* The accent, declared again on every palette wrapper so it resolves against that
   wrapper's own --hue; the dark rows win inside a .dark context. */
:root,[data-palette]{
  --primary:oklch(0.5 0.22 var(--hue));
  --primary-text:oklch(0.47 0.2 var(--hue));
  --info:oklch(0.47 0.2 var(--hue));
  --inverse-primary:oklch(0.8 0.14 var(--hue));
  --primary-foreground:#ffffff;
  --primary-soft:oklch(0.5 0.22 var(--hue) / 0.1);
  --action:oklch(0.5 0.22 var(--hue));
  --action-foreground:#ffffff;
  --action-soft:oklch(0.5 0.22 var(--hue) / 0.1);
  --info-soft:oklch(0.5 0.22 var(--hue) / 0.1);
  --ring:oklch(0.5 0.22 var(--hue) / 0.28);
  --glow:oklch(0.5 0.22 var(--hue) / 0.4);
  --featured-start:oklch(0.5 0.22 var(--hue));
  --promo-start:oklch(0.5 0.22 var(--hue));
  --chart-1:oklch(0.5 0.22 var(--hue));
}
.dark,.dark [data-palette],[data-palette].dark{
  --primary:oklch(0.74 0.17 var(--hue));
  --primary-text:oklch(0.8 0.14 var(--hue));
  --info:oklch(0.8 0.14 var(--hue));
  --inverse-primary:oklch(0.47 0.2 var(--hue));
  --primary-foreground:#0a0a0f;
  --primary-soft:oklch(0.74 0.17 var(--hue) / 0.16);
  --action:oklch(0.74 0.17 var(--hue));
  --action-foreground:#0a0a0f;
  --action-soft:oklch(0.74 0.17 var(--hue) / 0.16);
  --info-soft:oklch(0.74 0.17 var(--hue) / 0.16);
  --ring:oklch(0.74 0.17 var(--hue) / 0.35);
  --glow:oklch(0.74 0.17 var(--hue) / 0.5);
  --featured-start:oklch(0.74 0.17 var(--hue));
  --promo-start:oklch(0.74 0.17 var(--hue));
  --chart-1:oklch(0.74 0.17 var(--hue));
}
