:root{--bg-0:#04070d;--bg-1:#080d18;--surface-0:#0b1322;--surface-1:#101a2e;--surface-2:#16223a;--border:#1c2a45;--border-strong:#2a3d5f;--text-hi:#eaf1fc;--text:#c5d4ec;--text-dim:#7d92b3;--text-faint:#45597a;--gold:#d4a843;--gold-hi:#f0cd7a;--gold-dim:#8a6f2e;--gold-glow:#d4a84338;--accent:#3b82f6;--accent-hi:#6ea8ff;--accent-glow:#3b82f640;--green:#34d399;--yellow:#fbbf24;--orange:#fb923c;--red:#f87171;--red-deep:#b91c1c;--dem:#3b82f6;--gop:#ef4444;--ind:#a78bfa;--serif:Georgia, "Times New Roman", serif;--mono:"SF Mono", ui-monospace, Consolas, monospace;--display:Georgia, "Times New Roman", serif;--r-sm:4px;--r-md:7px;--r-lg:10px;--shadow-panel:0 1px 0 #ffffff08 inset, 0 8px 24px -12px #000000b3;--shadow-pop:0 12px 40px -8px #000c, 0 0 0 1px var(--border-strong);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}:root[data-theme=oak]{--bg-0:#160d06;--bg-1:#1e1109;--surface-0:#271810;--surface-1:#321f12;--surface-2:#3f2917;--border:#4a311b;--border-strong:#6e4c28;--text-hi:#f6ecd6;--text:#e6d4b2;--text-dim:#b89c70;--text-faint:#806845;--gold:#d9b24a;--gold-hi:#f0d488;--gold-dim:#8a6324;--gold-glow:#d9b24a3d;--accent:#c9962f;--accent-hi:#ecc36b;--accent-glow:#c9962f47;--green:#7fb069;--yellow:#e0b53f;--orange:#d98a3c;--red:#d05c47;--red-deep:#9a3b2c;--serif:"Hoefler Text", "Baskerville", "Iowan Old Style", Georgia, serif;--display:"Didot", "Hoefler Text", "Playfair Display", "Baskerville", Georgia, serif}:root[data-theme=oak] body{background:radial-gradient(1200px 600px at 50% -10%, #d9b24a0f, transparent 60%), radial-gradient(900px 520px at 85% 110%, #78481e1f, transparent 55%), var(--bg-0)}*{box-sizing:border-box}html,body{background:var(--bg-0);color:var(--text);font-family:var(--serif);margin:0;padding:0}body{background:radial-gradient(1200px 600px at 50% -10%, #2563eb12, transparent 60%), radial-gradient(900px 500px at 85% 110%, #d4a8430a, transparent 55%), var(--bg-0);min-height:100vh}#root{min-height:100vh}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:var(--bg-1)}::-webkit-scrollbar-thumb{background:var(--border-strong);border:2px solid var(--bg-1);border-radius:5px}::-webkit-scrollbar-thumb:hover{background:#3a517a}.panel{background:linear-gradient(180deg, var(--surface-1), var(--surface-0));border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow-panel)}.panel--raised{background:linear-gradient(180deg, var(--surface-2), var(--surface-1));border-color:var(--border-strong)}.panel--gold{border-color:var(--gold-dim);box-shadow:var(--shadow-panel), 0 0 24px -6px var(--gold-glow)}.panel--alert{border-color:var(--red-deep);box-shadow:var(--shadow-panel), 0 0 24px -6px #f8717140}.section-label{font-family:var(--mono);letter-spacing:3.5px;color:var(--text-faint);text-transform:uppercase;font-size:9px}.badge{font-family:var(--mono);letter-spacing:1.5px;border:1px solid var(--border-strong);background:var(--surface-2);color:var(--text-dim);border-radius:999px;align-items:center;gap:5px;padding:3px 9px;font-size:9px;display:inline-flex}.bar-track{background:var(--bg-1);border-radius:3px;height:6px;position:relative;overflow:hidden}.bar-fill{border-radius:3px;height:100%;transition:width .8s cubic-bezier(.22,1,.36,1);position:relative}.bar-fill:after{content:"";background:linear-gradient(105deg,#0000 30%,#ffffff2e 50%,#0000 70%) 0 0/220% 100%;animation:3.2s linear infinite bar-sheen;position:absolute;inset:0}.btn{font-family:var(--mono);letter-spacing:2px;border-radius:var(--r-sm);border:1px solid var(--border-strong);background:var(--surface-2);color:var(--text);cursor:pointer;padding:10px 18px;font-size:10px;transition:transform .12s,box-shadow .2s,border-color .2s,background .2s}.btn:hover{border-color:var(--accent);box-shadow:0 0 16px -4px var(--accent-glow);transform:translateY(-1px)}.btn:active{transform:translateY(0)}.btn--primary{background:var(--accent);border-color:var(--accent);color:#fff}.btn--primary:hover{background:var(--accent-hi)}.btn--gold{border-color:var(--gold-dim);color:var(--gold-hi);background:linear-gradient(#2a2310,#1c1808)}.btn--gold:hover{border-color:var(--gold);box-shadow:0 0 18px -4px var(--gold-glow)}.btn--danger{border-color:var(--red-deep);color:var(--red)}.btn:disabled{opacity:.45;cursor:default;box-shadow:none;transform:none}@keyframes bar-sheen{0%{background-position:220% 0}to{background-position:-120% 0}}@keyframes fade-slide-up{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes pulse-green{0%{color:var(--green);text-shadow:0 0 12px #34d399cc}to{color:inherit;text-shadow:none}}@keyframes pulse-red{0%{color:var(--red);text-shadow:0 0 12px #f87171cc}to{color:inherit;text-shadow:none}}@keyframes glow-breathe{0%,to{box-shadow:0 0 14px -4px var(--gold-glow)}50%{box-shadow:0 0 26px -2px var(--gold-glow)}}@keyframes alert-flash{0%,to{border-color:var(--red-deep)}50%{border-color:var(--red)}}@keyframes ticker-slide{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@keyframes war-pulse{0%,to{stroke-opacity:.9;stroke-width:1.5px}50%{stroke-opacity:.2;stroke-width:3px}}.map-war-pulse{animation:1.8s ease-in-out infinite war-pulse}.anim-enter{animation:.45s cubic-bezier(.22,1,.36,1) both fade-slide-up}.anim-enter-1{animation:.45s cubic-bezier(.22,1,.36,1) 60ms both fade-slide-up}.anim-enter-2{animation:.45s cubic-bezier(.22,1,.36,1) .12s both fade-slide-up}.anim-enter-3{animation:.45s cubic-bezier(.22,1,.36,1) .18s both fade-slide-up}.anim-enter-4{animation:.45s cubic-bezier(.22,1,.36,1) .24s both fade-slide-up}.anim-fade{animation:.5s both fade-in}.anim-pulse-green{animation:1.4s ease-out both pulse-green}.anim-pulse-red{animation:1.4s ease-out both pulse-red}.anim-glow{animation:3s ease-in-out infinite glow-breathe}.anim-alert{animation:1.6s ease-in-out infinite alert-flash}.anim-ticker{animation:.4s both ticker-slide}.hover-lift{transition:transform .15s,box-shadow .25s,border-color .2s}.hover-lift:hover{box-shadow:var(--shadow-pop);border-color:var(--border-strong);transform:translateY(-2px)}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
