/**
 * Nexus Agent System — design tokens
 * Source boards: public/brand/nexus-*.jpg
 *
 * Agents: Gateway · Core · Vault · Sentinel · Observer
 * Stack:  Connect · Compute · Data · Secure · Observe
 */
:root {
  /* Agent palette */
  --nexus-gateway: #3b82f6;
  --nexus-core: #a855f7;
  --nexus-vault: #22d3ee;
  --nexus-sentinel: #eab308;
  --nexus-observer: #f97316;

  --nexus-gateway-glow: color-mix(in srgb, var(--nexus-gateway) 45%, transparent);
  --nexus-core-glow: color-mix(in srgb, var(--nexus-core) 45%, transparent);
  --nexus-vault-glow: color-mix(in srgb, var(--nexus-vault) 40%, transparent);
  --nexus-sentinel-glow: color-mix(in srgb, var(--nexus-sentinel) 40%, transparent);
  --nexus-observer-glow: color-mix(in srgb, var(--nexus-observer) 40%, transparent);

  --nexus-ink: #05070d;
  --nexus-panel: #0a1020;
  --nexus-line: color-mix(in srgb, var(--nexus-vault) 28%, transparent);

  /* Map into the SPA theme tokens (HSL channels without hsl()) */
  --primary: 217 91% 60%;          /* Gateway blue */
  --ring: 217 91% 60%;
  --secondary: 271 91% 65%;        /* Core purple */
  --accent: 271 91% 65%;
  --warning: 45 93% 47%;           /* Sentinel gold */
  --success: 172 72% 44%;
  --destructive: 18 96% 56%;       /* Observer orange as alert lean */
  --border: 190 75% 52% / 0.22;    /* Vault cyan hairline */
}
/* Private analytics panel. It only appears at /analytics and the data API is password-protected. */
#nexus-analytics{position:fixed;inset:0;z-index:1000;background:#050914;color:#eaf8ff;overflow:auto;padding:clamp(1rem,4vw,4rem);font:14px ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}
.nexus-analytics-card{max-width:1100px;margin:0 auto;padding:clamp(1.25rem,3vw,2.5rem);border:1px solid rgba(54,231,255,.4);border-radius:1.25rem;background:linear-gradient(135deg,rgba(6,17,37,.98),rgba(13,7,34,.98));box-shadow:0 0 60px rgba(54,231,255,.12)}
.nexus-analytics-kicker{margin:0;color:#36e7ff;font-size:.75rem;font-weight:800;letter-spacing:.16em}.nexus-analytics-card h1{margin:.55rem 0;font-size:clamp(1.75rem,4vw,3rem)}.nexus-analytics-note,#nexus-analytics-status{color:rgba(234,248,255,.72);line-height:1.5}
#nexus-analytics-form{display:flex;flex-wrap:wrap;gap:1rem;align-items:end;margin:1.5rem 0}#nexus-analytics-form label{display:grid;gap:.35rem;color:#9adfed;font-size:.78rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}#nexus-analytics-form input,#nexus-analytics-form select,#nexus-analytics-form button{min-height:2.6rem;border:1px solid rgba(54,231,255,.42);border-radius:.6rem;background:rgba(0,0,0,.28);color:#fff;padding:.55rem .75rem;font:inherit}#nexus-analytics-form button{background:rgba(54,231,255,.13);color:#36e7ff;cursor:pointer;font-weight:800}
.nexus-analytics-total{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;margin:1.5rem 0;padding:1rem;border:1px solid rgba(73,230,193,.3);border-radius:.75rem}.nexus-analytics-total strong{font-size:2rem;color:#49e6c1}.nexus-analytics-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.nexus-analytics-grid table{width:100%;border-collapse:collapse;background:rgba(0,0,0,.18)}.nexus-analytics-grid caption{text-align:left;padding:.7rem;color:#36e7ff;font-weight:800}.nexus-analytics-grid th,.nexus-analytics-grid td{padding:.65rem;border-top:1px solid rgba(143,207,230,.17);text-align:left}.nexus-analytics-grid th:last-child,.nexus-analytics-grid td:last-child{text-align:right}@media(max-width:700px){.nexus-analytics-grid{grid-template-columns:1fr}.nexus-analytics-total strong{font-size:1.5rem}}
