/*
 * Calamity admin — design tokens (single source of truth)
 * Shared by index.html (News), wiki_admin.html, launcher_admin.html.
 * Previously these were copy-pasted into each file's inline <style> and had
 * begun to drift (e.g. --gray). Edit values HERE; bump the ?v= query in each
 * page's <link> when you change this file so browsers pick it up.
 *
 * Per-page override: wiki_admin.html keeps a lighter --gray (#9b8cb5) for
 * WCAG-AA text contrast via a small inline :root override after this link.
 */
:root {
  --bg: #0d0818;
  --panel: #1a122a;
  --panel-alt: #25183a;
  --ink: #f2f2f7;
  --muted: #b2a6c8;
  --border: #2e2346;
  --shadow: 0 6px 16px rgba(8, 4, 18, 0.35);
  --shadow-lg: 0 12px 32px rgba(8, 4, 18, 0.5);
  --blue: #a66bff;
  --blue-dark: #7b3de6;
  --green: #37d3a4;
  --green-muted: rgba(55, 211, 164, 0.15);
  --gray: #6c5a84;
  --red: #a55b5b;
  --red-muted: rgba(165, 91, 91, 0.15);
  --focus: rgba(166, 107, 255, 0.35);
  --focus-ring: 0 0 0 3px rgba(166, 107, 255, 0.35);
  --glow: rgba(166, 107, 255, 0.25);
  --cyan: #58e6ff;
  --panel-gradient: linear-gradient(160deg, rgba(38, 26, 60, 0.98) 0%, rgba(20, 14, 36, 0.98) 100%);
  --panel-border: rgba(166, 107, 255, 0.18);
  --radius-sm: 10px;
  --radius-md: 12px;
  --radius-lg: 16px;
  --radius-xl: 18px;
  --space-2xs: 4px;
  --space-xs: 6px;
  --space-sm: 10px;
  --space-md: 16px;
  --space-lg: 22px;
  --space-xl: 28px;
  --space-2xl: 36px;
  --font-base: 16px;
  --line-height-tight: 1.3;
  --line-height-normal: 1.55;
  --line-height-relaxed: 1.7;
  --control-height: 40px;
  --control-height-sm: 34px;
  --control-height-touch: 44px;
  --btn-height: 40px;
  --btn-height-sm: 34px;
  --btn-radius: var(--radius-sm);
  --btn-font-size: 0.9rem;
  --btn-font-size-sm: 0.82rem;
  --btn-font-weight: 700;
  --btn-padding-y: 0;
  --btn-padding-x: 18px;
  --btn-padding-x-sm: 12px;
  --btn-min-width: 100px;
  --pill-height: 26px;
  --pill-font-size: 0.72rem;
  --pill-padding-x: 10px;
  --pill-radius: 999px;
  --btn-primary-bg: #8f63ff;
  --btn-primary-hover: #9c73ff;
  --btn-primary-disabled-bg: #3a2c57;
  --btn-primary-text: #f7f2ff;
  --btn-primary-border: #7f5bdd;
  --btn-secondary-bg: #241a36;
  --btn-secondary-hover: #2f2344;
  --btn-secondary-disabled-bg: #1a1327;
  --btn-secondary-text: #e2d7f6;
  --btn-secondary-border: #3a2d53;
  --btn-danger-bg: #b35757;
  --btn-danger-hover: #c56565;
  --btn-danger-disabled-bg: #3a2323;
  --btn-danger-text: #fff1f1;
  --btn-danger-border: #c06f6f;
  --btn-neutral-bg: #262232;
  --btn-neutral-hover: #302c3d;
  --btn-neutral-disabled-bg: #1b1824;
  --btn-neutral-text: #d8d1e9;
  --btn-neutral-border: #353145;
  --btn-disabled-text: #b6abc9;
  --safe-top: env(safe-area-inset-top, 0px);
  --safe-bottom: env(safe-area-inset-bottom, 0px);
  --safe-left: env(safe-area-inset-left, 0px);
  --safe-right: env(safe-area-inset-right, 0px);

  /* Legacy aliases used by older Push/utility rules. */
  --accent: var(--blue);
  --warning: #ffc107;
  --card-bg: rgba(18, 12, 30, 0.92);
  --text: var(--ink);
  --text-secondary: var(--muted);

  --modal-backdrop: rgba(6, 4, 12, 0.82);
  --modal-radius: var(--radius-xl);
  --transition-fast: 0.15s ease;
  --transition-normal: 0.2s ease;
}
