@font-face { font-family:Rajdhani; src:url('/static/rajdhani-600-latin.woff2') format('woff2'); font-style:normal; font-weight:600; font-display:swap; }
:root { --deck-cyan:#a3dce5; --deck-void:#080b10; --deck-plate:#0e1218; --deck-line:#252c36; --deck-ease:cubic-bezier(.16,1,.3,1); }
body { background:var(--deck-void); }
.main { background-image:radial-gradient(ellipse at 90% 0%,#34535c14,transparent 42%),linear-gradient(#98b5c003 1px,transparent 1px),linear-gradient(90deg,#98b5c003 1px,transparent 1px); background-size:auto,32px 32px,32px 32px; }
.rail { background:linear-gradient(160deg,#151a21,#0b0e13 66%); border-color:var(--deck-line); }
.brand { padding-bottom:32px; }
.brand-mark { width:39px; height:39px; background:transparent; letter-spacing:0; border-radius:10px; box-shadow:0 4px 14px #0004; }
.brand-mark img { display:block; width:100%; height:100%; }
.brand strong { font-family:Rajdhani,sans-serif; font-weight:600; font-size:19px; letter-spacing:2.8px; }
.brand small { white-space:nowrap; font-size:8px; letter-spacing:1px; margin-top:-1px; }
.owner { gap:8px; padding-inline:5px; }
.owner>div:nth-child(2) { flex:1; min-width:0; white-space:nowrap; }
.owner .icon-button { width:30px; min-width:30px; padding:5px; }
.owner small { font-size:9.5px; }
.topbar { background:#0b0f15b8; border-color:var(--deck-line); }
.breadcrumb { font-family:monospace; letter-spacing:.3px; }
.nav button { border:1px solid transparent; transition:color .15s,background .18s,border-color .18s; }
.nav button[aria-current=page] { background:linear-gradient(110deg,#2a3039,#1d222a); border-color:#3a424e; box-shadow:inset 0 1px #ffffff08; }
.nav button[aria-current=page] svg { color:#d8e0ec; }
.page-heading { border-bottom:1px solid #29313a8c; padding-bottom:24px; position:relative; }
.page-heading::after { content:''; width:27px; height:3px; background:#697b8d; position:absolute; bottom:-2px; right:0; }
h1 { font-family:Rajdhani,sans-serif; font-size:37px; font-weight:600; letter-spacing:.3px; }
.page-heading .eyebrow { color:#8eabb9; letter-spacing:2.3px; font-size:9px; }
.panel { position:relative; background:linear-gradient(145deg,#131922,#0f131a 48%,#0e1218); border-color:#2a323e; border-radius:11px; transition:border-color .2s,box-shadow .2s; }
.panel::after { content:''; position:absolute; top:6px; right:6px; width:6px; height:6px; border-top:1px solid #7a93a35c; border-right:1px solid #7a93a35c; pointer-events:none; }
.panel::before { content:''; position:absolute; inset:0; pointer-events:none; opacity:0; background:radial-gradient(340px circle at var(--spot-x,50%) var(--spot-y,0%),#a3dce50a,transparent 70%); transition:opacity .2s; }
.panel:hover { border-color:#414e5e; }
.panel:hover::before { opacity:1; }
.panel-head { background:#161d252e; border-color:#2b3440; }
.panel-head h2 { font-family:Rajdhani,sans-serif; letter-spacing:.55px; font-size:16px; }
.panel-head>.tag { font-size:8px; letter-spacing:.65px; }
.stats { background:linear-gradient(145deg,#151b24,#0d1219); border-color:#303a48; }
.stat { position:relative; border-color:#2b3440; }
.stat::after { content:'+'; position:absolute; right:9px; bottom:5px; font:10px monospace; color:#566574; }
.stat-value { font-family:Rajdhani,sans-serif; font-size:38px; letter-spacing:1px; line-height:1; }
.stat-label { color:#afb8c5; min-height:31px; align-items:flex-start; }
.stat-value { margin-top:8px; }
.stat-note,.quiet,.coverage-item p { color:#8b96a6; }
.eyebrow { color:#94a0b0; }
.button { transition:background .16s,border-color .16s,transform .16s var(--deck-ease),box-shadow .16s; }
.button.primary { box-shadow:0 2px 7px #0003,inset 0 1px #fff; }
.button.primary:hover { box-shadow:0 3px 15px #c1d3e31a,inset 0 1px #fff; transform:translateY(-1px); }
.button:active,.button.primary:active { transform:scale(.98); }
.welcome { background:radial-gradient(ellipse at right top,#47616e16,transparent 70%),linear-gradient(145deg,#171f29,#0f141c); padding:31px; }
.welcome h2 { font-family:Rajdhani,sans-serif; font-size:27px; letter-spacing:.25px; }
.welcome-label { border-color:#495969; color:#b8cbdc; }
.engine-map { background-image:radial-gradient(ellipse,#7a9db00c,transparent 70%),linear-gradient(#809bb70a 1px,transparent 1px),linear-gradient(90deg,#809bb70a 1px,transparent 1px); background-size:auto,22px 22px,22px 22px; min-height:220px; }
.engine-map .core { stroke:#9fb8c5; fill:#17212c; }
.engine-map .core-text { fill:#e4f0f7; font-family:Rajdhani,sans-serif; font-size:14px; letter-spacing:1.5px; }
.engine-map .node { fill:#111922; stroke:#3c4a5b; }
.engine-map text { fill:#aebdcd; }
.deck-orbit { stroke:#698491; stroke-opacity:.35; stroke-dasharray:1.4 3.8; }
.deck-orbit-fine { stroke:#9eb3c5; stroke-opacity:.18; }
.deck-axis { stroke:#7f9db1; stroke-opacity:.35; }
.engine-map.is-running .deck-orbit { stroke:var(--deck-cyan); stroke-opacity:.7; }
.step.current span { box-shadow:0 0 18px #b7ddec24; }
.tag { background:#17202a; border-color:#3d4958; }
.tag.warn { background:#231f18; }.tag.red { background:#251b21; }.tag.safe { background:#17231f; }
.note { background:#121922; border-color:#2c3847; }
.footer { border-color:#2b3440; font-family:monospace; font-size:9px; letter-spacing:.3px; }
dialog { background:linear-gradient(145deg,#171f29,#11161d); border-color:#465469; }
.dialog-header { background:#151c25; border-color:#303b49; }
.dialog-header h2 { font-family:Rajdhani,sans-serif; font-size:24px; letter-spacing:.3px; }
.motion-button[aria-pressed=false] { color:#6d7888; }
[data-entering=true] .page-heading { animation:deck-arrive .45s var(--deck-ease) both; }
[data-entering=true] .columns>.stack>.panel { animation:deck-arrive .5s var(--deck-ease) both; }
[data-entering=true] .columns>.stack>.panel:nth-child(2) { animation-delay:55ms; }
[data-entering=true] .columns>.stack>.panel:nth-child(3) { animation-delay:95ms; }
[data-entering=true] .stat-value { animation:deck-number .55s var(--deck-ease) both; }
[data-entering=true] .stat:nth-child(2) .stat-value { animation-delay:35ms; }
[data-entering=true] .stat:nth-child(3) .stat-value { animation-delay:65ms; }
[data-entering=true] .stat:nth-child(4) .stat-value { animation-delay:95ms; }
[data-entering=true] .engine-map .deck-axis { animation:deck-lines .7s var(--deck-ease) both; }
.engine-map.is-running[data-scene-visible=true] .deck-orbit { animation:deck-orbit 12s linear infinite; transform-origin:185px 95px; }
html[data-page-visible=false] .engine-map .deck-orbit { animation-play-state:paused; }
@keyframes deck-arrive { from { opacity:.45; transform:translateY(8px); } to { opacity:1; transform:translateY(0); } }
@keyframes deck-number { from { opacity:.25; transform:translateY(7px); } to { opacity:1; transform:translateY(0); } }
@keyframes deck-lines { from { opacity:0; stroke-dasharray:100; stroke-dashoffset:100; } to { opacity:1; stroke-dasharray:100; stroke-dashoffset:0; } }
@keyframes deck-orbit { to { transform:rotate(360deg); } }
html[data-motion=off] *,html[data-motion=off] *::before,html[data-motion=off] *::after { animation:none!important; transition:none!important; }
@media(prefers-reduced-motion:reduce) { *,*::before,*::after { animation:none!important; transition:none!important; } }
@media(max-width:760px) { h1 { font-size:30px; }.welcome { padding:23px 20px; }.welcome h2 { font-size:23px; }.stat-value { font-size:32px; }.page-heading { padding-bottom:20px; }.brand strong { font-size:19px; } }

/* Evidence-bound investigation follows the approved CZ graphite surfaces. */
.investigation-plan .panel-head .eyebrow { display:block; margin-bottom:6px; }
.investigation-hypothesis { padding:22px 0; border-top:1px solid var(--border,#252c36); }
.investigation-hypothesis h3 { margin:5px 0; overflow-wrap:anywhere; }
.investigation-hypothesis .toolbar { align-items:flex-start; gap:16px; }
.investigation-steps { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; margin-top:18px; }
.investigation-check { display:flex; flex-direction:column; align-items:flex-start; gap:12px; padding:18px; border:1px solid #303843; border-radius:8px; background:#0c1016; min-width:0; }
.investigation-check h4 { font-size:14px; line-height:1.5; margin:0; }
.investigation-check p { margin:0; overflow-wrap:anywhere; }
.investigation-check .button { margin-top:auto; }
.investigation-check details { width:100%; font-size:12px; color:#aeb8c5; }
.investigation-check summary { cursor:pointer; padding:7px 0; }
.investigation-check pre { max-height:240px; overflow:auto; white-space:pre-wrap; overflow-wrap:anywhere; }
.investigation-plan .tag { white-space:normal; font-variant-numeric:tabular-nums; }
@media(max-width:1100px) { .investigation-steps { grid-template-columns:1fr; } }
@media(max-width:600px) { .investigation-hypothesis .toolbar { flex-direction:column; } .investigation-plan .panel-head { align-items:flex-start; gap:12px; flex-wrap:wrap; } .investigation-check { padding:16px; } }

.scanner-panel .panel-head .eyebrow {display:block;margin-bottom:6px;}
.scanner-panel .investigation-check .toolbar {width:100%;gap:8px;flex-wrap:wrap;align-items:flex-start;}
.scanner-panel .investigation-check h3 {margin:0;text-transform:capitalize;}
.scanner-panel .investigation-check small,.scanner-panel .detail-block {overflow-wrap:anywhere;max-width:100%;}
.scanner-panel .investigation-check .tag {white-space:normal;}
@media(max-width:600px){.scanner-panel .panel-head{flex-wrap:wrap;gap:12px;}}
