*{box-sizing:border-box} :root{--g:#9cff8a;--gd:#4b8f48;--dark:#061008}
html,body{margin:0;min-height:100%;background:#020403;color:var(--g);font-family:"Courier New",monospace;overflow-x:hidden}
body{min-height:100vh;display:grid;place-items:center;background:radial-gradient(circle at 50% 45%,#151b15 0,#070a08 42%,#010201 85%)}
.vault{position:fixed;inset:0;overflow:hidden;filter:saturate(.55);pointer-events:none}
.vault:after{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at center,transparent 25%,rgba(0,0,0,.48) 65%,#000 100%)}
.pipe{position:absolute;background:linear-gradient(90deg,#151915,#42473e 45%,#171a16);box-shadow:0 0 12px #000}
.p1{width:46px;height:110%;left:7%;top:-5%}.p2{height:34px;width:105%;top:13%;left:-2%;background:linear-gradient(#111,#464a40,#151715)}
.door{position:absolute;right:3%;top:17%;width:22vw;height:69vh;border:12px solid #181d18;background:linear-gradient(110deg,#0a0d0b,#161b16);box-shadow:inset 0 0 80px #000,0 0 30px #000}
.door-mark{font:700 10vw Arial;color:#242b24;position:absolute;right:9%;top:30%}
.warning{position:absolute;left:3%;bottom:5%;color:#202820;transform:rotate(-90deg);transform-origin:left bottom;letter-spacing:.35em;font-weight:bold}
.bulb{position:absolute;left:15%;top:5%;width:3px;height:12vh;background:#282b26;z-index:2}
.bulb span{position:absolute;bottom:-15px;left:-9px;width:21px;height:25px;border-radius:50%;background:#d6d3a0;box-shadow:0 0 18px 6px rgba(216,210,145,.18);animation:bulb 8s infinite}
@keyframes bulb{0%,7%,9%,11%,70%,72%,100%{opacity:.8}8%,10%,71%{opacity:.08}}
.terminal-wrap{position:relative;width:min(980px,92vw);margin:5vh auto;z-index:3;perspective:1200px}
.terminal{filter:drop-shadow(0 30px 35px #000)}
.bezel{padding:clamp(18px,3vw,42px);border-radius:32px;background:linear-gradient(135deg,#242820,#0b0d0b 50%,#25291f);border:2px solid #363a30;box-shadow:inset 0 0 35px #000}
.screen{position:relative;min-height:min(690px,78vh);padding:clamp(22px,4vw,48px);border-radius:44px/30px;background:radial-gradient(ellipse at center,#0a1b0d 0,#031006 62%,#010603 100%);box-shadow:inset 0 0 60px #000,inset 0 0 18px rgba(118,255,115,.16);overflow:hidden;text-shadow:0 0 7px rgba(135,255,120,.7);animation:screenflicker 7s infinite}
@keyframes screenflicker{0%,97%,100%{filter:brightness(1)}98%{filter:brightness(.72)}99%{filter:brightness(1.15)}}
.scanlines{position:absolute;inset:0;pointer-events:none;z-index:20;background:repeating-linear-gradient(0deg,rgba(0,0,0,.14) 0,rgba(0,0,0,.14) 1px,transparent 2px,transparent 4px);opacity:.8}
.glare{position:absolute;inset:0;pointer-events:none;z-index:19;background:linear-gradient(115deg,rgba(255,255,255,.035),transparent 28%,transparent 70%,rgba(255,255,255,.018))}
.boot,.ui{position:relative;z-index:3;font-size:clamp(13px,1.7vw,18px);line-height:1.5}
.hidden{display:none}.brand{font-size:clamp(30px,7vw,70px);font-weight:900;letter-spacing:.11em;margin-bottom:0}.sys{color:var(--gd);border-bottom:1px dashed #39703b;padding-bottom:14px;margin-bottom:20px}
.output{min-height:180px}.output p{margin:.25em 0}.dim{color:#4f8650}.warn{color:#c4d96d}
nav{display:grid;grid-template-columns:1fr 1fr;gap:7px 18px;margin:22px 0}
nav button,#sound{appearance:none;border:0;background:transparent;color:var(--g);font:inherit;text-align:left;padding:5px;cursor:pointer;text-shadow:inherit}
nav button:hover,nav button:focus{outline:1px solid #4e8b4b;background:rgba(104,255,95,.08)}
#commandForm{display:flex;align-items:center;border-top:1px dashed #315d33;padding-top:12px}
#command{flex:1;background:transparent;border:0;outline:0;color:var(--g);font:inherit;text-transform:uppercase;text-shadow:inherit;caret-color:transparent}
.cursor{width:9px;height:1.1em;background:var(--g);animation:blink .9s steps(1) infinite}@keyframes blink{50%{opacity:0}}
footer{position:absolute;left:0;right:0;bottom:-28px;display:flex;justify-content:space-between;color:#3d703e;font-size:.75em}
.controls{height:38px;padding:10px 40px;background:#121510;border-radius:0 0 20px 20px}
.controls i{display:inline-block;width:8px;height:8px;border-radius:50%;background:#283024;margin-right:10px;box-shadow:inset 0 0 3px #000}.controls b{float:right;width:42px;height:14px;border-radius:9px;background:#070807;border:1px solid #282c25}
#apparition{position:fixed;right:14%;top:35%;height:42vh;width:8vw;background:linear-gradient(90deg,transparent,rgba(0,0,0,.9),transparent);filter:blur(10px);opacity:0;z-index:1;pointer-events:none}
#apparition.show{animation:pass 1.3s ease-in-out}@keyframes pass{0%{opacity:0;transform:translateX(80px)}35%{opacity:.7}100%{opacity:0;transform:translateX(-170px)}}
@media(max-width:650px){.terminal-wrap{width:96vw;margin:2vh auto}.bezel{padding:14px;border-radius:22px}.screen{min-height:82vh;padding:24px 18px;border-radius:28px/20px}.door{width:45vw;right:-18%}nav{grid-template-columns:1fr}.output{min-height:155px}.controls{height:28px}footer{bottom:-17px}.warning{display:none}}
@media(prefers-reduced-motion:reduce){*{animation:none!important}.scanlines{opacity:.4}}