/* GHOST: dark instrument shell and monochrome evidence canvas. */
:root { --canvas:#0d0d0d; --ink:#f1f1f1; --paper-line:#2a2a2a; }
body { background:#101010; }
.app-shell { margin-left:80px; background:#101010; }
.sidebar { width:80px; padding:22px 12px; align-items:center; background:#090909; border-color:#282828; }
.sidebar .brand { justify-content:center; }
.sidebar .brand-mark { width:38px; height:38px; }
.sidebar .brand-word,.sidebar .brand-caption,.sidebar .workspace,.sidebar .nav-label,.sidebar .side-link,.sidebar .sidebar-bottom { display:none; }
.sidebar nav { width:100%; margin-top:40px; }
.sidebar .nav-item { width:56px; height:64px; padding:10px 2px; margin-bottom:12px; flex-direction:column; justify-content:center; gap:9px; border-radius:12px; }
.sidebar .nav-item>.icon { width:20px; height:20px; }
.sidebar .nav-index,.sidebar .nav-arrow,.sidebar .nav-name small { display:none; }
.sidebar .nav-name { display:block; font:500 8px var(--sans); letter-spacing:.9px; }
.sidebar .nav-item.active { background:#efefef; box-shadow:none; }
.topbar { height:64px; min-height:64px; border:0; padding:0 28px; }
.mobile-brand { display:flex; align-items:center; gap:10px; font:600 21px var(--sans); letter-spacing:3px; }
.mobile-brand .brand-mark { display:none; }
.mobile-brand small { display:block; margin-top:3px; color:#929292; font:8px var(--mono); letter-spacing:3px; }
.breadcrumb { margin-right:auto; margin-left:30px; padding-left:24px; border-left:1px solid #393939; gap:14px; }
.breadcrumb span { color:#888; font-size:9px; letter-spacing:1.6px; }
.breadcrumb strong { color:#ddd; font-size:10px; letter-spacing:1px; }
.topbar .system-status,.topbar .avatar { display:none; }
.topbar-right { gap:9px; }
.command-toggle { border-radius:20px; min-height:36px; padding-inline:13px; background:#222; border-color:#3b3b3b; }
.topbar .icon-button { border:1px solid #333; border-radius:50%; }
main.terminal-shell { padding:0 24px; }
.case-bar { min-height:58px; height:58px; padding:0 2px; }
.case-title { gap:14px; }
.case-title h2 { font:500 22px var(--sans); letter-spacing:-.8px; max-width:400px; }
.case-title .tag { padding:5px 7px; font-size:8px; border-color:#555; color:#bbb; background:transparent; }
.case-identity .address-button { display:none; }
.case-actions { gap:12px; }
.case-actions select { border-color:#424242; background-color:#1c1c1c; }
.case-actions .icon-button { border-color:#333; color:#bbb; }
.case-actions #sample-label { color:#999; font-family:var(--sans); font-size:11px; }
.terminal-workspace .search-bar { background:#202020; border-color:#414141; border-radius:10px; }
.terminal-workspace .search-bar .sr-only { color:#aaa; }
.terminal-workspace .search-bar .button { background:#f0f0f0; border-color:#f0f0f0; border-radius:7px; font-weight:600; }
.terminal-workspace .search-bar input { color:#eee; }
.command-terminal { border-radius:10px; background:#171717; border-color:#343434; }
.command-presets button { color:#aaa; }
.command-presets button:hover { background:#333; }
#command-form .button { border-radius:6px; background:#333; border-color:#4b4b4b; }
#command-input { color:#eee; }
.terminal-workspace .network-workspace { border:0; border-radius:16px; background:var(--canvas); box-shadow:0 10px 35px #0003,inset 0 0 0 1px #303030; }
.network-workspace .panel-heading { padding:16px 22px; min-height:76px; border-bottom:1px solid var(--paper-line); background:var(--canvas); color:var(--ink); }
.network-workspace .eyebrow { color:#999; font:9px var(--mono); letter-spacing:1.6px; }
.network-workspace h2 { font:600 24px var(--sans); letter-spacing:1.5px; margin-top:4px; color:var(--ink); }
.network-workspace h2 span { font:12px var(--sans); color:#999; letter-spacing:0; padding-left:13px; margin-left:10px; border-left:1px solid #444; vertical-align:middle; }
.network-toolbar { gap:12px; }
.filter-toggle { background:transparent; border:1px solid #444; border-radius:7px; color:#ddd; font-weight:500; min-height:36px; }
.filter-toggle:hover { background:#252525; }
.filter-toggle[aria-expanded=true] { background:#eee; color:#111; border-color:#eee; }
.network-toolbar #clear-focus { color:#ddd; }
.network-filters[popover] { border-radius:12px; }
.terminal-workspace .network-stage { background-color:var(--canvas); background-image:radial-gradient(#ffffff20 .7px,transparent .7px); background-size:24px 24px; }
.network-stage .graph-hint { color:#999; font:10px var(--sans); top:16px; right:22px; }
.network-stage .graph-reticle { opacity:.65; }
.network-stage .graph-reticle path { stroke:#2c2c2c; stroke-width:.8; }
.network-stage .graph-reticle ellipse { stroke:#444; stroke-width:.65; stroke-dasharray:2 8; }
.network-stage .graph-edge { stroke:#999; opacity:.7; stroke-width:1.15; }
.network-stage .graph-edge.incoming { stroke:#ccc; opacity:.9; stroke-width:1.2; stroke-dasharray:5 6; }
.network-stage #network-arrow path { fill:#bbb; }
.network-stage .has-selection .selected-edge { stroke:#fff; stroke-width:1.8; opacity:1; }
.network-stage .has-selection .graph-edge:not(.selected-edge) { opacity:.18; }
.network-stage [data-edge]:hover .graph-edge,.network-stage [data-edge]:focus .graph-edge { stroke:#fff; stroke-width:2.6; }
.network-stage .graph-node>.node-body { rx:12; fill:#1c1c1c; stroke:#777; stroke-width:1; filter:drop-shadow(0 3px 3px #0006); }
.network-stage .graph-node:hover>.node-body,.network-stage .graph-node:focus>.node-body { fill:#292929; stroke:#fff; stroke-width:2; filter:drop-shadow(0 5px 5px #0008); }
.network-stage .selected-node>.node-body { stroke:#fff; stroke-width:3; }
.network-stage .graph-node .node-glyph { pointer-events:none; }
.network-stage .graph-node .node-label { fill:#eee; font:600 13px var(--sans); stroke:var(--canvas); stroke-width:5px; paint-order:stroke; }
.network-stage .graph-node .node-secondary { fill:#aaa; font:10px var(--mono); paint-order:stroke; stroke:var(--canvas); stroke-width:3px; }
.network-stage .pin-badge rect { fill:#eee; }
.network-stage .pin-badge text { fill:#111; }
.network-stage .graph-node:focus .node-hit { stroke:#aaa; }
.network-stage .has-selection .graph-node:not(.neighbor-node):not(.selected-node) { opacity:.46; }
.network-stage .has-selection .graph-node:hover { opacity:1; }
.network-empty { color:#bbb; }
.graph-footer { height:50px; min-height:50px; background:var(--canvas); border-color:var(--paper-line); padding-inline:16px; }
.graph-footer .graph-controls { gap:3px; }
.graph-footer .graph-controls button { color:#ddd; width:34px; height:34px; border-radius:6px; }
.graph-footer .graph-controls button:hover { background:#2a2a2a; color:#fff; }
.graph-footer #zoom-value { color:#aaa; }
.graph-footer #reset-layout { border-color:#444; }
.network-workspace .graph-legend { height:50px; padding-right:22px; }
.network-workspace #network-count { color:#aaa; font:10px var(--mono); }
.terminal-dock { height:64px; min-height:64px; padding:8px 0; gap:12px; }
.terminal-dock .module-tabs { max-width:660px; gap:5px; }
.terminal-dock .module-tab { font:500 10px var(--sans); letter-spacing:1px; color:#a3a3a3; border-radius:8px; padding:11px 16px; }
.terminal-dock .module-tab.active { color:#111; background:#eeeeee; border-color:#eeeeee; }
.terminal-dock .module-tab:hover { color:white; background:#333; }
.terminal-dock .module-tab.active:hover { color:#000; background:#fff; }
.evidence-toggle { margin-left:auto; color:#aaa; border-left:0; border-radius:8px; background:#1d1d1d; border:1px solid #333; padding-inline:16px; }
.evidence-toggle:hover { background:#303030; text-decoration:none; }
.evidence-drawer { bottom:64px; left:24px; right:24px; }
.wallet-inspector { border-radius:16px; background:#191919; border-color:#414141; }
.inspector-heading { padding:19px 20px; min-height:76px; }
.inspector-heading h2 { font-size:20px; letter-spacing:-.5px; }
.inspector-heading span { font-size:9px; color:#aaa; }
.inspector-body { padding:20px; }
.inspector-address { color:#bbb; }
.inspector-actions .button { min-height:42px; }
.inspector-metrics strong { font-size:28px; letter-spacing:-1px; }
.inspector-status { background:#222; border-color:#3b3b3b; }
.inspector-tx { padding-block:16px; }
.inspector-tx strong { font-size:12px; }
.inspector-tx small { color:#999; }
@media(min-width:1001px) {
  .terminal-workspace,.terminal-workspace.commands-collapsed { grid-template-rows:58px 80px minmax(0,1fr); }
  .terminal-workspace:has(.token-field:not([hidden])):not(.commands-collapsed) { grid-template-rows:58px auto minmax(0,1fr); }
  .terminal-workspace .search-bar { height:66px; min-height:66px; }
  .command-terminal { height:66px; }
}
@media(max-width:1200px) { .case-actions #sample-label { display:none; } }
@media(min-width:701px) and (max-width:1000px) {
  .case-title h2 { font-size:19px; }
  .case-bar { height:48px; min-height:48px; }
  .network-workspace .panel-heading { min-height:65px; padding:12px 18px; }
  .network-workspace h2 { font-size:22px; }
  .network-workspace h2 span { display:none; }
  .topbar .breadcrumb { display:none; }
  .command-terminal { margin-bottom:12px; }
}
@media(max-width:700px) {
  .sidebar { display:none; }
  .app-shell { margin-left:0; }
  .topbar { height:58px; min-height:58px; padding:0 16px; }
  .topbar .breadcrumb { display:none; }
  .mobile-brand { gap:8px; font-size:19px; letter-spacing:2.6px; }
  .mobile-brand .brand-mark { display:flex; width:30px; height:30px; }
  .mobile-brand small { font-size:7px; letter-spacing:2.5px; }
  .topbar-right { gap:6px; }
  .topbar .icon-button { width:32px; height:36px; border:0; }
  .topbar #help-button { display:none; }
  .topbar .command-toggle { min-height:36px; padding:6px 10px; font-size:10px; border-radius:20px; }
  main.terminal-shell { padding:0 12px; }
  .terminal-workspace .search-bar { height:48px; min-height:48px; padding:5px 6px 5px 13px; background:#202020; }
  .terminal-workspace .search-bar .button { min-height:36px; font-size:12px; }
  .case-bar { height:48px; min-height:48px; padding-inline:2px; }
  .case-title h2 { font-size:15px; letter-spacing:-.4px; max-width:185px; }
  .case-title { gap:8px; }
  .case-title .tag { font-size:7px; padding:4px 5px; }
  .case-actions { gap:2px; }
  .case-actions .icon-button { width:30px; height:36px; border:0; }
  .command-terminal { padding:7px 10px; margin-bottom:10px; }
  .command-presets button { font-size:10px; }
  .terminal-workspace .network-workspace { border-radius:13px; }
  .network-workspace .panel-heading { padding:10px 15px; min-height:54px; }
  .network-workspace .eyebrow { display:none; }
  .network-workspace h2 { font-size:18px; letter-spacing:1.2px; margin:0; }
  .network-workspace h2 span { font-size:10px; padding-left:9px; margin-left:6px; }
  .filter-toggle { min-height:34px; padding:6px 8px; font-size:10px; }
  .network-toolbar { gap:4px; }
  .network-stage .graph-node .node-label { font-size:13px; }
  .network-stage .graph-hint { display:none; }
  .graph-footer { height:44px; min-height:44px; padding-inline:8px; }
  .graph-footer .graph-controls { gap:0; }
  .graph-footer .graph-controls button { width:34px; height:38px; }
  .graph-footer #zoom-value { font-size:10px; min-width:42px; }
  .network-workspace .graph-legend { height:44px; padding-left:190px; padding-right:12px; }
  .network-workspace #network-count { font:9px/1.6 var(--sans); }
  .terminal-dock { height:calc(60px + env(safe-area-inset-bottom)); min-height:calc(60px + env(safe-area-inset-bottom)); padding:6px 0 calc(6px + env(safe-area-inset-bottom)); gap:5px; }
  .terminal-dock .module-tabs { gap:3px; }
  .terminal-dock .module-tab { padding:6px 2px; min-height:46px; font-size:8px; letter-spacing:.7px; gap:5px; }
  .terminal-dock .module-tab .icon { width:16px; height:16px; }
  .evidence-toggle { margin:0; padding:6px 9px; min-height:46px; font-size:9px; }
  .evidence-drawer { left:12px; right:12px; bottom:calc(60px + env(safe-area-inset-bottom)); }
  .wallet-inspector { border-radius:13px; flex-basis:46%; }
  .inspector-heading { padding:12px 15px; min-height:62px; }
  .inspector-heading h2 { font-size:17px; }
  .inspector-body { padding:15px; }
  .inspector-actions .button { font-size:11px; min-height:44px; }
  .inspector-metrics strong { font-size:25px; }
  .has-inspector .network-workspace .panel-heading { min-height:0; padding:0; top:8px; right:8px; background:transparent; }
  .has-inspector .network-toolbar #clear-focus { background:var(--canvas); color:#ddd; }
  .has-inspector .network-workspace .filter-toggle { background:var(--canvas); }
  .has-inspector .network-workspace .filter-toggle[aria-expanded=true] { background:#eee; }
}
@media(max-width:380px) { .network-workspace h2 span { display:none; } .case-title h2 { max-width:145px; font-size:14px; } }
@media(max-height:550px) { .topbar { height:44px; min-height:44px; } .network-workspace .panel-heading { min-height:44px; padding-block:5px; } .network-workspace .eyebrow { display:none; } .network-workspace h2 { font-size:18px; margin:0; } }

.network-toolbar>button:focus-visible,.graph-footer button:focus-visible { outline-color:#fff; }
@media(max-width:700px) { .topbar { height:52px; min-height:52px; } .case-bar { height:40px; min-height:40px; } .network-workspace .panel-heading { min-height:48px; padding-block:7px; } .graph-footer { height:42px; min-height:42px; } .network-workspace .graph-legend { height:42px; } .terminal-dock { height:calc(56px + env(safe-area-inset-bottom)); min-height:calc(56px + env(safe-area-inset-bottom)); padding-block:4px calc(4px + env(safe-area-inset-bottom)); } .evidence-drawer { bottom:calc(56px + env(safe-area-inset-bottom)); } .has-inspector .network-workspace .panel-heading { min-height:0; padding:0; } }

.sidebar .side-link{display:flex;width:44px;height:44px;min-height:44px;margin-top:6px;padding:0;justify-content:center;font-size:0;border:0;border-radius:10px}.sidebar #cases-button{margin-top:auto}.sidebar .side-link .count{display:none}.sidebar .side-link .icon{width:18px;height:18px}.sidebar .side-link:hover{background:#252525}.topbar #compact-cases{display:none}.dock-caption{display:flex;align-items:center;gap:18px;margin:0;color:#bbb;font:11px var(--sans)}.dock-caption span{color:#777;font:9px var(--mono);border-left:1px solid #444;padding-left:18px}
@media(min-width:701px){.terminal-dock .module-tabs{display:none}.terminal-dock{height:48px;min-height:48px;padding-block:5px}.evidence-drawer{bottom:48px}.evidence-toggle{min-height:34px;padding-block:6px}}
@media(max-width:700px){.dock-caption{display:none}.topbar #compact-cases,.topbar #help-button{display:inline-flex}.topbar-right{gap:4px}}
