/* Original GameAP theme.css -- DO NOT EDIT */
/*
 * GameAP theme tokens.
 *
 * This file is the public theming API of the panel. It is shipped verbatim
 * as /theme.css and is loaded before every other stylesheet, so any CSS that
 * comes later (plugin styles delivered via /plugins.css included) can
 * override the variables below and re-theme the whole panel, naive-ui
 * components included.
 *
 * Two tiers:
 *   1. Palette (--gameap-<family>-<shade>) — raw color ramps. They do NOT
 *      change between light and dark mode.
 *   2. Semantic (--gameap-surface, --gameap-text-muted, ...) — role tokens.
 *      Light values live in :root, dark overrides in html.dark.
 *
 * Override example (plugin CSS):
 *   :root { --gameap-primary: #e11d48; --gameap-primary-hover: #be123c; }
 *   html.dark { --gameap-surface: #1e1b4b; }
 *
 * Dark-mode values MUST be overridden under `html.dark` — a plain :root
 * declaration loses to the html.dark rules below on specificity.
 *
 * Variables are covered by semver of @gameap/ui: additions are a minor
 * release, renames or removals are a major release.
 */

/* Tier 1 — palette (Tailwind v3 default ramps; identical in both modes) */
:root {
    --gameap-stone-50: #fafaf9;
    --gameap-stone-100: #f5f5f4;
    --gameap-stone-200: #e7e5e4;
    --gameap-stone-300: #d6d3d1;
    --gameap-stone-400: #a8a29e;
    --gameap-stone-500: #78716c;
    --gameap-stone-600: #57534e;
    --gameap-stone-700: #44403c;
    --gameap-stone-800: #292524;
    --gameap-stone-900: #1c1917;
    --gameap-stone-950: #0c0a09;

    --gameap-red-50: #fef2f2;
    --gameap-red-100: #fee2e2;
    --gameap-red-200: #fecaca;
    --gameap-red-300: #fca5a5;
    --gameap-red-400: #f87171;
    --gameap-red-500: #ef4444;
    --gameap-red-600: #dc2626;
    --gameap-red-700: #b91c1c;
    --gameap-red-800: #991b1b;
    --gameap-red-900: #7f1d1d;
    --gameap-red-950: #450a0a;

    --gameap-orange-50: #fff7ed;
    --gameap-orange-100: #ffedd5;
    --gameap-orange-200: #fed7aa;
    --gameap-orange-300: #fdba74;
    --gameap-orange-400: #fb923c;
    --gameap-orange-500: #f97316;
    --gameap-orange-600: #ea580c;
    --gameap-orange-700: #c2410c;
    --gameap-orange-800: #9a3412;
    --gameap-orange-900: #7c2d12;
    --gameap-orange-950: #431407;

    --gameap-lime-50: #f7fee7;
    --gameap-lime-100: #ecfccb;
    --gameap-lime-200: #d9f99d;
    --gameap-lime-300: #bef264;
    --gameap-lime-400: #a3e635;
    --gameap-lime-500: #84cc16;
    --gameap-lime-600: #65a30d;
    --gameap-lime-700: #4d7c0f;
    --gameap-lime-800: #3f6212;
    --gameap-lime-900: #365314;
    --gameap-lime-950: #1a2e05;

    --gameap-sky-50: #f0f9ff;
    --gameap-sky-100: #e0f2fe;
    --gameap-sky-200: #bae6fd;
    --gameap-sky-300: #7dd3fc;
    --gameap-sky-400: #38bdf8;
    --gameap-sky-500: #0ea5e9;
    --gameap-sky-600: #0284c7;
    --gameap-sky-700: #0369a1;
    --gameap-sky-800: #075985;
    --gameap-sky-900: #0c4a6e;
    --gameap-sky-950: #082f49;
}

/* Tier 2 — semantic, light values */
:root {
    /* Surfaces */
    --gameap-surface: #ffffff;
    --gameap-surface-raised: #ffffff;
    --gameap-surface-overlay: #ffffff;
    --gameap-surface-hover: var(--gameap-stone-100);
    --gameap-scrim: color-mix(in srgb, var(--gameap-stone-900) 10%, transparent);

    /* Borders */
    --gameap-border: var(--gameap-stone-200);
    --gameap-border-strong: var(--gameap-stone-300);

    /* Text */
    --gameap-text: var(--gameap-stone-900);
    --gameap-text-secondary: var(--gameap-stone-600);
    --gameap-text-muted: var(--gameap-stone-500);
    --gameap-text-faint: var(--gameap-stone-400);

    /* Intent: primary / success / danger / warning / info */
    --gameap-primary: var(--gameap-lime-500);
    --gameap-primary-hover: var(--gameap-lime-600);
    --gameap-primary-soft: var(--gameap-lime-50);
    --gameap-primary-soft-text: var(--gameap-lime-700);

    --gameap-success: var(--gameap-lime-500);
    --gameap-success-hover: var(--gameap-lime-600);
    --gameap-success-soft: var(--gameap-lime-50);
    --gameap-success-soft-text: var(--gameap-lime-700);

    --gameap-danger: var(--gameap-red-500);
    --gameap-danger-hover: var(--gameap-red-600);
    --gameap-danger-soft: var(--gameap-red-50);
    --gameap-danger-soft-text: var(--gameap-red-700);

    --gameap-warning: var(--gameap-orange-400);
    --gameap-warning-hover: var(--gameap-orange-500);
    --gameap-warning-soft: var(--gameap-orange-50);
    --gameap-warning-soft-text: var(--gameap-orange-700);

    --gameap-info: var(--gameap-sky-500);
    --gameap-info-hover: var(--gameap-sky-600);
    --gameap-info-soft: var(--gameap-sky-50);
    --gameap-info-soft-text: var(--gameap-sky-700);

    /* App chrome (navbar + sidebar); intentionally the same in both modes */
    --gameap-chrome: var(--gameap-stone-900);
    --gameap-chrome-item: var(--gameap-stone-800);
    --gameap-chrome-hover: var(--gameap-stone-700);

    /* naive-ui specific tones */
    --gameap-table-header: var(--gameap-stone-100);
    --gameap-tab-accent: var(--gameap-stone-900);

    /* Rings and selection outlines */
    --gameap-ring-subtle: color-mix(in srgb, var(--gameap-stone-500) 10%, transparent);
    --gameap-selection-outline: color-mix(in srgb, var(--gameap-stone-500) 70%, transparent);
    --gameap-selection-outline-weak: color-mix(in srgb, var(--gameap-stone-500) 30%, transparent);

    /* Terminal (console output); intentionally dark in both modes */
    --gameap-terminal-bg: var(--gameap-stone-800);
    --gameap-terminal-text: var(--gameap-stone-100);

    /* Chart series palette (ECharts, progress thresholds) */
    --gameap-chart-1: #22d3ee;
    --gameap-chart-2: #84cc16;
    --gameap-chart-3: #e879f9;
    --gameap-chart-4: #f59e0b;
    --gameap-chart-5: #ef4444;
    --gameap-chart-6: #a78bfa;
    --gameap-chart-7: #0ea5e9;
    --gameap-chart-8: #facc15;
    --gameap-chart-9: #10b981;
    --gameap-chart-10: #fb7185;
}

/* Tier 2 — semantic, dark overrides */
html.dark {
    --gameap-surface: var(--gameap-stone-800);
    --gameap-surface-raised: var(--gameap-stone-800);
    --gameap-surface-overlay: var(--gameap-stone-800);
    --gameap-surface-hover: #262322;
    --gameap-scrim: color-mix(in srgb, var(--gameap-stone-100) 10%, transparent);

    --gameap-border: var(--gameap-stone-700);
    --gameap-border-strong: var(--gameap-stone-600);

    --gameap-text: #ffffff;
    --gameap-text-secondary: var(--gameap-stone-300);
    --gameap-text-muted: var(--gameap-stone-400);
    --gameap-text-faint: var(--gameap-stone-500);

    --gameap-primary-soft: color-mix(in srgb, var(--gameap-lime-950) 40%, transparent);
    --gameap-primary-soft-text: var(--gameap-lime-300);
    --gameap-success-soft: color-mix(in srgb, var(--gameap-lime-950) 40%, transparent);
    --gameap-success-soft-text: var(--gameap-lime-300);
    --gameap-danger-soft: color-mix(in srgb, var(--gameap-red-950) 40%, transparent);
    --gameap-danger-soft-text: var(--gameap-red-300);
    --gameap-warning-soft: color-mix(in srgb, var(--gameap-orange-950) 40%, transparent);
    --gameap-warning-soft-text: var(--gameap-orange-300);
    --gameap-info-soft: color-mix(in srgb, var(--gameap-sky-950) 40%, transparent);
    --gameap-info-soft-text: var(--gameap-sky-300);

    --gameap-table-header: var(--gameap-stone-700);
    --gameap-tab-accent: #737373;

    --gameap-terminal-bg: var(--gameap-stone-900);
}

/* XS-Project branding overrides */
/*
 * XS-Project | GameAP Theme
 * Version: 0.1.0 (2026-11-04)
 * Intended for GameAP >= 4.4 with @gameap/ui semantic theme tokens.
 * This file is APPENDED to GameAP's original /theme.css.
 * Do not replace the original file with this fragment alone.
 * Identity: deep navy / anthracite / cyan-blue. Statuses stay semantic.
 */

/* Light mode — a bright XS-Project variant, so GameAP's theme switch still works. */
:root {
  color-scheme: light;
  --gameap-surface: #f1f6fb;
  --gameap-surface-raised: #ffffff;
  --gameap-surface-overlay: #ffffff;
  --gameap-surface-hover: #e4eff9;
  --gameap-border: #ccdae8;
  --gameap-border-strong: #9bb6d0;
  --gameap-text: #122335;
  --gameap-text-secondary: #36536e;
  --gameap-text-muted: #5e7890;
  --gameap-text-faint: #8195a8;
  --gameap-primary: #087fb6;
  --gameap-primary-hover: #056590;
  --gameap-primary-soft: #dff5ff;
  --gameap-primary-soft-text: #075d86;
  --gameap-success: #168554;
  --gameap-success-hover: #0f6741;
  --gameap-success-soft: #e1f7eb;
  --gameap-success-soft-text: #126740;
  --gameap-warning: #c18418;
  --gameap-warning-hover: #98640d;
  --gameap-warning-soft: #fff5d8;
  --gameap-warning-soft-text: #81590c;
  --gameap-danger: #cf4357;
  --gameap-danger-hover: #a72b40;
  --gameap-danger-soft: #ffe9ec;
  --gameap-danger-soft-text: #9d2940;
  --gameap-info: #118cce;
  --gameap-info-hover: #0874ab;
  --gameap-info-soft: #e3f6ff;
  --gameap-info-soft-text: #086a99;
  --gameap-chrome: #080f19;
  --gameap-chrome-item: #101e30;
  --gameap-chrome-hover: #19334d;
  --gameap-table-header: #e4eef8;
  --gameap-tab-accent: #087fb6;
  --gameap-terminal-bg: #081320;
  --gameap-terminal-text: #e5f5ff;
  --gameap-selection-outline: rgba(17, 140, 206, .72);
  --gameap-selection-outline-weak: rgba(17, 140, 206, .3);
}

/* Dark mode — main XS-Project corporate design. */
html.dark {
  color-scheme: dark;
  --gameap-surface: #0b101a;
  --gameap-surface-raised: #131e2e;
  --gameap-surface-overlay: #162337;
  --gameap-surface-hover: #1b3047;
  --gameap-border: #273a50;
  --gameap-border-strong: #38536e;
  --gameap-text: #eef7ff;
  --gameap-text-secondary: #bdcfe0;
  --gameap-text-muted: #94abc1;
  --gameap-text-faint: #71879e;
  --gameap-primary: #22b8f4;
  --gameap-primary-hover: #0c97d5;
  --gameap-primary-soft: #11354a;
  --gameap-primary-soft-text: #83dfff;
  --gameap-success: #33c98a;
  --gameap-success-hover: #25a66f;
  --gameap-success-soft: #113a30;
  --gameap-success-soft-text: #90efbe;
  --gameap-warning: #f4b852;
  --gameap-warning-hover: #d99632;
  --gameap-warning-soft: #48331b;
  --gameap-warning-soft-text: #ffdb91;
  --gameap-danger: #f16b80;
  --gameap-danger-hover: #d94b64;
  --gameap-danger-soft: #492631;
  --gameap-danger-soft-text: #ffadbb;
  --gameap-info: #40bdf9;
  --gameap-info-hover: #169adf;
  --gameap-info-soft: #153651;
  --gameap-info-soft-text: #8edcff;
  --gameap-chrome: #080f19;
  --gameap-chrome-item: #101e30;
  --gameap-chrome-hover: #19334d;
  --gameap-table-header: #1b2c40;
  --gameap-tab-accent: #58cdfb;
  --gameap-terminal-bg: #070e18;
  --gameap-terminal-text: #e1f1fc;
  --gameap-selection-outline: rgba(34, 184, 244, .75);
  --gameap-selection-outline-weak: rgba(34, 184, 244, .32);
}

/* XS-Project Logo */
img.logo[src="/images/gap_logo_white.png"] {
    content: url("/xs-project-logo.svg");
    width: 170px;
    height: 44px;
    object-fit: contain;
}
