/* ==========================================================================
   DEXS Recruit — Design Tokens
   v1 / 2026-05-01
   ========================================================================== */

:root {
  /* Color */
  --color-bg:        oklch(14% 0.02 260);  /* near-black navy */
  --color-surface:   oklch(18% 0.02 260);  /* slightly lighter surface */
  --color-text:      oklch(96% 0 0);       /* near-white */
  --color-muted:     oklch(68% 0.01 260);  /* secondary text */
  --color-accent:    oklch(90% 0.22 125);  /* voltage lime */
  --color-signal:    oklch(80% 0.14 220);  /* cyan (live indicator) */
  --color-line:      oklch(30% 0.02 260);  /* hairline grid */
  --color-line-soft: oklch(24% 0.02 260);

  /* Type families */
  --text-mono:    "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, monospace;
  --text-display: "Space Grotesk", "Archivo", system-ui, -apple-system, sans-serif;
  --text-body-en: "Inter", system-ui, -apple-system, sans-serif;
  --text-body-ja: "Noto Sans JP", system-ui, -apple-system, sans-serif;

  /* Spacing */
  --space-section: clamp(5rem, 8vw, 10rem);
  --space-block:   clamp(2rem, 4vw, 4rem);
  --gutter:        clamp(1.25rem, 4vw, 3rem);

  /* Motion */
  --ease-out-expo: cubic-bezier(0.16, 1, 0.3, 1);
  --dur-fast:   200ms;
  --dur-normal: 400ms;
  --dur-slow:   600ms;

  /* Layout */
  --content-max: 1440px;
  --reading-max: 65ch;
}

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