/* ==========================================================================
   WORLD TV — design tokens
   ========================================================================== */

:root {
  /* Brand palette ------------------------------------------------------- */
  --bg: #090a0e;
  --bg-2: #12141b;
  --bg-3: #171a23;
  --card: #1b1e27;
  --card-hover: #232734;
  --accent: #e50914;
  --accent-hover: #ff1f2b;
  --accent-soft: rgba(229, 9, 20, 0.14);
  --text: #ffffff;
  --text-sub: #a0a3ad;
  --text-mute: #6f7280;
  --border: rgba(255, 255, 255, 0.08);
  --border-strong: rgba(255, 255, 255, 0.16);
  --success: #38d39f;
  --warning: #f3b23c;
  --danger: #ff5a5a;
  --info: #5aa9ff;

  /* Elevation ----------------------------------------------------------- */
  --shadow-sm: 0 2px 10px rgba(0, 0, 0, 0.35);
  --shadow: 0 18px 44px -24px rgba(0, 0, 0, 0.95);
  --shadow-lg: 0 40px 90px -32px rgba(0, 0, 0, 0.98);

  /* Shape --------------------------------------------------------------- */
  --radius-xs: 6px;
  --radius-sm: 10px;
  --radius: 14px;
  --radius-lg: 22px;
  --radius-pill: 999px;

  /* Layout -------------------------------------------------------------- */
  --header-h: 72px;
  --container: 1560px;
  --gutter: clamp(16px, 3.2vw, 56px);
  --section-gap: clamp(32px, 4vw, 56px);

  /* Motion -------------------------------------------------------------- */
  --ease: cubic-bezier(0.22, 0.61, 0.36, 1);
  --ease-out: cubic-bezier(0.16, 1, 0.3, 1);
  --dur-fast: 140ms;
  --dur: 220ms;
  --dur-slow: 380ms;

  /* Type ---------------------------------------------------------------- */
  --font-sans: "Inter", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Noto Sans JP",
    "Yu Gothic UI", "Meiryo", system-ui, -apple-system, "Segoe UI", sans-serif;
  --font-mono: "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;

  /* Layers -------------------------------------------------------------- */
  --z-header: 100;
  --z-overlay: 200;
  --z-modal: 300;
  --z-toast: 400;

  color-scheme: dark;
}

/* Light theme: same structure, calmer surfaces --------------------------- */
[data-theme="light"] {
  --bg: #f6f7fa;
  --bg-2: #ffffff;
  --bg-3: #eef0f5;
  --card: #ffffff;
  --card-hover: #f2f4f9;
  --accent: #d20712;
  --accent-hover: #b3050f;
  --accent-soft: rgba(210, 7, 18, 0.1);
  --text: #12141b;
  --text-sub: #585d6b;
  --text-mute: #7b8090;
  --border: rgba(9, 10, 14, 0.1);
  --border-strong: rgba(9, 10, 14, 0.2);
  --success: #0f9d6f;
  --warning: #a86a00;
  --danger: #c62626;
  --info: #1467c6;
  --shadow-sm: 0 2px 8px rgba(15, 20, 40, 0.08);
  --shadow: 0 18px 40px -26px rgba(15, 20, 40, 0.35);
  --shadow-lg: 0 30px 70px -34px rgba(15, 20, 40, 0.4);
  color-scheme: light;
}

@media (prefers-reduced-motion: reduce) {
  :root {
    --dur-fast: 0ms;
    --dur: 0ms;
    --dur-slow: 0ms;
  }
}

html[data-motion="reduced"] {
  --dur-fast: 0ms;
  --dur: 0ms;
  --dur-slow: 0ms;
}
