/*
 * GENERATED FILE — DO NOT EDIT.
 * Source: config/theme/central-theme.v1.json
 *
 * The central authority defines every paired colour, shadow, focus, and
 * gradient role exactly once, plus the typography, spacing, radius and motion
 * tokens every surface consumes instead of hand-writing a font stack or a hex
 * literal. Load theme-central-boot.js synchronously before this file; surfaces
 * may make semantic aliases but never local palettes.
 *
 * Dark mode is client-side only. There is deliberately no OS colour-scheme
 * media block in this sheet: theme-central-boot.js resolves the stored
 * per-surface preference and writes data-rr-theme before first paint. The four
 * token groups below are ground-independent, so they are emitted into both root
 * blocks identically. Style blocks follow, at the same specificity as the
 * defaults, so sparse tenant sheets loaded later still win.
 */

:root {
  color-scheme: light;
  --rr-theme-black: #000000;
  --rr-theme-white: #ffffff;
  --rr-theme-canvas: #f8fafc;
  --rr-theme-canvas-soft: #edf2f8;
  --rr-theme-surface: #ffffff;
  --rr-theme-surface-raised: #f1f5f9;
  --rr-theme-surface-overlay: #ffffff;
  --rr-theme-surface-sunken: #e2e8f0;
  --rr-theme-surface-glass: rgba(255, 255, 255, 0.88);
  --rr-theme-nav: rgba(255, 255, 255, 0.95);
  --rr-theme-ink: #1e293b;
  --rr-theme-ink-strong: #0f172a;
  --rr-theme-ink-soft: #475569;
  --rr-theme-ink-muted: #64748b;
  --rr-theme-ink-faint: #94a3b8;
  --rr-theme-ink-inverse: #ffffff;
  --rr-theme-line-faint: #f1f5f9;
  --rr-theme-line: #d8e0eb;
  --rr-theme-line-strong: #94a3b8;
  --rr-theme-red-base: #dc2626;
  --rr-theme-red-hover: #b91c1c;
  --rr-theme-red-active: #991b1b;
  --rr-theme-red-ink: #b91c1c;
  --rr-theme-red-subtle: rgba(239, 68, 68, 0.08);
  --rr-theme-red-border: rgba(239, 68, 68, 0.28);
  --rr-theme-red-glow: rgba(220, 38, 38, 0.16);
  --rr-theme-blue-base: #2563eb;
  --rr-theme-blue-hover: #1d4ed8;
  --rr-theme-blue-active: #1e40af;
  --rr-theme-blue-ink: #1d4ed8;
  --rr-theme-blue-subtle: rgba(37, 99, 235, 0.08);
  --rr-theme-blue-border: rgba(37, 99, 235, 0.28);
  --rr-theme-blue-glow: rgba(37, 99, 235, 0.16);
  --rr-theme-green-base: #059669;
  --rr-theme-green-hover: #047857;
  --rr-theme-green-active: #065f46;
  --rr-theme-green-ink: #065f46;
  --rr-theme-green-subtle: rgba(16, 185, 129, 0.08);
  --rr-theme-green-border: rgba(16, 185, 129, 0.28);
  --rr-theme-green-glow: rgba(16, 185, 129, 0.16);
  --rr-theme-amber-base: #d97706;
  --rr-theme-amber-hover: #b45309;
  --rr-theme-amber-active: #92400e;
  --rr-theme-amber-ink: #92400e;
  --rr-theme-amber-subtle: rgba(245, 158, 11, 0.08);
  --rr-theme-amber-border: rgba(245, 158, 11, 0.28);
  --rr-theme-amber-glow: rgba(245, 158, 11, 0.16);
  --rr-theme-violet-base: #7c3aed;
  --rr-theme-violet-hover: #6d28d9;
  --rr-theme-violet-active: #5b21b6;
  --rr-theme-violet-ink: #5b21b6;
  --rr-theme-violet-subtle: rgba(124, 58, 237, 0.08);
  --rr-theme-violet-border: rgba(124, 58, 237, 0.28);
  --rr-theme-violet-glow: rgba(124, 58, 237, 0.16);
  --rr-theme-info: #2563eb;
  --rr-theme-info-ink: #1d4ed8;
  --rr-theme-info-subtle: rgba(37, 99, 235, 0.08);
  --rr-theme-info-border: rgba(37, 99, 235, 0.28);
  --rr-theme-success: #059669;
  --rr-theme-success-ink: #065f46;
  --rr-theme-success-subtle: rgba(16, 185, 129, 0.08);
  --rr-theme-success-border: rgba(16, 185, 129, 0.28);
  --rr-theme-warning: #d97706;
  --rr-theme-warning-ink: #92400e;
  --rr-theme-warning-subtle: rgba(245, 158, 11, 0.08);
  --rr-theme-warning-border: rgba(245, 158, 11, 0.28);
  --rr-theme-danger: #dc2626;
  --rr-theme-danger-ink: #b91c1c;
  --rr-theme-danger-subtle: rgba(239, 68, 68, 0.08);
  --rr-theme-danger-border: rgba(239, 68, 68, 0.28);
  --rr-theme-focus: 0 0 0 3px rgba(37, 99, 235, 0.35);
  --rr-theme-scrim: rgba(15, 23, 42, 0.48);
  --rr-theme-shadow-sm: 0 1px 3px rgba(15, 23, 42, 0.06);
  --rr-theme-shadow-md: 0 4px 14px rgba(15, 23, 42, 0.08);
  --rr-theme-shadow-lg: 0 10px 28px rgba(15, 23, 42, 0.12);
  --rr-theme-gradient-top: linear-gradient(135deg, var(--rr-theme-surface-raised), var(--rr-theme-surface));
  --rr-theme-gradient-surface: linear-gradient(155deg, var(--rr-theme-surface-raised), var(--rr-theme-surface));
  --rr-theme-gradient-sunken: linear-gradient(155deg, var(--rr-theme-surface-raised), var(--rr-theme-surface-sunken));
  --rr-theme-gradient-rule: linear-gradient(90deg, var(--rr-theme-blue-base), transparent);
  --rr-theme-strip-bg: #262b31;
  --rr-theme-strip-fg: #cfd4da;
  --rr-theme-strip-fg-strong: #ffffff;
  --rr-theme-strip-line: #31373e;
  --rr-theme-tier-metal-chip-fg: #ffe7b2;
  --rr-theme-tier-metal-points-fg: #f1c36d;
  --rr-theme-ring-track: #dbe2ec;
  --rr-theme-skel-bg-1: #eaeff6;
  --rr-theme-skel-bg-2: #dae2ec;
  --rr-theme-profile-status-warn-fg: #8c1d18;
  --rr-theme-hero-tip-bg: rgba(255, 255, 255, 0.94);
  --rr-theme-map-water-fill: #dce6f2;
  --rr-theme-map-road-stroke: rgba(14, 19, 25, 0.10);
  --rr-theme-map-road-major: rgba(14, 19, 25, 0.16);
  --rr-theme-red-on-dark: #ff8b8b;
  --rr-theme-on-accent: #ffffff;
  --rr-theme-hero-marker-arrow: #0e1319;
  --rr-theme-admin-primary: #238636;
  --rr-theme-admin-primary-hover: #1f7a31;
  --rr-theme-admin-primary-strong: #3fb950;
  --rr-theme-admin-primary-soft: #dafbe1;
  --rr-theme-admin-primary-line: #2f9e44;
  --rr-theme-admin-focus: #1f883d;
  --rr-theme-admin-danger: #b3261e;
  --rr-theme-admin-danger-hover: #8f1f1a;
  --rr-theme-admin-danger-soft: #fdecec;
  --rr-theme-action-primary: #b81d2a;
  --rr-theme-action-primary-hover: #9e1521;
  --rr-theme-ops-ink: #15181c;
  --rr-theme-ops-ink-2: #262b31;
  --rr-theme-ops-card: #ffffff;
  --rr-theme-ops-ok: #1d7a3d;
  --rr-theme-ops-ok-bg: #edf8ef;
  --rr-theme-ops-warn: #b88207;
  --rr-theme-ops-warn-bg: #fff7e6;
  --rr-theme-ops-bad: #b3261e;
  --rr-theme-ops-bad-bg: #fdecec;
  --rr-theme-ops-bad-fg-on-tint: #b70000;
  --rr-theme-ops-blue: #235d90;
  --rr-theme-ops-blue-bg: #eef5fb;
  --rr-theme-day-blocked-bg: #f4f5f6;
  --rr-theme-day-blocked-border: #d7dbe0;
  --rr-theme-day-blocked-head-bg: #eceff1;
  --rr-theme-day-blocked-head-color: #5d656d;
  --rr-theme-panel-tint: #fafaf8;
  --rr-theme-slot-unknown-border: #d5d7da;
  --rr-theme-slot-unknown-bg: #f4f5f6;
  --rr-theme-slot-unknown-color: #656b72;
  --rr-theme-slot-unknown-state: #555c63;
  --rr-theme-slot-grey-border: #cfd4da;
  --rr-theme-slot-grey-bg: #eef0f2;
  --rr-theme-slot-grey-color: #687078;
  --rr-theme-slot-grey-state: #687078;
  --rr-theme-slot-unpub-border: #d7d0c2;
  --rr-theme-slot-unpub-bg-1: #f1efe9;
  --rr-theme-slot-unpub-bg-2: #e8e3d8;
  --rr-theme-slot-unpub-color: #736a58;
  --rr-theme-slot-unpub-state: #736a58;
  --rr-theme-rides-text: #0e1319;
  --rr-theme-rides-text-soft: #2d3848;
  --rr-theme-rides-muted: #4a5563;
  --rr-theme-rides-dim: #5c6878;
  --rr-theme-rides-body-gradient-top: rgba(217, 37, 52, 0.04);
  --rr-theme-rides-ok: #1d7a3d;
  /* Typography — font families, type scale, weights and leading */
  --rr-theme-font-body: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
  --rr-theme-font-display: Oswald, Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
  --rr-theme-font-mono: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace;
  --rr-theme-font-system: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
  --rr-theme-text-xs: 0.75rem;
  --rr-theme-text-xs-leading: 1.4;
  --rr-theme-text-xs-weight: 500;
  --rr-theme-text-sm: 0.875rem;
  --rr-theme-text-sm-leading: 1.5;
  --rr-theme-text-sm-weight: 500;
  --rr-theme-text-base: 1rem;
  --rr-theme-text-base-leading: 1.6;
  --rr-theme-text-base-weight: 400;
  --rr-theme-text-lg: 1.125rem;
  --rr-theme-text-lg-leading: 1.5;
  --rr-theme-text-lg-weight: 500;
  --rr-theme-text-xl: 1.375rem;
  --rr-theme-text-xl-leading: 1.3;
  --rr-theme-text-xl-weight: 600;
  --rr-theme-text-2xl: 1.75rem;
  --rr-theme-text-2xl-leading: 1.25;
  --rr-theme-text-2xl-weight: 600;
  --rr-theme-text-3xl: 2.25rem;
  --rr-theme-text-3xl-leading: 1.15;
  --rr-theme-text-3xl-weight: 700;
  --rr-theme-text-4xl: 3rem;
  --rr-theme-text-4xl-leading: 1.1;
  --rr-theme-text-4xl-weight: 700;
  --rr-theme-weight-regular: 400;
  --rr-theme-weight-medium: 500;
  --rr-theme-weight-semibold: 600;
  --rr-theme-weight-bold: 700;
  --rr-theme-leading-tight: 1.15;
  --rr-theme-leading-snug: 1.3;
  --rr-theme-leading-normal: 1.5;
  --rr-theme-leading-relaxed: 1.6;
  /* Spacing — one rem-based scale */
  --rr-theme-space-0: 0px;
  --rr-theme-space-1: 0.25rem;
  --rr-theme-space-2: 0.5rem;
  --rr-theme-space-3: 0.75rem;
  --rr-theme-space-4: 1rem;
  --rr-theme-space-5: 1.5rem;
  --rr-theme-space-6: 2rem;
  --rr-theme-space-8: 3rem;
  --rr-theme-space-10: 4rem;
  --rr-theme-space-12: 6rem;
  /* Radius — corner radii */
  --rr-theme-radius-none: 0;
  --rr-theme-radius-sm: 4px;
  --rr-theme-radius-md: 8px;
  --rr-theme-radius-lg: 12px;
  --rr-theme-radius-xl: 16px;
  --rr-theme-radius-pill: 999px;
  --rr-theme-radius-full: 50%;
  /* Motion — durations and easings (reducedMotion is the accessibility floor) */
  --rr-theme-duration-instant: 0ms;
  --rr-theme-duration-fast: 150ms;
  --rr-theme-duration-normal: 250ms;
  --rr-theme-duration-slow: 400ms;
  --rr-theme-duration-reduced: 0ms;
  --rr-theme-ease-standard: cubic-bezier(0.2, 0, 0.2, 1);
  --rr-theme-ease-entrance: cubic-bezier(0, 0, 0.2, 1);
  --rr-theme-ease-exit: cubic-bezier(0.4, 0, 1, 1);
  --browser-theme-color: var(--rr-theme-canvas);
}

:root[data-rr-theme="dark"] {
  color-scheme: dark;
  --rr-theme-black: #ffffff;
  --rr-theme-white: #000000;
  --rr-theme-canvas: #0a0e17;
  --rr-theme-canvas-soft: #0e1520;
  --rr-theme-surface: #111827;
  --rr-theme-surface-raised: #1a2234;
  --rr-theme-surface-overlay: #242e44;
  --rr-theme-surface-sunken: #070b12;
  --rr-theme-surface-glass: rgba(17, 24, 39, 0.85);
  --rr-theme-nav: rgba(17, 24, 39, 0.92);
  --rr-theme-ink: #e2e8f0;
  --rr-theme-ink-strong: #f8fafc;
  --rr-theme-ink-soft: #94a3b8;
  --rr-theme-ink-muted: #64748b;
  --rr-theme-ink-faint: #475569;
  --rr-theme-ink-inverse: #0a0e17;
  --rr-theme-line-faint: rgba(255, 255, 255, 0.06);
  --rr-theme-line: rgba(255, 255, 255, 0.14);
  --rr-theme-line-strong: rgba(255, 255, 255, 0.28);
  --rr-theme-red-base: #ef4444;
  --rr-theme-red-hover: #dc2626;
  --rr-theme-red-active: #b91c1c;
  --rr-theme-red-ink: #fca5a5;
  --rr-theme-red-subtle: rgba(239, 68, 68, 0.14);
  --rr-theme-red-border: rgba(239, 68, 68, 0.38);
  --rr-theme-red-glow: rgba(239, 68, 68, 0.28);
  --rr-theme-blue-base: #3b82f6;
  --rr-theme-blue-hover: #60a5fa;
  --rr-theme-blue-active: #93c5fd;
  --rr-theme-blue-ink: #93c5fd;
  --rr-theme-blue-subtle: rgba(37, 99, 235, 0.14);
  --rr-theme-blue-border: rgba(37, 99, 235, 0.38);
  --rr-theme-blue-glow: rgba(37, 99, 235, 0.28);
  --rr-theme-green-base: #10b981;
  --rr-theme-green-hover: #34d399;
  --rr-theme-green-active: #6ee7b7;
  --rr-theme-green-ink: #6ee7b7;
  --rr-theme-green-subtle: rgba(16, 185, 129, 0.14);
  --rr-theme-green-border: rgba(16, 185, 129, 0.38);
  --rr-theme-green-glow: rgba(16, 185, 129, 0.28);
  --rr-theme-amber-base: #f59e0b;
  --rr-theme-amber-hover: #fbbf24;
  --rr-theme-amber-active: #fcd34d;
  --rr-theme-amber-ink: #fcd34d;
  --rr-theme-amber-subtle: rgba(245, 158, 11, 0.14);
  --rr-theme-amber-border: rgba(245, 158, 11, 0.38);
  --rr-theme-amber-glow: rgba(245, 158, 11, 0.28);
  --rr-theme-violet-base: #a78bfa;
  --rr-theme-violet-hover: #c4b5fd;
  --rr-theme-violet-active: #ddd6fe;
  --rr-theme-violet-ink: #ddd6fe;
  --rr-theme-violet-subtle: rgba(124, 58, 237, 0.14);
  --rr-theme-violet-border: rgba(124, 58, 237, 0.38);
  --rr-theme-violet-glow: rgba(124, 58, 237, 0.28);
  --rr-theme-info: #3b82f6;
  --rr-theme-info-ink: #93c5fd;
  --rr-theme-info-subtle: rgba(37, 99, 235, 0.14);
  --rr-theme-info-border: rgba(37, 99, 235, 0.38);
  --rr-theme-success: #10b981;
  --rr-theme-success-ink: #6ee7b7;
  --rr-theme-success-subtle: rgba(16, 185, 129, 0.14);
  --rr-theme-success-border: rgba(16, 185, 129, 0.38);
  --rr-theme-warning: #f59e0b;
  --rr-theme-warning-ink: #fcd34d;
  --rr-theme-warning-subtle: rgba(245, 158, 11, 0.14);
  --rr-theme-warning-border: rgba(245, 158, 11, 0.38);
  --rr-theme-danger: #ef4444;
  --rr-theme-danger-ink: #fca5a5;
  --rr-theme-danger-subtle: rgba(239, 68, 68, 0.14);
  --rr-theme-danger-border: rgba(239, 68, 68, 0.38);
  --rr-theme-focus: 0 0 0 3px rgba(37, 99, 235, 0.45);
  --rr-theme-scrim: rgba(0, 0, 0, 0.65);
  --rr-theme-shadow-sm: 0 1px 3px rgba(0, 0, 0, 0.40);
  --rr-theme-shadow-md: 0 4px 14px rgba(0, 0, 0, 0.45);
  --rr-theme-shadow-lg: 0 10px 30px rgba(0, 0, 0, 0.55);
  --rr-theme-gradient-top: linear-gradient(135deg, var(--rr-theme-surface-raised), var(--rr-theme-surface));
  --rr-theme-gradient-surface: linear-gradient(155deg, var(--rr-theme-surface-raised), var(--rr-theme-surface));
  --rr-theme-gradient-sunken: linear-gradient(155deg, var(--rr-theme-surface-raised), var(--rr-theme-surface-sunken));
  --rr-theme-gradient-rule: linear-gradient(90deg, var(--rr-theme-blue-base), transparent);
  --rr-theme-strip-bg: #262b31;
  --rr-theme-strip-fg: #cfd4da;
  --rr-theme-strip-fg-strong: #ffffff;
  --rr-theme-strip-line: #31373e;
  --rr-theme-tier-metal-chip-fg: #ffe7b2;
  --rr-theme-tier-metal-points-fg: #f1c36d;
  --rr-theme-ring-track: #090d13;
  --rr-theme-skel-bg-1: #121722;
  --rr-theme-skel-bg-2: #202837;
  --rr-theme-profile-status-warn-fg: #ffd8d5;
  --rr-theme-hero-tip-bg: rgba(11, 16, 23, 0.92);
  --rr-theme-map-water-fill: #06090f;
  --rr-theme-map-road-stroke: rgba(255, 255, 255, 0.06);
  --rr-theme-map-road-major: rgba(255, 255, 255, 0.1);
  --rr-theme-red-on-dark: #ff8b8b;
  --rr-theme-on-accent: #ffffff;
  --rr-theme-hero-marker-arrow: #07120c;
  --rr-theme-admin-primary: #238636;
  --rr-theme-admin-primary-hover: #1f7a31;
  --rr-theme-admin-primary-strong: #3fb950;
  --rr-theme-admin-primary-soft: #dafbe1;
  --rr-theme-admin-primary-line: #2f9e44;
  --rr-theme-admin-focus: #1f883d;
  --rr-theme-admin-danger: #b3261e;
  --rr-theme-admin-danger-hover: #8f1f1a;
  --rr-theme-admin-danger-soft: #fdecec;
  --rr-theme-action-primary: #cc2c39;
  --rr-theme-action-primary-hover: #d6323f;
  --rr-theme-ops-ink: #f0f2f5;
  --rr-theme-ops-ink-2: #cdd3dc;
  --rr-theme-ops-card: #161a20;
  --rr-theme-ops-ok: #3ddc84;
  --rr-theme-ops-ok-bg: rgba(61, 220, 132, 0.14);
  --rr-theme-ops-warn: #f1c36d;
  --rr-theme-ops-warn-bg: rgba(241, 195, 109, 0.14);
  --rr-theme-ops-bad: #ff6b6b;
  --rr-theme-ops-bad-bg: rgba(255, 107, 107, 0.14);
  --rr-theme-ops-bad-fg-on-tint: #ff6b6b;
  --rr-theme-ops-blue: #5ba2e6;
  --rr-theme-ops-blue-bg: rgba(91, 162, 230, 0.14);
  --rr-theme-day-blocked-bg: #14181f;
  --rr-theme-day-blocked-border: #2a323d;
  --rr-theme-day-blocked-head-bg: #1b2129;
  --rr-theme-day-blocked-head-color: #9aa3af;
  --rr-theme-panel-tint: #181d24;
  --rr-theme-slot-unknown-border: #2b333e;
  --rr-theme-slot-unknown-bg: #161b22;
  --rr-theme-slot-unknown-color: #9da6b2;
  --rr-theme-slot-unknown-state: #8f98a4;
  --rr-theme-slot-grey-border: #2e3642;
  --rr-theme-slot-grey-bg: #1a2027;
  --rr-theme-slot-grey-color: #a0a9b5;
  --rr-theme-slot-grey-state: #a0a9b5;
  --rr-theme-slot-unpub-border: #3d382f;
  --rr-theme-slot-unpub-bg-1: #211d17;
  --rr-theme-slot-unpub-bg-2: #2b251d;
  --rr-theme-slot-unpub-color: #b8ad9a;
  --rr-theme-slot-unpub-state: #b8ad9a;
  --rr-theme-rides-text: #f6f8fb;
  --rr-theme-rides-text-soft: #d9e0ea;
  --rr-theme-rides-muted: #9aa7b8;
  --rr-theme-rides-dim: #7f8a9b;
  --rr-theme-rides-body-gradient-top: rgba(239, 62, 74, 0.08);
  --rr-theme-rides-ok: #3ddc84;
  /* Typography — font families, type scale, weights and leading */
  --rr-theme-font-body: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
  --rr-theme-font-display: Oswald, Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
  --rr-theme-font-mono: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace;
  --rr-theme-font-system: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
  --rr-theme-text-xs: 0.75rem;
  --rr-theme-text-xs-leading: 1.4;
  --rr-theme-text-xs-weight: 500;
  --rr-theme-text-sm: 0.875rem;
  --rr-theme-text-sm-leading: 1.5;
  --rr-theme-text-sm-weight: 500;
  --rr-theme-text-base: 1rem;
  --rr-theme-text-base-leading: 1.6;
  --rr-theme-text-base-weight: 400;
  --rr-theme-text-lg: 1.125rem;
  --rr-theme-text-lg-leading: 1.5;
  --rr-theme-text-lg-weight: 500;
  --rr-theme-text-xl: 1.375rem;
  --rr-theme-text-xl-leading: 1.3;
  --rr-theme-text-xl-weight: 600;
  --rr-theme-text-2xl: 1.75rem;
  --rr-theme-text-2xl-leading: 1.25;
  --rr-theme-text-2xl-weight: 600;
  --rr-theme-text-3xl: 2.25rem;
  --rr-theme-text-3xl-leading: 1.15;
  --rr-theme-text-3xl-weight: 700;
  --rr-theme-text-4xl: 3rem;
  --rr-theme-text-4xl-leading: 1.1;
  --rr-theme-text-4xl-weight: 700;
  --rr-theme-weight-regular: 400;
  --rr-theme-weight-medium: 500;
  --rr-theme-weight-semibold: 600;
  --rr-theme-weight-bold: 700;
  --rr-theme-leading-tight: 1.15;
  --rr-theme-leading-snug: 1.3;
  --rr-theme-leading-normal: 1.5;
  --rr-theme-leading-relaxed: 1.6;
  /* Spacing — one rem-based scale */
  --rr-theme-space-0: 0px;
  --rr-theme-space-1: 0.25rem;
  --rr-theme-space-2: 0.5rem;
  --rr-theme-space-3: 0.75rem;
  --rr-theme-space-4: 1rem;
  --rr-theme-space-5: 1.5rem;
  --rr-theme-space-6: 2rem;
  --rr-theme-space-8: 3rem;
  --rr-theme-space-10: 4rem;
  --rr-theme-space-12: 6rem;
  /* Radius — corner radii */
  --rr-theme-radius-none: 0;
  --rr-theme-radius-sm: 4px;
  --rr-theme-radius-md: 8px;
  --rr-theme-radius-lg: 12px;
  --rr-theme-radius-xl: 16px;
  --rr-theme-radius-pill: 999px;
  --rr-theme-radius-full: 50%;
  /* Motion — durations and easings (reducedMotion is the accessibility floor) */
  --rr-theme-duration-instant: 0ms;
  --rr-theme-duration-fast: 150ms;
  --rr-theme-duration-normal: 250ms;
  --rr-theme-duration-slow: 400ms;
  --rr-theme-duration-reduced: 0ms;
  --rr-theme-ease-standard: cubic-bezier(0.2, 0, 0.2, 1);
  --rr-theme-ease-entrance: cubic-bezier(0, 0, 0.2, 1);
  --rr-theme-ease-exit: cubic-bezier(0.4, 0, 1, 1);
  --browser-theme-color: var(--rr-theme-canvas);
}

/* Generated style tokens. Source: config/theme/central-theme.v1.json styles.CLASS */
:root:where([data-rr-style="CLASS"]) {
  --rr-theme-black: #000000;
  --rr-theme-white: #ffffff;
  --rr-theme-canvas: #FFFFFF;
  --rr-theme-canvas-soft: #F7F7F5;
  --rr-theme-surface: #FFFFFF;
  --rr-theme-surface-raised: #F7F7F5;
  --rr-theme-surface-overlay: #FFFFFF;
  --rr-theme-surface-sunken: #F7F7F5;
  --rr-theme-surface-glass: #FFFFFF;
  --rr-theme-nav: #FFFFFF;
  --rr-theme-ink: #0B0B0C;
  --rr-theme-ink-strong: #0B0B0C;
  --rr-theme-ink-soft: #4A4A4D;
  --rr-theme-ink-muted: #8C8C90;
  --rr-theme-ink-faint: #8B8B8F;
  --rr-theme-ink-inverse: #FFFFFF;
  --rr-theme-line-faint: #F7F7F5;
  --rr-theme-line: #DCDCDD;
  --rr-theme-line-strong: #8C8C90;
  --rr-theme-red-base: #dc2626;
  --rr-theme-red-hover: #b91c1c;
  --rr-theme-red-active: #991b1b;
  --rr-theme-red-ink: #b91c1c;
  --rr-theme-red-subtle: rgba(239, 68, 68, 0.08);
  --rr-theme-red-border: rgba(239, 68, 68, 0.28);
  --rr-theme-red-glow: rgba(220, 38, 38, 0.16);
  --rr-theme-blue-base: #0B0B0C;
  --rr-theme-blue-hover: #0B0B0C;
  --rr-theme-blue-active: #0B0B0C;
  --rr-theme-blue-ink: #0B0B0C;
  --rr-theme-blue-subtle: #DCDCDD;
  --rr-theme-blue-border: #DCDCDD;
  --rr-theme-blue-glow: #DCDCDD;
  --rr-theme-green-base: #059669;
  --rr-theme-green-hover: #047857;
  --rr-theme-green-active: #065f46;
  --rr-theme-green-ink: #065f46;
  --rr-theme-green-subtle: rgba(16, 185, 129, 0.08);
  --rr-theme-green-border: rgba(16, 185, 129, 0.28);
  --rr-theme-green-glow: rgba(16, 185, 129, 0.16);
  --rr-theme-amber-base: #d97706;
  --rr-theme-amber-hover: #b45309;
  --rr-theme-amber-active: #92400e;
  --rr-theme-amber-ink: #92400e;
  --rr-theme-amber-subtle: rgba(245, 158, 11, 0.08);
  --rr-theme-amber-border: rgba(245, 158, 11, 0.28);
  --rr-theme-amber-glow: rgba(245, 158, 11, 0.16);
  --rr-theme-violet-base: #7c3aed;
  --rr-theme-violet-hover: #6d28d9;
  --rr-theme-violet-active: #5b21b6;
  --rr-theme-violet-ink: #5b21b6;
  --rr-theme-violet-subtle: rgba(124, 58, 237, 0.08);
  --rr-theme-violet-border: rgba(124, 58, 237, 0.28);
  --rr-theme-violet-glow: rgba(124, 58, 237, 0.16);
  --rr-theme-info: #2563eb;
  --rr-theme-info-ink: #1d4ed8;
  --rr-theme-info-subtle: rgba(37, 99, 235, 0.08);
  --rr-theme-info-border: rgba(37, 99, 235, 0.28);
  --rr-theme-success: #059669;
  --rr-theme-success-ink: #065f46;
  --rr-theme-success-subtle: rgba(16, 185, 129, 0.08);
  --rr-theme-success-border: rgba(16, 185, 129, 0.28);
  --rr-theme-warning: #d97706;
  --rr-theme-warning-ink: #92400e;
  --rr-theme-warning-subtle: rgba(245, 158, 11, 0.08);
  --rr-theme-warning-border: rgba(245, 158, 11, 0.28);
  --rr-theme-danger: #dc2626;
  --rr-theme-danger-ink: #b91c1c;
  --rr-theme-danger-subtle: rgba(239, 68, 68, 0.08);
  --rr-theme-danger-border: rgba(239, 68, 68, 0.28);
  --rr-theme-focus: 0 0 0 3px #8C8C90;
  --rr-theme-scrim: rgba(15, 23, 42, 0.48);
  --rr-theme-shadow-sm: 0 1px 3px rgba(15, 23, 42, 0.06);
  --rr-theme-shadow-md: 0 4px 14px rgba(15, 23, 42, 0.08);
  --rr-theme-shadow-lg: 0 10px 28px rgba(15, 23, 42, 0.12);
  --rr-theme-gradient-top: linear-gradient(135deg, var(--rr-theme-surface-raised), var(--rr-theme-surface));
  --rr-theme-gradient-surface: linear-gradient(155deg, var(--rr-theme-surface-raised), var(--rr-theme-surface));
  --rr-theme-gradient-sunken: linear-gradient(155deg, var(--rr-theme-surface-raised), var(--rr-theme-surface-sunken));
  --rr-theme-gradient-rule: linear-gradient(90deg, var(--rr-theme-blue-base), transparent);
  --rr-theme-strip-bg: #0B0B0C;
  --rr-theme-strip-fg: #C6C6C8;
  --rr-theme-strip-fg-strong: #EDEDEE;
  --rr-theme-strip-line: #3C3C40;
  --rr-theme-tier-metal-chip-fg: #ffe7b2;
  --rr-theme-tier-metal-points-fg: #f1c36d;
  --rr-theme-ring-track: #dbe2ec;
  --rr-theme-skel-bg-1: #eaeff6;
  --rr-theme-skel-bg-2: #dae2ec;
  --rr-theme-profile-status-warn-fg: #8c1d18;
  --rr-theme-hero-tip-bg: rgba(255, 255, 255, 0.94);
  --rr-theme-map-water-fill: #dce6f2;
  --rr-theme-map-road-stroke: rgba(14, 19, 25, 0.10);
  --rr-theme-map-road-major: rgba(14, 19, 25, 0.16);
  --rr-theme-red-on-dark: #ff8b8b;
  --rr-theme-on-accent: #FFFFFF;
  --rr-theme-hero-marker-arrow: #0e1319;
  --rr-theme-admin-primary: #238636;
  --rr-theme-admin-primary-hover: #1f7a31;
  --rr-theme-admin-primary-strong: #3fb950;
  --rr-theme-admin-primary-soft: #dafbe1;
  --rr-theme-admin-primary-line: #2f9e44;
  --rr-theme-admin-focus: #1f883d;
  --rr-theme-admin-danger: #b3261e;
  --rr-theme-admin-danger-hover: #8f1f1a;
  --rr-theme-admin-danger-soft: #fdecec;
  --rr-theme-action-primary: #0B0B0C;
  --rr-theme-action-primary-hover: #4A4A4D;
  --rr-theme-ops-ink: #15181c;
  --rr-theme-ops-ink-2: #262b31;
  --rr-theme-ops-card: #ffffff;
  --rr-theme-ops-ok: #1d7a3d;
  --rr-theme-ops-ok-bg: #edf8ef;
  --rr-theme-ops-warn: #b88207;
  --rr-theme-ops-warn-bg: #fff7e6;
  --rr-theme-ops-bad: #b3261e;
  --rr-theme-ops-bad-bg: #fdecec;
  --rr-theme-ops-bad-fg-on-tint: #b70000;
  --rr-theme-ops-blue: #235d90;
  --rr-theme-ops-blue-bg: #eef5fb;
  --rr-theme-day-blocked-bg: #f4f5f6;
  --rr-theme-day-blocked-border: #d7dbe0;
  --rr-theme-day-blocked-head-bg: #eceff1;
  --rr-theme-day-blocked-head-color: #5d656d;
  --rr-theme-panel-tint: #fafaf8;
  --rr-theme-slot-unknown-border: #d5d7da;
  --rr-theme-slot-unknown-bg: #f4f5f6;
  --rr-theme-slot-unknown-color: #656b72;
  --rr-theme-slot-unknown-state: #555c63;
  --rr-theme-slot-grey-border: #cfd4da;
  --rr-theme-slot-grey-bg: #eef0f2;
  --rr-theme-slot-grey-color: #687078;
  --rr-theme-slot-grey-state: #687078;
  --rr-theme-slot-unpub-border: #d7d0c2;
  --rr-theme-slot-unpub-bg-1: #f1efe9;
  --rr-theme-slot-unpub-bg-2: #e8e3d8;
  --rr-theme-slot-unpub-color: #736a58;
  --rr-theme-slot-unpub-state: #736a58;
  --rr-theme-rides-text: #0e1319;
  --rr-theme-rides-text-soft: #2d3848;
  --rr-theme-rides-muted: #4a5563;
  --rr-theme-rides-dim: #8B8B8F;
  --rr-theme-rides-body-gradient-top: rgba(217, 37, 52, 0.04);
  --rr-theme-rides-ok: #1d7a3d;
}
:root:where([data-rr-style="CLASS"])[data-rr-theme="dark"] {
  --rr-theme-black: #ffffff;
  --rr-theme-white: #000000;
  --rr-theme-canvas: #0B0B0C;
  --rr-theme-canvas-soft: #3C3C40;
  --rr-theme-surface: #0B0B0C;
  --rr-theme-surface-raised: #3C3C40;
  --rr-theme-surface-overlay: #0B0B0C;
  --rr-theme-surface-sunken: #3C3C40;
  --rr-theme-surface-glass: #0B0B0C;
  --rr-theme-nav: #0B0B0C;
  --rr-theme-ink: #FFFFFF;
  --rr-theme-ink-strong: #FFFFFF;
  --rr-theme-ink-soft: #D8D8DA;
  --rr-theme-ink-muted: #8C8C90;
  --rr-theme-ink-faint: #C6C6C8;
  --rr-theme-ink-inverse: #0B0B0C;
  --rr-theme-line-faint: #3C3C40;
  --rr-theme-line: #3C3C40;
  --rr-theme-line-strong: #8C8C90;
  --rr-theme-red-base: #ef4444;
  --rr-theme-red-hover: #dc2626;
  --rr-theme-red-active: #b91c1c;
  --rr-theme-red-ink: #fca5a5;
  --rr-theme-red-subtle: rgba(239, 68, 68, 0.14);
  --rr-theme-red-border: rgba(239, 68, 68, 0.38);
  --rr-theme-red-glow: rgba(239, 68, 68, 0.28);
  --rr-theme-blue-base: #FFFFFF;
  --rr-theme-blue-hover: #FFFFFF;
  --rr-theme-blue-active: #FFFFFF;
  --rr-theme-blue-ink: #FFFFFF;
  --rr-theme-blue-subtle: #3C3C40;
  --rr-theme-blue-border: #3C3C40;
  --rr-theme-blue-glow: #3C3C40;
  --rr-theme-green-base: #10b981;
  --rr-theme-green-hover: #34d399;
  --rr-theme-green-active: #6ee7b7;
  --rr-theme-green-ink: #6ee7b7;
  --rr-theme-green-subtle: rgba(16, 185, 129, 0.14);
  --rr-theme-green-border: rgba(16, 185, 129, 0.38);
  --rr-theme-green-glow: rgba(16, 185, 129, 0.28);
  --rr-theme-amber-base: #f59e0b;
  --rr-theme-amber-hover: #fbbf24;
  --rr-theme-amber-active: #fcd34d;
  --rr-theme-amber-ink: #fcd34d;
  --rr-theme-amber-subtle: rgba(245, 158, 11, 0.14);
  --rr-theme-amber-border: rgba(245, 158, 11, 0.38);
  --rr-theme-amber-glow: rgba(245, 158, 11, 0.28);
  --rr-theme-violet-base: #a78bfa;
  --rr-theme-violet-hover: #c4b5fd;
  --rr-theme-violet-active: #ddd6fe;
  --rr-theme-violet-ink: #ddd6fe;
  --rr-theme-violet-subtle: rgba(124, 58, 237, 0.14);
  --rr-theme-violet-border: rgba(124, 58, 237, 0.38);
  --rr-theme-violet-glow: rgba(124, 58, 237, 0.28);
  --rr-theme-info: #3b82f6;
  --rr-theme-info-ink: #93c5fd;
  --rr-theme-info-subtle: rgba(37, 99, 235, 0.14);
  --rr-theme-info-border: rgba(37, 99, 235, 0.38);
  --rr-theme-success: #10b981;
  --rr-theme-success-ink: #6ee7b7;
  --rr-theme-success-subtle: rgba(16, 185, 129, 0.14);
  --rr-theme-success-border: rgba(16, 185, 129, 0.38);
  --rr-theme-warning: #f59e0b;
  --rr-theme-warning-ink: #fcd34d;
  --rr-theme-warning-subtle: rgba(245, 158, 11, 0.14);
  --rr-theme-warning-border: rgba(245, 158, 11, 0.38);
  --rr-theme-danger: #ef4444;
  --rr-theme-danger-ink: #fca5a5;
  --rr-theme-danger-subtle: rgba(239, 68, 68, 0.14);
  --rr-theme-danger-border: rgba(239, 68, 68, 0.38);
  --rr-theme-focus: 0 0 0 3px #8C8C90;
  --rr-theme-scrim: rgba(0, 0, 0, 0.65);
  --rr-theme-shadow-sm: 0 1px 3px rgba(0, 0, 0, 0.40);
  --rr-theme-shadow-md: 0 4px 14px rgba(0, 0, 0, 0.45);
  --rr-theme-shadow-lg: 0 10px 30px rgba(0, 0, 0, 0.55);
  --rr-theme-gradient-top: linear-gradient(135deg, var(--rr-theme-surface-raised), var(--rr-theme-surface));
  --rr-theme-gradient-surface: linear-gradient(155deg, var(--rr-theme-surface-raised), var(--rr-theme-surface));
  --rr-theme-gradient-sunken: linear-gradient(155deg, var(--rr-theme-surface-raised), var(--rr-theme-surface-sunken));
  --rr-theme-gradient-rule: linear-gradient(90deg, var(--rr-theme-blue-base), transparent);
  --rr-theme-strip-bg: #0B0B0C;
  --rr-theme-strip-fg: #C6C6C8;
  --rr-theme-strip-fg-strong: #EDEDEE;
  --rr-theme-strip-line: #3C3C40;
  --rr-theme-tier-metal-chip-fg: #ffe7b2;
  --rr-theme-tier-metal-points-fg: #f1c36d;
  --rr-theme-ring-track: #090d13;
  --rr-theme-skel-bg-1: #121722;
  --rr-theme-skel-bg-2: #202837;
  --rr-theme-profile-status-warn-fg: #ffd8d5;
  --rr-theme-hero-tip-bg: rgba(11, 16, 23, 0.92);
  --rr-theme-map-water-fill: #06090f;
  --rr-theme-map-road-stroke: rgba(255, 255, 255, 0.06);
  --rr-theme-map-road-major: rgba(255, 255, 255, 0.1);
  --rr-theme-red-on-dark: #ff8b8b;
  --rr-theme-on-accent: #0B0B0C;
  --rr-theme-hero-marker-arrow: #07120c;
  --rr-theme-admin-primary: #238636;
  --rr-theme-admin-primary-hover: #1f7a31;
  --rr-theme-admin-primary-strong: #3fb950;
  --rr-theme-admin-primary-soft: #dafbe1;
  --rr-theme-admin-primary-line: #2f9e44;
  --rr-theme-admin-focus: #1f883d;
  --rr-theme-admin-danger: #b3261e;
  --rr-theme-admin-danger-hover: #8f1f1a;
  --rr-theme-admin-danger-soft: #fdecec;
  --rr-theme-action-primary: #FFFFFF;
  --rr-theme-action-primary-hover: #D8D8DA;
  --rr-theme-ops-ink: #f0f2f5;
  --rr-theme-ops-ink-2: #cdd3dc;
  --rr-theme-ops-card: #161a20;
  --rr-theme-ops-ok: #3ddc84;
  --rr-theme-ops-ok-bg: rgba(61, 220, 132, 0.14);
  --rr-theme-ops-warn: #f1c36d;
  --rr-theme-ops-warn-bg: rgba(241, 195, 109, 0.14);
  --rr-theme-ops-bad: #ff6b6b;
  --rr-theme-ops-bad-bg: rgba(255, 107, 107, 0.14);
  --rr-theme-ops-bad-fg-on-tint: #ff6b6b;
  --rr-theme-ops-blue: #5ba2e6;
  --rr-theme-ops-blue-bg: rgba(91, 162, 230, 0.14);
  --rr-theme-day-blocked-bg: #14181f;
  --rr-theme-day-blocked-border: #2a323d;
  --rr-theme-day-blocked-head-bg: #1b2129;
  --rr-theme-day-blocked-head-color: #9aa3af;
  --rr-theme-panel-tint: #181d24;
  --rr-theme-slot-unknown-border: #2b333e;
  --rr-theme-slot-unknown-bg: #161b22;
  --rr-theme-slot-unknown-color: #9da6b2;
  --rr-theme-slot-unknown-state: #8f98a4;
  --rr-theme-slot-grey-border: #2e3642;
  --rr-theme-slot-grey-bg: #1a2027;
  --rr-theme-slot-grey-color: #a0a9b5;
  --rr-theme-slot-grey-state: #a0a9b5;
  --rr-theme-slot-unpub-border: #3d382f;
  --rr-theme-slot-unpub-bg-1: #211d17;
  --rr-theme-slot-unpub-bg-2: #2b251d;
  --rr-theme-slot-unpub-color: #b8ad9a;
  --rr-theme-slot-unpub-state: #b8ad9a;
  --rr-theme-rides-text: #f6f8fb;
  --rr-theme-rides-text-soft: #d9e0ea;
  --rr-theme-rides-muted: #9aa7b8;
  --rr-theme-rides-dim: #8B8B8F;
  --rr-theme-rides-body-gradient-top: rgba(239, 62, 74, 0.08);
  --rr-theme-rides-ok: #3ddc84;
}

/* Generated style tokens. Source: config/theme/central-theme.v1.json styles.POP */
:root:where([data-rr-style="POP"]) {
  --rr-theme-black: #000000;
  --rr-theme-white: #ffffff;
  --rr-theme-canvas: #FFF8E7;
  --rr-theme-canvas-soft: #FFF8E7;
  --rr-theme-surface: #FFFFFF;
  --rr-theme-surface-raised: #FFF8E7;
  --rr-theme-surface-overlay: #FFFFFF;
  --rr-theme-surface-sunken: #FFF8E7;
  --rr-theme-surface-glass: #FFF8E7;
  --rr-theme-nav: #FFF8E7;
  --rr-theme-ink: #14121A;
  --rr-theme-ink-strong: #14121A;
  --rr-theme-ink-soft: #5B5470;
  --rr-theme-ink-muted: #5B5470;
  --rr-theme-ink-faint: #3D3752;
  --rr-theme-ink-inverse: #FFF8E7;
  --rr-theme-line-faint: #f1f5f9;
  --rr-theme-line: #14121A;
  --rr-theme-line-strong: #14121A;
  --rr-theme-red-base: #FF3D6E;
  --rr-theme-red-hover: #b91c1c;
  --rr-theme-red-active: #991b1b;
  --rr-theme-red-ink: #b91c1c;
  --rr-theme-red-subtle: rgba(239, 68, 68, 0.08);
  --rr-theme-red-border: rgba(239, 68, 68, 0.28);
  --rr-theme-red-glow: rgba(220, 38, 38, 0.16);
  --rr-theme-blue-base: #7A4DFF;
  --rr-theme-blue-hover: #1d4ed8;
  --rr-theme-blue-active: #1e40af;
  --rr-theme-blue-ink: #7A4DFF;
  --rr-theme-blue-subtle: rgba(37, 99, 235, 0.08);
  --rr-theme-blue-border: rgba(37, 99, 235, 0.28);
  --rr-theme-blue-glow: rgba(37, 99, 235, 0.16);
  --rr-theme-green-base: #00D6C0;
  --rr-theme-green-hover: #047857;
  --rr-theme-green-active: #065f46;
  --rr-theme-green-ink: #065f46;
  --rr-theme-green-subtle: rgba(16, 185, 129, 0.08);
  --rr-theme-green-border: rgba(16, 185, 129, 0.28);
  --rr-theme-green-glow: rgba(16, 185, 129, 0.16);
  --rr-theme-amber-base: #FFC300;
  --rr-theme-amber-hover: #b45309;
  --rr-theme-amber-active: #92400e;
  --rr-theme-amber-ink: #92400e;
  --rr-theme-amber-subtle: rgba(245, 158, 11, 0.08);
  --rr-theme-amber-border: rgba(245, 158, 11, 0.28);
  --rr-theme-amber-glow: rgba(245, 158, 11, 0.16);
  --rr-theme-violet-base: #7A4DFF;
  --rr-theme-violet-hover: #6d28d9;
  --rr-theme-violet-active: #5b21b6;
  --rr-theme-violet-ink: #5b21b6;
  --rr-theme-violet-subtle: rgba(124, 58, 237, 0.08);
  --rr-theme-violet-border: rgba(124, 58, 237, 0.28);
  --rr-theme-violet-glow: rgba(124, 58, 237, 0.16);
  --rr-theme-info: #2563eb;
  --rr-theme-info-ink: #1d4ed8;
  --rr-theme-info-subtle: rgba(37, 99, 235, 0.08);
  --rr-theme-info-border: rgba(37, 99, 235, 0.28);
  --rr-theme-success: #059669;
  --rr-theme-success-ink: #065f46;
  --rr-theme-success-subtle: rgba(16, 185, 129, 0.08);
  --rr-theme-success-border: rgba(16, 185, 129, 0.28);
  --rr-theme-warning: #d97706;
  --rr-theme-warning-ink: #92400e;
  --rr-theme-warning-subtle: rgba(245, 158, 11, 0.08);
  --rr-theme-warning-border: rgba(245, 158, 11, 0.28);
  --rr-theme-danger: #dc2626;
  --rr-theme-danger-ink: #b91c1c;
  --rr-theme-danger-subtle: rgba(239, 68, 68, 0.08);
  --rr-theme-danger-border: rgba(239, 68, 68, 0.28);
  --rr-theme-focus: 0 0 0 3px #FF3D6E;
  --rr-theme-scrim: rgba(15, 23, 42, 0.48);
  --rr-theme-shadow-sm: 0 1px 3px rgba(15, 23, 42, 0.06);
  --rr-theme-shadow-md: 0 4px 14px rgba(15, 23, 42, 0.08);
  --rr-theme-shadow-lg: 0 10px 28px rgba(15, 23, 42, 0.12);
  --rr-theme-gradient-top: linear-gradient(135deg, var(--rr-theme-surface-raised), var(--rr-theme-surface));
  --rr-theme-gradient-surface: linear-gradient(155deg, var(--rr-theme-surface-raised), var(--rr-theme-surface));
  --rr-theme-gradient-sunken: linear-gradient(155deg, var(--rr-theme-surface-raised), var(--rr-theme-surface-sunken));
  --rr-theme-gradient-rule: linear-gradient(90deg, var(--rr-theme-blue-base), transparent);
  --rr-theme-strip-bg: #14121A;
  --rr-theme-strip-fg: #CFC8E8;
  --rr-theme-strip-fg-strong: #FFF8E7;
  --rr-theme-strip-line: rgba(255,255,255,.28);
  --rr-theme-tier-metal-chip-fg: #ffe7b2;
  --rr-theme-tier-metal-points-fg: #f1c36d;
  --rr-theme-ring-track: #dbe2ec;
  --rr-theme-skel-bg-1: #eaeff6;
  --rr-theme-skel-bg-2: #dae2ec;
  --rr-theme-profile-status-warn-fg: #8c1d18;
  --rr-theme-hero-tip-bg: rgba(255, 255, 255, 0.94);
  --rr-theme-map-water-fill: #dce6f2;
  --rr-theme-map-road-stroke: rgba(14, 19, 25, 0.10);
  --rr-theme-map-road-major: rgba(14, 19, 25, 0.16);
  --rr-theme-red-on-dark: #ff8b8b;
  --rr-theme-on-accent: #14121A;
  --rr-theme-hero-marker-arrow: #0e1319;
  --rr-theme-admin-primary: #238636;
  --rr-theme-admin-primary-hover: #1f7a31;
  --rr-theme-admin-primary-strong: #3fb950;
  --rr-theme-admin-primary-soft: #dafbe1;
  --rr-theme-admin-primary-line: #2f9e44;
  --rr-theme-admin-focus: #1f883d;
  --rr-theme-admin-danger: #b3261e;
  --rr-theme-admin-danger-hover: #8f1f1a;
  --rr-theme-admin-danger-soft: #fdecec;
  --rr-theme-action-primary: #14121A;
  --rr-theme-action-primary-hover: #9e1521;
  --rr-theme-ops-ink: #15181c;
  --rr-theme-ops-ink-2: #3D3752;
  --rr-theme-ops-card: #ffffff;
  --rr-theme-ops-ok: #1d7a3d;
  --rr-theme-ops-ok-bg: #edf8ef;
  --rr-theme-ops-warn: #b88207;
  --rr-theme-ops-warn-bg: #fff7e6;
  --rr-theme-ops-bad: #b3261e;
  --rr-theme-ops-bad-bg: #fdecec;
  --rr-theme-ops-bad-fg-on-tint: #b70000;
  --rr-theme-ops-blue: #235d90;
  --rr-theme-ops-blue-bg: #eef5fb;
  --rr-theme-day-blocked-bg: #f4f5f6;
  --rr-theme-day-blocked-border: #d7dbe0;
  --rr-theme-day-blocked-head-bg: #eceff1;
  --rr-theme-day-blocked-head-color: #5d656d;
  --rr-theme-panel-tint: #fafaf8;
  --rr-theme-slot-unknown-border: #d5d7da;
  --rr-theme-slot-unknown-bg: #f4f5f6;
  --rr-theme-slot-unknown-color: #656b72;
  --rr-theme-slot-unknown-state: #555c63;
  --rr-theme-slot-grey-border: #cfd4da;
  --rr-theme-slot-grey-bg: #eef0f2;
  --rr-theme-slot-grey-color: #687078;
  --rr-theme-slot-grey-state: #687078;
  --rr-theme-slot-unpub-border: #d7d0c2;
  --rr-theme-slot-unpub-bg-1: #f1efe9;
  --rr-theme-slot-unpub-bg-2: #e8e3d8;
  --rr-theme-slot-unpub-color: #736a58;
  --rr-theme-slot-unpub-state: #736a58;
  --rr-theme-rides-text: #0e1319;
  --rr-theme-rides-text-soft: #2d3848;
  --rr-theme-rides-muted: #4a5563;
  --rr-theme-rides-dim: #E7E1FF;
  --rr-theme-rides-body-gradient-top: rgba(217, 37, 52, 0.04);
  --rr-theme-rides-ok: #1d7a3d;
}
:root:where([data-rr-style="POP"])[data-rr-theme="dark"] {
  --rr-theme-black: #ffffff;
  --rr-theme-white: #000000;
  --rr-theme-canvas: #14121A;
  --rr-theme-canvas-soft: #14121A;
  --rr-theme-surface: #3D3752;
  --rr-theme-surface-raised: #3D3752;
  --rr-theme-surface-overlay: #3D3752;
  --rr-theme-surface-sunken: #3D3752;
  --rr-theme-surface-glass: #3D3752;
  --rr-theme-nav: #3D3752;
  --rr-theme-ink: #FFF8E7;
  --rr-theme-ink-strong: #FFF8E7;
  --rr-theme-ink-soft: #CFC8E8;
  --rr-theme-ink-muted: #CFC8E8;
  --rr-theme-ink-faint: #E7E1FF;
  --rr-theme-ink-inverse: #14121A;
  --rr-theme-line-faint: rgba(255, 255, 255, 0.06);
  --rr-theme-line: #FFF8E7;
  --rr-theme-line-strong: #FFF8E7;
  --rr-theme-red-base: #FF3D6E;
  --rr-theme-red-hover: #dc2626;
  --rr-theme-red-active: #b91c1c;
  --rr-theme-red-ink: #fca5a5;
  --rr-theme-red-subtle: rgba(239, 68, 68, 0.14);
  --rr-theme-red-border: rgba(239, 68, 68, 0.38);
  --rr-theme-red-glow: rgba(239, 68, 68, 0.28);
  --rr-theme-blue-base: #7A4DFF;
  --rr-theme-blue-hover: #60a5fa;
  --rr-theme-blue-active: #93c5fd;
  --rr-theme-blue-ink: #E7E1FF;
  --rr-theme-blue-subtle: rgba(37, 99, 235, 0.14);
  --rr-theme-blue-border: rgba(37, 99, 235, 0.38);
  --rr-theme-blue-glow: rgba(37, 99, 235, 0.28);
  --rr-theme-green-base: #00D6C0;
  --rr-theme-green-hover: #34d399;
  --rr-theme-green-active: #6ee7b7;
  --rr-theme-green-ink: #6ee7b7;
  --rr-theme-green-subtle: rgba(16, 185, 129, 0.14);
  --rr-theme-green-border: rgba(16, 185, 129, 0.38);
  --rr-theme-green-glow: rgba(16, 185, 129, 0.28);
  --rr-theme-amber-base: #FFC300;
  --rr-theme-amber-hover: #fbbf24;
  --rr-theme-amber-active: #fcd34d;
  --rr-theme-amber-ink: #fcd34d;
  --rr-theme-amber-subtle: rgba(245, 158, 11, 0.14);
  --rr-theme-amber-border: rgba(245, 158, 11, 0.38);
  --rr-theme-amber-glow: rgba(245, 158, 11, 0.28);
  --rr-theme-violet-base: #7A4DFF;
  --rr-theme-violet-hover: #c4b5fd;
  --rr-theme-violet-active: #ddd6fe;
  --rr-theme-violet-ink: #ddd6fe;
  --rr-theme-violet-subtle: rgba(124, 58, 237, 0.14);
  --rr-theme-violet-border: rgba(124, 58, 237, 0.38);
  --rr-theme-violet-glow: rgba(124, 58, 237, 0.28);
  --rr-theme-info: #3b82f6;
  --rr-theme-info-ink: #93c5fd;
  --rr-theme-info-subtle: rgba(37, 99, 235, 0.14);
  --rr-theme-info-border: rgba(37, 99, 235, 0.38);
  --rr-theme-success: #10b981;
  --rr-theme-success-ink: #6ee7b7;
  --rr-theme-success-subtle: rgba(16, 185, 129, 0.14);
  --rr-theme-success-border: rgba(16, 185, 129, 0.38);
  --rr-theme-warning: #f59e0b;
  --rr-theme-warning-ink: #fcd34d;
  --rr-theme-warning-subtle: rgba(245, 158, 11, 0.14);
  --rr-theme-warning-border: rgba(245, 158, 11, 0.38);
  --rr-theme-danger: #ef4444;
  --rr-theme-danger-ink: #fca5a5;
  --rr-theme-danger-subtle: rgba(239, 68, 68, 0.14);
  --rr-theme-danger-border: rgba(239, 68, 68, 0.38);
  --rr-theme-focus: 0 0 0 3px #FF3D6E;
  --rr-theme-scrim: rgba(0, 0, 0, 0.65);
  --rr-theme-shadow-sm: 0 1px 3px rgba(0, 0, 0, 0.40);
  --rr-theme-shadow-md: 0 4px 14px rgba(0, 0, 0, 0.45);
  --rr-theme-shadow-lg: 0 10px 30px rgba(0, 0, 0, 0.55);
  --rr-theme-gradient-top: linear-gradient(135deg, var(--rr-theme-surface-raised), var(--rr-theme-surface));
  --rr-theme-gradient-surface: linear-gradient(155deg, var(--rr-theme-surface-raised), var(--rr-theme-surface));
  --rr-theme-gradient-sunken: linear-gradient(155deg, var(--rr-theme-surface-raised), var(--rr-theme-surface-sunken));
  --rr-theme-gradient-rule: linear-gradient(90deg, var(--rr-theme-blue-base), transparent);
  --rr-theme-strip-bg: #14121A;
  --rr-theme-strip-fg: #CFC8E8;
  --rr-theme-strip-fg-strong: #FFF8E7;
  --rr-theme-strip-line: rgba(255,255,255,.28);
  --rr-theme-tier-metal-chip-fg: #ffe7b2;
  --rr-theme-tier-metal-points-fg: #f1c36d;
  --rr-theme-ring-track: #090d13;
  --rr-theme-skel-bg-1: #121722;
  --rr-theme-skel-bg-2: #202837;
  --rr-theme-profile-status-warn-fg: #ffd8d5;
  --rr-theme-hero-tip-bg: rgba(11, 16, 23, 0.92);
  --rr-theme-map-water-fill: #06090f;
  --rr-theme-map-road-stroke: rgba(255, 255, 255, 0.06);
  --rr-theme-map-road-major: rgba(255, 255, 255, 0.1);
  --rr-theme-red-on-dark: #ff8b8b;
  --rr-theme-on-accent: #14121A;
  --rr-theme-hero-marker-arrow: #07120c;
  --rr-theme-admin-primary: #238636;
  --rr-theme-admin-primary-hover: #1f7a31;
  --rr-theme-admin-primary-strong: #3fb950;
  --rr-theme-admin-primary-soft: #dafbe1;
  --rr-theme-admin-primary-line: #2f9e44;
  --rr-theme-admin-focus: #1f883d;
  --rr-theme-admin-danger: #b3261e;
  --rr-theme-admin-danger-hover: #8f1f1a;
  --rr-theme-admin-danger-soft: #fdecec;
  --rr-theme-action-primary: #FFF8E7;
  --rr-theme-action-primary-hover: #d6323f;
  --rr-theme-ops-ink: #f0f2f5;
  --rr-theme-ops-ink-2: #FFF8E7;
  --rr-theme-ops-card: #161a20;
  --rr-theme-ops-ok: #3ddc84;
  --rr-theme-ops-ok-bg: rgba(61, 220, 132, 0.14);
  --rr-theme-ops-warn: #f1c36d;
  --rr-theme-ops-warn-bg: rgba(241, 195, 109, 0.14);
  --rr-theme-ops-bad: #ff6b6b;
  --rr-theme-ops-bad-bg: rgba(255, 107, 107, 0.14);
  --rr-theme-ops-bad-fg-on-tint: #ff6b6b;
  --rr-theme-ops-blue: #5ba2e6;
  --rr-theme-ops-blue-bg: rgba(91, 162, 230, 0.14);
  --rr-theme-day-blocked-bg: #14181f;
  --rr-theme-day-blocked-border: #2a323d;
  --rr-theme-day-blocked-head-bg: #1b2129;
  --rr-theme-day-blocked-head-color: #9aa3af;
  --rr-theme-panel-tint: #181d24;
  --rr-theme-slot-unknown-border: #2b333e;
  --rr-theme-slot-unknown-bg: #161b22;
  --rr-theme-slot-unknown-color: #9da6b2;
  --rr-theme-slot-unknown-state: #8f98a4;
  --rr-theme-slot-grey-border: #2e3642;
  --rr-theme-slot-grey-bg: #1a2027;
  --rr-theme-slot-grey-color: #a0a9b5;
  --rr-theme-slot-grey-state: #a0a9b5;
  --rr-theme-slot-unpub-border: #3d382f;
  --rr-theme-slot-unpub-bg-1: #211d17;
  --rr-theme-slot-unpub-bg-2: #2b251d;
  --rr-theme-slot-unpub-color: #b8ad9a;
  --rr-theme-slot-unpub-state: #b8ad9a;
  --rr-theme-rides-text: #f6f8fb;
  --rr-theme-rides-text-soft: #d9e0ea;
  --rr-theme-rides-muted: #9aa7b8;
  --rr-theme-rides-dim: #E7E1FF;
  --rr-theme-rides-body-gradient-top: rgba(239, 62, 74, 0.08);
  --rr-theme-rides-ok: #3ddc84;
}

/* Generated style tokens. Source: config/theme/central-theme.v1.json styles.MODERN */
:root:where([data-rr-style="MODERN"]) {
  --rr-theme-black: #000000;
  --rr-theme-white: #ffffff;
  --rr-theme-canvas: #ffffff;
  --rr-theme-canvas-soft: #f5f5f7;
  --rr-theme-surface: #ffffff;
  --rr-theme-surface-raised: #fbfbfd;
  --rr-theme-surface-overlay: #ffffff;
  --rr-theme-surface-sunken: #ececee;
  --rr-theme-surface-glass: rgba(255, 255, 255, 0.82);
  --rr-theme-nav: rgba(255, 255, 255, 0.88);
  --rr-theme-ink: #1d1d1f;
  --rr-theme-ink-strong: #000000;
  --rr-theme-ink-soft: #515154;
  --rr-theme-ink-muted: #86868b;
  --rr-theme-ink-faint: #a1a1a6;
  --rr-theme-ink-inverse: #ffffff;
  --rr-theme-line-faint: rgba(0, 0, 0, 0.04);
  --rr-theme-line: rgba(0, 0, 0, 0.08);
  --rr-theme-line-strong: rgba(0, 0, 0, 0.18);
  --rr-theme-red-base: #dc2626;
  --rr-theme-red-hover: #b91c1c;
  --rr-theme-red-active: #991b1b;
  --rr-theme-red-ink: #b91c1c;
  --rr-theme-red-subtle: rgba(239, 68, 68, 0.08);
  --rr-theme-red-border: rgba(239, 68, 68, 0.28);
  --rr-theme-red-glow: rgba(220, 38, 38, 0.16);
  --rr-theme-blue-base: #b45309;
  --rr-theme-blue-hover: #92400e;
  --rr-theme-blue-active: #78350f;
  --rr-theme-blue-ink: #b45309;
  --rr-theme-blue-subtle: rgba(180, 83, 9, 0.08);
  --rr-theme-blue-border: rgba(180, 83, 9, 0.25);
  --rr-theme-blue-glow: rgba(180, 83, 9, 0.18);
  --rr-theme-green-base: #059669;
  --rr-theme-green-hover: #047857;
  --rr-theme-green-active: #065f46;
  --rr-theme-green-ink: #065f46;
  --rr-theme-green-subtle: rgba(16, 185, 129, 0.08);
  --rr-theme-green-border: rgba(16, 185, 129, 0.28);
  --rr-theme-green-glow: rgba(16, 185, 129, 0.16);
  --rr-theme-amber-base: #d97706;
  --rr-theme-amber-hover: #b45309;
  --rr-theme-amber-active: #92400e;
  --rr-theme-amber-ink: #92400e;
  --rr-theme-amber-subtle: rgba(245, 158, 11, 0.08);
  --rr-theme-amber-border: rgba(245, 158, 11, 0.28);
  --rr-theme-amber-glow: rgba(245, 158, 11, 0.16);
  --rr-theme-violet-base: #7c3aed;
  --rr-theme-violet-hover: #6d28d9;
  --rr-theme-violet-active: #5b21b6;
  --rr-theme-violet-ink: #5b21b6;
  --rr-theme-violet-subtle: rgba(124, 58, 237, 0.08);
  --rr-theme-violet-border: rgba(124, 58, 237, 0.28);
  --rr-theme-violet-glow: rgba(124, 58, 237, 0.16);
  --rr-theme-info: #2563eb;
  --rr-theme-info-ink: #1d4ed8;
  --rr-theme-info-subtle: rgba(37, 99, 235, 0.08);
  --rr-theme-info-border: rgba(37, 99, 235, 0.28);
  --rr-theme-success: #059669;
  --rr-theme-success-ink: #065f46;
  --rr-theme-success-subtle: rgba(16, 185, 129, 0.08);
  --rr-theme-success-border: rgba(16, 185, 129, 0.28);
  --rr-theme-warning: #d97706;
  --rr-theme-warning-ink: #92400e;
  --rr-theme-warning-subtle: rgba(245, 158, 11, 0.08);
  --rr-theme-warning-border: rgba(245, 158, 11, 0.28);
  --rr-theme-danger: #dc2626;
  --rr-theme-danger-ink: #b91c1c;
  --rr-theme-danger-subtle: rgba(239, 68, 68, 0.08);
  --rr-theme-danger-border: rgba(239, 68, 68, 0.28);
  --rr-theme-focus: 0 0 0 3px rgba(180, 83, 9, 0.35);
  --rr-theme-scrim: rgba(0, 0, 0, 0.40);
  --rr-theme-shadow-sm: 4px 4px 0 rgba(0, 0, 0, 0.07);
  --rr-theme-shadow-md: 7px 7px 0 rgba(0, 0, 0, 0.09);
  --rr-theme-shadow-lg: 12px 12px 0 rgba(0, 0, 0, 0.12);
  --rr-theme-gradient-top: linear-gradient(180deg, #ffffff 0%, #f5f5f7 100%);
  --rr-theme-gradient-surface: linear-gradient(180deg, rgba(255, 255, 255, 0.9) 0%, rgba(245, 245, 247, 0.7) 100%);
  --rr-theme-gradient-sunken: linear-gradient(155deg, var(--rr-theme-surface-raised), var(--rr-theme-surface-sunken));
  --rr-theme-gradient-rule: linear-gradient(90deg, transparent, rgba(0, 0, 0, 0.12), transparent);
  --rr-theme-strip-bg: #000000;
  --rr-theme-strip-fg: #86868b;
  --rr-theme-strip-fg-strong: #ffffff;
  --rr-theme-strip-line: rgba(255, 255, 255, 0.1);
  --rr-theme-tier-metal-chip-fg: #ffe7b2;
  --rr-theme-tier-metal-points-fg: #f1c36d;
  --rr-theme-ring-track: #dbe2ec;
  --rr-theme-skel-bg-1: #eaeff6;
  --rr-theme-skel-bg-2: #dae2ec;
  --rr-theme-profile-status-warn-fg: #8c1d18;
  --rr-theme-hero-tip-bg: rgba(0, 0, 0, 0.58);
  --rr-theme-map-water-fill: #0e0f12;
  --rr-theme-map-road-stroke: #141418;
  --rr-theme-map-road-major: rgba(255, 255, 255, 0.22);
  --rr-theme-red-on-dark: #ff8b8b;
  --rr-theme-on-accent: #ffffff;
  --rr-theme-hero-marker-arrow: #0e1319;
  --rr-theme-admin-primary: #238636;
  --rr-theme-admin-primary-hover: #1f7a31;
  --rr-theme-admin-primary-strong: #3fb950;
  --rr-theme-admin-primary-soft: #dafbe1;
  --rr-theme-admin-primary-line: #2f9e44;
  --rr-theme-admin-focus: #1f883d;
  --rr-theme-admin-danger: #b3261e;
  --rr-theme-admin-danger-hover: #8f1f1a;
  --rr-theme-admin-danger-soft: #fdecec;
  --rr-theme-action-primary: #000000;
  --rr-theme-action-primary-hover: #1f1f23;
  --rr-theme-ops-ink: #15181c;
  --rr-theme-ops-ink-2: #262b31;
  --rr-theme-ops-card: #ffffff;
  --rr-theme-ops-ok: #1d7a3d;
  --rr-theme-ops-ok-bg: #edf8ef;
  --rr-theme-ops-warn: #b88207;
  --rr-theme-ops-warn-bg: #fff7e6;
  --rr-theme-ops-bad: #b3261e;
  --rr-theme-ops-bad-bg: #fdecec;
  --rr-theme-ops-bad-fg-on-tint: #b70000;
  --rr-theme-ops-blue: #235d90;
  --rr-theme-ops-blue-bg: #eef5fb;
  --rr-theme-day-blocked-bg: #f4f5f6;
  --rr-theme-day-blocked-border: #d7dbe0;
  --rr-theme-day-blocked-head-bg: #eceff1;
  --rr-theme-day-blocked-head-color: #5d656d;
  --rr-theme-panel-tint: #fafaf8;
  --rr-theme-slot-unknown-border: #d5d7da;
  --rr-theme-slot-unknown-bg: #f4f5f6;
  --rr-theme-slot-unknown-color: #656b72;
  --rr-theme-slot-unknown-state: #555c63;
  --rr-theme-slot-grey-border: #cfd4da;
  --rr-theme-slot-grey-bg: #eef0f2;
  --rr-theme-slot-grey-color: #687078;
  --rr-theme-slot-grey-state: #687078;
  --rr-theme-slot-unpub-border: #d7d0c2;
  --rr-theme-slot-unpub-bg-1: #f1efe9;
  --rr-theme-slot-unpub-bg-2: #e8e3d8;
  --rr-theme-slot-unpub-color: #736a58;
  --rr-theme-slot-unpub-state: #736a58;
  --rr-theme-rides-text: #0e1319;
  --rr-theme-rides-text-soft: rgba(255, 255, 255, 0.82);
  --rr-theme-rides-muted: #4a5563;
  --rr-theme-rides-dim: rgba(255, 255, 255, 0.38);
  --rr-theme-rides-body-gradient-top: rgba(217, 37, 52, 0.04);
  --rr-theme-rides-ok: #1d7a3d;
}
:root:where([data-rr-style="MODERN"])[data-rr-theme="dark"] {
  --rr-theme-black: #ffffff;
  --rr-theme-white: #000000;
  --rr-theme-canvas: #000000;
  --rr-theme-canvas-soft: #0a0a0c;
  --rr-theme-surface: #121214;
  --rr-theme-surface-raised: #18181b;
  --rr-theme-surface-overlay: #222226;
  --rr-theme-surface-sunken: #050507;
  --rr-theme-surface-glass: rgba(18, 18, 20, 0.82);
  --rr-theme-nav: rgba(0, 0, 0, 0.88);
  --rr-theme-ink: #f5f5f7;
  --rr-theme-ink-strong: #ffffff;
  --rr-theme-ink-soft: #a1a1a6;
  --rr-theme-ink-muted: #86868b;
  --rr-theme-ink-faint: #636366;
  --rr-theme-ink-inverse: #000000;
  --rr-theme-line-faint: rgba(255, 255, 255, 0.06);
  --rr-theme-line: rgba(255, 255, 255, 0.12);
  --rr-theme-line-strong: rgba(255, 255, 255, 0.24);
  --rr-theme-red-base: #ef4444;
  --rr-theme-red-hover: #dc2626;
  --rr-theme-red-active: #b91c1c;
  --rr-theme-red-ink: #fca5a5;
  --rr-theme-red-subtle: rgba(239, 68, 68, 0.14);
  --rr-theme-red-border: rgba(239, 68, 68, 0.38);
  --rr-theme-red-glow: rgba(239, 68, 68, 0.28);
  --rr-theme-blue-base: #f59e0b;
  --rr-theme-blue-hover: #fbbf24;
  --rr-theme-blue-active: #d97706;
  --rr-theme-blue-ink: #fbbf24;
  --rr-theme-blue-subtle: rgba(245, 158, 11, 0.15);
  --rr-theme-blue-border: rgba(245, 158, 11, 0.35);
  --rr-theme-blue-glow: rgba(245, 158, 11, 0.32);
  --rr-theme-green-base: #10b981;
  --rr-theme-green-hover: #34d399;
  --rr-theme-green-active: #6ee7b7;
  --rr-theme-green-ink: #6ee7b7;
  --rr-theme-green-subtle: rgba(16, 185, 129, 0.14);
  --rr-theme-green-border: rgba(16, 185, 129, 0.38);
  --rr-theme-green-glow: rgba(16, 185, 129, 0.28);
  --rr-theme-amber-base: #f59e0b;
  --rr-theme-amber-hover: #fbbf24;
  --rr-theme-amber-active: #fcd34d;
  --rr-theme-amber-ink: #fcd34d;
  --rr-theme-amber-subtle: rgba(245, 158, 11, 0.14);
  --rr-theme-amber-border: rgba(245, 158, 11, 0.38);
  --rr-theme-amber-glow: rgba(245, 158, 11, 0.28);
  --rr-theme-violet-base: #a78bfa;
  --rr-theme-violet-hover: #c4b5fd;
  --rr-theme-violet-active: #ddd6fe;
  --rr-theme-violet-ink: #ddd6fe;
  --rr-theme-violet-subtle: rgba(124, 58, 237, 0.14);
  --rr-theme-violet-border: rgba(124, 58, 237, 0.38);
  --rr-theme-violet-glow: rgba(124, 58, 237, 0.28);
  --rr-theme-info: #3b82f6;
  --rr-theme-info-ink: #93c5fd;
  --rr-theme-info-subtle: rgba(37, 99, 235, 0.14);
  --rr-theme-info-border: rgba(37, 99, 235, 0.38);
  --rr-theme-success: #10b981;
  --rr-theme-success-ink: #6ee7b7;
  --rr-theme-success-subtle: rgba(16, 185, 129, 0.14);
  --rr-theme-success-border: rgba(16, 185, 129, 0.38);
  --rr-theme-warning: #f59e0b;
  --rr-theme-warning-ink: #fcd34d;
  --rr-theme-warning-subtle: rgba(245, 158, 11, 0.14);
  --rr-theme-warning-border: rgba(245, 158, 11, 0.38);
  --rr-theme-danger: #ef4444;
  --rr-theme-danger-ink: #fca5a5;
  --rr-theme-danger-subtle: rgba(239, 68, 68, 0.14);
  --rr-theme-danger-border: rgba(239, 68, 68, 0.38);
  --rr-theme-focus: 0 0 0 3px rgba(245, 158, 11, 0.45);
  --rr-theme-scrim: rgba(0, 0, 0, 0.75);
  --rr-theme-shadow-sm: 4px 4px 0 rgba(255, 255, 255, 0.08);
  --rr-theme-shadow-md: 7px 7px 0 rgba(255, 255, 255, 0.11);
  --rr-theme-shadow-lg: 12px 12px 0 rgba(255, 255, 255, 0.14);
  --rr-theme-gradient-top: linear-gradient(180deg, #0a0a0c 0%, #000000 100%);
  --rr-theme-gradient-surface: linear-gradient(180deg, rgba(255, 255, 255, 0.06) 0%, rgba(255, 255, 255, 0.02) 100%);
  --rr-theme-gradient-sunken: linear-gradient(155deg, var(--rr-theme-surface-raised), var(--rr-theme-surface-sunken));
  --rr-theme-gradient-rule: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.18), transparent);
  --rr-theme-strip-bg: #000000;
  --rr-theme-strip-fg: #86868b;
  --rr-theme-strip-fg-strong: #ffffff;
  --rr-theme-strip-line: rgba(255, 255, 255, 0.1);
  --rr-theme-tier-metal-chip-fg: #ffe7b2;
  --rr-theme-tier-metal-points-fg: #f1c36d;
  --rr-theme-ring-track: #090d13;
  --rr-theme-skel-bg-1: #121722;
  --rr-theme-skel-bg-2: #202837;
  --rr-theme-profile-status-warn-fg: #ffd8d5;
  --rr-theme-hero-tip-bg: rgba(0, 0, 0, 0.58);
  --rr-theme-map-water-fill: #0e0f12;
  --rr-theme-map-road-stroke: #141418;
  --rr-theme-map-road-major: rgba(255, 255, 255, 0.22);
  --rr-theme-red-on-dark: #ff8b8b;
  --rr-theme-on-accent: #000000;
  --rr-theme-hero-marker-arrow: #07120c;
  --rr-theme-admin-primary: #238636;
  --rr-theme-admin-primary-hover: #1f7a31;
  --rr-theme-admin-primary-strong: #3fb950;
  --rr-theme-admin-primary-soft: #dafbe1;
  --rr-theme-admin-primary-line: #2f9e44;
  --rr-theme-admin-focus: #1f883d;
  --rr-theme-admin-danger: #b3261e;
  --rr-theme-admin-danger-hover: #8f1f1a;
  --rr-theme-admin-danger-soft: #fdecec;
  --rr-theme-action-primary: #ffffff;
  --rr-theme-action-primary-hover: #e5e5ea;
  --rr-theme-ops-ink: #f0f2f5;
  --rr-theme-ops-ink-2: #cdd3dc;
  --rr-theme-ops-card: #161a20;
  --rr-theme-ops-ok: #3ddc84;
  --rr-theme-ops-ok-bg: rgba(61, 220, 132, 0.14);
  --rr-theme-ops-warn: #f1c36d;
  --rr-theme-ops-warn-bg: rgba(241, 195, 109, 0.14);
  --rr-theme-ops-bad: #ff6b6b;
  --rr-theme-ops-bad-bg: rgba(255, 107, 107, 0.14);
  --rr-theme-ops-bad-fg-on-tint: #ff6b6b;
  --rr-theme-ops-blue: #5ba2e6;
  --rr-theme-ops-blue-bg: rgba(91, 162, 230, 0.14);
  --rr-theme-day-blocked-bg: #14181f;
  --rr-theme-day-blocked-border: #2a323d;
  --rr-theme-day-blocked-head-bg: #1b2129;
  --rr-theme-day-blocked-head-color: #9aa3af;
  --rr-theme-panel-tint: #181d24;
  --rr-theme-slot-unknown-border: #2b333e;
  --rr-theme-slot-unknown-bg: #161b22;
  --rr-theme-slot-unknown-color: #9da6b2;
  --rr-theme-slot-unknown-state: #8f98a4;
  --rr-theme-slot-grey-border: #2e3642;
  --rr-theme-slot-grey-bg: #1a2027;
  --rr-theme-slot-grey-color: #a0a9b5;
  --rr-theme-slot-grey-state: #a0a9b5;
  --rr-theme-slot-unpub-border: #3d382f;
  --rr-theme-slot-unpub-bg-1: #211d17;
  --rr-theme-slot-unpub-bg-2: #2b251d;
  --rr-theme-slot-unpub-color: #b8ad9a;
  --rr-theme-slot-unpub-state: #b8ad9a;
  --rr-theme-rides-text: #f6f8fb;
  --rr-theme-rides-text-soft: rgba(255, 255, 255, 0.82);
  --rr-theme-rides-muted: #9aa7b8;
  --rr-theme-rides-dim: rgba(255, 255, 255, 0.38);
  --rr-theme-rides-body-gradient-top: rgba(239, 62, 74, 0.08);
  --rr-theme-rides-ok: #3ddc84;
}

/*
 * Central Platform Mark Roles
 * Authored in config/theme/central-theme.v1.json.
 */

[data-rr-platform-mark] {
  display: inline-block;
  vertical-align: middle;
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  flex-shrink: 0;
}

[data-rr-platform-mark="small"],
.rr-platform-mark-small {
  box-sizing: border-box;
  width: 26px;
  height: 26px;
  border: 1px solid var(--rr-theme-line-strong);
  border-radius: 6px;
  background-color: var(--rr-theme-surface-raised);
  background-origin: padding-box;
  background-clip: padding-box;
  box-shadow: var(--rr-theme-shadow-sm);
  aspect-ratio: 1 / 1;
  background-image: url("brand/small_logo-light.svg");
}

[data-rr-platform-mark="large"],
.rr-platform-mark-large {
  width: auto;
  height: 30px;
  aspect-ratio: 716 / 220;
  background-image: url("brand/big_logo-light.svg");
}

:root[data-rr-theme="light"] [data-rr-platform-mark="small"],
:root[data-theme="light"] [data-rr-platform-mark="small"],
:root[data-rr-theme="light"] .rr-platform-mark-small,
:root[data-theme="light"] .rr-platform-mark-small {
  background-image: url("brand/small_logo-light.svg");
}

:root[data-rr-theme="light"] [data-rr-platform-mark="large"],
:root[data-theme="light"] [data-rr-platform-mark="large"],
:root[data-rr-theme="light"] .rr-platform-mark-large,
:root[data-theme="light"] .rr-platform-mark-large {
  background-image: url("brand/big_logo-light.svg");
}

:root[data-rr-theme="dark"] [data-rr-platform-mark="small"],
:root[data-theme="dark"] [data-rr-platform-mark="small"],
:root[data-rr-theme="dark"] .rr-platform-mark-small,
:root[data-theme="dark"] .rr-platform-mark-small {
  background-image: url("brand/small_logo-dark.svg");
}

:root[data-rr-theme="dark"] [data-rr-platform-mark="large"],
:root[data-theme="dark"] [data-rr-platform-mark="large"],
:root[data-rr-theme="dark"] .rr-platform-mark-large,
:root[data-theme="dark"] .rr-platform-mark-large {
  background-image: url("brand/big_logo-dark.svg");
}

/* Ground Overrides — container ground explicitly supersedes root theme.
 * Each selector is rooted at :root so it matches the (0,3,0) weight of the
 * :root[data-rr-theme="..."] rules above and wins on source order. Unrooted,
 * .rail .rr-platform-mark-small is only (0,2,0) and lost, painting the light
 * mark inside a permanently dark rail. */
:root [data-rr-ground="light"] [data-rr-platform-mark="small"],
:root [data-rr-ground="light"] .rr-platform-mark-small {
  background-image: url("brand/small_logo-light.svg");
}

:root [data-rr-ground="light"] [data-rr-platform-mark="large"],
:root [data-rr-ground="light"] .rr-platform-mark-large {
  background-image: url("brand/big_logo-light.svg");
}

:root [data-rr-ground="dark"] [data-rr-platform-mark="small"],
:root [data-rr-ground="dark"] .rr-platform-mark-small,
:root .site-footer.industrial-shell [data-rr-platform-mark="small"],
:root .site-footer.industrial-shell .rr-platform-mark-small,
:root .rail [data-rr-platform-mark="small"],
:root .rail .rr-platform-mark-small {
  background-image: url("brand/small_logo-dark.svg");
}

:root [data-rr-ground="dark"] [data-rr-platform-mark="large"],
:root [data-rr-ground="dark"] .rr-platform-mark-large {
  background-image: url("brand/big_logo-dark.svg");
}

/* Central three-position theme selector control */
.rr-preview-theme-options {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 4px;
  min-width: 0;
  max-width: 100%;
}

.rr-style-choice {
  height: 44px;
  max-width: 100%;
  padding: 0 8px;
  font: inherit;
  font-size: 12px;
  color: var(--rr-theme-ink);
  background: var(--rr-theme-surface);
  border: 1px solid var(--rr-theme-ink-strong);
  border-radius: 6px;
}


[data-rr-theme-control] {
  display: inline-flex;
  align-items: center;
}

[data-rr-theme-control].rr-theme-floating {
  position: fixed;
  right: max(12px, env(safe-area-inset-right));
  bottom: max(12px, env(safe-area-inset-bottom));
  z-index: 2147483000;
}

.rr-theme-group {
  display: inline-flex;
  align-items: center;
  gap: 0;
  padding: 0;
  background: transparent;
  border: none;
  border-radius: 8px;
  box-sizing: border-box;
}

.rr-theme-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  width: 44px;
  height: 44px;
  min-height: 44px;
  flex: 0 0 44px;
  position: relative;
  padding: 9px;
  border: 1px solid transparent;
  border-radius: 8px;
  background: transparent;
  background-clip: content-box;
  color: var(--rr-theme-ink-soft);
  font-family: inherit;
  font-size: 12px;
  font-weight: 650;
  line-height: 1;
  letter-spacing: 0.01em;
  cursor: pointer;
  transition: background-color 0.15s ease, color 0.15s ease, border-color 0.15s ease, box-shadow 0.15s ease;
  user-select: none;
  -webkit-user-select: none;
  -webkit-tap-highlight-color: transparent;
  box-sizing: border-box;
}

/* The full 44px button is the invisible hit area; only a 24px badge is
   painted. Small icons and accessible names stay central on every surface. */
.rr-theme-btn::before {
  content: "";
  position: absolute;
  width: 24px;
  height: 24px;
  border: 1px solid transparent;
  border-radius: 6px;
  box-sizing: border-box;
  z-index: 0;
}

.rr-theme-btn:hover {
  background: var(--rr-theme-surface-raised);
  background-clip: content-box;
  color: var(--rr-theme-ink-strong);
}

.rr-theme-btn:hover::before {
  border-color: var(--rr-theme-line);
}

.rr-theme-btn.is-active,
.rr-theme-btn[aria-pressed="true"] {
  background: var(--rr-theme-surface);
  background-clip: content-box;
  color: var(--rr-theme-ink-strong);
}

.rr-theme-btn.is-active::before,
.rr-theme-btn[aria-pressed="true"]::before {
  border-color: var(--rr-theme-line-strong);
}

.rr-style-choice:focus-visible,
.rr-theme-btn:focus-visible {
  outline: 2px solid var(--rr-theme-ink-strong);
  outline-offset: 2px;
  box-shadow: 0 0 0 3px var(--rr-theme-ink-strong);
}

.rr-theme-icon {
  display: block;
  width: 14px;
  height: 14px;
  flex-shrink: 0;
  stroke: currentColor;
  position: relative;
}

.rr-theme-label {
  display: none;
  font-size: 12px;
  line-height: 1;
  white-space: nowrap;
}


/* Central "Powered by Rasheed Routing" module presentation.
 *
 * The module MARKUP is authored exactly once in
 * website-modules/static/shared/powered-by.js; its PRESENTATION is authored
 * exactly once here, so every surface that loads the central theme renders the
 * one module identically. No surface sheet may re-declare these selectors.
 *
 * This block is deliberately emitted AFTER the theme-control block: the
 * isolated demo image (miniserver/services/edge_api/demo_surface.py,
 * _demo_theme_roles_and_control_bytes) strips exactly the span between the
 * mark-roles block header and the theme-control block header, so anything
 * placed there would vanish from the demo copy of this sheet. It also declares
 * no mark selector and no brand-asset URL, both of which that function forbids
 * in the demo subset.
 */
.footer-powered {
  border-top: 1px solid var(--rr-theme-line);
  padding: 12px 16px;
  text-align: right;
}

.rr-powered-by,
.footer-powered-mark {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-width: 0;
  border-radius: 6px;
  /* Body-size footer text needs AA contrast on both canvases. The muted
   * role clears the light canvas but falls below 4.5:1 on the dark canvas. */
  color: var(--rr-theme-ink-soft);
  font-size: 12px;
  font-weight: 600;
  line-height: 1.2;
  text-align: left;
  text-decoration: none;
  cursor: pointer;
}

.footer-powered-logo {
  flex: 0 0 auto;
}

.footer-powered-copy,
.footer-powered-name {
  color: inherit;
  font-weight: 600;
  text-decoration: none;
}

.footer-powered a,
a.rr-powered-by,
a.footer-powered-mark {
  text-decoration: none;
}

.footer-powered a:hover,
.footer-powered a:focus-visible,
a.rr-powered-by:hover,
a.rr-powered-by:focus-visible,
a.footer-powered-mark:hover,
a.footer-powered-mark:focus-visible {
  color: var(--rr-theme-ink-strong);
  text-decoration: none;
}

.footer-powered a:hover .footer-powered-name,
a.rr-powered-by:hover .footer-powered-name,
a.footer-powered-mark:hover .footer-powered-name {
  text-decoration: underline;
}

.footer-powered a:focus-visible,
a.rr-powered-by:focus-visible,
a.footer-powered-mark:focus-visible {
  outline: none;
  box-shadow: var(--rr-theme-focus);
}

/* Central base-element roles. Emitted LAST on purpose: the
 * isolated demo image (miniserver/services/edge_api/demo_surface.py,
 * _demo_theme_roles_and_control_bytes) slices the span between the
 * platform-mark block header and the theme-control block header, so anything
 * placed before the control block would vanish from the demo copy of this
 * sheet. Everything here consumes existing paired central roles only.
 */
::selection {
  background-color: var(--rr-theme-surface-sunken);
  color: var(--rr-theme-ink-strong);
}

::-moz-selection {
  background-color: var(--rr-theme-surface-sunken);
  color: var(--rr-theme-ink-strong);
}

::placeholder {
  color: var(--rr-theme-ink-soft);
  opacity: 1;
}

button:disabled,
input:disabled,
select:disabled,
textarea:disabled {
  background-color: var(--rr-theme-surface-sunken);
  border-color: var(--rr-theme-line);
  color: var(--rr-theme-ink-soft);
  cursor: not-allowed;
}

code,
kbd,
samp,
pre {
  background-color: var(--rr-theme-surface-sunken);
  border-radius: 4px;
  color: var(--rr-theme-ink-strong);
}

pre {
  border: 1px solid var(--rr-theme-line);
  overflow-x: auto;
}

@media (prefers-reduced-motion: reduce) {
  .rr-theme-btn {
    transition: none;
  }
}

/* WCAG 2.2 AA SC 2.4.7 Focus Visible: forced-colors mode drops box-shadow.
 * Shared appearance controls also paint an opaque central ink outline.
 * Measured in the admitted
 * Chromium with forced-colors: active -- the theme toggle and the footer
 * attribution painted NO focus indicator at all, because the ring was their
 * only one.
 *
 * The attribution base rules retain their existing theme focus shadow.
 * In forced-colors mode there is no shadow to restore, so the outline
 * has to carry the indicator, and CanvasText is the system colour guaranteed to
 * contrast against the system background.
 *
 * Emitted here, after the control block, so it survives the demo copy: the
 * isolated demo strips the span between the platform-mark block and the
 * theme-control block, and anything placed inside that span is removed from the
 * demo's copy of this sheet.
 */
@media (forced-colors: active) {
  .rr-signin-main :is(input, select, button, a):focus-visible,
  .rr-signin-footer a:focus-visible {
    outline: 2px solid CanvasText;
    outline-offset: 2px;
  }
  .rr-theme-btn:focus-visible,
  .rr-style-choice:focus-visible,
  .footer-powered a:focus-visible,
  a.rr-powered-by:focus-visible,
  a.footer-powered-mark:focus-visible {
    outline: 2px solid CanvasText;
    outline-offset: 2px;
  }
}
