/* RocketServe Design Tokens v1.0.0 — the shared DNA layer.
 *
 * Generated from rocketserve.tokens.json. Every RocketServe product imports
 * this file, then overrides ONLY --rs-accent / --rs-accent-ink.
 *
 * Rules (see tokens/README.md):
 *   1. Product UI references --rs-* SEMANTIC tokens, never --rsb-* primitives.
 *   2. Semantic meanings are non-overridable: success/warning/danger/info
 *      mean the same thing in every product in the family.
 *   3. Rocket Red is the family signature, not a UI accent — in data
 *      products red already means danger.
 *   4. The signature gradient is for marketing surfaces only, never behind
 *      data.
 */

:root {
  /* --- brand primitives (do not use directly in product UI) ------------- */
  --rsb-navy: #16163F;
  --rsb-red: #D23B3A;
  --rsb-slate: #6C6B7D;
  --rsb-carbon: #060606;
  --rsb-cloud: #FFFFFF;
  --rsb-fog: #D7D7D7;
  --rsb-overlay-ink: #211F40AB;
  --rsb-overlay-ink-soft: #211F405C;

  /* operational accents (shared status vocabulary) */
  --rsb-green: #2EAD61;
  --rsb-route: #169C8D;
  --rsb-signal: #3B82F6;
  --rsb-amber: #F4A62A;

  /* --- typography ------------------------------------------------------- */
  --rs-font-display: "Merriweather", Georgia, serif;
  --rs-font-brand: "Montserrat", Inter, system-ui, sans-serif;
  --rs-font-ui: "IBM Plex Sans", Inter, system-ui, sans-serif;
  --rs-font-mono: "IBM Plex Mono", ui-monospace, "SF Mono", Menlo, monospace;

  --rs-text-hero: 50px;
  --rs-text-display: 36px;
  --rs-text-section: 24px;
  --rs-text-xl: 1.4rem;
  --rs-text-lg: 1.15rem;
  --rs-text-md: 1rem;
  --rs-text-sm: .875rem;
  --rs-text-xs: .8rem;
  --rs-leading: 1.55;
  --rs-leading-tight: 1.25;

  /* --- space / radius / elevation / motion ------------------------------ */
  --rs-space-1: 4px;  --rs-space-2: 8px;  --rs-space-3: 12px; --rs-space-4: 16px;
  --rs-space-5: 24px; --rs-space-6: 32px; --rs-space-7: 48px; --rs-space-8: 64px;

  --rs-radius-sm: 4px; --rs-radius-md: 8px; --rs-radius-full: 999px;

  --rs-dur-fast: 120ms;
  --rs-dur: 180ms;
  --rs-ease: cubic-bezier(.2, .8, .4, 1);

  /* --- accessibility ---------------------------------------------------- */
  --rs-focus: #3B6EA5;
  --rs-focus-width: 2px;
  --rs-target-min: 44px;

  /* --- product accent (THE override slot; see the presets at the end) ---- */
  --rs-accent: var(--rsb-red);
  --rs-accent-ink: var(--rsb-cloud);

  /* --- marketing --------------------------------------------------------- */
  --rs-gradient-signature: linear-gradient(180deg, #D23B3A 0%, #16163F 100%);
}

/* --- light theme (RocketServe.io default) ------------------------------- */
:root,
:root[data-theme="light"] {
  --rs-bg: #FFFFFF;
  --rs-surface: #FFFFFF;
  --rs-surface-2: #F4F5F8;
  --rs-chrome: var(--rsb-navy);
  --rs-chrome-ink: #FFFFFF;
  --rs-ink: #060606;
  --rs-muted: #5C6270;
  --rs-line: #D7D7D7;
  --rs-line-strong: #767C87;
  --rs-success: #1F7A45;
  --rs-warning: #8F6318;
  --rs-danger: #B3322F;
  --rs-info: #2563EB;
  --rs-shadow-1: 0 1px 2px rgb(16 24 32 / .08);
  --rs-shadow-2: 0 4px 16px rgb(16 24 32 / .12);
  color-scheme: light;
}

/* --- dark theme (workspace products default here) ----------------------- */
@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) {
    --rs-bg: #0C0D1A;
    --rs-surface: #14162E;
    --rs-surface-2: #1D2040;
    --rs-chrome: var(--rsb-navy);
    --rs-chrome-ink: #FFFFFF;
    --rs-ink: #EEF1F8;
    --rs-muted: #9DA5BF;
    --rs-line: #2A2E4D;
    --rs-line-strong: #6A7196;
    --rs-success: #6FBF8F;
    --rs-warning: #F4A62A;
    --rs-danger: #D96F69;
    --rs-info: #8AB4D8;
    --rs-shadow-1: 0 1px 2px rgb(0 0 0 / .25);
    --rs-shadow-2: 0 4px 16px rgb(0 0 0 / .35);
    color-scheme: dark;
  }
}

:root[data-theme="dark"] {
  --rs-bg: #0C0D1A;
  --rs-surface: #14162E;
  --rs-surface-2: #1D2040;
  --rs-chrome: var(--rsb-navy);
  --rs-chrome-ink: #FFFFFF;
  --rs-ink: #EEF1F8;
  --rs-muted: #9DA5BF;
  --rs-line: #2A2E4D;
  --rs-line-strong: #6A7196;
  --rs-success: #6FBF8F;
  --rs-warning: #F4A62A;
  --rs-danger: #D96F69;
  --rs-info: #8AB4D8;
  --rs-shadow-1: 0 1px 2px rgb(0 0 0 / .25);
  --rs-shadow-2: 0 4px 16px rgb(0 0 0 / .35);
  color-scheme: dark;
}

/* --- product accent presets -------------------------------------------- *
 * Each product sets ONE of these on its root. Personality lives here; the
 * rest of the family DNA above stays identical.
 *
 * Accents are THEME-AWARE. An accent tuned for a dark surface will not carry
 * 4.5:1 on white, so every product declares both. Products pin their theme
 * with data-theme; prefers-color-scheme is only the fallback for products
 * that opt into following the OS.
 */
[data-product="difficultresearch"] { --rs-accent: #C9A24B; --rs-accent-ink: #1A1408; }
[data-product="difficultresearch"][data-theme="light"] { --rs-accent: #8A6A1F; --rs-accent-ink: #FFFFFF; }

[data-product="athena"]            { --rs-accent: #8B7FD4; --rs-accent-ink: #100C22; }
[data-product="athena"][data-theme="light"] { --rs-accent: #5D4FB3; --rs-accent-ink: #FFFFFF; }

[data-product="platform"]          { --rs-accent: #E8635F; --rs-accent-ink: #180404; }
[data-product="platform"][data-theme="light"] { --rs-accent: var(--rsb-red); --rs-accent-ink: #FFFFFF; }

[data-product="notary-beacon"]     { --rs-accent: #3FC7B4; --rs-accent-ink: #04211E; }
[data-product="notary-beacon"][data-theme="light"] { --rs-accent: #0F7568; --rs-accent-ink: #FFFFFF; }

[data-product="geek-squid"]        { --rs-accent: #6FA8F5; --rs-accent-ink: #061224; }
[data-product="geek-squid"][data-theme="light"] { --rs-accent: #1D4ED8; --rs-accent-ink: #FFFFFF; }

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