/* Option A · Blueprint: deep drafting-blue, cyan linework, technical-drawing title block */
:root {
  --display: "JetBrains Mono", ui-monospace, monospace; --display-track: .12em; --display-case: uppercase; --num-font: "JetBrains Mono", monospace;
  --bg: #081a33; --bar-bg: #071730; --panel: #0a2240; --card-bg: rgba(10, 33, 64, .7); --finding-bg: rgba(8, 26, 52, .6);
  --line: rgba(160, 216, 255, .14); --line-2: rgba(160, 216, 255, .26);
  --ink: #d7ecff; --ink-2: #a9c8e6; --ink-strong: #ffffff; --muted: #7fa3c7;
  --accent: #00f5c4; --accent-hover: #5cffdb; --accent-2: #ffd166; --accent-soft: rgba(0, 245, 196, .13); --on-accent: #032a24; --focus: #00f5c4; --link: #4ff3d2;
  --hover: rgba(0, 245, 196, .08); --field-bg: rgba(4, 20, 42, .55); --tile-bg: rgba(255,255,255,.02); --tile-hover: rgba(0,245,196,.06); --btn-bg: rgba(4, 20, 42, .5); --kbd-bg: rgba(255,255,255,.04);
  --chip-bg: rgba(4, 22, 46, .9); --chip-line: rgba(160, 216, 255, .22); --track: rgba(160, 216, 255, .12); --switch-knob: #a9c8e6;
  --canvas-bg: #0b2a4f; --grid-minor: rgba(150, 205, 255, .09); --grid-major: rgba(150, 205, 255, .2);
  --node-bg: #0b2a52; --node-stroke: rgba(170, 225, 255, .55); --edge: #9fdcff; --edge-hover: #ffffff;
  --grp-fill: transparent; --grp-stroke: rgba(170, 225, 255, .5); --grp-ink: #cfe8ff; --tag-bg: #0e3160;
  --vpc-fill: rgba(94, 225, 255, .03); --az-fill: transparent; --az-stroke: rgba(255, 209, 102, .7); --subnet-fill: rgba(150, 205, 255, .04); --subnet-stroke: rgba(170, 225, 255, .4);
  --pub-fill: rgba(130, 255, 190, .045); --pub-stroke: rgba(130, 255, 190, .55);
  --c-edge: #ffd166; --c-network: #5ee1ff; --c-compute: #ff9f6b; --c-data: #7cf0b5; --c-integration: #ff8fd0; --c-security: #ff6b7a; --c-ops: #c3a6ff; --c-group: #a9c8e6; --c-identity: #ffb84d; --c-zt: #00f5c4; --c-detect: #b4f25c;
  --sev-crit: #ff4d6d; --sev-high: #ff7b54; --sev-med: #ffd166; --sev-low: #8fd3ff; --sev-info: #7fa3c7; --good: #7cf0b5;
  --hud-bg: rgba(9, 33, 66, .86); --scrim: rgba(3, 14, 30, .62); --toast-bg: #e6f6ff; --toast-ink: #062039;
  --shadow: 0 6px 20px rgba(0,0,0,.25); --shadow-lg: 0 18px 50px rgba(0, 0, 0, .45);
  --wordmark-filter: brightness(1.15);
}
.node-card { stroke-dasharray: none; }
.node-label { font-family: var(--mono); font-size: 10.6px; letter-spacing: .03em; text-transform: uppercase; }
.grp-label { font-family: var(--mono); letter-spacing: .08em; text-transform: uppercase; font-size: 10.5px; }
.tabs button, .pal-h, .tc-k, .hud-k { font-family: var(--mono); }
.stage::after { content: ""; position: absolute; inset: 10px; border: 1px solid rgba(160, 216, 255, .22); pointer-events: none; border-radius: 2px; }
.titleblock { display: grid; position: absolute; right: 22px; top: 22px; width: 250px; border: 1px solid rgba(160,216,255,.5); background: rgba(10, 37, 74, .88); font: 500 10.5px var(--mono); color: var(--ink); text-transform: uppercase; letter-spacing: .08em; pointer-events: none; }
.tb-row { display: grid; grid-template-columns: 96px 1fr; border-top: 1px solid rgba(160,216,255,.3); }
.tb-row:first-child { border-top: 0; }
.tb-row span { padding: 5px 8px; color: var(--muted); border-right: 1px solid rgba(160,216,255,.3); }
.tb-row b { padding: 5px 8px; font-weight: 600; color: #fff; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.hud, .minimap { border-radius: 3px; }
.card, .cline, .finding, .pal-item, .tcard { border-radius: 4px; }
.tbtn, .btn, .search, .num, .field select { border-radius: 4px; }
@media (max-width: 1020px) { .titleblock { display: none; } }
