/* CONSOLE — light by default, dark via [data-theme="dark"]. Accent is variable. */

/* ---- LIGHT (default) ---- */
:root{
  --bg:#F4F5F7;
  --bg-2:#FBFBFC;
  --bg-3:#EEF0F4;
  --panel:#FFFFFF;
  --line:#E2E5EB;
  --line-2:#C9CFD9;
  --ink:#0F141C;
  --ink-2:#3C4453;
  --ink-3:#6E7689;
  --ink-4:#A6AEBE;

  /* accent (the "signal" — overridable by [data-accent]) */
  --signal:#1F8A5B;
  --signal-2:#176E48;
  --signal-soft: rgba(31,138,91,0.10);
  --signal-ring: rgba(31,138,91,0.32);
  --on-signal:#FFFFFF;

  --warn:#D17B00;
  --warn-soft: rgba(209,123,0,0.10);
  --alert:#C8362F;
  --alert-soft: rgba(200,54,47,0.08);
  --accent:#3D62D9;
  --accent-soft: rgba(61,98,217,0.08);
}

/* ---- DARK ---- */
:root[data-theme="dark"]{
  --bg:#0B0D10;
  --bg-2:#11141A;
  --bg-3:#161A22;
  --panel:#181D26;
  --line:#1E2430;
  --line-2:#2A3142;
  --ink:#E8ECF1;
  --ink-2:#A6B0C0;
  --ink-3:#6E7889;
  --ink-4:#3E4658;

  --signal:#8DE3B6;
  --signal-2:#5BC893;
  --signal-soft: rgba(141,227,182,0.10);
  --signal-ring: rgba(141,227,182,0.30);
  --on-signal:#001A0E;

  --warn:#FFB454;
  --warn-soft: rgba(255,180,84,0.08);
  --alert:#FF6B6B;
  --alert-soft: rgba(255,107,107,0.08);
  --accent:#74A4FF;
  --accent-soft: rgba(116,164,255,0.08);
}

/* ---- ACCENT VARIANTS (work in either theme) ---- */
:root[data-accent="green"]{ --signal:#1F8A5B; --signal-2:#176E48; --signal-soft:rgba(31,138,91,0.10); --signal-ring:rgba(31,138,91,0.32); --on-signal:#FFFFFF; }
:root[data-theme="dark"][data-accent="green"]{ --signal:#8DE3B6; --signal-2:#5BC893; --signal-soft:rgba(141,227,182,0.10); --signal-ring:rgba(141,227,182,0.30); --on-signal:#001A0E; }

:root[data-accent="amber"]{ --signal:#C66A00; --signal-2:#A55700; --signal-soft:rgba(198,106,0,0.10); --signal-ring:rgba(198,106,0,0.30); --on-signal:#FFFFFF; }
:root[data-theme="dark"][data-accent="amber"]{ --signal:#FFB454; --signal-2:#E89A2E; --signal-soft:rgba(255,180,84,0.10); --signal-ring:rgba(255,180,84,0.30); --on-signal:#1A1100; }

:root[data-accent="blue"]{ --signal:#1F5BD9; --signal-2:#1746AC; --signal-soft:rgba(31,91,217,0.08); --signal-ring:rgba(31,91,217,0.30); --on-signal:#FFFFFF; }
:root[data-theme="dark"][data-accent="blue"]{ --signal:#74A4FF; --signal-2:#4F87F0; --signal-soft:rgba(116,164,255,0.10); --signal-ring:rgba(116,164,255,0.30); --on-signal:#021026; }

:root[data-accent="magenta"]{ --signal:#B62B7A; --signal-2:#8E1F5E; --signal-soft:rgba(182,43,122,0.08); --signal-ring:rgba(182,43,122,0.30); --on-signal:#FFFFFF; }
:root[data-theme="dark"][data-accent="magenta"]{ --signal:#F286C2; --signal-2:#D86AAA; --signal-soft:rgba(242,134,194,0.10); --signal-ring:rgba(242,134,194,0.30); --on-signal:#2A0418; }

:root[data-accent="ink"]{ --signal:#0F141C; --signal-2:#000000; --signal-soft:rgba(15,20,28,0.06); --signal-ring:rgba(15,20,28,0.20); --on-signal:#FFFFFF; }
:root[data-theme="dark"][data-accent="ink"]{ --signal:#E8ECF1; --signal-2:#FFFFFF; --signal-soft:rgba(232,236,241,0.10); --signal-ring:rgba(232,236,241,0.30); --on-signal:#0B0D10; }

:root{ --fs:13px; }
:root[data-density="xs"]{ --fs:11px; }
:root[data-density="sm"]{ --fs:12px; }
:root[data-density="md"]{ --fs:13px; }
:root[data-density="lg"]{ --fs:15px; }
:root[data-density="xl"]{ --fs:17px; }
html,body{background:var(--bg);color:var(--ink);font-family:'Inter',ui-sans-serif,system-ui,sans-serif;-webkit-font-smoothing:antialiased;}
body{font-size:var(--fs);}
.mono{font-family:'JetBrains Mono',ui-monospace,monospace;}
.tabular{font-variant-numeric:tabular-nums;}
.label{font-family:'JetBrains Mono',monospace;font-size:10px;letter-spacing:0.14em;text-transform:uppercase;color:var(--ink-3);}
.h-num{font-family:'JetBrains Mono',monospace;font-variant-numeric:tabular-nums;letter-spacing:-0.02em;}
.panel{background:var(--panel);border:1px solid var(--line);}
.panel-2{background:var(--bg-2);border:1px solid var(--line);}
.panel h, .h{font-family:'Inter',sans-serif;font-weight:600;letter-spacing:0.005em;}
.divide > * + *{border-top:1px solid var(--line);}
.divide-x > * + *{border-left:1px solid var(--line);}
.btn{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;font-size:12px;border:1px solid var(--line-2);background:var(--bg-2);color:var(--ink);cursor:pointer;font-family:'JetBrains Mono',monospace;letter-spacing:0.04em;text-transform:uppercase;}
.btn:hover{background:var(--bg-3);border-color:var(--ink-3);}
.btn-primary{background:var(--signal);color:var(--on-signal);border-color:var(--signal);}
.btn-primary:hover{background:var(--signal-2);border-color:var(--signal-2);}
.btn-warn{background:var(--warn);color:#1A1100;border-color:var(--warn);}
.chip{display:inline-flex;align-items:center;gap:4px;padding:2px 7px;font-size:10px;letter-spacing:0.1em;text-transform:uppercase;border:1px solid var(--line-2);color:var(--ink-2);font-family:'JetBrains Mono',monospace;background:var(--bg-2);}
.chip-signal{color:var(--signal);border-color:var(--signal-ring);background:var(--signal-soft);}
.chip-warn{color:var(--warn);border-color:rgba(209,123,0,0.30);background:var(--warn-soft);}
.chip-alert{color:var(--alert);border-color:rgba(200,54,47,0.30);background:var(--alert-soft);}
.chip-ink{background:var(--bg-3);}
.led{width:6px;height:6px;border-radius:50%;display:inline-block;}
.led-live{background:var(--signal);box-shadow:0 0 8px var(--signal);animation:pulse 1.6s infinite;}
.led-warn{background:var(--warn);}
.led-alert{background:var(--alert);box-shadow:0 0 8px var(--alert);}
.led-fail{background:var(--alert);box-shadow:0 0 8px var(--alert);animation:pulse 1.6s infinite;}
.led-idle{background:var(--ink-4);}
@keyframes pulse{0%,100%{opacity:1;}50%{opacity:0.45;}}
.row-hover:hover{background:var(--bg-3);cursor:pointer;}
table.console{width:100%;border-collapse:collapse;font-size:12px;}
table.console th{text-align:left;font-family:'JetBrains Mono',monospace;font-size:10px;letter-spacing:0.14em;text-transform:uppercase;color:var(--ink-3);font-weight:500;padding:10px 12px;border-bottom:1px solid var(--line);}
table.console td{padding:10px 12px;border-bottom:1px solid var(--line);}
table.console tr:last-child td{border-bottom:none;}
.gridlines{background-image:linear-gradient(to right, var(--line) 1px, transparent 1px),linear-gradient(to bottom, var(--line) 1px, transparent 1px);background-size:48px 32px;}
.dot{width:8px;height:8px;border-radius:50%;display:inline-block;}
.kbd{font-family:'JetBrains Mono',monospace;font-size:10px;border:1px solid var(--line-2);padding:1px 5px;color:var(--ink-2);background:var(--bg-2);}
.placeholder{background:repeating-linear-gradient(45deg, var(--bg-2) 0 8px, var(--bg-3) 8px 16px);color:var(--ink-3);display:flex;align-items:center;justify-content:center;font-family:'JetBrains Mono',monospace;font-size:11px;}
.glow-signal{box-shadow:0 0 0 1px var(--signal-ring),0 0 24px var(--signal-soft);}
.spark{display:flex;align-items:flex-end;gap:1px;height:18px;}
.spark > i{width:3px;background:var(--signal);}
.console-input{background:var(--bg-2);border:1px solid var(--line-2);color:var(--ink);font-family:inherit;font-size:12px;padding:6px 10px;outline:none;}
.console-input:focus{border-color:var(--signal);}
.console-input:disabled{background:var(--bg-3);color:var(--ink-3);cursor:not-allowed;}

.nav-link{font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:0.12em;text-transform:uppercase;color:var(--ink-3);padding:8px 14px;border:1px solid transparent;text-decoration:none;}
.nav-link:hover{color:var(--ink);}
.nav-link.active{color:var(--signal);border-color:var(--line-2);background:var(--bg-2);}
.bracket{font-family:'JetBrains Mono',monospace;color:var(--signal);}
.metric{font-family:'JetBrains Mono',monospace;font-size:32px;line-height:1;letter-spacing:-0.02em;color:var(--ink);}
.metric-lg{font-size:48px;}
.metric-xl{font-size:72px;}
.tick-row{display:grid;grid-template-columns:repeat(96,1fr);height:36px;}
.tick-row > div{border-right:1px solid var(--line);}
.crosshair{position:absolute;top:0;bottom:0;width:1px;background:var(--signal);box-shadow:0 0 6px var(--signal);}
.time-cell{padding:8px;font-size:10px;color:var(--ink-3);background:var(--bg-2);border-bottom:1px solid var(--line);border-right:1px solid var(--line);font-family:'JetBrains Mono',monospace;}
.day-cell{padding:4px;border-bottom:1px solid var(--line);border-right:1px solid var(--line);min-height:64px;background:var(--panel);}
.ses{padding:6px 8px;font-size:11px;line-height:1.35;border-left:2px solid var(--ink-4);background:var(--bg-2);margin-bottom:4px;cursor:pointer;}
.ses:hover{background:var(--bg-3);}
.ses-live{border-left-color:var(--signal);background:var(--signal-soft);}
.ses-flag{border-left-color:var(--warn);background:var(--warn-soft);}
.ses-conflict{border-left-color:var(--alert);background:var(--alert-soft);}
.ses-event{border-left-color:var(--accent);background:var(--accent-soft);}
.step{display:block;padding:8px 10px;font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:0.06em;color:var(--ink-3);border:1px solid transparent;cursor:pointer;}
.step:hover{color:var(--ink);}
.step.active{color:var(--signal);background:var(--bg-3);border-color:var(--line-2);}

/* ---- Theme switcher (floating chrome) ---- */
.theme-fab{position:fixed;right:14px;bottom:14px;z-index:50;display:flex;gap:6px;align-items:center;padding:6px 8px;background:var(--panel);border:1px solid var(--line-2);box-shadow:0 8px 28px -12px rgba(0,0,0,.35);font-family:'JetBrains Mono',monospace;font-size:10px;letter-spacing:0.1em;text-transform:uppercase;color:var(--ink-3);}
.theme-fab .sw{width:18px;height:18px;border:1px solid var(--line-2);cursor:pointer;border-radius:50%;display:inline-block;position:relative;}
.theme-fab .sw[aria-pressed="true"]{outline:2px solid var(--ink);outline-offset:2px;}
.theme-fab .sep{width:1px;height:14px;background:var(--line);}
.theme-fab .toggle{padding:4px 10px;border:1px solid var(--line-2);background:var(--bg-2);color:var(--ink);cursor:pointer;font-family:inherit;font-size:10px;letter-spacing:0.1em;}
.theme-fab .toggle:hover{background:var(--bg-3);}
.theme-fab .step-btn{width:22px;height:22px;border:1px solid var(--line-2);background:var(--bg-2);color:var(--ink);cursor:pointer;font-family:inherit;font-size:11px;line-height:1;}
.theme-fab .step-btn:hover{background:var(--bg-3);}
.theme-fab .step-val{min-width:22px;text-align:center;color:var(--ink);}

/* ---- Topnav helpers (chunk 0) ---- */
.brand-chip{font-family:'JetBrains Mono',monospace;font-size:12px;letter-spacing:0.2em;color:var(--ink-2);text-decoration:none;}
.brand-chip:hover{color:var(--ink);}
.tn-hover{transition:background-color 150ms,color 150ms;}
.tn-hover:hover{background:var(--bg-3);color:var(--ink);}
.tn-menu{position:absolute;background:var(--panel);border:1px solid var(--line);box-shadow:0 12px 32px -8px rgba(0,0,0,0.40);z-index:50;}
.tn-menu-item{display:block;width:100%;text-align:left;padding:8px 12px;font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:0.06em;color:var(--ink-2);text-transform:uppercase;background:transparent;border:none;cursor:pointer;transition:background-color 150ms,color 150ms;}
.tn-menu-item:hover{background:var(--bg-3);color:var(--ink);}
.tn-menu-section{font-family:'JetBrains Mono',monospace;font-size:10px;letter-spacing:0.14em;text-transform:uppercase;color:var(--ink-3);padding:8px 12px 4px;border-top:1px solid var(--line);}
.tn-menu-section:first-child{border-top:none;}
