body{margin:0;background:#020202;font-family:"Courier New",monospace;overflow:hidden;color:cyan;text-align:center;}
body::before{content:"";position:fixed;width:100%;height:100%;top:0;left:0;background:repeating-linear-gradient(to bottom,rgba(255,255,255,.035) 0px,rgba(255,255,255,.035) 1px,transparent 2px,transparent 4px);pointer-events:none;z-index:999;}
h1{margin-top:4px;font-size:46px;text-shadow:0 0 20px cyan;animation:glitch 2s infinite;}
p{color:white;}
button{padding:16px 38px;background:#111;border:1px solid cyan;color:cyan;font-family:"Courier New";font-size:20px;cursor:pointer;box-shadow:0 0 20px cyan;}
button span{font-size:12px;color:#999;}
button:hover{background:cyan;color:black;}

#startScreen{height:100vh;display:flex;justify-content:center;align-items:center;flex-direction:column;}
#loading{display:none;margin-top:30px;color:#00ff99;font-size:22px;}
#gameScreen{display:none;}

#hud{display:flex;justify-content:center;gap:35px;font-size:19px;text-shadow:0 0 10px cyan;}
#staminaBox{width:1280px;height:13px;border:1px solid cyan;margin:6px auto;box-shadow:0 0 10px cyan;}
#staminaBar{height:100%;width:100%;background:cyan;box-shadow:0 0 15px cyan;}
#hint{font-size:12px;color:#aaa;margin-top:2px;}

#game{width:1280px;height:720px;border:2px solid cyan;margin:6px auto;background:black;position:relative;box-shadow:0 0 35px cyan;overflow:hidden;}
#player{width:20px;height:20px;background:cyan;position:absolute;left:35px;top:35px;box-shadow:0 0 20px cyan;z-index:10;}
#entity{width:22px;height:22px;background:red;position:absolute;left:980px;top:700px;box-shadow:0 0 25px red;z-index:9;display:none;}
#fakeEntity{width:22px;height:22px;background:red;position:absolute;left:400px;top:300px;box-shadow:0 0 25px red;z-index:9;display:none;opacity:.45;animation:blink .25s infinite;}

.tape{width:18px;height:18px;background:orange;position:absolute;box-shadow:0 0 15px orange;z-index:7;}
.pulse{width:20px;height:20px;background:white;position:absolute;box-shadow:0 0 25px white;z-index:8;animation:blink .4s infinite;}
.core{width:22px;height:22px;background:#b000ff;position:absolute;box-shadow:0 0 25px #b000ff;z-index:8;animation:blink .7s infinite;}
.terminalObj{width:26px;height:26px;background:#00ff99;position:absolute;box-shadow:0 0 25px #00ff99;z-index:8;animation:blink .8s infinite;}
.wall{position:absolute;background:#001a1a;border:1px solid cyan;box-shadow:0 0 10px cyan inset,0 0 7px cyan;z-index:4;}

#darkness{position:absolute;left:0;top:0;width:1280px;height:720px;pointer-events:none;z-index:20;background:black;}
#blackout{display:none;position:absolute;left:0;top:0;width:1280px;height:720px;background:black;z-index:30;pointer-events:none;}
#fakeUser{display:none;position:absolute;top:20px;right:25px;color:red;font-size:14px;z-index:25;text-shadow:0 0 10px red;animation:blink .6s infinite;}
#log{width:1280px;height:70px;margin:5px auto;text-align:left;font-size:13px;color:#00ff99;overflow:hidden;}

#jumpscare{display:none;position:fixed;top:0;left:0;width:100%;height:100%;background:red;z-index:5000;justify-content:center;align-items:center;flex-direction:column;font-size:90px;color:black;font-weight:bold;}
.jumpSmall{font-size:35px;}
.jumpPL{font-size:18px;margin-top:20px;}

#terminalUI{display:none;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);width:720px;height:500px;background:#000;border:2px solid #00ff99;z-index:9000;box-shadow:0 0 35px #00ff99;padding:18px;text-align:left;}
#terminalOutput{height:405px;overflow:auto;color:#00ff99;font-size:15px;text-shadow:0 0 8px #00ff99;}
#terminalInput{width:100%;background:#000;border:none;outline:none;color:#00ff99;font-family:"Courier New";font-size:16px;margin-top:12px;}
#terminalHint{font-size:12px;color:#777;margin-top:8px;}

.ending{height:100vh;display:flex;justify-content:center;align-items:center;flex-direction:column;background:black;}
.ending h2{font-size:76px;color:red;text-shadow:0 0 25px red;animation:glitch .4s infinite;}
.ending p{font-size:24px;letter-spacing:4px;color:white;}
.redBtn{margin-top:30px;border-color:red;color:red;box-shadow:0 0 20px red;}
.redBtn:hover{background:red;color:black;}
.smallPL{font-size:14px!important;color:#999!important;letter-spacing:0!important;margin-top:6px!important;}
.pressEnter{font-size:16px!important;color:#00ff99!important;letter-spacing:4px!important;animation:blink .8s infinite;margin-top:18px!important;}
.restartHint{font-size:12px!important;color:#777!important;letter-spacing:1px!important;}

@keyframes glitch{0%{text-shadow:0 0 20px cyan;}20%{text-shadow:3px 0 red,-3px 0 cyan;}40%{text-shadow:-2px 0 red,2px 0 cyan;}60%{text-shadow:0 0 25px cyan;}100%{text-shadow:0 0 20px cyan;}}
@keyframes blink{0%,50%{opacity:1;}51%,100%{opacity:.15;}}


.door{width:30px;height:46px;background:#111;position:absolute;border:2px solid #00ff99;box-shadow:0 0 20px #00ff99 inset,0 0 18px #00ff99;z-index:8;}
.lockedDoor{width:30px;height:46px;background:#160000;position:absolute;border:2px solid red;box-shadow:0 0 20px red inset,0 0 18px red;z-index:8;}
.bossTerminal{width:30px;height:30px;background:#00ff99;position:absolute;box-shadow:0 0 25px #00ff99;z-index:8;animation:blink .7s infinite;border:1px solid white;}
.guardian{width:46px;height:46px;background:red;position:absolute;box-shadow:0 0 35px red;z-index:9;display:none;animation:bossPulse .6s infinite;}
.roomFlash{animation:roomFlash .35s linear;}
@keyframes bossPulse{0%{transform:scale(1);opacity:1;}50%{transform:scale(1.15);opacity:.65;}100%{transform:scale(1);opacity:1;}}
@keyframes roomFlash{0%{filter:brightness(3) contrast(2);}100%{filter:none;}}
