/* HOLDSPOT — design tokens.
   Fonts: Noto Serif (heads) + Noto Sans (body), full world coverage.
   Themes: dark (default), light, ocean, forest, wine, sand, paper.
   Palettes are complementary pairs: one warm + one cool anchor per theme,
   tokens (liq/val/eng) always readable on both --surface and --bg. */

:root {
    /* typography (rules.txt) */
    --xs: 0.8rem;
    --sm: 0.85rem;
    --base: 0.90rem;
    --lg: 0.95rem;
    --xl: 1.00rem;

    /* spacing system */
    --space: 12px;
    --hud-h: 40px;
    --dock-h: 40px;

    /* fonts — the 2-font set for every theme (Noto = full world coverage) */
    --font-head: 'Noto Serif', serif;
    --font-body: 'Noto Sans', sans-serif;

    /* default DARK theme — soft charcoal blue, matte, periwinkle accent */
    --bg: #15171e;
    --fg: #e8e9ee;
    --accent: #7d9bff;
    --secondary: #9aa0b0;
    --border: #2b2e3b;
    --surface: #1d202a;
    --surface-hover: #282c3a;
    --success: #3ddc84;
    --danger: #ff5d6c;
    --info: #5bc8ff;
    --warning: #ffc94d;
    --liq: #ffc94d;
    --val: #b39dff;
    --eng: #4de0b3;
    --overlay: rgba(0, 0, 0, 0.72);
    --radius: 10px;
}

/* LIGHT — warm off-white, cobalt accent, ink text, dashed edges
   (deliberately distinct from the Paper theme's grey stationery) */
body.theme-light {
    --bg: #f6f4ee; --fg: #23211c; --accent: #1d4ed8; --secondary: #6f6a5e;
    --border: #d9d5c9; --surface: #fffef9; --surface-hover: #edeade;
    --success: #15803d; --danger: #b91c1c; --info: #0369a1; --warning: #b45309;
    --liq: #b45309; --val: #6d28d9; --eng: #047857;
    --overlay: rgba(35, 33, 28, 0.5);
}

/* OCEAN — abyss navy, electric cyan accent, gold/coral complementary tokens */
body.theme-ocean {
    --bg: #052238; --fg: #ddf1ff; --accent: #35d0ff; --secondary: #7fa8c9;
    --border: #14456b; --surface: #0c3354; --surface-hover: #14456e;
    --success: #2ee6a8; --danger: #ff6b7c; --info: #35d0ff; --warning: #ffcf5c;
    --liq: #ffcf5c; --val: #8fb8ff; --eng: #2ee6a8;
    --overlay: rgba(1, 12, 24, 0.72);
}

/* FOREST — lively emerald forest (warm, living, not loud) */
body.theme-forest {
    --bg: #16281e; --fg: #e9f6ec; --accent: #52b788; --secondary: #8fb59a;
    --border: #2b5340; --surface: #1f4029; --surface-hover: #2a5234;
    --success: #57cc99; --danger: #ff8a80; --info: #6fd4ff; --warning: #ffc46b;
    --liq: #ffc46b; --val: #c3a6ff; --eng: #57cc99;
    --overlay: rgba(6, 20, 12, 0.7);
}

/* WINE — pastel autumn: warm cream, dusty rust accent, soft olive */
body.theme-wine {
    --bg: #f7ead9; --fg: #5a4030; --accent: #d97742; --secondary: #a08a76;
    --border: #e0cdb2; --surface: #fdf6ec; --surface-hover: #f0e2cc;
    --success: #7fa06a; --danger: #cc5f4a; --info: #b08968; --warning: #d99a3d;
    --liq: #d99a3d; --val: #9c7a9e; --eng: #8fae6a;
    --overlay: rgba(90, 64, 48, 0.45);
}

/* SAND — warm beige + golden brown (kept: 10/10) */
body.theme-sand {
    --bg: #f5ead0; --fg: #4a3728; --accent: #8b5a00; --secondary: #96805f;
    --border: #d8c49a; --surface: #fff8e7; --surface-hover: #efe0bc;
    --success: #2e7d32; --danger: #c62828; --info: #00695c; --warning: #b8860b;
    --liq: #b8860b; --val: #6a4fab; --eng: #2e7d32;
    --overlay: rgba(74, 55, 40, 0.5);
}

/* PAPER — milky grey-white stationery, sepia ink (distinct from Sand's beige) */
body.theme-paper {
    --bg: #efefec; --fg: #33322e; --accent: #8a4b2a; --secondary: #7f7d76;
    --border: #c6c5c0; --surface: #f8f8f6; --surface-hover: #e1e1dc;
    --success: #4e7a3a; --danger: #a83232; --info: #3e6b8a; --warning: #a0620a;
    --liq: #a0620a; --val: #6b4fa0; --eng: #4e7a3a;
    --overlay: rgba(51, 50, 46, 0.55);
}
