/* Orangray Design Tokens · V3 brand authority + CRT/JR information order. */

:root {
  color-scheme: light;

  /* V3 raw palette. Never introduce #E06522. */
  --rt-v3-orange: #EC671D;
  --rt-v3-gray: #7D7E7E;
  --rt-v3-blue-n: #023591;
  --rt-v3-blue-g: #093683;
  --rt-v3-tea-n: #F6E6C1;
  --rt-v3-tea-g: #F3E3BF;
  --rt-v3-orange-light: #F5AD88;
  --rt-v3-blue-light: #A6C1E8;
  --rt-v3-gray-light: #BDBEBE;
  --rt-v3-natsu: #F69084;
  --rt-v3-natsu-bg: #FCE1D9;
  --rt-v3-ink: #231815;
  --rt-v3-white: #FFFFFF;

  /* Shared readable neutrals. */
  --rt-color-paper: var(--rt-v3-white);
  --rt-color-surface: var(--rt-v3-white);
  --rt-color-raised: var(--rt-v3-white);
  --rt-color-ink: var(--rt-v3-ink);
  --rt-color-muted: var(--rt-v3-ink);
  --rt-color-line: var(--rt-track-line, var(--rt-v3-gray-light));
  --rt-color-rail: var(--rt-track-rail, var(--rt-v3-ink));
  --rt-color-screen: var(--rt-track-screen, var(--rt-v3-ink));
  --rt-color-screen-soft: var(--rt-track-screen-soft, var(--rt-v3-ink));
  --rt-color-on-screen: var(--rt-v3-white);
  --rt-color-focus: var(--rt-track-focus, var(--rt-v3-ink));

  /* Semantic track aliases used by the single component implementation. */
  --rt-color-jr-green: var(--rt-track-accent, var(--rt-v3-orange));
  --rt-color-jr-green-deep: var(--rt-track-link, var(--rt-v3-ink));
  --rt-color-crt-red: var(--rt-track-accent, var(--rt-v3-orange));
  --rt-color-gate-yellow: var(--rt-track-soft, var(--rt-v3-orange-light));
  --rt-color-exit-green: var(--rt-track-link, var(--rt-v3-ink));

  /* Type. V3 SVG wordmarks are assets, never font reconstructions. */
  --rt-font-sans: "Noto Sans SC", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif;
  --rt-font-latin: "Barlow", "Noto Sans SC", "PingFang SC", sans-serif;
  --rt-font-data: "Barlow", "Noto Sans SC", "PingFang SC", sans-serif;
  --rt-font-code: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  --rt-text-micro: 0.6875rem;
  --rt-text-small: 0.8125rem;
  --rt-text-body: 1rem;
  --rt-text-lead: 1.125rem;
  --rt-text-title: clamp(1.375rem, 2.3vw, 1.75rem);
  --rt-text-section: clamp(1.75rem, 4vw, 2.75rem);
  --rt-text-station: clamp(3.5rem, 12vw, 7.5rem);
  --rt-text-roman: clamp(1.5rem, 4.2vw, 3rem);
  --rt-leading-tight: 1.05;
  --rt-leading-title: 1.18;
  --rt-leading-body: 1.72;
  --rt-tracking-station: 0.055em;
  --rt-tracking-roman: 0.045em;
  --rt-tracking-sign: 0.02em;

  /* 4px spacing rhythm and restrained sign geometry. */
  --rt-space-1: 0.25rem;
  --rt-space-2: 0.5rem;
  --rt-space-3: 0.75rem;
  --rt-space-4: 1rem;
  --rt-space-5: 1.5rem;
  --rt-space-6: 2rem;
  --rt-space-7: 3rem;
  --rt-space-8: 4rem;
  --rt-space-9: 6rem;
  --rt-radius-none: 0;
  --rt-radius-panel: 2px;
  --rt-radius-sign: 4px;
  --rt-radius-badge: 6px;
  --rt-border-thin: 1px;
  --rt-border-sign: 3px;
  --rt-border-heavy: 6px;
  --rt-shadow-sign: 10px 10px 0 var(--rt-color-line);
  --rt-shadow-screen: 10px 10px 0 var(--rt-color-line);

  /* Interface responses only; V3 motion durations remain in source assets. */
  --rt-duration-fast: 120ms;
  --rt-duration-base: 180ms;
  --rt-duration-route: 520ms;
  --rt-ease-sign: cubic-bezier(0.2, 0.8, 0.2, 1);
  --rt-motion-a: 5.4s;
  --rt-motion-b: 1.9s;
  --rt-motion-c: 4.5s;
  --rt-container: 70rem;
  --rt-measure: 44rem;
  --rt-z-nav: 20;
  --rt-z-beian: 100;
}

/* Resolve semantic aliases inside each explicit track scope. */
[data-rt-track] {
  --rt-color-line: var(--rt-track-line);
  --rt-color-rail: var(--rt-track-rail);
  --rt-color-screen: var(--rt-track-screen);
  --rt-color-screen-soft: var(--rt-track-screen-soft);
  --rt-color-focus: var(--rt-track-focus);
  --rt-color-jr-green: var(--rt-track-accent);
  --rt-color-jr-green-deep: var(--rt-track-link);
  --rt-color-crt-red: var(--rt-track-accent);
  --rt-color-gate-yellow: var(--rt-track-soft);
  --rt-color-exit-green: var(--rt-track-link);
}

/* Main four-color track: orange/gray for ordinary contexts. */
[data-rt-track="regular"] {
  --rt-track-accent: var(--rt-v3-orange);
  --rt-track-accent-ink: var(--rt-v3-ink);
  --rt-track-soft: var(--rt-v3-orange-light);
  --rt-track-line: var(--rt-v3-gray-light);
  --rt-track-link: var(--rt-v3-ink);
  --rt-track-rail: var(--rt-v3-ink);
  --rt-track-screen: var(--rt-v3-ink);
  --rt-track-screen-soft: var(--rt-v3-ink);
  --rt-track-focus: var(--rt-v3-ink);
}

/* Pastel is a variant of the regular track, not a fourth track. */
[data-rt-track="regular-pastel"] {
  --rt-track-accent: var(--rt-v3-orange-light);
  --rt-track-accent-ink: var(--rt-v3-ink);
  --rt-track-soft: var(--rt-v3-blue-light);
  --rt-track-line: var(--rt-v3-gray-light);
  --rt-track-link: var(--rt-v3-ink);
  --rt-track-rail: var(--rt-v3-gray);
  --rt-track-screen: var(--rt-v3-ink);
  --rt-track-screen-soft: var(--rt-v3-gray);
  --rt-track-focus: var(--rt-v3-ink);
}

/* Main four-color track: deep blue/tea for featured events. */
[data-rt-track="event"] {
  --rt-color-paper: var(--rt-v3-tea-n);
  --rt-track-accent: var(--rt-v3-blue-n);
  --rt-track-accent-ink: var(--rt-v3-white);
  --rt-track-soft: var(--rt-v3-tea-g);
  --rt-track-line: var(--rt-v3-blue-g);
  --rt-track-link: var(--rt-v3-blue-n);
  --rt-track-rail: var(--rt-v3-blue-n);
  --rt-track-screen: var(--rt-v3-blue-n);
  --rt-track-screen-soft: var(--rt-v3-blue-g);
  --rt-track-focus: var(--rt-v3-blue-n);
}

/* Natsu track: personal thoughts and notes. */
[data-rt-track="natsu"] {
  --rt-color-paper: var(--rt-v3-natsu-bg);
  --rt-track-accent: var(--rt-v3-natsu);
  --rt-track-accent-ink: var(--rt-v3-ink);
  --rt-track-soft: var(--rt-v3-natsu-bg);
  --rt-track-line: var(--rt-v3-natsu);
  --rt-track-link: var(--rt-v3-ink);
  --rt-track-rail: var(--rt-v3-ink);
  --rt-track-screen: var(--rt-v3-ink);
  --rt-track-screen-soft: var(--rt-v3-ink);
  --rt-track-focus: var(--rt-v3-ink);
}

/* Monochrome track: important, serious and technical content. */
[data-rt-track="mono"] {
  --rt-track-accent: var(--rt-v3-ink);
  --rt-track-accent-ink: var(--rt-v3-white);
  --rt-track-soft: var(--rt-v3-white);
  --rt-track-line: var(--rt-v3-ink);
  --rt-track-link: var(--rt-v3-ink);
  --rt-track-rail: var(--rt-v3-ink);
  --rt-track-screen: var(--rt-v3-ink);
  --rt-track-screen-soft: var(--rt-v3-ink);
  --rt-track-focus: var(--rt-v3-ink);
}
