:root{--bg:#02060a;--panel:#071018;--cyan:#00e5ff;--amber:#ffb000;--red:#ff314a;--green:#68ff9a;--text:#c9f7ff;--muted:#5e8a99}
*{box-sizing:border-box}
html,body{margin:0;min-height:100%;background:radial-gradient(circle at 50% 0,#0d1a24,#02060a 55%,#000);color:var(--text);font-family:Consolas,'Courier New',monospace;overflow-x:hidden}
#indexRain{position:fixed;inset:0;width:100vw;height:100vh;z-index:0;pointer-events:none;opacity:.42}
.scan{position:fixed;inset:0;pointer-events:none;z-index:20;background:repeating-linear-gradient(0deg,rgba(0,229,255,.045),rgba(0,229,255,.045) 1px,transparent 2px,transparent 5px);box-shadow:inset 0 0 190px #000}
.noise{position:fixed;inset:0;pointer-events:none;z-index:21;background:radial-gradient(circle,rgba(0,229,255,.5) 1px,transparent 1.3px);background-size:4px 4px;opacity:.035;animation:noise .13s steps(2) infinite}@keyframes noise{50%{transform:translate(2px,-1px)}}
.topbar{position:relative;z-index:2;display:flex;justify-content:space-between;gap:12px;align-items:center;padding:16px 20px;border-bottom:1px solid rgba(0,229,255,.35);background:rgba(2,6,10,.84);backdrop-filter:blur(2px)}
.brand{color:var(--cyan);font-size:clamp(22px,5vw,40px);letter-spacing:5px;font-weight:900;text-shadow:0 0 18px rgba(0,229,255,.8)}
.sub,.hud-right{color:var(--muted);font-size:12px;letter-spacing:2px}.hud-right{text-align:right;line-height:1.7}#clock{color:var(--amber)}
.archive-shell{position:relative;z-index:2;width:min(1180px,94vw);margin:0 auto;padding:24px 0 40px}
.hero{display:grid;grid-template-columns:210px 1fr;gap:24px;align-items:center;border:1px solid rgba(0,229,255,.28);background:rgba(5,13,19,.84);padding:24px;box-shadow:0 0 36px rgba(0,229,255,.12),inset 0 0 40px rgba(0,229,255,.05)}
.seal{width:180px;height:180px;position:relative;display:grid;place-items:center;margin:auto}.ring{position:absolute;inset:0;border-radius:50%;border:2px solid var(--cyan);box-shadow:0 0 24px rgba(0,229,255,.7)}
.r1{animation:spin 12s linear infinite}.r2{inset:28px;border-color:var(--amber);border-style:dashed;animation:spin 7s linear infinite reverse}.core{font-size:58px;color:var(--amber);text-shadow:0 0 22px var(--amber);font-weight:900}@keyframes spin{to{transform:rotate(360deg)}}
h1{margin:0;color:var(--cyan);letter-spacing:5px;font-size:clamp(34px,8vw,72px);text-shadow:0 0 24px rgba(0,229,255,.85)}.brief{color:#dffbff;line-height:1.6;max-width:760px}
.status-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:18px}.status-grid div{border:1px solid rgba(0,229,255,.25);background:rgba(0,0,0,.42);padding:12px}.status-grid span{display:block;color:var(--muted);font-size:12px}.status-grid b{color:var(--amber);letter-spacing:2px}
.map-panel{position:relative;height:430px;margin:22px 0;overflow:hidden;border:1px solid rgba(0,229,255,.28);background:radial-gradient(circle at 55% 40%,rgba(0,229,255,.15),transparent 32%),radial-gradient(circle at 25% 70%,rgba(255,49,74,.12),transparent 28%),rgba(3,8,12,.82);box-shadow:0 0 32px rgba(0,229,255,.10)}
.map-grid{position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,229,255,.08) 1px,transparent 1px),linear-gradient(0deg,rgba(0,229,255,.08) 1px,transparent 1px);background-size:42px 42px}.lines{position:absolute;inset:0;width:100%;height:100%;fill:none;stroke:rgba(255,176,0,.55);stroke-width:2;filter:drop-shadow(0 0 8px rgba(255,176,0,.5))}
.sweep{position:absolute;left:50%;top:50%;width:2px;height:560px;transform-origin:top;background:linear-gradient(var(--cyan),transparent);box-shadow:0 0 20px var(--cyan);animation:sweep 6s linear infinite}@keyframes sweep{to{transform:rotate(360deg)}}
.node{position:absolute;padding:8px 10px;border:1px solid var(--cyan);background:rgba(0,0,0,.68);color:white;font-size:12px;letter-spacing:2px;text-shadow:0 0 8px var(--cyan);z-index:4}.node:before{content:"";display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--green);box-shadow:0 0 10px var(--green);margin-right:8px}.node.locked:before{background:var(--red);box-shadow:0 0 10px var(--red)}
.n1{left:17%;top:33%}.n2{left:68%;top:48%}.n3{left:82%;top:23%}.n4{left:43%;top:76%}.n5{left:8%;top:74%}.n6{left:46%;top:23%}.n7{left:68%;top:77%}
.catalog{display:grid;gap:14px}.incident{display:grid;grid-template-columns:110px 1fr 90px;gap:16px;align-items:center;color:var(--text);text-decoration:none;border:1px solid rgba(0,229,255,.24);background:rgba(4,12,18,.82);padding:16px;transition:.2s;position:relative;overflow:hidden}
.incident:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent,rgba(0,229,255,.08),transparent);transform:translateX(-100%);transition:.35s}.incident:hover:before{transform:translateX(100%)}.incident:hover{border-color:var(--cyan);box-shadow:0 0 22px rgba(0,229,255,.25)}
.file-id{color:var(--amber);font-weight:900;letter-spacing:2px}.incident h2{margin:0 0 6px;color:var(--cyan);letter-spacing:3px}.incident p{margin:0 0 6px;color:#e6fdff}.incident span{color:var(--muted);font-size:12px}.incident>b{text-align:center;color:#001014;background:var(--cyan);padding:9px;z-index:2}
.sealed>b,.locked>b,.ghost>b{background:#3a1016;color:#ff9aa6;border:1px solid var(--red)}.ghost{opacity:.62;filter:saturate(.5)}.ghost h2{color:#789}
.terminal-tease{margin-top:22px;border:1px solid rgba(0,229,255,.28);background:rgba(0,0,0,.72);box-shadow:inset 0 0 32px rgba(0,229,255,.08)}.terminal-head{display:flex;justify-content:space-between;border-bottom:1px solid rgba(0,229,255,.25);padding:10px;color:var(--amber)}
#archiveLog{margin:0;min-height:190px;padding:14px;white-space:pre-wrap;color:#dffbff}.index-command{display:flex;gap:8px;border-top:1px solid rgba(0,229,255,.25);padding:10px}.index-command label{color:var(--amber);font-size:22px}.index-command input{flex:1;background:#000;border:1px solid rgba(0,229,255,.28);color:#fff;padding:10px;font-family:inherit}.index-command button{background:var(--amber);border:0;font-weight:900;color:#001014;padding:0 12px}
footer{margin-top:20px;color:var(--muted);text-align:center;font-size:12px;letter-spacing:2px}
@media(max-width:800px){.topbar,.hero{display:block}.seal{margin-bottom:20px}.status-grid{grid-template-columns:repeat(2,1fr)}.incident{grid-template-columns:1fr}.incident>b{text-align:left;width:max-content}.hud-right{text-align:left;margin-top:8px}.map-panel{height:330px}}
