:root{--bg:#090909;--fg:#ece9df;--acid:#cfff00;--red:#ff3b30;--dim:#8a8a80;--line:#2b2b28}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--fg);font-family:Consolas,"Courier New",monospace;min-height:100vh;overflow-x:hidden}
.noise{position:fixed;inset:0;pointer-events:none;opacity:.07;z-index:99;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.7'/%3E%3C/svg%3E")}
.scanlines{position:fixed;inset:0;pointer-events:none;z-index:98;background:repeating-linear-gradient(to bottom,transparent 0 3px,rgba(255,255,255,.018) 4px)}
.topbar{position:sticky;top:0;z-index:30;display:grid;grid-template-columns:1fr auto auto;gap:24px;align-items:center;padding:12px 18px;background:rgba(9,9,9,.94);border-bottom:1px solid var(--line);backdrop-filter:blur(8px);font-size:12px}.brand{font-weight:900;letter-spacing:2px}.status{color:var(--acid)}.dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--acid);box-shadow:0 0 12px var(--acid);margin-right:7px;animation:pulse 1.2s infinite}.clock{color:var(--dim)}
.board{width:min(1200px,94vw);margin:36px auto 100px;display:grid;grid-template-columns:repeat(12,1fr);grid-auto-rows:minmax(70px,auto);gap:16px;position:relative}.panel{border:1px solid var(--line);background:#11110f;padding:18px;box-shadow:8px 8px 0 #020202;position:relative;overflow:hidden}.panel:before{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(120deg,rgba(255,255,255,.025),transparent 30%)}
.hero{grid-column:1/8;grid-row:1/4;min-height:310px;background:#111}.hero h1{font-family:Arial Black,Impact,sans-serif;font-size:clamp(54px,9vw,118px);line-height:.78;margin:32px 0 22px;letter-spacing:-7px}.hero p{max-width:560px;color:#aaa;font-size:14px}.tag{position:absolute;right:16px;top:14px;color:var(--acid);font-size:11px}.barcode{position:absolute;bottom:14px;right:18px;letter-spacing:3px;color:#666}
.terminal{grid-column:8/13;grid-row:1/3;background:#060b05;color:#a8ff83;min-height:220px}.terminal-head{border-bottom:1px solid #254820;padding-bottom:8px;margin-bottom:14px;color:#e3ffcf}.terminal pre{font-size:12px;line-height:1.7;white-space:pre-wrap;margin:0}
.photo-card{grid-column:1/6;grid-row:auto / span 6;padding:10px}.photo-card:nth-of-type(5){grid-column:7/13}.photo-wrap{position:relative;aspect-ratio:4/5;overflow:hidden;background:#000}.photo-wrap img{width:100%;height:100%;object-fit:cover;display:block;filter:blur(28px) grayscale(1) contrast(1.6);transform:scale(1.08);transition:1s cubic-bezier(.2,.8,.2,1)}.lock-layer{position:absolute;inset:0;display:grid;place-content:center;text-align:center;background:repeating-linear-gradient(135deg,rgba(0,0,0,.65) 0 12px,rgba(25,25,25,.72) 12px 24px);border:1px dashed #5c5c58;transition:.8s}.lock-layer span{font-size:11px;color:#aaa;letter-spacing:4px}.lock-layer b{font:900 32px/1 Arial Black,sans-serif;margin-top:9px}.photo-card.unlocked img{filter:none;transform:none}.photo-card.unlocked .lock-layer{opacity:0;pointer-events:none}.caption{font-size:11px;color:#777;padding:9px 3px 0}
.tiny-panel{grid-column:8/13;grid-row:3/4}.meter{height:7px;background:#24241f;margin:8px 0 18px}.meter i{display:block;height:100%;background:var(--acid)}.fake-btn{font:inherit;background:none;border:1px solid #555;color:#aaa;padding:7px 10px;cursor:pointer}.fake-btn:hover{color:#fff;border-color:#fff}
.warning{grid-column:6/10;grid-row:auto / span 3;background:#17120d}.big-number{font:900 62px/1 Arial Black,sans-serif;color:var(--red)}.grid-data{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:18px;font-size:11px;color:#b99588}
.notes{grid-column:10/13;grid-row:auto / span 3}.notes h2{font-size:14px;margin-top:0;color:var(--acid)}.notes p{font-size:12px;color:#aaa;border-left:2px solid #333;padding-left:9px}
.cassette{grid-column:4/9;min-height:140px;display:flex;align-items:center;justify-content:center;gap:28px;background:#161616}.reel{width:62px;height:62px;border-radius:50%;border:10px dotted #777;animation:spin 8s linear infinite}.cassette span{position:absolute;bottom:10px;font-size:10px;color:#777}
.tilt-a{transform:rotate(-.7deg)}.tilt-b{transform:rotate(.45deg)}.tilt-c{transform:rotate(.6deg)}.tilt-d{transform:rotate(-.5deg)}.tilt-e{transform:rotate(.8deg)}.tilt-f{transform:rotate(-.8deg)}
.clue{position:fixed;z-index:12;font-size:9px;color:rgba(236,233,223,.20);user-select:none;transition:.2s}.clue:hover{color:var(--acid);transform:scale(1.8)}.c1{left:2.4vw;top:29vh}.c2{right:4vw;top:18vh}.c3{left:20vw;bottom:18vh}.c4{right:22vw;bottom:7vh}.c5{left:48vw;top:12vh}.c6{right:1.5vw;top:58vh}.c7{left:3vw;bottom:4vh}
.ticker{border-top:1px solid var(--line);border-bottom:1px solid var(--line);overflow:hidden;padding:8px 0;color:#666;white-space:nowrap}.ticker div{display:inline-block;animation:ticker 18s linear infinite}
.unlock{width:min(760px,92vw);margin:90px auto;padding:34px;border:1px solid #3b3b36;background:#0e0e0c;box-shadow:12px 12px 0 #020202}.unlock-title{font:900 42px/1 Arial Black,sans-serif;letter-spacing:-2px}.unlock p{color:#8a8a80}.unlock form{display:flex;gap:8px;margin-top:24px}.unlock input{flex:1;background:#050505;border:1px solid #444;color:#fff;padding:15px;font:inherit;outline:none;text-transform:none}.unlock input:focus{border-color:var(--acid);box-shadow:0 0 0 1px var(--acid)}.unlock button{border:0;background:var(--acid);color:#111;padding:0 22px;font:900 13px Arial,sans-serif;cursor:pointer}.message{font-size:11px;color:#777;margin-top:14px}.message.bad{color:var(--red)}.message.good{color:var(--acid)}
footer{display:flex;justify-content:space-between;gap:10px;padding:18px;font-size:10px;color:#555;border-top:1px solid #1d1d1b}
.shake{animation:shake .35s linear}.flash{animation:flash .8s linear}
@keyframes pulse{50%{opacity:.25}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes ticker{to{transform:translateX(-50%)}}@keyframes shake{25%{transform:translateX(-8px)}50%{transform:translateX(8px)}75%{transform:translateX(-4px)}}@keyframes flash{0%,100%{filter:none}50%{filter:invert(1)}}
@media(max-width:820px){.board{display:block}.panel{margin-bottom:16px;transform:none}.hero h1{letter-spacing:-4px}.topbar{grid-template-columns:1fr auto}.status{display:none}.unlock form{flex-direction:column}.unlock button{padding:15px}footer{flex-direction:column}.clue{position:absolute}}
