/* ============================================================================
   rivok-tokens.css — NUR die Token-Schicht (Theme A/B/C) + globale option{}-Regel.
   Single source der Design-Tokens. Wird von rivok.css ge-@import-t (Chrome-Seiten)
   UND direkt von play.html gelinkt — play.html braucht NUR Tokens + option{},
   KEINE Komponenten-Klassen (.btn/.lbl/.card/…) → so können die nicht ins Spiel-UI leaken.
   ============================================================================ */

/* ============================ TOKENS · THEME A ============================= */
/* Theme via data-theme auf <html> ODER <body> — am besten per Inline-Head-Script
   VOR dem ersten Paint setzen (verhindert Laufzeit-Umschalt-Quirks bei Form-Controls):
   <script>document.documentElement.dataset.theme=localStorage.getItem('rivok-theme')||'a'</script> */
:root,
[data-theme="a"] {
  --bg:#08090d;
  --bg-soft:#0e1117;
  --bg-card:#131820;
  --bg-card-hi:#1a2230;
  --border:#232a36;
  --border-hi:#2f3a4a;
  --text:#e6edf3;
  --text-mute:#8b95a3;
  --text-dim:#5a6473;
  --accent:#5dd9ff;          /* primärer Akzent (Cyan) */
  --warm:#f0b73a;            /* zweiter Akzent (Amber) */
  --danger:#ff5d5d;
  --good:#7cd97c;
  --purple:#a371f7;
  --grid-line:rgba(93,217,255,.04);
  /* Legacy-Aliase für Alt-Seiten (= accent/warm/danger/good), theme-aware als Literale */
  --cyan:#5dd9ff; --amber:#f0b73a; --red:#ff5d5d; --green:#7cd97c;
  --discord:#5865f2;   /* Marken-Fixwert, nicht gethemt */

  --radius:12px;
  --radius-sm:8px;
  --radius-pill:999px;
  --font-ui:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',system-ui,sans-serif;
  --font-mono:'JetBrains Mono','Fira Code','SF Mono',Consolas,ui-monospace,monospace;

  /* Seiten-Hintergrund (radialer Glow + taktisches Raster) */
  --body-bg:
    radial-gradient(1200px 700px at 70% -10%, rgba(93,217,255,.06), transparent 60%),
    linear-gradient(0deg, rgba(93,217,255,.04) 1px, transparent 1px) 0 0/100% 28px,
    linear-gradient(90deg, rgba(93,217,255,.04) 1px, transparent 1px) 0 0/28px 100%,
    #08090d;
  --body-bg-attach:scroll;

  /* Card / Panel — Alias-Tokens als DIREKTE Werte (siehe Hinweis oben am Block) */
  --card-bg:linear-gradient(180deg,#1a2230,#131820);
  --card-border:#232a36;
  --card-border-w:1px;
  --card-shadow:0 10px 26px rgba(0,0,0,.42), inset 0 1px 0 rgba(255,255,255,.03);
  --card-blur:none;
  --card-edge:linear-gradient(180deg,#5dd9ff,transparent);
  --card-edge-glow:0 0 10px rgba(93,217,255,.5);
  --card-edge-w:2px;
  --card-inner:0 solid transparent;   /* B: gestrichelte Innenkante */

  /* Inputs */
  --input-bg:#0e1117;
  --input-border:#232a36;
  --input-border-w:1px;
  --focus-border:#5dd9ff;
  --focus-ring:0 0 0 3px rgba(93,217,255,.15);

  /* Buttons */
  --btn-bg:#1a2230;
  --btn-border:#2f3a4a;
  --btn-border-w:1px;
  --btn-shadow:none;
  --btn-radius:8px;
  --btn-primary-bg:linear-gradient(180deg,#7fe3ff,#5dd9ff);
  --btn-primary-on:#04222e;
  --btn-primary-shadow:0 4px 14px rgba(93,217,255,.28);
  --btn-primary-shadow-hover:0 6px 20px rgba(93,217,255,.45);
  --btn-warm-bg:linear-gradient(180deg,#ffce5e,#f0b73a);
  --btn-warm-on:#2a1d02;
  --btn-danger-bg:#1d1115;
  --btn-danger-border:#5a2730;
  --btn-danger-fg:#ffb3b3;

  /* Pills */
  --pill-bg:rgba(93,217,255,.12);
  --pill-fg:#5dd9ff;
  --pill-border:rgba(93,217,255,.25);

  /* Balken (Kontaktbox) */
  --bar-track:#0a0c10;
  --bar-me:linear-gradient(90deg,#7fe3ff,var(--accent));
  --bar-them:#3a2630;

  /* Spiel-HUD über dem Canvas (play.html): halbtransparente Float-Panels + Aktions-Tiles, gethemt */
  --panel:rgba(19,24,32,.82);
  --panel-strong:rgba(19,24,32,.94);
  /* In-Game-Float-HUD (über bewegter Karte): deckend, KEIN Blur, KEIN weicher Schatten (blüht über hellem Terrain zum Halo).
     Abgrenzung allein über die klare --border-hi-Kante. */
  --hud-bg:rgba(19,24,32,.96); --hud-blur:none; --hud-shadow:none;
  --tile-hover:#1c2532;
  --tile-sel:#11212b;
  --menu-bg:#131820;   /* solider Hintergrund für native <option>-Popups */
}

/* ============================ TOKENS · THEME B ============================= */
/* „Feldhandbuch" — helles Papier, Mono, Olive/Orange, Stempel, harte Kanten */
[data-theme="b"] {
  --bg:#e7e0cd;
  --bg-soft:#ddd4bc;
  --bg-card:#f1ecdc;
  --bg-card-hi:#f1ecdc;
  --border:#b9ad8c;
  --border-hi:#7d7556;
  --text:#211d12;
  --text-mute:#5f5840;
  --text-dim:#5f5840;
  --accent:#5a6233;          /* Olive */
  --warm:#c9531a;            /* Signal-Orange */
  --danger:#9e2417;          /* Stempel-Rot */
  --good:#5a6233;
  --purple:#3a5f7d;          /* Blau als „cool"-Akzent */
  --cyan:#5a6233; --amber:#c9531a; --red:#9e2417; --green:#5a6233;   /* Legacy-Aliase → Olive/Orange/Stempel */

  --radius:2px;
  --radius-sm:2px;
  --radius-pill:2px;
  --font-ui:'Courier New',ui-monospace,monospace;
  --font-mono:'Courier New',ui-monospace,monospace;

  --body-bg:
    repeating-linear-gradient(0deg, rgba(58,95,125,.05) 0 1px, transparent 1px 26px),
    repeating-linear-gradient(90deg, rgba(58,95,125,.05) 0 1px, transparent 1px 26px),
    radial-gradient(1000px 500px at 80% -5%, rgba(0,0,0,.05), transparent 60%),
    #e7e0cd;
  --body-bg-attach:scroll;

  --card-bg:#f1ecdc;
  --card-border:#211d12;
  --card-border-w:2px;
  --card-shadow:3px 3px 0 #7d7556;
  --card-blur:none;
  --card-edge:transparent;             /* keine Akzentkante — stattdessen Stempel */
  --card-edge-glow:none;
  --card-edge-w:0px;
  --card-inner:1px dashed #b9ad8c;

  --input-bg:#e7e0cd;
  --input-border:#7d7556;
  --input-border-w:2px;
  --focus-border:#c9531a;
  --focus-ring:none;

  --btn-bg:#e7e0cd;
  --btn-border:#211d12;
  --btn-border-w:2px;
  --btn-shadow:2px 2px 0 #7d7556;
  --btn-radius:2px;
  --btn-primary-bg:#5a6233;
  --btn-primary-on:#f1ecdc;
  --btn-primary-shadow:2px 2px 0 #7d7556;
  --btn-primary-shadow-hover:2px 2px 0 #7d7556;
  --btn-warm-bg:#c9531a;
  --btn-warm-on:#f1ecdc;
  --btn-danger-bg:#9e2417;
  --btn-danger-border:#6e1810;
  --btn-danger-fg:#f1ecdc;

  --pill-bg:#e7e0cd;
  --pill-fg:#211d12;
  --pill-border:#211d12;

  --bar-track:#e7e0cd;
  --bar-me:#5a6233;
  --bar-them:#c9531a;

  --panel:rgba(241,236,220,.92);
  --panel-strong:rgba(245,241,228,.97);
  --hud-bg:rgba(245,241,228,.98); --hud-blur:none; --hud-shadow:3px 3px 0 #7d7556;
  --tile-hover:#ddd4bc;
  --tile-sel:#e7e0cd;
  --menu-bg:#f1ecdc;
}

/* ============================ TOKENS · THEME C ============================= */
/* „Neon Glass" — Glasmorphismus, Farbverlauf-Grund, Blau/Pink-Neon */
[data-theme="c"] {
  --bg:#0a0518;
  --bg-soft:rgba(0,0,0,.22);
  --bg-card:rgba(255,255,255,.055);
  --bg-card-hi:rgba(255,255,255,.10);
  --border:rgba(255,255,255,.14);
  --border-hi:rgba(255,255,255,.3);
  --text:#eef0ff;
  --text-mute:rgba(238,240,255,.62);
  --text-dim:rgba(238,240,255,.38);
  --accent:#5b8cff;          /* Blau */
  --warm:#ffd35b;            /* Gold */
  --danger:#ff6b81;
  --good:#9dff6b;
  --purple:#ff5bd0;          /* Pink */
  --cyan:#5b8cff; --amber:#ffd35b; --red:#ff6b81; --green:#9dff6b;   /* Legacy-Aliase → Blau/Gold/Neon */

  --radius:18px;
  --radius-sm:12px;
  --radius-pill:999px;
  --font-ui:'Inter',system-ui,-apple-system,'Segoe UI',sans-serif;
  --font-mono:'JetBrains Mono','SF Mono',Consolas,ui-monospace,monospace;

  --body-bg:
    radial-gradient(42% 50% at 14% 8%, rgba(91,140,255,.55), transparent 60%),
    radial-gradient(46% 55% at 88% 16%, rgba(255,91,208,.48), transparent 60%),
    radial-gradient(55% 60% at 60% 98%, rgba(157,255,107,.22), transparent 62%),
    linear-gradient(160deg,#180b32,#0a0518);
  --body-bg-attach:fixed;

  --card-bg:rgba(255,255,255,.055);
  --card-border:rgba(255,255,255,.14);
  --card-border-w:1px;
  --card-shadow:0 12px 40px rgba(0,0,0,.4), inset 0 1px 0 rgba(255,255,255,.18);
  --card-blur:blur(18px) saturate(1.3);
  --card-edge:linear-gradient(180deg,#5b8cff,#ff5bd0);
  --card-edge-glow:0 0 14px rgba(91,140,255,.8);
  --card-edge-w:3px;
  --card-inner:0 solid transparent;

  --input-bg:rgba(0,0,0,.22);
  --input-border:rgba(255,255,255,.14);
  --input-border-w:1px;
  --focus-border:#5b8cff;
  --focus-ring:0 0 0 3px rgba(91,140,255,.25);

  --btn-bg:rgba(255,255,255,.10);
  --btn-border:rgba(255,255,255,.14);
  --btn-border-w:1px;
  --btn-shadow:none;
  --btn-radius:999px;
  --btn-primary-bg:linear-gradient(95deg,#5b8cff,#ff5bd0);
  --btn-primary-on:#fff;
  --btn-primary-shadow:0 6px 20px rgba(91,140,255,.45);
  --btn-primary-shadow-hover:0 8px 26px rgba(255,91,208,.5);
  --btn-warm-bg:linear-gradient(95deg,#ffd35b,#ffaf5b);
  --btn-warm-on:#241a02;
  --btn-danger-bg:rgba(255,107,129,.12);
  --btn-danger-border:rgba(255,107,129,.4);
  --btn-danger-fg:#ffb3bf;

  --pill-bg:rgba(91,140,255,.16);
  --pill-fg:#bcd0ff;
  --pill-border:rgba(91,140,255,.35);

  --bar-track:rgba(0,0,0,.35);
  --bar-me:linear-gradient(90deg,#5b8cff,#7fb0ff);
  --bar-them:linear-gradient(90deg,#5a2c4a,#ff5bd0);

  --panel:rgba(15,10,35,.55);
  --panel-strong:rgba(15,10,35,.72);
  /* Glas-Blur über der Karte = Halo, .72-Transparenz = Schleier, weicher Schatten = Halo über hellem Terrain → alles aus:
     deckendes Lila + helle Kante, kein Blur, kein Schatten. */
  --hud-bg:rgba(17,12,38,.96); --hud-blur:none; --hud-shadow:none;
  --tile-hover:rgba(255,255,255,.12);
  --tile-sel:rgba(91,140,255,.2);
  --menu-bg:#1a0f33;
}

/* Select-Popup-Lesbarkeit (alle Themes); hier, weil play.html das ebenfalls braucht. */
option{ background:var(--menu-bg); color:var(--text); }
