/* EBS-SI shared theme tokens v1 (2026-10-31). Dark is default; light via [data-theme="light"]. */
:root, [data-theme="dark"] {
  color-scheme: dark;
  --ebs-bg: #03081a;
  --ebs-bg-deep: #01030c;
  --ebs-bg-raised: rgba(14, 26, 64, .55);
  --ebs-surface: rgba(10, 20, 52, .72);
  --ebs-surface-solid: #0a1434;
  --ebs-border: rgba(120, 160, 255, .18);
  --ebs-border-strong: rgba(120, 170, 255, .42);
  --ebs-text: #eef2ff;
  --ebs-text-muted: #a9b6dc;
  --ebs-text-faint: #7383ad;
  --ebs-accent: #3d7bff;
  --ebs-accent-bright: #8fb4ff;
  --ebs-accent-ink: #ffffff;
  --ebs-glow: 0 0 24px rgba(61, 123, 255, .55), 0 0 64px rgba(61, 123, 255, .25);
  --ebs-glow-soft: 0 0 40px rgba(61, 123, 255, .18);
  --ebs-burst: radial-gradient(ellipse 60% 55% at 50% 0%, rgba(120,170,255,.55), rgba(40,90,255,.18) 40%, transparent 70%);
  --ebs-star: rgba(255,255,255,.85);
  --ebs-star-opacity: 1;
  --ebs-success: #4ade80;
  --ebs-soon: #f5c66b;
}
[data-theme="light"] {
  color-scheme: light;
  --ebs-bg: #f3f6ff;
  --ebs-bg-deep: #e3eaff;
  --ebs-bg-raised: rgba(255,255,255,.7);
  --ebs-surface: rgba(255,255,255,.82);
  --ebs-surface-solid: #ffffff;
  --ebs-border: rgba(20, 50, 140, .14);
  --ebs-border-strong: rgba(30, 80, 220, .35);
  --ebs-text: #0a1436;
  --ebs-text-muted: #3d4a72;
  --ebs-text-faint: #626e94;
  --ebs-accent: #1f5af0;
  --ebs-accent-bright: #1f5af0;
  --ebs-accent-ink: #ffffff;
  --ebs-glow: 0 0 18px rgba(31, 90, 240, .25);
  --ebs-glow-soft: 0 10px 30px rgba(20, 50, 140, .10);
  --ebs-burst: radial-gradient(ellipse 60% 55% at 50% 0%, rgba(90,140,255,.35), rgba(90,140,255,.10) 45%, transparent 72%);
  --ebs-star: rgba(30,70,200,.5);
  --ebs-star-opacity: .45;
  --ebs-success: #138a43;
  --ebs-soon: #9a6400;
}
:root {
  --ebs-font-display: "Cormorant Garamond", "Iowan Old Style", Georgia, serif;
  --ebs-font-sans: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  --ebs-font-mono: "JetBrains Mono", ui-monospace, Menlo, monospace;
  --ebs-step--1: clamp(.8rem, .78rem + .1vw, .875rem);
  --ebs-step-0: clamp(1rem, .96rem + .2vw, 1.0625rem);
  --ebs-step-1: clamp(1.25rem, 1.15rem + .5vw, 1.5rem);
  --ebs-step-2: clamp(1.6rem, 1.4rem + 1vw, 2.25rem);
  --ebs-step-3: clamp(2.2rem, 1.7rem + 2.4vw, 3.75rem);
  --ebs-step-4: clamp(2.8rem, 2rem + 4vw, 5.5rem);
  --ebs-space-1: .25rem; --ebs-space-2: .5rem; --ebs-space-3: .75rem; --ebs-space-4: 1rem;
  --ebs-space-5: 1.5rem; --ebs-space-6: 2rem; --ebs-space-7: 3rem; --ebs-space-8: 5rem;
  --ebs-radius-sm: 8px; --ebs-radius: 16px; --ebs-radius-lg: 28px; --ebs-radius-pill: 999px;
  --ebs-maxw: 1180px;
  --ebs-ease: cubic-bezier(.2,.7,.2,1);
  --ebs-dur: 240ms;
}
/* Interaction tokens. r3 combined state: --state-ring (hover/focus) and --state-press-glow (press) */
:root{--state-ring-color:#fff;--state-ring:0 0 0 2px #fff;--state-press-glow:0 0 0 4px rgba(61,123,255,.9),0 0 34px rgba(61,123,255,.85)}
[data-theme=light]{--state-ring:0 0 0 2px #fff,0 0 0 3.5px #0b1a3f;--state-press-glow:0 0 0 5px rgba(31,90,240,.85),0 0 26px rgba(31,90,240,.6)}
:root,[data-theme="dark"]{
  --glow-color: 61,123,255;
  --glow-hover: 0 0 0 1px rgba(var(--glow-color),.55), 0 0 22px rgba(var(--glow-color),.45);
  --glow-press: 0 0 0 1px rgba(var(--glow-color),.9), 0 0 40px rgba(var(--glow-color),.8), inset 0 0 18px rgba(var(--glow-color),.35);
}
[data-theme="light"]{
  --glow-color: 31,90,240;
  --glow-hover: 0 0 0 1px rgba(var(--glow-color),.45), 0 6px 20px rgba(var(--glow-color),.22);
  --glow-press: 0 0 0 1px rgba(var(--glow-color),.8), 0 0 26px rgba(var(--glow-color),.45), inset 0 0 12px rgba(var(--glow-color),.18);
}
:root{
  --press-scale: .96;
  --press-duration: 90ms;
  --hover-lift: -2px;
  --release-duration: 220ms;
}
@media (prefers-reduced-motion: reduce){ :root{ --press-scale:1; --hover-lift:0; } }
