:root{--bg:#030812;--c:#3ee8ff;--c2:#1a8cff;--dim:#5b7a99;--amb:#ffb02e;--red:#ff3b5c;--ok:#3effa8;--pan:rgba(10,40,70,.28);--line:rgba(62,232,255,.35)}
*{box-sizing:border-box}html,body{margin:0;min-height:100%}
body{background:var(--bg);color:#cfefff;font:500 16px/1.35 Rajdhani,"Segoe UI",system-ui,sans-serif;letter-spacing:.02em;
 background-image:radial-gradient(ellipse at 50% 30%,rgba(26,140,255,.18),transparent 60%),linear-gradient(rgba(62,232,255,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(62,232,255,.05) 1px,transparent 1px);background-size:auto,40px 40px,40px 40px}
.scan{pointer-events:none;position:fixed;inset:0;z-index:50;background:repeating-linear-gradient(0deg,rgba(0,0,0,.18) 0 1px,transparent 1px 3px);mix-blend-mode:multiply}
.scan::after{content:"";position:absolute;left:0;right:0;height:120px;background:linear-gradient(transparent,rgba(62,232,255,.05),transparent);animation:sweep 7s linear infinite}
@keyframes sweep{from{top:-120px}to{top:100%}}
h2,.brand,.clock b,.sync b,.btn,.core-txt,.sys,.k b{font-family:Orbitron,"Courier New",monospace}
.hud{display:flex;align-items:center;gap:24px;flex-wrap:wrap;padding:14px 24px;border-bottom:1px solid var(--line);background:linear-gradient(180deg,rgba(26,140,255,.12),transparent);box-shadow:0 1px 18px rgba(62,232,255,.15)}
.brand{font-weight:900;font-size:20px;color:var(--c);text-shadow:0 0 10px var(--c);letter-spacing:.12em}.brand i{color:var(--c2);font-style:normal}.logo{display:inline-block;animation:spin 6s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
.clock{display:flex;flex-direction:column;margin-left:auto;text-align:right}.clock b{font-size:22px;letter-spacing:.08em;color:#fff;text-shadow:0 0 8px var(--c)}.clock span,.sync span{font-size:12px;color:var(--dim);letter-spacing:.18em;text-transform:uppercase}
.sync{display:flex;flex-direction:column}.sync b{font-size:13px;color:var(--c)}
.btn{background:transparent;color:var(--c);border:1px solid var(--c);padding:8px 16px;font-size:12px;letter-spacing:.2em;cursor:pointer;box-shadow:0 0 10px rgba(62,232,255,.3) inset;transition:.2s}
.btn:hover,.btn.on{background:rgba(62,232,255,.18);box-shadow:0 0 18px var(--c);color:#fff}
.grid{display:grid;grid-template-columns:minmax(260px,1fr) minmax(380px,1.5fr) minmax(300px,1.15fr);gap:18px;padding:18px 24px}
.col{display:flex;flex-direction:column;gap:18px;min-width:0}
.panel{position:relative;background:var(--pan);border:1px solid rgba(62,232,255,.18);padding:16px 18px 18px;backdrop-filter:blur(3px);box-shadow:0 0 24px rgba(26,140,255,.08) inset}
.panel::before,.panel::after{content:"";position:absolute;width:16px;height:16px;border:2px solid var(--c);filter:drop-shadow(0 0 4px var(--c))}
.panel::before{top:-1px;left:-1px;border-right:0;border-bottom:0}.panel::after{bottom:-1px;right:-1px;border-left:0;border-top:0}
h2{margin:0 0 12px;font-size:12px;letter-spacing:.3em;color:var(--c);font-weight:700;display:flex;align-items:center;gap:8px}
h2::before{content:"";width:6px;height:6px;background:var(--c);box-shadow:0 0 8px var(--c)}h2::after{content:"";flex:1;height:1px;background:linear-gradient(90deg,var(--line),transparent)}
.dim{color:var(--dim)}.hidden{display:none!important}
.kgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:10px}
.k{border-left:2px solid var(--c2);padding:4px 10px;background:rgba(26,140,255,.06)}.k small{display:block;font-size:12px;color:var(--dim);letter-spacing:.14em;text-transform:uppercase}
.k b{font-family:Rajdhani,sans-serif;font-weight:700;font-size:30px;color:#fff;text-shadow:0 0 10px var(--c)}.k b.na{color:var(--dim);text-shadow:none}.wait{display:block;font-size:10px;letter-spacing:.18em;color:var(--dim);opacity:.7}
.city{margin:6px 0}.city div{display:flex;justify-content:space-between;font-size:14px}.bar{height:6px;background:rgba(62,232,255,.1);margin-top:3px}.bar i{display:block;height:100%;background:linear-gradient(90deg,var(--c2),var(--c));box-shadow:0 0 8px var(--c)}
.core-wrap{display:flex;flex-direction:column;align-items:center}.core-box{position:relative;width:min(100%,440px);aspect-ratio:1}#core{width:100%;height:100%;display:block}
.core-txt{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;pointer-events:none}
.core-txt small{display:block;font-size:8px;letter-spacing:.2em;margin-bottom:2px;color:var(--dim)}.core-txt b{display:block;font-family:Rajdhani,sans-serif;font-weight:700;line-height:1;font-size:64px;color:#fff;text-shadow:0 0 18px var(--c),0 0 4px #fff}.core-txt span{font-size:12px;letter-spacing:.2em;color:var(--c)}.core-txt em{font-style:normal;color:#fff;font-family:Rajdhani,sans-serif;font-weight:700;font-size:16px}
.sys{margin-top:6px;font-size:14px;letter-spacing:.3em;padding:6px 16px;border:1px solid}.sys.ok{color:var(--ok);border-color:var(--ok);text-shadow:0 0 8px var(--ok)}.sys.bad{color:var(--amb);border-color:var(--amb);text-shadow:0 0 8px var(--amb);animation:blink 1.6s infinite}
@keyframes blink{50%{opacity:.55}}
.ag{border:1px solid rgba(62,232,255,.14);margin-bottom:10px;padding:10px 12px;cursor:pointer;transition:.2s;background:rgba(3,8,18,.4)}.ag:hover{border-color:var(--c);box-shadow:0 0 12px rgba(62,232,255,.25)}
.ag .top{display:flex;align-items:center;gap:10px}.ag .nm{font-weight:700;color:#fff;font-size:16px}.ag .rl{font-size:12px;color:var(--dim);letter-spacing:.08em}
.ag .st{margin-left:auto;font-family:Orbitron,monospace;font-size:10px;letter-spacing:.15em}
.led{flex:none;width:11px;height:11px;border-radius:50%;background:var(--c);box-shadow:0 0 10px var(--c);animation:pulse 1.8s infinite}
.led.attente{background:var(--amb);box-shadow:0 0 10px var(--amb)}.led.bloque{background:var(--red);box-shadow:0 0 12px var(--red);animation-duration:.9s}
@keyframes pulse{50%{opacity:.35;transform:scale(.8)}}
.s-actif{color:var(--c)}.s-attente{color:var(--amb)}.s-bloque{color:var(--red)}
.ag .tk{margin:6px 0 0 21px;font-size:15px}.ag .bl{margin:4px 0 0 21px;font-size:13px;color:var(--amb)}.ag .bl.none{color:var(--dim)}
.ag .more{display:none;margin:8px 0 0 21px;font-size:14px;border-top:1px dashed rgba(62,232,255,.2);padding-top:6px}.ag.open .more{display:block}.ag.open{border-color:var(--c)}
.more ul,.brief ul{margin:4px 0;padding-left:18px}.more li::marker,.brief li::marker{color:var(--c)}
.term #log{font:13px/1.55 "Courier New",monospace;max-height:330px;overflow:auto;color:#9fdcff}.term .ln{white-space:pre-wrap}.ln .ts{color:var(--dim)}.ln.ok .lv{color:var(--ok)}.ln.warn .lv{color:var(--amb)}.ln.err .lv{color:var(--red)}.ln.info .lv{color:var(--c)}
.cursor::after{content:"▌";color:var(--c);animation:blink .8s infinite}
.brief .ag{cursor:default}.brief .ag .more{display:block}
footer{text-align:center;font-size:12px;letter-spacing:.2em;color:var(--dim);padding:10px 0 24px;text-transform:uppercase}
@media(max-width:1100px){.grid{grid-template-columns:1fr 1fr}.center{grid-column:1/-1;order:-1}}
@media(max-width:700px){.grid{grid-template-columns:1fr;padding:12px;gap:14px}.hud{padding:12px;gap:12px}.brand{font-size:16px;width:100%}.clock{margin-left:0;text-align:left}.btn{margin-left:auto}.core-txt b{font-size:50px}}
.brief{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:10px}.brief .ag{margin:0}
