/* AGENT DUNGEON — base stylesheet. UI (js/ui.js) and Builder (js/builder.js) append their own rules below the
   tokens; keep everything on these tokens so the whole thing re-tints from one place. */
:root {
  --bg: #070b16;
  --glass: rgba(8, 18, 32, 0.92);
  --glass2: rgba(12, 26, 44, 0.96);
  --line: #5cd4f2;
  --line-dim: #2a86b4;
  --line-faint: rgba(92, 212, 242, 0.18);
  --text: #cfeaf5;
  --text-dim: #7fa9bb;
  --accent: #a98bff;
  --warn: #ffc857;
  --ok: #6ee7a0;
  --bad: #ff5c5c;
  --font-ui: 'Chakra Petch', 'Segoe UI', sans-serif;
  --font-mono: 'VT323', 'Courier New', monospace;
}
html, body { margin: 0; height: 100%; background: var(--bg); color: var(--text); font-family: var(--font-ui); overflow: hidden; }
#stage { position: fixed; inset: 0; width: 100%; height: 100%; display: block; image-rendering: pixelated; image-rendering: crisp-edges; cursor: default; }
#ui { position: fixed; inset: 0; pointer-events: none; }
#ui > * { pointer-events: auto; }
button, .btn { font-family: var(--font-ui); font-weight: 600; letter-spacing: .08em; text-transform: uppercase; background: var(--glass); color: var(--line); border: 1px solid var(--line-dim); border-radius: 6px; padding: 6px 12px; cursor: pointer; }
button:hover, .btn:hover { border-color: var(--line); box-shadow: 0 0 10px var(--line-faint); }
input, select, textarea { font-family: var(--font-ui); background: var(--glass2); color: var(--text); border: 1px solid var(--line-dim); border-radius: 4px; padding: 5px 8px; }

/* SYSTEM › CONNECTIONS */
.od-system .od-pop-b{max-height:70vh;overflow-y:auto}
.sys-conn{margin-top:10px;border-top:1px solid rgba(92,212,242,.18);padding-top:8px}
.sys-conn-h{font-family:'Chakra Petch',sans-serif;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--line);margin-bottom:4px}
.sys-conn-h .n{opacity:.6;margin-left:6px}
.sys-conn-g{font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:#8ea4b8;margin:8px 0 2px}
.sys-conn-row{display:flex;align-items:baseline;gap:8px;padding:3px 0;font-size:12px;line-height:1.3}
.sys-conn-row .dot{width:7px;height:7px;border-radius:50%;flex:none;position:relative;top:-1px;box-shadow:0 0 6px currentColor}
.sys-conn-row .nm{color:#e6f1ff;white-space:nowrap}
.sys-conn-row .dt{color:#8ea4b8;font-size:11px}
.sys-conn-empty{color:#8ea4b8;font-size:11px}

/* VQ-13 — narrow-width / truncation overrides for rules js/ui.js injects at runtime. Its <style> is appended to <head> AFTER
   this file, so these are #ui-scoped to win on specificity. Delete any line ui.js absorbs into its own sheet. */
@media (max-width:1280px){#ui .od-toasts{bottom:62px}}   /* toast stack above the HUD: the LIVE / BUILD MODE toast (left 14px, min 220px) ran under CREW once the HUD's left end < 234px */
#ui .tb-nm{font-size:11px;line-height:1.1;max-width:100%;white-space:normal;overflow-wrap:anywhere;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}   /* toolboard names wrap to 2 lines (the tile already carries a title tooltip) */
#ui .crew-role,#ui .crew-act{white-space:normal;overflow-wrap:anywhere;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}   /* crew rows: "CAPTAIN · RETRO…" / "at the holotabl…" wrap instead of clipping in the 360px popover */
#ui .crew-rank{white-space:normal;flex-wrap:wrap;row-gap:1px}
