:root{color-scheme:dark;--bg:#060c1c;--panel:#0b1930;--line:#1b3755;--cyan:#4ce6fb;--teal:#29e4ba;--text:#f0f7ff;--muted:#9fb5cf;--red:#ff647b;--gold:#f7c76b;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--text);background:radial-gradient(ellipse 80% 50% at 50% -12%,#15386c 0%,#08132a 48%,#060c1c 100%);font-size:14px;line-height:1.5}
button,select{font:inherit}button:focus-visible,select:focus-visible{outline:3px solid #85f4ff;outline-offset:4px}button{cursor:pointer}
.shell{max-width:1540px;margin:0 auto;padding:0 clamp(16px,3vw,44px)}
.topbar{display:flex;justify-content:space-between;gap:20px;align-items:center;min-height:105px;border-bottom:1px solid #294464}
.brand{display:flex;align-items:center;gap:14px}.brand-icon{width:57px;height:57px;display:grid;place-items:center;color:#6ce8ff;font-size:48px;text-shadow:0 0 30px #3be3f8;border:1px solid #2675a9;background:radial-gradient(circle,#12385e,#0a1d3a);border-radius:16px}
.brand h1{font-size:clamp(22px,2.25vw,31px);line-height:1.1;letter-spacing:.015em;margin:5px 0 0;font-weight:800}.brand h1 strong{color:#83e7ff}.eyebrow{font-size:10px;letter-spacing:.16em;color:#6fc8e2;font-weight:800}
.top-status{display:flex;gap:9px;flex-wrap:wrap;justify-content:flex-end}.badge{font-size:10px;font-weight:800;letter-spacing:.1em;border-radius:100px;padding:9px 11px;border:1px solid #345577}.badge-blue{color:#65d8ff;background:#0c2945}.badge-gold{color:#ffda87;border-color:#82622e;background:#47351255}.badge-muted{color:#acb5c5;background:#18243c}
.lede{display:flex;justify-content:space-between;align-items:center;gap:24px;margin:31px 0}.lede h2{font-size:clamp(22px,2.55vw,36px);margin:4px 0;letter-spacing:-.025em}.lede p{color:var(--muted);margin:6px 0 0}
.posture{display:flex;gap:13px;align-items:center;background:#0d203c;border:1px solid #204769;padding:13px 18px;border-radius:12px;min-width:204px}.posture span:not(.pulse-led){display:block;color:#7fa6c2;font-size:10px;letter-spacing:.11em;font-weight:750}.posture strong{display:block;color:#54f2cf;font-size:16px;letter-spacing:.09em;margin-top:3px}.pulse-led{width:14px;height:14px;border-radius:50%;background:#29d0bb;box-shadow:0 0 0 5px #29d0bb20,0 0 15px #29d0bb}
.dashboard{display:grid;grid-template-columns:minmax(0,1.9fr) minmax(285px,.85fr);gap:18px;align-items:stretch}
.main-panel,.side-card,.bottom-card{border:1px solid #244662;background:linear-gradient(160deg,#0d1e37 0%,#0a172d 100%);border-radius:17px;box-shadow:0 24px 80px #00000022;overflow:hidden}
.panel-head{padding:20px 23px 11px;display:flex;justify-content:space-between;align-items:center;gap:12px}.panel-head h3,.side-card h3,.bottom-card h3{font-size:18px;margin:3px 0 0;font-weight:750}.substatus{font-size:11px;font-weight:800;letter-spacing:.08em;color:#66d7f0;background:#132d48;border:1px solid #356382;padding:8px 12px;border-radius:100px;white-space:nowrap}
.dome-stage{height:auto;min-height:400px;position:relative;isolation:isolate;background:radial-gradient(ellipse at 50% 78%,#0c4872 0%,#0c2a52 27%,#08182f 64%,#071328 100%);overflow:hidden}
.stage-grid{position:absolute;inset:0;background-image:linear-gradient(#1c669826 1px,transparent 1px),linear-gradient(90deg,#1c669826 1px,transparent 1px);background-size:38px 38px;transform:perspective(360px) rotateX(51deg) scale(1.4);transform-origin:center 90%;mask-image:linear-gradient(to bottom,transparent,#000)}
.dome-scene{width:100%;height:auto;max-height:535px;display:block;position:relative;z-index:1}
.floor{opacity:.8}.network{filter:drop-shadow(0 0 5px #2999fb)}.shield{opacity:.12;transform:translateY(95px) scale(.86);transform-origin:50% 79%;transition:opacity .7s ease,transform 1.3s cubic-bezier(.12,.84,.16,1);filter:drop-shadow(0 0 16px #239aff)}
.service-node circle{fill:#0e3051;stroke:#38aad4;stroke-width:2}.service-node text{fill:#d7f7ff;font-size:13px;font-weight:800;text-anchor:middle;letter-spacing:.025em}.service-node{filter:drop-shadow(0 0 12px #2269b4)}.node{filter:drop-shadow(0 0 22px #27c5ff)}
.threats{opacity:0;transition:opacity .35s}.threat{stroke-dasharray:10 20;stroke-dashoffset:0;animation:threat-advance 1s linear infinite}.threat-b{animation-delay:.45s}.threat-c{animation-delay:.2s}.impact{opacity:.15;transform-origin:center;animation:hit-pulse 1.1s ease-in-out infinite}.containment{opacity:0;transition:opacity .5s}.containment circle{animation:spin 8s linear infinite;transform-origin:660px 320px}
.dome-stage[data-phase="detected"] .threats,.dome-stage[data-phase="verifying"] .threats,.dome-stage[data-phase="shielding"] .threats,.dome-stage[data-phase="containing"] .threats{opacity:1}
.dome-stage[data-phase="shielding"] .shield,.dome-stage[data-phase="containing"] .shield,.dome-stage[data-phase="recovering"] .shield,.dome-stage[data-phase="secured"] .shield{opacity:1;transform:none}
.dome-stage[data-phase="containing"] .containment,.dome-stage[data-phase="recovering"] .containment{opacity:1}
.dome-stage[data-phase="shielding"] .impact,.dome-stage[data-phase="containing"] .impact{opacity:1}
.dome-stage[data-phase="secured"] .service-node circle{stroke:#33e5b6}
.stage-caption{position:absolute;z-index:2;bottom:23px;left:20px;right:20px;display:flex;justify-content:space-between;gap:15px;align-items:center;background:#061c35ce;border:1px solid #204e74;border-radius:10px;padding:12px 15px;backdrop-filter:blur(8px)}
.stage-caption div{font-size:13px;font-weight:750}.stage-caption span{font-size:10px;color:#85b6d0}
.wave{height:5px;background:#0d3653;position:absolute;bottom:0;left:0;right:0;z-index:2}.wave-fill{height:100%;width:0;background:linear-gradient(90deg,#0087ee,#54dbfa,#29efb8);box-shadow:0 0 13px #3de6ff;transition:width .65s ease}
.controls{display:flex;align-items:center;gap:11px;flex-wrap:wrap;padding:19px 22px 6px}.controls label{font-weight:700;color:#b7d7e9;font-size:12px;flex-basis:100%}
.controls select{flex:1;min-width:225px;background:#07182d;border:1px solid #345778;border-radius:9px;color:#e7faff;padding:13px 10px}
.controls button{border-radius:9px;padding:13px 18px;font-weight:800;border:1px solid transparent;white-space:nowrap}
.controls button.primary{background:linear-gradient(110deg,#22c4ee,#2cded0);color:#002339}
.controls button.primary:hover:not(:disabled){filter:brightness(1.12)}.controls button.primary:disabled{opacity:.45;cursor:not-allowed}
.controls button.secondary{background:#132b45;color:#bcd5e8;border-color:#305371}
.disclaimer{padding:0 23px 18px;color:#88a6c0;font-size:11px;margin:8px 0 0}
.side-panel{display:grid;grid-template-rows:auto auto 1fr;gap:17px}.side-card{padding:18px 19px}.agent-chain{list-style:none;padding:0;margin:18px 0 0;display:grid;gap:6px}
.agent-chain li{display:flex;gap:12px;align-items:center;padding:9px 7px;border:1px solid transparent;border-radius:10px;color:#97b1ca}
.agent-chain li>span{border-radius:8px;border:1px solid #294968;background:#112c46;color:#65bad7;font-size:11px;font-weight:850;width:32px;height:32px;display:grid;place-items:center}
.agent-chain li>div{flex:1}.agent-chain li strong{display:block;color:#e5f3ff;font-size:12px}.agent-chain li small{font-size:10px;color:#84a6bf}.agent-chain li em{font-size:9px;font-style:normal;font-weight:850;letter-spacing:.06em}
.agent-chain li.is-active{background:#113452;border-color:#346885}.agent-chain li.is-active em{color:#61deff}
.agent-chain li.is-done{background:#0a302e;border-color:#246c66}.agent-chain li.is-done span{color:#67edc5;border-color:#317b69}.agent-chain li.is-done em{color:#68e6c4}
.boundary{display:flex;justify-content:space-between;gap:10px;border-bottom:1px solid #203a55;padding:12px 0;align-items:center}.boundary:last-of-type{border:0}.boundary span{font-size:11px;color:#9eb5cb}.boundary strong{font-size:10px;text-align:right;color:#b9f2dd;letter-spacing:.03em}.note{font-size:11px;color:#87a5bf;line-height:1.6}
.bottom-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:19px}.bottom-card{padding:20px 23px;min-height:236px}.events{list-style:none;padding:0;margin:12px 0 0;display:flex;flex-direction:column;gap:9px}.events li{font-size:12px;color:#c7d9e7;border-left:2px solid #34badc;background:#10273d;padding:8px 12px;border-radius:0 7px 7px 0}.events li.warn{border-left-color:#ff6f81}.events li.ok{border-left-color:#39e4b5}
.domains{display:flex;gap:7px;flex-wrap:wrap;margin-top:17px}.domains span{display:inline-flex;border:1px solid #2a536e;background:#10304a;color:#a6daf4;padding:5px 9px;border-radius:100px;font-size:10px;font-weight:800;letter-spacing:.06em}.domains span.focus{background:#125d65;color:#d1fff8;border-color:#28cdba}
footer{border-top:1px solid #243c59;color:#708da7;font-size:11px;text-align:center;padding:26px 12px;margin-top:33px}
.posture.alert .pulse-led{background:var(--red);box-shadow:0 0 18px var(--red)}.posture.alert strong{color:#ff899b}.posture.recover strong{color:#ffe2a1}
@keyframes threat-advance{to{stroke-dashoffset:-60}}@keyframes hit-pulse{0%,100%{opacity:.25}50%{opacity:1}}@keyframes spin{to{transform:rotate(360deg)}}
@media(max-width:1080px){.dashboard{grid-template-columns:1fr}.side-panel{grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:auto}.side-card{min-width:0}.agent-chain li{gap:8px;padding:6px 2px}.agent-chain li small{font-size:9px}}
@media(max-width:740px){.topbar,.lede{flex-direction:column;align-items:flex-start}.topbar{padding:18px 0}.top-status{justify-content:flex-start}.posture{width:100%}.side-panel{grid-template-columns:1fr}.bottom-grid{grid-template-columns:1fr}.stage-caption{position:relative;left:auto;right:auto;bottom:auto;border-radius:0;align-items:flex-start;flex-direction:column}.dome-stage{min-height:unset}.controls{padding:16px}.controls select{flex-basis:100%}.panel-head{flex-wrap:wrap}.brand-icon{width:50px;height:50px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}
