/* ==========================================================================
   Auction Oracle — design tokens & themes (see design/THEME_SYSTEM.md)
   Every component reads these variables; a theme only redefines tokens.
   ========================================================================== */
:root, [data-theme="oracle-dark"] {
  color-scheme: dark;
  --bg: #070b16; --bg2: #0a1020; --panel: rgba(16, 24, 44, .78); --panel-solid: #111a2f; --panel2: rgba(28, 40, 70, .62);
  --line: rgba(122, 152, 222, .14); --line2: rgba(122, 152, 222, .26);
  --fg: #e4eaf6; --muted: #8e9cb9; --dim: #5f6c88;
  --accent: #4f8cff; --on-accent: #ffffff; --accent-2: #9b6bff; --premium: #c9a45c;
  --link: #79a8ff; --up: #2fbf71; --down: #e5484d; --warn: #e9a23b; --info: #60a5fa; --predicted: #b892ff;
  --gold: #e3bd5b; --silver: #b9c3cf; --copper: #d08a54;
  --nav-bg: rgba(8, 13, 27, .86); --top-bg: rgba(8, 13, 27, .72);
  --glass: blur(14px) saturate(1.2); --radius: 10px; --radius-sm: 7px;
  --shadow: 0 10px 34px rgba(0, 0, 0, .45); --glow: 0 0 0 1px rgba(79, 140, 255, .35), 0 0 18px rgba(79, 140, 255, .18);
  --art-opacity: .55; --art-filter: blur(2px) saturate(1.05);
  --art-overlay: linear-gradient(180deg, rgba(7, 11, 22, .30) 0%, rgba(7, 11, 22, .72) 34%, rgba(7, 11, 22, .9) 62%, var(--bg) 92%);
  --font-ui: "Segoe UI", "Inter", system-ui, -apple-system, sans-serif;
  --font-display: "Segoe UI Semibold", "Segoe UI", system-ui, sans-serif;
  --font-num: "Segoe UI", system-ui, sans-serif;
  --display-case: none; --display-spacing: .2px;
  --frame-premium: linear-gradient(135deg, rgba(201, 164, 92, .55), rgba(201, 164, 92, .08) 40%, rgba(155, 107, 255, .25));
  --frame-legendary: linear-gradient(135deg, #e7c77a, #9b6bff 45%, #4f8cff 70%, #e7c77a);
  --grid-pattern: none;
  --brand-symbol-dark: block; --brand-symbol-light: none;
}

[data-theme="arcane"] {
  color-scheme: dark;
  --bg: #0b0714; --bg2: #110a1e; --panel: rgba(30, 19, 48, .78); --panel-solid: #1c1230; --panel2: rgba(48, 31, 74, .6);
  --line: rgba(201, 164, 92, .15); --line2: rgba(201, 164, 92, .3);
  --fg: #eee7f7; --muted: #a596c0; --dim: #6d5f88;
  --accent: #a77bff; --on-accent: #ffffff; --accent-2: #d1ad62; --premium: #d4af64;
  --link: #c4a5ff; --predicted: #d7b8ff;
  --nav-bg: rgba(14, 8, 26, .9); --top-bg: rgba(14, 8, 26, .74);
  --glow: 0 0 0 1px rgba(212, 175, 100, .4), 0 0 20px rgba(167, 123, 255, .25);
  --art-opacity: .6;
  --art-overlay: linear-gradient(180deg, rgba(11, 7, 20, .45) 0%, rgba(11, 7, 20, .84) 40%, var(--bg) 90%);
  --font-display: "Palatino Linotype", "Book Antiqua", Georgia, serif; --display-case: uppercase; --display-spacing: 1.2px;
  --frame-premium: linear-gradient(135deg, rgba(212, 175, 100, .75), rgba(212, 175, 100, .1) 45%, rgba(167, 123, 255, .45));
  --frame-legendary: linear-gradient(135deg, #f0d48a, #a77bff 40%, #6a3fd1 60%, #f0d48a);
}

[data-theme="dark-tech"] {
  color-scheme: dark;
  --bg: #04070b; --bg2: #060b11; --panel: rgba(8, 14, 21, .94); --panel-solid: #08101a; --panel2: rgba(0, 212, 255, .06);
  --line: rgba(0, 212, 255, .12); --line2: rgba(0, 212, 255, .26);
  --fg: #d9f3ff; --muted: #7fa3b5; --dim: #4b6878;
  --accent: #00d4ff; --on-accent: #001018; --accent-2: #3b82f6; --premium: #b8a06a;
  --link: #47e0ff; --info: #38bdf8; --predicted: #8fb8ff;
  --nav-bg: rgba(4, 8, 12, .96); --top-bg: rgba(4, 8, 12, .9);
  --glass: none; --radius: 4px; --radius-sm: 3px;
  --glow: 0 0 0 1px rgba(0, 212, 255, .45), 0 0 14px rgba(0, 212, 255, .2);
  --art-opacity: 0; --art-overlay: none;
  --font-num: "Cascadia Mono", Consolas, "SFMono-Regular", monospace;
  --frame-premium: linear-gradient(90deg, rgba(0, 212, 255, .6), rgba(0, 212, 255, .05) 50%, rgba(59, 130, 246, .5));
  --frame-legendary: linear-gradient(90deg, #00d4ff, #3b82f6, #b8a06a, #00d4ff);
  --grid-pattern: linear-gradient(rgba(0, 212, 255, .05) 1px, transparent 1px) 0 0 / 32px 32px,
                  linear-gradient(90deg, rgba(0, 212, 255, .05) 1px, transparent 1px) 0 0 / 32px 32px;
}

[data-theme="light"] {
  color-scheme: light;
  --bg: #f3f5f9; --bg2: #ffffff; --panel: #ffffff; --panel-solid: #ffffff; --panel2: #f4f6fa;
  --line: #e1e6ee; --line2: #cfd6e2;
  --fg: #172033; --muted: #56627a; --dim: #8a94a8;
  --accent: #2563eb; --on-accent: #ffffff; --accent-2: #7c3aed; --premium: #a8842e;
  --link: #1d4fd7; --up: #13804a; --down: #c62f3b; --warn: #b26a05; --info: #2563eb; --predicted: #7c3aed;
  --gold: #a87b12; --silver: #6e7886; --copper: #a85a26;
  --nav-bg: #ffffff; --top-bg: rgba(255, 255, 255, .9);
  --glass: none; --shadow: 0 8px 28px rgba(20, 30, 60, .10); --glow: 0 0 0 2px rgba(37, 99, 235, .25);
  --art-opacity: 0; --art-overlay: none;
  --frame-premium: linear-gradient(135deg, rgba(168, 132, 46, .6), rgba(168, 132, 46, .08) 45%, rgba(37, 99, 235, .3));
  --frame-legendary: linear-gradient(135deg, #c9a24a, #7c3aed 45%, #2563eb 70%, #c9a24a);
  --brand-symbol-dark: none; --brand-symbol-light: block;
}

[data-theme="alliance"] {
  color-scheme: dark;
  --bg: #060c1d; --bg2: #0a142c; --panel: rgba(14, 26, 56, .8); --panel-solid: #0f1d3d; --panel2: rgba(30, 50, 96, .55);
  --line: rgba(196, 208, 224, .14); --line2: rgba(201, 169, 90, .32);
  --fg: #e9eef7; --muted: #9eabc4; --dim: #66739a;
  --accent: #5b8def; --on-accent: #ffffff; --accent-2: #c3ccd9; --premium: #c9a95a;
  --link: #8fb2ff;
  --nav-bg: rgba(6, 12, 30, .9); --top-bg: rgba(6, 12, 30, .74);
  --glow: 0 0 0 1px rgba(201, 169, 90, .4), 0 0 18px rgba(91, 141, 239, .22);
  --art-opacity: .58;
  --art-overlay: linear-gradient(180deg, rgba(6, 12, 29, .4) 0%, rgba(6, 12, 29, .84) 42%, var(--bg) 90%);
  --font-display: "Palatino Linotype", "Book Antiqua", Georgia, serif; --display-case: uppercase; --display-spacing: 1px;
  --frame-premium: linear-gradient(135deg, rgba(201, 169, 90, .7), rgba(195, 204, 217, .15) 45%, rgba(91, 141, 239, .45));
  --frame-legendary: linear-gradient(135deg, #e3c77d, #c3ccd9 40%, #5b8def 65%, #e3c77d);
}

[data-theme="horde"] {
  color-scheme: dark;
  --bg: #0e0707; --bg2: #160b0a; --panel: rgba(36, 18, 15, .82); --panel-solid: #24120f; --panel2: rgba(70, 32, 24, .5);
  --line: rgba(184, 134, 78, .15); --line2: rgba(184, 134, 78, .32);
  --fg: #f2e8e2; --muted: #b9a196; --dim: #806a60;
  --accent: #c8402c; --on-accent: #ffffff; --accent-2: #b8864e; --premium: #b8864e;
  --link: #e98b6d; --down: #ff6b5e; --up: #4cbb72;
  --nav-bg: rgba(16, 8, 7, .92); --top-bg: rgba(16, 8, 7, .76);
  --glow: 0 0 0 1px rgba(184, 134, 78, .45), 0 0 18px rgba(200, 64, 44, .22);
  --art-opacity: .58;
  --art-overlay: linear-gradient(180deg, rgba(14, 7, 7, .45) 0%, rgba(14, 7, 7, .85) 42%, var(--bg) 90%);
  --font-display: "Palatino Linotype", "Book Antiqua", Georgia, serif; --display-case: uppercase; --display-spacing: 1px;
  --frame-premium: linear-gradient(135deg, rgba(184, 134, 78, .75), rgba(184, 134, 78, .1) 45%, rgba(200, 64, 44, .45));
  --frame-legendary: linear-gradient(135deg, #d8a866, #c8402c 45%, #7a1f14 65%, #d8a866);
}

/* ---------- per-page atmosphere (only the current page's image is ever requested) ---------- */
:root { --page-art: none; }
[data-page="overview"], [data-page="favorites"] { --page-art: image-set(url(/ui/assets/backgrounds/dashboard/background-dashboard-waves.avif) type("image/avif"), url(/ui/assets/backgrounds/dashboard/background-dashboard-waves.webp) type("image/webp")); }
[data-page="scanner"], [data-page="opportunities"], [data-page="portfolio"], [data-page="paper"] { --page-art: image-set(url(/ui/assets/backgrounds/auction/background-auction-gold-chart.avif) type("image/avif"), url(/ui/assets/backgrounds/auction/background-auction-gold-chart.webp) type("image/webp")); }
[data-page="predictions"] { --page-art: image-set(url(/ui/assets/backgrounds/analytics/background-predictions-galaxy.avif) type("image/avif"), url(/ui/assets/backgrounds/analytics/background-predictions-galaxy.webp) type("image/webp")); }
[data-page="demand"], [data-page="trends"], [data-page="release"] { --page-art: image-set(url(/ui/assets/backgrounds/analytics/background-analytics-world-map.avif) type("image/avif"), url(/ui/assets/backgrounds/analytics/background-analytics-world-map.webp) type("image/webp")); }
[data-page="crafting"] { --page-art: image-set(url(/ui/assets/backgrounds/crafting/background-crafting-crystal-mine.avif) type("image/avif"), url(/ui/assets/backgrounds/crafting/background-crafting-crystal-mine.webp) type("image/webp")); }
[data-page="farming"] { --page-art: image-set(url(/ui/assets/backgrounds/farming/background-farming-forest.avif) type("image/avif"), url(/ui/assets/backgrounds/farming/background-farming-forest.webp) type("image/webp")); }
[data-page="ai"] { --page-art: image-set(url(/ui/assets/backgrounds/fantasy/background-oracle-arcane-library.avif) type("image/avif"), url(/ui/assets/backgrounds/fantasy/background-oracle-arcane-library.webp) type("image/webp")); }
[data-page="alerts"], [data-page="sources"] { --page-art: image-set(url(/ui/assets/backgrounds/abstract/background-abstract-violet-mist.avif) type("image/avif"), url(/ui/assets/backgrounds/abstract/background-abstract-violet-mist.webp) type("image/webp")); }
[data-page="settings"] { --page-art: none; }
/* faction themes: one restrained atmosphere everywhere (crops contain no faction emblems) */
[data-theme="alliance"][data-page] { --page-art: image-set(url(/ui/assets/factions/alliance/background-alliance-castle-dusk.avif) type("image/avif"), url(/ui/assets/factions/alliance/background-alliance-castle-dusk.webp) type("image/webp")); }
[data-theme="horde"][data-page] { --page-art: image-set(url(/ui/assets/factions/horde/background-horde-fortress-ember.avif) type("image/avif"), url(/ui/assets/factions/horde/background-horde-fortress-ember.webp) type("image/webp")); }
/* themes without imagery never download any background */
[data-theme="light"][data-page], [data-theme="dark-tech"][data-page] { --page-art: none; }
