
:root{
  --bg:#07070e;--surface:#0f0f1a;--surface2:#161624;--surface3:#1e1e2e;
  --border:rgba(255,255,255,0.07);--border2:rgba(255,255,255,0.13);
  --accent:#818cf8;--accent2:#f472b6;--accent3:#34d399;--accent4:#fbbf24;
  --text:#f1f0ff;--muted:#6b7280;--muted2:#9ca3af;
  --red:#f87171;--green:#34d399;--yellow:#fbbf24;--blue:#60a5fa;
  --r:14px;--r-sm:8px;--r-lg:20px;--r-xl:28px;
  --shadow:0 4px 24px rgba(0,0,0,0.45);
}
[data-theme="light"]{
  --bg:#f5f4ff;--surface:#fff;--surface2:#f0efff;--surface3:#e6e4ff;
  --border:rgba(0,0,0,0.07);--border2:rgba(0,0,0,0.13);
  --text:#1e1b4b;--muted:#6b7280;--muted2:#4b5563;
  --shadow:0 4px 24px rgba(129,140,248,0.1);
}
[data-reduce-motion] *,[data-reduce-motion] *::before,[data-reduce-motion] *::after{
  animation-duration:0.01ms!important;transition-duration:0.01ms!important;
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{background:var(--bg);color:var(--text);font-family:'Cabinet Grotesk',sans-serif;
  font-size:15px;min-height:100vh;overflow-x:hidden;transition:background .3s,color .3s;cursor:none}
body.reduced-motion{cursor:auto}
body.reduced-motion #cur,body.reduced-motion #cur-ring{display:none}

/* AMBIENT */
.bg-layer{position:fixed;inset:0;z-index:0;pointer-events:none;overflow:hidden;will-change:transform;contain:strict}
.bg-blob{position:absolute;border-radius:50%;filter:blur(70px);opacity:.09;will-change:transform;animation:blobFloat 18s ease-in-out infinite}
.bb1{width:700px;height:700px;top:-200px;left:-200px;background:var(--accent)}
.bb2{width:600px;height:600px;bottom:-200px;right:-100px;background:var(--accent2);animation-delay:-5s}
.bb3{width:400px;height:400px;top:40%;left:40%;background:var(--accent3);animation-delay:-9s;opacity:.06}
.bg-grid{position:fixed;inset:0;z-index:0;pointer-events:none;
  background-image:linear-gradient(rgba(129,140,248,.03) 1px,transparent 1px),
                   linear-gradient(90deg,rgba(129,140,248,.03) 1px,transparent 1px);
  background-size:48px 48px}
.fog{position:fixed;inset:0;z-index:1;pointer-events:none;will-change:transform;contain:strict;
  background:radial-gradient(ellipse 120% 60% at 50% 100%,rgba(7,7,12,.30) 0%,transparent 65%)}
.fog2{position:fixed;inset:0;z-index:1;pointer-events:none;will-change:transform;contain:strict;
  background:radial-gradient(ellipse 60% 40% at 50% 0%,rgba(129,140,248,.04) 0%,transparent 60%)}
.scanline{display:none}
.scanline::after{display:none}
.anno{display:none}
.anno-bl{bottom:22px;left:22px}
.anno-br{bottom:22px;right:22px;text-align:right}
#cur{position:fixed;width:8px;height:8px;background:var(--accent);border-radius:50%;
  pointer-events:none;z-index:9999;mix-blend-mode:difference;
  transition:width .15s,height .15s,background .15s;
  will-change:transform;transform:translate(-100px,-100px)}
#cur-ring{position:fixed;width:32px;height:32px;border:1px solid rgba(129,140,248,.45);
  border-radius:50%;pointer-events:none;z-index:9998;
  transition:width .15s,height .15s,border-color .15s;
  will-change:transform;transform:translate(-100px,-100px)}
#bgCanvas{position:fixed;inset:0;z-index:0;pointer-events:none;will-change:transform;contain:strict}
[data-theme="light"] .fog,[data-theme="light"] .fog2,[data-theme="light"] .scanline,
[data-theme="light"] .anno{display:none}
[data-theme="light"] #bgCanvas{opacity:.25}

/* ── TOPBAR COMPACT STATS (shown on non-dashboard pages) ── */
#topbar-stats{
  display:none;align-items:center;gap:10px;padding:0 0 6px;
  overflow-x:auto;flex-wrap:nowrap;
}
#topbar-stats.show{ display:flex; }
.ts-pill{
  display:flex;align-items:center;gap:6px;
  padding:5px 12px;border-radius:100px;
  background:var(--surface2);border:1px solid var(--border2);
  font-size:11px;font-family:'Cabinet Grotesk',sans-serif;white-space:nowrap;flex-shrink:0;
}
.ts-lbl{ color:var(--muted);font-size:10px;letter-spacing:.08em;text-transform:uppercase; }
.ts-val{ font-family:'Clash Display',sans-serif;font-weight:700;font-size:13px;color:var(--accent); }
/* hide dashboard-only sections on other tabs */
.dash-only{ transition:opacity .25s; }
.dash-only.hidden-off{ display:none!important; }
.config-banner{position:fixed;top:0;left:0;right:0;z-index:500;
  background:linear-gradient(90deg,rgba(251,191,36,.15),rgba(248,113,113,.15));
  border-bottom:1px solid rgba(251,191,36,.3);
  padding:10px 20px;font-size:12px;color:var(--yellow);
  display:flex;align-items:center;gap:10px;font-family:'Space Mono',monospace}
.config-banner.hidden{display:none}
