/* Swiss Editorial Light / Dark / Overdrive semantic tokens & motion curves */

:root {
  --bg: #F4F2ED;
  --bg-elevated: rgba(244, 242, 237, 0.84);
  --surface: #FAF9F6;
  --surface-hover: #FFFFFF;
  --ink: #111113;
  --ink-muted: #686763;
  --hairline: rgba(17, 17, 19, 0.13);
  --hairline-strong: rgba(17, 17, 19, 0.24);
  --field-dot: rgba(17, 17, 19, 0.2);
  --accent: #FF3B1D;
  --accent-soft: rgba(255, 59, 29, 0.11);
  --glare: rgba(255, 255, 255, 0.55);
  --shadow-card: 0 22px 48px -24px rgba(17, 17, 19, 0.18);

  --font-display: 'Syne', 'Space Grotesk', 'Noto Sans SC', system-ui, sans-serif;
  --font-sans: 'Space Grotesk', 'Noto Sans SC', system-ui, sans-serif;
  --font-mono: 'JetBrains Mono', ui-monospace, SFMono-Regular, Menlo, monospace;

  --ease-out-expo: cubic-bezier(0.16, 1, 0.3, 1);
  --ease-spring: cubic-bezier(0.34, 1.56, 0.64, 1);
}

:root[data-theme='dark'] {
  --bg: #08080A;
  --bg-elevated: rgba(8, 8, 10, 0.82);
  --surface: #101014;
  --surface-hover: #16161C;
  --ink: #F3F1EC;
  --ink-muted: #8A8882;
  --hairline: rgba(243, 241, 236, 0.12);
  --hairline-strong: rgba(243, 241, 236, 0.24);
  --field-dot: rgba(243, 241, 236, 0.19);
  --accent: #FF4826;
  --accent-soft: rgba(255, 72, 38, 0.15);
  --glare: rgba(255, 255, 255, 0.11);
  --shadow-card: 0 26px 56px -22px rgba(0, 0, 0, 0.72);
}

:root.is-overdrive {
  --bg: #030706;
  --bg-elevated: rgba(3, 7, 6, 0.88);
  --surface: #07120E;
  --surface-hover: #0B1D17;
  --ink: #00FF9C;
  --ink-muted: #24B47E;
  --hairline: rgba(0, 255, 156, 0.22);
  --hairline-strong: rgba(0, 255, 156, 0.45);
  --field-dot: rgba(0, 255, 156, 0.3);
  --accent: #00FF9C;
  --accent-soft: rgba(0, 255, 156, 0.16);
}

/* Circular Eclipse View Transition */
::view-transition-old(root),
::view-transition-new(root) {
  animation: none;
  mix-blend-mode: normal;
}

::view-transition-new(root) {
  z-index: 9999;
}

@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
}
