*{box-sizing:border-box}html,body{margin:0;background:#02070b;color:#a9c2d0;font-family:Consolas,"Courier New",monospace;overflow:hidden}body:before{content:"";position:fixed;inset:0;pointer-events:none;background:repeating-linear-gradient(0deg,#ffffff05 0 1px,transparent 1px 4px);z-index:20}.start,#blackout,#ending{position:fixed;inset:0;display:grid;place-items:center;z-index:100;background:#010306}.start>div{text-align:center}.logo{font-size:78px;color:#eafaff;text-shadow:5px 0 #ff1680,-5px 0 #00d9ff;letter-spacing:6px}.start p{letter-spacing:6px}.start button{margin:24px;padding:14px 35px;background:#15091a;color:#ff4da0;border:1px solid #ff1680;font:inherit}.start small{display:block;color:#5e7581}#blackout,#ending{display:none;background:#000}#apparition{display:none;text-align:center;color:#6d4656}.face{width:180px;height:230px;border-radius:50%;background:#080709;display:flex;justify-content:center;gap:45px;align-items:center}.face i,.endEyes i{width:24px;height:8px;border-radius:50%;background:#b18a9c;box-shadow:0 0 20px #a3174e}.endEyes{display:flex;gap:70px;margin-bottom:45px}.endEyes i{width:38px;height:10px}#ending{text-align:center;color:#704050}#ending h1{font-size:22px;letter-spacing:4px}#ending strong{display:block;margin-top:55px;font-size:25px;color:#bd6b89;letter-spacing:7px}
main{height:100vh;padding:18px 26px;display:grid;grid-template-rows:80px 1fr 245px 58px;gap:14px;background:radial-gradient(circle at 50% 0,#0a1720 0,#02070b 48%)}header{display:flex;align-items:center;border-bottom:1px solid #173f51;background:#050b10;padding:8px 18px}.brand{width:32%;display:grid;grid-template-columns:auto 1fr;gap:0 18px;align-items:center}.brand b{font-size:38px;color:#f3fbff;text-shadow:3px 0 #e71978,-3px 0 #00b6d6}.brand span{font-size:17px;color:#d2eef6}.brand small{grid-column:2;color:#427183}nav{display:flex;gap:10px;flex:1}button{cursor:pointer}nav button,.bottom button{background:#07131a;color:#7fb4c7;border:1px solid #15475b;padding:12px 20px;font:inherit}nav .active{border-color:#e41d78;color:#ff4d9d;background:#210718;box-shadow:inset 0 -3px #d61b70}.clock{display:grid;text-align:right;margin-right:22px;color:#d9f6ff}.rec{color:#ff315f;font-weight:bold}.cams{display:grid;grid-template-columns:1fr 1fr 1fr;gap:16px;min-height:0}.cam{border:2px solid;border-radius:8px;background:#02080c;overflow:hidden;display:grid;grid-template-rows:42px 1fr 28px;box-shadow:0 0 20px #000}.cyan{border-color:#1590ac}.magenta{border-color:#d41d72}.camhead,.cam footer{display:flex;align-items:center;justify-content:space-between;padding:0 12px;background:#061016}.cyan .camhead span{color:#35e4a4}.magenta .camhead{color:#ff3c8f}.feed{position:relative;overflow:hidden;background:#000}.feed img{width:100%;height:100%;object-fit:cover;display:block;filter:saturate(.75) contrast(1.08)}.scan{position:absolute;inset:0;background:repeating-linear-gradient(0deg,transparent 0 3px,#00000030 3px 4px);pointer-events:none}.fragment{position:absolute;width:30px;height:30px;border:1px solid #8ed6df;background:#07151ac9;color:#b9f3ff;border-radius:50%;font:700 12px Consolas;opacity:.28;transition:.2s}.fragment:hover{opacity:1;box-shadow:0 0 18px #47dcec}.feed1{}.fragment[data-frag="1"]{right:15%;bottom:18%}.fragment[data-frag="2"]{right:24%;top:25%}.fragment[data-frag="3"]{right:13%;bottom:22%;border-color:#ff4b94;color:#ff8cbb}.fragment.found{opacity:0;pointer-events:none}.entity{position:absolute;display:none}.e1{width:18px;height:62px;background:#020305;border-radius:45% 45% 25% 25%;left:49%;top:39%;box-shadow:0 0 15px #000}.e2{width:12px;height:38px;background:#000;right:34%;top:41%}.e3{width:82px;height:115px;border-radius:48%;background:#020104;left:42%;top:28%;box-shadow:0 0 30px #000}.e3 i{position:absolute;width:10px;height:4px;background:#cbb2bd;border-radius:50%;top:37px}.e3 i:first-child{left:22px}.e3 i:last-child{right:22px}.lower{display:grid;grid-template-columns:260px 1fr 270px;gap:14px}.lower>*{border:1px solid #174052;background:#051018;padding:12px 18px;overflow:hidden}.lower h3{margin:0 0 13px;color:#20d7ef}.system p{display:flex;justify-content:space-between;margin:8px 0}.system b{color:#30e99f}.terminal{position:relative}.terminal h3{color:#ff3d94}.terminal #log{font-size:13px;line-height:1.35;max-height:160px;overflow:hidden}.terminal p{margin:4px 0}.terminal em{font-style:normal;color:#ff3d78}.terminal b{color:#34eca8}#contain{display:none;position:absolute;right:18px;bottom:16px;background:#3c0b1d;color:#ffd0df;border:2px solid #ff3e7e;border-radius:7px;padding:13px 24px;font:inherit}.objective .rings{display:flex;justify-content:space-around;margin-top:28px}.rings span{width:48px;height:48px;border:2px solid #27536a;border-radius:50%;display:grid;place-items:center;color:#587888}.rings span.ok{border-color:#ff3884;color:#fff;background:#6a1235;box-shadow:0 0 20px #ff1d6b66}.bottom{display:flex;align-items:center;justify-content:space-between;border-top:1px solid #173f51}.bottom button:first-child{border-color:#d11a70;color:#ff4b9d}.after .feed img{filter:saturate(.45) contrast(1.3) brightness(.7)}.after .cam{animation:jitter .12s 2}.after .e1,.after .e3{display:block}.after .e1{transform:scale(2.1);top:32%}.after .e3{transform:scale(1.15)}@keyframes jitter{50%{transform:translateX(2px)}}.glitch{animation:glitch .18s 4}@keyframes glitch{25%{filter:hue-rotate(40deg);transform:translateX(2px)}75%{transform:translateX(-3px)}}@media(max-width:1100px){main{padding:8px;grid-template-rows:70px 1fr 220px 45px}.brand{width:27%}.brand span,.brand small,nav button:nth-child(n+2){display:none}.lower{grid-template-columns:210px 1fr 220px;font-size:12px}}
#stalker{position:fixed;z-index:65;display:none;pointer-events:none;width:260px;height:330px;transform-origin:50% 60%;filter:drop-shadow(0 0 20px #000) drop-shadow(0 0 8px #a00a3d);transition:left .18s linear,top .18s linear,transform .08s linear,opacity .18s}
#stalker img{width:100%;height:100%;object-fit:contain}#whisper{position:fixed;z-index:70;left:50%;bottom:9%;transform:translateX(-50%);font:16px Consolas;color:#b94c73;letter-spacing:4px;text-shadow:0 0 10px #a10b42;opacity:0;pointer-events:none;transition:opacity .2s}#whisper.show{opacity:1}
body.haunted main{box-shadow:inset 0 0 90px #5c001f55}body.haunted:after{content:"";position:fixed;inset:0;z-index:19;pointer-events:none;background:radial-gradient(circle at var(--mx,50%) var(--my,50%),transparent 0 22%,#0000 35%,#13000822 72%,#31000e38 100%)}
@keyframes echoFlash{0%{opacity:0;transform:scale(.7)}15%{opacity:1}70%{opacity:1}100%{opacity:0;transform:scale(1.55)}}#stalker.scare{display:block!important;left:38%!important;top:2%!important;width:420px;height:560px;animation:echoFlash .72s both;filter:contrast(1.5) drop-shadow(0 0 45px #e31352)}

.workspace{display:none;position:fixed;z-index:50;inset:112px 26px 62px;background:#02080ded;border:1px solid #14516a;box-shadow:0 0 80px #000, inset 0 0 80px #00131c;padding:0 18px 18px}
.workspace.open{display:block}.worktop{height:58px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #174b60;color:#ff3d94;font-size:18px}.worktop button{background:#100611;color:#ff4a99;border:1px solid #b41962;padding:10px 18px;font:inherit}
.workview{display:none;height:calc(100% - 58px);padding-top:18px}.workview.active{display:grid}
#archivesView{grid-template-columns:310px 1fr;gap:20px}.filelist{border-right:1px solid #173d4d;padding-right:16px}.filelist button{display:flex;width:100%;justify-content:space-between;margin-bottom:10px;padding:14px;background:#061118;color:#a7d1df;border:1px solid #173e4f;font:inherit;text-align:left}.filelist button:hover{border-color:#ff277f;color:#fff}.filelist span{font-size:11px;color:#c82f70}.document{padding:16px 32px;max-width:920px;background:linear-gradient(90deg,#061117,#03080c);border-left:3px solid #b51b5c}.document h2{color:#e9f9ff}.document p{line-height:1.65}.document blockquote{margin:30px 0;padding:18px;border-left:2px solid #ff2e78;color:#e780a6;background:#250611}.redacted{letter-spacing:3px;color:#48565b}.document em{color:#ff4b85}
#terminalView{grid-template-columns:1fr 280px;gap:20px}.bigterm{padding:22px;background:#010507;border:1px solid #0f5269;color:#8ecbda;font-size:16px;overflow:auto}.bigterm p{margin:7px 0}.prompt{display:flex;color:#ff438b}.prompt input{flex:1;background:transparent;border:0;outline:0;color:#fff;font:inherit;margin-left:8px}.termSide{border:1px solid #183e4d;padding:18px}.termSide h3{color:#ff3b8a}.termSide p{display:flex;justify-content:space-between}.termSide b{color:#31e6a3}
#recordsView{display:none}#recordsView.active{display:block}.records{max-width:1100px;margin:auto}.records h2{color:#21d9f0}.recordrow{display:grid;grid-template-columns:1fr 250px 100px;padding:18px;border-bottom:1px solid #183b49;background:#061016;margin:8px 0}.recordrow b{color:#d34476}.recordrow.current{border:1px solid #ff277b;box-shadow:0 0 25px #ff176033}.recordClue{display:none;margin-top:22px;padding:22px;border:1px solid #ff277b;background:#1b0712}.recordClue strong{color:#ff4d91}.recordClue button{background:#3b0a1d;color:#fff;border:1px solid #ff3a7e;padding:12px 20px;font:inherit}
.perception{position:fixed;z-index:90;left:50%;top:18%;transform:translateX(-50%);opacity:0;color:#c98b9f;letter-spacing:4px;text-shadow:0 0 14px #b1134d;background:#000a;padding:10px 18px;pointer-events:none;transition:opacity .25s}.perception.show{opacity:1}
.fragment.decoy{opacity:.2;border-style:dashed}.footstep{animation:foot .15s 4}@keyframes foot{50%{transform:translateX(1px);filter:brightness(.8)}}

#stalker{display:none!important}#presenceShadow{display:none;position:fixed;z-index:18;pointer-events:none;width:22px;height:78px;border-radius:45%;background:#000;filter:blur(1px);opacity:0;box-shadow:0 0 20px #000}#presenceShadow.flash{display:block;opacity:.72}#toolHint{display:block;margin-top:10px;color:#557d8c;line-height:1.45}.feed.blink{animation:blinkFeed .22s 2}@keyframes blinkFeed{0%,48%,52%,100%{opacity:1}50%{opacity:.1}}body.signal-slip header{filter:brightness(.72)}

#bootStatus{margin-top:14px;font:12px Consolas,monospace;color:#39d9ee;letter-spacing:1.5px}
#startBtn{cursor:pointer;position:relative;z-index:10001;pointer-events:auto!important}
#start{z-index:10000;pointer-events:auto}

.guide{position:fixed;z-index:40;right:24px;bottom:66px;padding:8px 13px;border:1px solid #164b60;background:#02090de8;color:#7fc8d9;font:12px Consolas;letter-spacing:1.4px;box-shadow:0 0 20px #000}
.anomaly{position:absolute;z-index:3;pointer-events:none;opacity:0;transition:opacity .1s;filter:blur(.7px)}
.anomaly1{width:13px;height:72px;left:68%;top:39%;background:#000;border-radius:48% 48% 18% 18%;box-shadow:0 0 14px #000}
.anomaly2{width:9px;height:54px;left:27%;top:30%;background:#000;border-radius:50%;transform:skew(-5deg);box-shadow:0 0 11px #000}
.anomaly3{width:30px;height:3px;left:55%;top:44%;background:#d7edf2;box-shadow:43px 0 0 #d7edf2,0 0 8px #fff}
.signaltear{position:absolute;z-index:4;left:0;right:0;top:52%;height:2px;background:#d7f7ff;opacity:0;mix-blend-mode:screen}
.feed.presence .anomaly{opacity:.55}.feed.presence .signaltear{animation:tear .22s 2}@keyframes tear{50%{opacity:.55;transform:translateY(31px) scaleX(.88)}}
.system-lie{animation:lie .18s 4}@keyframes lie{50%{opacity:.3;transform:translateX(2px)}}

/* V17 physical evidence system */
.evidence{position:absolute;width:58px;height:58px;border:0!important;background:transparent!important;color:#bdeaf2;cursor:pointer;z-index:8;filter:drop-shadow(0 0 5px #000);transition:.16s transform,.16s filter}
.evidence:hover{transform:scale(1.12) rotate(-2deg);filter:drop-shadow(0 0 7px #19d8ef)}
.evidence-label{position:absolute;left:50%;top:52px;transform:translateX(-50%);white-space:nowrap;font:8px Consolas;color:#86a9b4;opacity:0;letter-spacing:1px;background:#02080bcf;padding:2px 4px}
.evidence:hover .evidence-label{opacity:1}
.evidence-icon{position:absolute;inset:6px;display:block}
.evidence-tape .evidence-icon{background:#b8b0a0;border:1px solid #ded6c3;transform:rotate(-8deg);box-shadow:0 0 0 2px #171719 inset}
.badge-photo{position:absolute;left:6px;top:7px;width:12px;height:15px;background:#20252a}.badge-stripe{position:absolute;left:22px;right:5px;top:9px;height:3px;background:#6e191d;box-shadow:0 7px 0 #4b5558,0 14px 0 #4b5558}
.evidence-reel .evidence-icon{border-radius:50%;background:#171b1e;border:4px solid #6e7475;box-shadow:0 0 0 2px #111 inset}
.reel-hole{position:absolute;width:10px;height:10px;border-radius:50%;background:#020507;top:9px}.h1{left:8px}.h2{right:8px}.reel-core{position:absolute;width:10px;height:10px;border:2px solid #a0a5a5;border-radius:50%;left:15px;top:15px}
.evidence-polaroid .evidence-icon{background:#b8b19e;border:4px solid #d7d0bd;border-bottom-width:11px;transform:rotate(8deg);box-shadow:inset 0 0 16px #3a0b0b}.photo-mark{position:absolute;inset:4px;background:radial-gradient(circle,#130707 0 15%,#63202a 16% 19%,transparent 20%),linear-gradient(135deg,transparent 45%,#451019 46% 52%,transparent 53%)}
.evidence.found{opacity:.12;pointer-events:none;transform:scale(.75)}
.evidence-inventory{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:16px}
.inv-slot{min-height:58px;border:1px solid #174455;background:#020a0f;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;color:#416674;font:9px Consolas;letter-spacing:.7px}
.inv-slot.ok{border-color:#f02e7b;color:#ffd3e5;box-shadow:0 0 15px #e82c7330;background:#190710}
.inv-slot span{display:block;width:22px;height:22px;opacity:.35}.inv-slot.ok span{opacity:1}
.mini-badge{background:linear-gradient(135deg,#999 0 60%,#45111e 61% 70%,#aaa 71%);transform:rotate(-7deg)}
.mini-reel{border:4px solid #777;border-radius:50%;box-sizing:border-box;box-shadow:inset 0 0 0 4px #050709}
.mini-key{position:relative;border:3px solid #8b7952;border-radius:50%;box-sizing:border-box}.mini-key:after{content:"";position:absolute;width:15px;height:4px;background:#8b7952;left:15px;top:6px;box-shadow:9px 4px 0 -1px #8b7952}
.terminal-help{font:10px Consolas;color:#57b9ca;margin:4px 0 10px;letter-spacing:1px}

.entity{display:none!important}#shockFlash{position:fixed;inset:0;z-index:220;pointer-events:none;background:#e8faff;opacity:0}#shockFlash.hit{animation:shockflash .18s steps(2)}@keyframes shockflash{0%{opacity:.92}30%{opacity:.08;background:#9b003a}100%{opacity:0}}
#scareLayer{position:fixed;inset:0;z-index:210;pointer-events:none;display:none;background:radial-gradient(circle at 50% 46%,#26061088,#0000 18%,#000b 58%)}#scareLayer.show{display:block;animation:scareframe .24s steps(2)}
.scareSilhouette{position:absolute;left:50%;top:50%;width:170px;height:430px;transform:translate(-50%,-43%);background:radial-gradient(ellipse at 50% 18%,#050507 0 16%,transparent 17%),linear-gradient(90deg,transparent 13%,#030305 25% 75%,transparent 87%);filter:blur(2px) drop-shadow(0 0 25px #000)}
.scareSilhouette:before,.scareSilhouette:after{content:"";position:absolute;top:72px;width:5px;height:3px;background:#e9d8df;border-radius:50%;box-shadow:0 0 14px #ff2d77}.scareSilhouette:before{left:69px}.scareSilhouette:after{right:69px}.scareText{position:absolute;bottom:13%;width:100%;text-align:center;font-size:10px;letter-spacing:8px;color:#d8edf2}
@keyframes scareframe{0%{transform:translate(18px,-7px);filter:contrast(2)}50%{transform:translate(-11px,5px)}100%{transform:none}}.cam.impact{animation:impact .22s steps(3)}@keyframes impact{25%{transform:translate(7px,-3px)}50%{transform:translate(-8px,4px)}75%{transform:translate(4px,1px)}}
.feed.shadow-cross:after{content:"";position:absolute;z-index:7;top:13%;bottom:7%;width:48px;left:-60px;background:#020304;filter:blur(5px);opacity:.92;animation:crossfeed .28s linear forwards}@keyframes crossfeed{to{left:108%}}
#autoTerminal{position:fixed;right:24px;bottom:78px;z-index:160;max-width:420px;padding:10px 14px;border-left:2px solid #ff2e7d;background:#020609e8;color:#e7598f;font:11px Consolas;letter-spacing:1px;display:none;box-shadow:0 0 25px #000}#autoTerminal.show{display:block}
#ending{overflow:hidden!important;background:#010203!important;color:#dcecf1!important;grid-template-columns:1fr 1.1fr!important;padding:7vw!important;text-align:left!important}.takeoverNoise{position:absolute;inset:0;background:repeating-linear-gradient(0deg,#fff0 0 3px,#ffffff08 4px),radial-gradient(circle at 72% 45%,#a0003524,transparent 28%);animation:endnoise .13s infinite alternate}@keyframes endnoise{to{transform:translate(2px,-1px);filter:hue-rotate(12deg)}}
.finalEntity{position:relative;justify-self:center;width:min(32vw,420px);height:min(72vh,650px);background:linear-gradient(90deg,transparent 8%,#030405 25% 75%,transparent 92%);clip-path:polygon(34% 0,66% 0,76% 16%,83% 49%,100% 100%,0 100%,17% 49%,24% 16%);filter:drop-shadow(0 0 55px #7b0d34)}.finalEntity:before{content:"";position:absolute;left:24%;right:24%;top:7%;height:31%;border-radius:48%;background:radial-gradient(ellipse at center,#111 0 42%,#020203 68%);box-shadow:inset 0 -20px 35px #000}
#ending .endEyes{position:absolute;z-index:2;top:20%;left:50%;transform:translateX(-50%);gap:58px;margin:0}#ending .endEyes i{width:26px;height:7px;background:#f2e7ea;box-shadow:0 0 8px #fff,0 0 22px #f22970}.endingCopy{position:relative;z-index:2;align-self:center}#ending small{color:#47727e;letter-spacing:3px}#ending h1{font-size:clamp(30px,4vw,66px);line-height:.95;letter-spacing:1px;color:#edf9fb;margin:28px 0;text-shadow:3px 0 #e91e63,-2px 0 #00bfd8}#ending p{color:#6d939e;line-height:1.8;letter-spacing:2px}#ending strong{font-size:clamp(18px,2vw,32px);color:#ff2e7d;letter-spacing:7px;margin-top:35px}#ending em{display:block;margin-top:35px;color:#48636b;font-style:normal;letter-spacing:5px;font-size:10px}

/* V19 COMPETITION ENDING — staged final shock + unmistakable epilogue */
#finalShock{position:fixed;inset:0;z-index:1000;display:none;overflow:hidden;background:#000;pointer-events:none}#finalShock.fire{display:block;animation:finalShockFrame .62s steps(2) both}#finalShock img{position:absolute;left:50%;top:50%;width:min(105vw,1450px);height:115vh;object-fit:contain;transform:translate(-50%,-47%) scale(1.18);filter:contrast(2.4) brightness(.58) saturate(.55) drop-shadow(0 0 65px #b0003b)}#finalShock:before{content:"";position:absolute;inset:-8%;z-index:3;background:repeating-linear-gradient(0deg,#fff0 0 3px,#fff3 4px),radial-gradient(circle,#fff2 0 4%,#e5004555 12%,#0000 30%);mix-blend-mode:screen;animation:shockNoise .055s steps(2) infinite}.shockEyes{position:absolute;z-index:5;left:50%;top:33%;transform:translate(-50%,-50%);display:flex;gap:min(8vw,110px)}.shockEyes i{width:clamp(28px,4vw,58px);height:clamp(8px,1.1vw,16px);border-radius:50%;background:#fff;box-shadow:0 0 12px #fff,0 0 34px #ff195f,0 0 90px #ff004c}@keyframes finalShockFrame{0%{opacity:0;transform:scale(.75) rotate(-1deg)}7%{opacity:1}22%{transform:scale(1.06) translate(13px,-8px)}45%{transform:scale(.98) translate(-16px,7px)}78%{opacity:1;transform:scale(1.08)}100%{opacity:0;transform:scale(1.3)}}@keyframes shockNoise{to{transform:translate(8px,-5px)}}
#epilogue{position:fixed;inset:0;z-index:900;display:none;place-items:center;align-content:center;text-align:center;background:#000;color:#dff8ff;font-family:Consolas,"Courier New",monospace;letter-spacing:5px}#epilogue.show{display:grid}.epLogo{font-size:clamp(56px,9vw,150px);font-weight:800;letter-spacing:12px;text-shadow:5px 0 #ff176d,-5px 0 #00d7ed;opacity:0;animation:epIn 1.5s 1.2s forwards}.epSub{margin-top:8px;color:#6c8d97;font-size:clamp(10px,1.2vw,16px);opacity:0;animation:epIn 1.2s 2.1s forwards}.epStatus{margin-top:55px;color:#52737d;font-size:clamp(10px,1vw,14px);line-height:2;opacity:0;animation:epIn .8s 3.2s forwards}.epStatus b{color:#ff2b76}.epMemory{margin-top:42px;color:#f4f9fa;font-size:clamp(12px,1.4vw,20px);opacity:0}.epMemory.flash{animation:memoryBlink .34s steps(1) both}#restartFinal{margin-top:55px;padding:13px 25px;border:1px solid #31545f;background:#02080b;color:#7fa1ab;font:12px Consolas;letter-spacing:3px;opacity:0;cursor:pointer}#restartFinal.show{animation:epIn 1s forwards}#restartFinal:hover{border-color:#ff2b76;color:#fff;box-shadow:0 0 24px #ff2b7633}@keyframes epIn{to{opacity:1}}@keyframes memoryBlink{0%,100%{opacity:0}18%,62%{opacity:1;text-shadow:3px 0 #ff176d,-3px 0 #00d7ed}}
#ending.ending-die{animation:endingDie 1.1s steps(5) forwards}@keyframes endingDie{0%{opacity:1}18%{filter:brightness(2.4) contrast(2)}32%{transform:translateX(-12px)}45%{opacity:.8;transform:translateX(9px)}60%{filter:brightness(.25)}100%{opacity:0;filter:brightness(0)}}
