/* Reading surfaces and a distinct, high-contrast investigation canvas. */
:root{color-scheme:light;--bg:#edf3fa;--surface:#fff;--raised:#e3ecf8;--line:#bccde2;--text:#172c49;--muted:#435c7a;--cyan:#155dc5;--accent:#175ac6}
body{font-size:16px;line-height:1.65;background:radial-gradient(ellipse at top right,#dceaff,transparent 60%),var(--bg)}
button,.button{border-radius:10px;background:#175dca;color:white;font-size:14px;min-height:44px;transition:background .15s,box-shadow .15s}
button:hover,.button:hover{filter:none;box-shadow:0 3px 14px #164a8226;background:#0d4ba8}
input,select,textarea{background:#fff;color:var(--text);border-color:#849ebc;border-radius:9px;font-size:15px}
input::placeholder,textarea::placeholder{color:#536986}label{font-size:14px}a{color:#1059bc}
h1{font-weight:720;letter-spacing:-1.2px}h2{font-weight:700}h3{font-size:18px}
.eyebrow,.workspace-label{font-size:12px;letter-spacing:1.4px}.muted{font-size:14px;color:var(--muted)}
:focus-visible{outline:3px solid #aa4b00;outline-offset:4px}
aside{width:260px;padding:30px 20px;background:radial-gradient(ellipse at top left,#204c72,transparent 60%),#0d1c32;border-color:#415976;color:#f1f7ff;box-shadow:5px 0 24px #1b385318}
aside .brand{color:#72e9ff}.brand span{font-size:13px;color:inherit;letter-spacing:2px}
aside .workspace-label,aside .case-label{color:#c4d8ef;font-size:12px}aside .workspace-label{margin-top:38px}
aside select{background:#1b304d;color:#fff;font-size:14px;border-color:#6983a5}
nav button{color:#d7e6fa;font-size:15px;gap:12px;padding:13px 12px;border-radius:10px;font-weight:550;margin:9px 0}
nav button span{color:#dce9fc;font-size:15px}nav button:hover{background:#233f60;color:#fff;box-shadow:none}
nav button.active{color:#fff;background:#244c73;border-color:#4daed6;box-shadow:inset 3px 0 #6de6fc}nav button.active span{color:#8cf0ff}
.aside-bottom{font-size:14px;color:#d1e3f7;border-top:1px solid #526982;padding-top:14px}.aside-bottom .ghost{color:#e0edfc;font-size:14px;padding:8px 0}.dot{background:#6fe5cf}
main{margin-left:260px;padding:0 32px}header{min-height:86px}header p{font-size:14px;color:#415a79}.header-actions{gap:12px}
.secondary{color:#17416f;border-color:#a1b9d3;background:#fff}.secondary:hover{background:#e0edff;color:#102f57;border-color:#5382bd}
.pill{font-size:12px;background:#e4f4f6;color:#155660;border-color:#8bbfc5}
.status-pending{background:#fff0ca;color:#704500;border-color:#b89244}.status-discarded{background:#ffe8ed;color:#85293e;border-color:#c38c9d}
.view{padding-top:24px}.hero{background:radial-gradient(ellipse at right,#1a709666,transparent 66%),linear-gradient(115deg,#102643,#163d63);border-color:#456f95;border-radius:18px;box-shadow:0 16px 40px #19365618;color:#fff}
.hero p{color:#d4e7fa}.hero .eyebrow{color:#82e9ff}.hero button{background:#75e5f7;color:#102b46}.hero button:hover{background:#b1f3fc}
.hero-mark{background-image:radial-gradient(#5cc4ef99 1px,transparent 1px)}.hero-mark small{color:#9eedff}.orbit{border-color:#74dafa77}.orbit:before{background:#8df3ff}
.stat,.document,.panel,.relation-card{border-radius:14px;box-shadow:0 6px 20px #213e6510}.stat b{color:#175dc5;font-size:38px}.stat span{font-size:14px}
.steps{background:#fff;border-radius:12px}.steps b{font-size:15px}.steps p,.relation-card p{font-size:15px}.steps div{padding:24px}.relation-card:hover{background:#eef6ff;color:var(--text);border-color:#5f91ce}.arrow{color:#175dc5}
.scope{background:#e8eff9;border-color:#6383ae;color:#244263;font-size:15px;border-radius:8px}.scope p{font-size:inherit}
.text-button{background:transparent;color:#155bb9;font-size:14px}.text-button:hover{background:#dceafa;color:#17416f}
.document small,.search-result small{font-size:14px;color:#405c7d}.search-result:hover{background:#e8f2ff;color:var(--text)}
table{font-size:15px}th{font-size:14px;color:#294665;background:#dfeafa}td{vertical-align:top}.transcript{font-size:16px;background:#fff;padding:28px;line-height:1.85}.scan{background:#cbd8e8;border-color:#8ba4c2}#pdfStatus{color:#405c7d;font-size:14px}
dialog{background:#fff;color:var(--text);border-color:#7b98bb;box-shadow:0 24px 100px #071c4970;padding:34px}dialog .close{color:#274970}dialog .close:hover{background:#e0ebf9}dialog::backdrop{background:#091c37b8;backdrop-filter:blur(3px)}
blockquote{background:#eef5ff;color:#213e62;font-size:16px;border-color:#2574d6;line-height:1.85}#history p{font-size:14px}
#newKey code{background:#e7effa;color:#15395f}#notice{background:#133858;color:#fff;border-color:#6da7d5;font-size:15px}footer{font-size:12px;color:#435c7a;letter-spacing:.6px}.radar-error{color:#9a2040}
.login{background:radial-gradient(ellipse at top right,#225775,transparent 70%),#102540;color:#fff;border-color:#577fa4;box-shadow:0 35px 100px #12325730;max-width:660px;padding:46px}.login .brand,.login .eyebrow{color:#8befff}.login p,.login small{color:#d4e6fa}.login label{color:white}.login button{background:#83e8f6;color:#132f4c}.login input{background:#f2f8ff}.login small{font-size:14px}.login h1{font-size:60px}
.graph-toolbar{gap:12px;grid-template-columns:1.2fr 1fr .8fr 1fr}.graph-toolbar label{font-size:14px}.graph-toolbar .check-label{font-size:13px}.graph-toolbar #graphReset{display:none}
.graph-scope{background:#e3edf9;color:#294b70;font-size:14px;margin-bottom:12px}.graph-scope p{font-size:14px}
.investigation{padding:0;margin:12px 0;background:#fff;border-color:#a5bdd7;border-radius:12px;overflow:hidden}.investigation summary{cursor:pointer;min-height:52px;padding:13px 18px;color:#173e70;font-size:16px;font-weight:700}.investigation[open] summary{border-bottom:1px solid #c6d8eb;background:#e5efff}.investigation-heading{display:none}.investigation-form{padding:18px;gap:12px}.investigation-form .check-label{font-size:14px}.trace-status{color:#3c5778;font-size:14px;margin:0;padding:0 18px 18px}
.map-actions{gap:8px;padding:12px 0 16px}.map-actions button,.map-actions label,.map-actions select{font-size:13px}.map-actions label{margin-left:0}.map-actions #deleteView{margin-left:auto}
.graph-workspace{grid-template-columns:minmax(0,1fr) 360px;gap:18px}.graph-canvas{background:#0a1b32;border-color:#416987;border-radius:16px;box-shadow:0 12px 30px #12365720;color:#f2f8ff}
.graph-canvas-header{padding:12px 16px;background:#112c49;font-size:12px;letter-spacing:.7px;color:#caf2ff;flex-wrap:wrap}.graph-canvas-header>div{flex-wrap:wrap}.graph-canvas-header button{color:#f0f8ff;background:#203f5f;font-size:14px;border-color:#638aaa}.graph-canvas-header button:hover{background:#315876}.graph-canvas-header #graphZoomLevel{font-size:13px;width:46px}.graph-canvas-header #graphReset{display:block;background:#83e8f6;color:#123450;border-color:#abf3ff;font-weight:750}
#graph{height:620px;background:radial-gradient(ellipse at 50% 40%,#15385388,transparent 65%),radial-gradient(#44617f88 1px,transparent 1px),#0a1b32;background-size:auto,28px 28px,auto}
#graphLegend{font-size:13px;color:#d4e9fb;padding:14px 18px 4px}.graph-help{font-size:13px;color:#c1d7ed;padding:8px 18px 18px}.network-controls{border-top:1px solid #3d5b78;padding:12px 16px;background:#102a45}.network-controls button{background:#203f5f;color:#fff;border-color:#638aaa;font-size:14px}.network-controls button:hover{background:#315876}.network-controls .muted{color:#c9e2f9;font-size:13px}.network-controls button[aria-pressed=true]{border-color:#80e7ef;background:#1f4e63;color:#b7fbff}
.graph-detail{background:#fff;color:#1c3555;border:1px solid #b4c9e0;border-top:4px solid #1778cc;padding:26px;font-size:16px;line-height:1.8;max-height:860px;box-shadow:0 8px 28px #213e6512;scrollbar-color:#8099b7 #edf3fa;scroll-padding:20px}.graph-detail h2{font-size:28px;letter-spacing:-.5px;line-height:1.25;margin:16px 0}.graph-detail h3{font-size:17px;margin-top:26px}.graph-detail .eyebrow{font-size:12px;color:#18549b;line-height:1.6}.graph-detail .scope,.graph-detail .muted,.graph-detail blockquote{font-size:15px}.graph-detail .scope{padding:16px}.graph-detail button{font-size:14px;padding:12px 14px;line-height:1.6}.graph-detail .pill{font-size:13px;white-space:normal;line-height:1.7}
.route-card{background:#fff;border-color:#adc4de;padding:22px;border-radius:12px;box-shadow:0 6px 20px #213e6510}.route-card.active{border-color:#1765c9;box-shadow:inset 0 4px #1765c9}.route-card h3{font-size:18px}.route-card p,.route-card button{font-size:14px;color:#24476f}.route-card p{color:#3a587c}.route-excluded{border-color:#ac3555;background:#fff0f4;border-radius:9px}.route-excluded summary{color:#842441;font-size:15px}.route-excluded button{font-size:14px}.trace-heading{font-size:24px}
.quick-investigation{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:12px 0}.quick-investigation p{margin:0;color:#3d5878;font-size:14px}.quick-investigation button{background:#164c8e;color:#fff}.reading-tools{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 16px}.reading-tools button{width:auto;margin:0;font-size:13px;padding:8px 10px}.graph-detail.reading-large{font-size:19px}.graph-detail.reading-large .scope,.graph-detail.reading-large .muted,.graph-detail.reading-large blockquote{font-size:18px}
#mapWorkbench:fullscreen{background:#edf3fa;padding:20px}#mapWorkbench:fullscreen .graph-workspace{grid-template-columns:minmax(0,1fr) 380px}#mapWorkbench:fullscreen #graph{height:68vh}
@media(min-width:1700px){main{padding:0 44px}.graph-workspace{grid-template-columns:minmax(0,1fr) 400px}#graph{height:690px}}
@media(max-width:1250px){aside{width:230px;padding:24px 16px}main{margin-left:230px;padding:0 24px}.graph-workspace{grid-template-columns:1fr}.graph-detail{max-height:none}.graph-toolbar{grid-template-columns:1fr 1fr}#mapWorkbench:fullscreen .graph-workspace{grid-template-columns:1fr}.graph-detail h2{max-width:760px}}
@media(max-width:760px){aside{position:static;width:100%;padding:20px}main{margin:0;padding:0 16px}nav button{font-size:14px;min-width:168px}.aside-bottom{font-size:13px;padding-top:12px}.aside-bottom .ghost{font-size:13px}header .eyebrow{font-size:11px}.header-actions button{font-size:13px}.hero{padding:26px}.steps div{padding:18px}.stat b{font-size:32px}.login{padding:28px}.login h1{font-size:44px}.graph-canvas-header>span{display:block}.graph-canvas-header>div{justify-content:flex-start;width:auto}.graph-canvas-header #graphReset{font-size:13px}#graph{height:480px}.graph-detail{padding:22px}.map-actions #deleteView{margin-left:0}.map-actions label{width:100%}.investigation-form{grid-template-columns:1fr}.investigation-form .check-label{grid-column:auto}.trace-results{grid-template-columns:1fr}.quick-investigation button{width:100%}.graph-toolbar{grid-template-columns:1fr}.graph-toolbar .check-label{grid-column:auto}.graph-workspace{grid-template-columns:minmax(0,1fr)}footer{font-size:12px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}}

/* The investigation canvas is the primary workspace; advanced controls disclose on demand. */
#map{padding-top:12px}
#map>.section-heading{margin:8px 0 14px;align-items:center}
#map>.section-heading h1{font-size:30px;letter-spacing:-.7px}
#map>.section-heading .eyebrow{font-size:11px;margin-bottom:5px}
#map .graph-toolbar{grid-template-columns:minmax(220px,1.5fr) auto auto auto;align-items:end;gap:10px;margin:0 0 10px}
#map .graph-toolbar>label{font-size:13px}
#map .graph-toolbar>label input{margin-top:4px}
#map .map-options,#map .graph-toolbar>.investigation{border:1px solid #a5bdd7;border-radius:10px;background:#fff;margin:0;padding:0;min-width:0;overflow:visible}
#map .map-options>summary,#map .graph-toolbar>.investigation>summary{padding:11px 14px;min-height:44px;font-size:14px;line-height:22px;color:#173e70;font-weight:650;cursor:pointer;white-space:nowrap}
#map .map-options[open],#map .graph-toolbar>.investigation[open]{grid-column:1/-1}
#map .map-options[open]>summary,#map .graph-toolbar>.investigation[open]>summary{background:#e5efff;border-radius:10px 10px 0 0;border-bottom:1px solid #c6d8eb}
#map .map-option-fields{display:grid;grid-template-columns:minmax(180px,1fr) minmax(180px,1fr) minmax(180px,1fr);gap:14px;padding:16px;align-items:center}
#map .map-option-fields label{margin:0}
#map .map-option-fields input,#map .map-option-fields select{margin-top:4px}
#map .map-option-fields .check-label input{margin-top:0}
#map .map-options .map-actions{padding:14px;gap:10px}
#map .map-options .map-actions #deleteView{margin-left:0}
#map .map-secondary-controls{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:8px}
#map .quick-investigation{margin:0;gap:8px;flex-shrink:0}
#map .quick-investigation button{padding:8px 12px;font-size:13px}
#map .map-secondary-controls .graph-scope{background:transparent;border:0;padding:6px 0;margin:0;font-size:13px;max-width:480px}
#map .map-secondary-controls .graph-scope summary{font-size:13px;line-height:1.6}
#map #graphViewState{background:transparent;border:0;border-left:3px solid #809ebd;border-radius:0;margin:10px 0 12px;padding:0 0 0 10px;line-height:1.55;font-size:13px}
#map .graph-workspace{grid-template-columns:minmax(0,1fr) minmax(290px,330px);gap:14px;align-items:start}
#map .graph-canvas-header{padding:10px 12px;gap:8px}
#map .graph-canvas-header>span{display:none}
#map .graph-canvas-header>div{width:100%;justify-content:flex-end;gap:6px}
#map .graph-canvas-header #graphListToggle{margin-right:auto}
#map .graph-canvas-header button{font-size:13px;padding:7px 10px}
#map #graph{height:clamp(400px,57vh,690px)}
#map .graph-detail{padding:22px;max-height:calc(100vh - 110px);position:sticky;top:16px;scroll-margin:16px}
#map .graph-detail h2{font-size:25px}
#map .graph-detail .reading-tools{position:sticky;top:-22px;background:#fff;z-index:1;margin:-4px -4px 16px;padding:4px;box-shadow:0 6px 10px #fff}
#map .graph-detail .reading-tools button{width:auto;font-size:13px;padding:8px 10px}
#map .graph-detail .reading-tools button:last-child{margin-left:auto}
#map .graph-outside-scope{border-color:#b07931;background:#fff3df;color:#604118}
#map .graph-outside-scope p{margin:0}
#map #graphList{scroll-margin-top:16px}
#map #graphList:focus-visible{outline:3px solid #aa4b00;outline-offset:3px}
#map .graph-canvas .network-controls{padding:10px 12px;gap:8px}
#map .graph-canvas .network-controls button{font-size:13px}
#map #graphLegend{padding:10px 14px 4px;font-size:12px}
#map .graph-help{padding:6px 14px 12px}
@media(max-width:1100px){
 #map .graph-toolbar{grid-template-columns:minmax(180px,1fr) auto auto}
 #map .graph-toolbar>label{grid-column:1/-1}
 #map .graph-toolbar>.map-options,#map .graph-toolbar>.investigation{align-self:start}
 #map .map-secondary-controls{flex-wrap:wrap;gap:6px}
 #map .map-secondary-controls .graph-scope{max-width:none}
 #map .graph-workspace{grid-template-columns:minmax(0,1fr)}
 #map .graph-detail:not([data-inspecting]){display:none}
 #map .graph-detail[data-inspecting]{position:fixed;inset:auto 12px 12px;z-index:100;width:auto;max-height:58vh;max-height:58dvh;border-radius:16px;border-top:4px solid #1778cc;padding:20px 22px;box-shadow:0 -12px 60px #081c4e45;overscroll-behavior:contain}
 #map .graph-detail .reading-tools{top:-20px}
}
@media(max-width:760px){
 #map>.section-heading h1{font-size:27px}
 #map>.section-heading{gap:8px}
 #map .graph-toolbar{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
 #map .graph-toolbar>.map-options[open],#map .graph-toolbar>.investigation[open]{grid-column:1/-1}
 #map .map-options>summary,#map .graph-toolbar>.investigation>summary{font-size:12px;padding:8px;white-space:normal;line-height:20px;min-height:58px}
 #map .map-option-fields{grid-template-columns:1fr;padding:12px;gap:12px}
 #map .map-options .map-actions{padding:12px}
 #map .quick-investigation{width:100%;display:grid;grid-template-columns:1fr 1fr;gap:8px}
 #map .quick-investigation button{width:auto;font-size:12px;padding:8px;line-height:1.5}
 #map .map-secondary-controls .graph-scope{padding:4px 0}
 #map #graph{height:420px;height:clamp(320px,52dvh,480px)}
 #map .graph-canvas-header>div{flex-wrap:wrap;justify-content:flex-start}
 #map .graph-canvas-header #graphListToggle{margin-right:0}
 #map .graph-canvas-header #graphReset{margin-left:auto;font-size:12px}
 #map .graph-canvas-header #graphZoomLevel{width:36px;font-size:12px}
 #map .graph-canvas-header button{padding:7px 8px;min-height:44px}
 #map .graph-detail[data-inspecting]{inset:auto 8px max(8px,env(safe-area-inset-bottom));max-height:62vh;max-height:62dvh;padding:18px 20px}
 #map .graph-detail .reading-tools{top:-18px}
 #map .graph-detail h2{font-size:23px}
 #map .graph-detail .eyebrow{font-size:11px}
}
