*{box-sizing:border-box}html,body{margin:0;background:#000;color:#e8e8e8;min-height:100%;font-family:Arial,Helvetica,sans-serif}body{overflow:hidden}button{font:inherit}#grain,#scan,#blood{position:fixed;inset:0;pointer-events:none;z-index:50}#grain{opacity:.13;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 160 160' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence baseFrequency='.9' numOctaves='4'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.4'/%3E%3C/svg%3E")}#scan{opacity:.14;background:repeating-linear-gradient(0deg,transparent 0 3px,#111 4px,#000 5px)}#blood{opacity:.12;background:radial-gradient(circle at 15% 0,#8d0000 0,transparent 22%),radial-gradient(circle at 90% 100%,#5d0000 0,transparent 25%)}#hud{position:fixed;left:0;right:0;top:0;z-index:20;display:flex;gap:25px;align-items:center;padding:16px 22px;background:#020202dd;border-bottom:1px solid #211;color:#777;font:11px monospace;transition:.3s}#hud b{color:#ddd;margin-right:auto;letter-spacing:.16em}#hud.hide{opacity:0;pointer-events:none}.scene{position:absolute;inset:0;display:none;place-items:center;padding:80px 20px 25px;overflow:auto;background:radial-gradient(circle at center,#171010,#060606 45%,#000 80%)}.scene.active{display:grid;animation:enter .55s ease}.center{text-align:center;width:min(900px,100%)}.narrow{width:min(650px,100%)}.tiny{font:10px monospace;letter-spacing:.22em;color:#666;margin-bottom:22px}h1{font-size:clamp(76px,15vw,180px);line-height:.72;letter-spacing:-.075em;margin:0;font-weight:950;text-shadow:0 0 50px #000}h1 em{font-style:normal;color:#c61f1f;text-shadow:0 0 50px #bd000060}h2{font-size:clamp(34px,7vw,78px);line-height:.93;letter-spacing:-.04em;margin:15px 0}p{color:#9a9a9a;line-height:1.6}.red,.ghost,.quiet,.choice{cursor:pointer;transition:.2s}.red{border:1px solid #ff3434;background:#b80b0b;color:white;padding:16px 25px;font-weight:900;letter-spacing:.08em;box-shadow:0 0 25px #e0000035}.red:hover{background:#e31717;transform:translateY(-2px)}.ghost,.choice{border:1px solid #333;background:#090909;color:#ddd;padding:15px 22px;font-weight:800;letter-spacing:.05em}.ghost:hover,.choice:hover{border-color:#9d2828}.quiet{display:block;margin:18px auto;background:none;border:0;color:#555}.row{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}.corridor{width:min(1100px,100%);display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:60px}.door{width:min(330px,75vw);height:520px;margin:auto;background:linear-gradient(90deg,#090606,#241818 48%,#090606);border:10px solid #100909;box-shadow:0 0 90px #000,inset 0 0 80px #000;position:relative}.door:before{content:"";position:absolute;inset:18px;border:2px solid #311}.handle{position:absolute;right:35px;top:53%;width:18px;height:18px;border-radius:50%;background:#8b6b42;box-shadow:0 0 12px #8b6b42}.copy small,.center small{color:#555}.count{font:900 clamp(70px,16vw,150px) monospace;color:#e42525;text-shadow:0 0 35px #f0000044;margin:25px}.battery{height:24px;border:2px solid #777;max-width:180px;margin:0 auto 25px;padding:3px;position:relative}.battery:after{content:"";position:absolute;right:-9px;top:6px;width:6px;height:8px;background:#777}.battery i{display:block;height:100%;width:100%;background:#c21c1c;transition:1s linear}.dangerText{color:#ddd}.fine{font-size:11px;color:#555}.note{background:#c7bca0;color:#160d0d;padding:28px;transform:rotate(-1.5deg);box-shadow:0 20px 80px #000;margin:25px auto;max-width:520px;background-image:linear-gradient(#0000,#6d00000c)}.note p{color:#372929;text-align:left;margin:0}.note h3{font:900 clamp(28px,6vw,50px)/1.1 monospace;text-align:left}.photo{width:180px;height:200px;background:#151515;margin:20px auto 5px;padding:10px;transform:rotate(2deg);box-shadow:0 4px 15px #0008}.silhouette{height:150px;background:radial-gradient(ellipse at 50% 35%,#444 0 8%,#111 9% 23%,#000 24%);filter:blur(2px)}.photo span{font:12px monospace}.eyes{font-size:clamp(65px,15vw,130px);color:#b80000;text-shadow:0 0 40px #f00000;animation:eyes 2s infinite}.ring{margin:28px auto;width:130px;height:130px;border:6px solid #211;border-top-color:#c11;border-radius:50%;display:grid;place-items:center;animation:spin 1s linear infinite}.ring b{font:55px monospace;animation:counterSpin 1s linear infinite}.grid4{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:30px auto}.darkRoom{height:330px;border:1px solid #171717;background:#000;position:relative;overflow:hidden;margin:28px 0;cursor:crosshair}.darkRoom:after{content:"";position:absolute;inset:-80px;background:radial-gradient(circle at var(--x,50%) var(--y,50%),transparent 0 45px,#000c 125px,#000 190px);pointer-events:none}.thing{position:absolute;right:18%;top:42%;font-size:65px;color:#c40000;opacity:.8;text-shadow:0 0 20px #f00}.holdbar{width:min(500px,90%);height:18px;border:1px solid #333;margin:30px auto;background:#090909}.holdbar i{display:block;width:0;height:100%;background:#c61c1c}.hold{user-select:none;-webkit-user-select:none}.huge{font-size:clamp(55px,12vw,130px)}.exitCount{font:900 150px monospace;color:#c51e1e}.end{font-size:clamp(70px,18vw,180px)}#toast{position:fixed;bottom:30px;left:50%;transform:translate(-50%,30px);opacity:0;z-index:80;background:#100808;border:1px solid #552020;padding:13px 18px;color:#ddd;font:11px monospace;transition:.25s}#toast.show{opacity:1;transform:translate(-50%,0)}#shutdown,#monster{position:fixed;inset:0;z-index:200;display:none;background:#000;place-items:center;text-align:center}#shutdown.show,#monster.show{display:grid}.shutdownInner h2{font:25px monospace;letter-spacing:.08em;color:#ddd}.shutdownInner p{font:70px monospace;color:#b00}.spinner{width:60px;height:60px;border:5px solid #222;border-top-color:#b00;border-radius:50%;margin:auto;animation:spin .8s linear infinite}.monsterWrap{position:absolute;inset:-8%;display:grid;place-items:center;animation:monsterRush .46s cubic-bezier(.1,.8,.1,1) forwards}.monsterWrap svg{width:min(105vw,900px);height:min(105vh,1000px);filter:contrast(1.4) brightness(.85) drop-shadow(0 0 45px #500)}.monsterText{position:absolute;bottom:8%;font:900 clamp(20px,4vw,48px) monospace;color:#fff;text-shadow:0 2px 0 #900,0 0 20px #000;letter-spacing:.05em}
.glitch{animation:glitch .15s steps(2) infinite}
@keyframes enter{from{opacity:0;filter:blur(8px);transform:scale(.98)}to{opacity:1;filter:none;transform:none}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes counterSpin{to{transform:rotate(-360deg)}}@keyframes eyes{50%{opacity:.35;transform:scale(.97)}}@keyframes monsterRush{0%{transform:scale(.05);filter:blur(20px);opacity:0}55%{opacity:1}100%{transform:scale(1.35);filter:blur(0);opacity:1}}@keyframes glitch{0%{transform:translate(0)}25%{transform:translate(-4px,2px)}50%{transform:translate(4px,-2px)}75%{transform:translate(-2px,-1px)}}
@media(max-width:700px){#hud{padding:13px 14px;gap:9px;font-size:9px}.corridor{grid-template-columns:1fr;gap:22px}.door{height:300px;width:190px}.grid4{grid-template-columns:1fr}.scene{padding-top:70px}.exitCount{font-size:110px}}