@import url('https://fonts.googleapis.com/css2?family=Archivo+Black&family=IBM+Plex+Mono:wght@400;600;700&display=swap');
:root { --ink:#0b0810; --cream:#f3e8cf; --orange:#ff5a19; --green:#b9ff38; --purple:#6c37a1; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--ink); color:var(--cream); font-family:"IBM Plex Mono",monospace; overflow-x:hidden; }
button,a { font:inherit; }
a { color:inherit; text-decoration:none; }
.noise { position:fixed; inset:0; z-index:50; pointer-events:none; opacity:.055; 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='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E"); }
.topbar { height:76px; display:flex; align-items:center; justify-content:space-between; padding:0 5vw; border-bottom:1px solid #f3e8cf38; position:absolute; width:100%; z-index:10; }
.brand,.footer-logo { font-family:"Archivo Black",sans-serif; font-size:16px; line-height:.8; letter-spacing:-1px; transform:skew(-4deg); }
.brand i,.footer-logo i { display:block; color:var(--orange); font-style:normal; letter-spacing:3px; font-size:10px; }
.navlinks { display:flex; gap:38px; font-size:11px; letter-spacing:2px; }
.navlinks a:hover { color:var(--green); }
.onair { font-size:10px; letter-spacing:2px; display:flex; align-items:center; gap:9px; }
.onair b { width:8px; height:8px; background:var(--orange); border-radius:50%; box-shadow:0 0 12px var(--orange); animation:pulse 1.2s infinite; }
.hero { min-height:780px; height:100vh; position:relative; display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; overflow:hidden; background:radial-gradient(circle at 50% 45%,#45245f 0,#21102c 24%,#0b0810 63%); }
.hero:before { content:""; position:absolute; inset:0; background:repeating-linear-gradient(0deg,transparent 0 5px,#ffffff07 6px); }
.eyebrow,.section-label { position:relative; color:var(--green); font-weight:700; font-size:11px; letter-spacing:4px; z-index:2; }
.eyebrow:before,.eyebrow:after { content:"✦"; color:var(--orange); margin:0 16px; }
.moon { position:absolute; width:360px; height:360px; border-radius:50%; background:#f2e0ad; box-shadow:0 0 65px #f1bd7459; top:17%; color:#111; overflow:hidden; }
.moon:after { content:""; position:absolute; width:110%; height:38%; left:-5%; bottom:-3%; background:linear-gradient(165deg,transparent 20%,#24132c 21% 27%,transparent 28%),linear-gradient(20deg,#110c14 40%,transparent 41%); }
.moon span { position:absolute; left:28%; top:16%; font-size:54px; transform:rotate(-18deg); filter:grayscale(1) brightness(0); }
.ghost { position:absolute; font-size:56px; color:#f3e8cf3b; animation:float 5s ease-in-out infinite; }
.ghost-a { left:13%; top:30%; }.ghost-b { right:15%; top:35%; animation-delay:-2s; }
h1 { margin:38px 0 15px; z-index:2; font-family:"Archivo Black",sans-serif; line-height:.72; text-transform:uppercase; transform:skew(-4deg); text-shadow:8px 8px 0 #21102c; }
h1 span { display:block; font-size:clamp(57px,10vw,148px); color:var(--cream); letter-spacing:-.07em; }
h1 strong { display:block; font-size:clamp(48px,8.5vw,126px); color:var(--orange); letter-spacing:.055em; -webkit-text-stroke:2px #7c230a; }
.lede { position:relative; z-index:2; font-size:13px; line-height:1.8; letter-spacing:1px; }
.watch { position:relative; z-index:2; background:var(--green); color:#111; padding:15px 23px; margin-top:18px; font-size:11px; font-weight:700; letter-spacing:2px; box-shadow:5px 5px 0 var(--orange); transition:.2s; }
.watch:hover { transform:translate(-2px,-2px); box-shadow:8px 8px 0 var(--orange); }
.watch span { margin-right:8px; }
.ticker { position:absolute; bottom:0; width:100%; overflow:hidden; background:var(--orange); color:#140d18; padding:8px 0; font-weight:700; font-size:11px; letter-spacing:3px; white-space:nowrap; transform:rotate(-1deg) scale(1.02); }
.ticker span { display:inline-block; min-width:180%; animation:scroll 18s linear infinite; }
.count-section { background:var(--cream); color:var(--ink); padding:110px 5vw 125px; text-align:center; position:relative; }
.count-section:before { content:""; position:absolute; inset:0; opacity:.1; background:repeating-linear-gradient(90deg,transparent 0 79px,#0b0810 80px); }
.count-section h2,.arcade h2 { font-family:"Archivo Black",sans-serif; font-size:clamp(54px,7vw,94px); line-height:.83; letter-spacing:-.065em; margin:22px 0 54px; position:relative; }
.count-section h2 em,.arcade h2 em { color:var(--orange); font-style:normal; -webkit-text-stroke:1px #722004; }
.countdown { display:grid; grid-template-columns:repeat(4,minmax(120px,190px)); justify-content:center; gap:14px; position:relative; }
.time-card { background:var(--ink); color:var(--cream); padding:28px 12px 20px; border:4px solid var(--ink); box-shadow:7px 7px 0 var(--orange); transform:rotate(-1deg); }
.time-card:nth-child(even){ transform:rotate(1deg); }
.time-card strong { display:block; font-family:"Archivo Black"; font-size:clamp(45px,6vw,78px); line-height:1; font-variant-numeric:tabular-nums; }
.time-card span { display:block; color:var(--green); margin-top:10px; font-size:10px; letter-spacing:3px; text-transform:uppercase; }
.date-line { position:relative; margin-top:46px; font-size:11px; font-weight:700; letter-spacing:3px; }
.arcade { padding:110px 8vw; min-height:860px; background:linear-gradient(135deg,#120b17,#26112e); display:grid; grid-template-columns:.8fr 1.2fr; gap:7vw; align-items:center; position:relative; overflow:hidden; }
.arcade:after { content:"13"; position:absolute; font-family:"Archivo Black"; font-size:600px; color:#ffffff04; right:-90px; bottom:-230px; pointer-events:none; }
.green { color:var(--green); }.arcade-copy { position:relative; z-index:2; }.arcade h2 { margin:22px 0 26px; }.arcade h2 em { color:var(--green); -webkit-text-stroke:1px #477b09; }.arcade-copy>p { max-width:420px; line-height:1.8; color:#d4c5d8; }
.howto { margin-top:42px; border-left:3px solid var(--orange); padding-left:18px; display:flex; flex-direction:column; gap:10px; font-size:11px; }.howto b { color:var(--orange); letter-spacing:3px; }.howto span { color:#aaa; }
.game-stats { display:flex; gap:40px; margin-top:42px; font-size:9px; letter-spacing:2px; color:#a593aa; }.game-stats b { display:block; color:var(--cream); font-size:18px; margin-top:5px; }
.cabinet { max-width:620px; width:100%; justify-self:center; background:#6b2da0; border:8px solid #1b0b25; box-shadow:16px 18px 0 #08050b, inset 0 0 0 4px #9863bd; transform:perspective(1000px) rotateY(-2deg); position:relative; z-index:2; }
.cabinet-top { background:var(--orange); color:#130a16; padding:15px; text-align:center; font-family:"Archivo Black"; font-size:14px; letter-spacing:1px; border-bottom:7px solid #1b0b25; display:flex; justify-content:space-around; }
.screen-wrap { padding:28px 32px; background:#351443; }.screen { aspect-ratio:4/3; background:linear-gradient(#140f35,#281447 65%,#0d291d 66%); border:9px solid #160c19; border-radius:30px 30px 42px 42px; position:relative; overflow:hidden; cursor:crosshair; touch-action:none; box-shadow:inset 0 0 40px #000; outline:none; }
.screen-scan { position:absolute; inset:0; z-index:9; pointer-events:none; background:repeating-linear-gradient(0deg,transparent 0 3px,#0003 4px); border-radius:20px; }.hud { position:absolute; top:13px; left:18px; right:18px; display:flex; justify-content:space-between; color:var(--green); font-size:11px; font-weight:700; z-index:5; }.skyline { position:absolute; bottom:22%; width:100%; color:#0c1216; font-size:54px; text-align:center; letter-spacing:-20px; white-space:nowrap; opacity:.8; }.drop { position:absolute; transform:translate(-50%,-50%); font-size:28px; z-index:3; filter:drop-shadow(0 3px 0 #000); }.player { position:absolute; bottom:5%; transform:translateX(-50%); display:flex; flex-direction:column; align-items:center; z-index:4; transition:left .06s linear; }.player span { font-size:39px; line-height:1; }.player small { font-size:22px; color:#d5b8db; line-height:.7; }
.game-modal { position:absolute; inset:0; z-index:12; display:flex; flex-direction:column; justify-content:center; align-items:center; background:#110a19d9; text-align:center; }.game-modal strong { font-family:"Archivo Black"; color:var(--green); font-size:clamp(22px,3vw,37px); text-shadow:3px 3px var(--purple); }.game-modal p { font-size:10px; letter-spacing:2px; }.game-modal button { margin-top:12px; border:0; background:var(--orange); color:#120b17; padding:12px 20px; font-weight:700; cursor:pointer; box-shadow:4px 4px 0 var(--green); }.game-modal button:hover { transform:translateY(-2px); }
.controls { min-height:125px; display:flex; align-items:center; justify-content:space-around; border-top:7px solid #1b0b25; background:#542078; padding:15px 15%; }.controls>button { display:none; width:52px; height:52px; border-radius:50%; background:var(--orange); border:4px solid #1b0b25; box-shadow:0 5px 0 #1b0b25; }.joystick { position:relative; width:70px; height:80px; }.joystick i { position:absolute; width:18px; height:54px; background:#171019; left:27px; bottom:16px; transform:rotate(8deg); border-radius:8px; }.joystick b { position:absolute; width:48px; height:48px; border-radius:50%; background:var(--orange); left:25px; top:-2px; box-shadow:inset -8px -8px #a52a0c,0 5px 0 #211025; }.joystick:after { content:""; position:absolute; width:80px; height:22px; border-radius:50%; background:#2b1239; bottom:0; left:-4px; border:4px solid #1b0b25; }

.dead-channel { min-height:900px; padding:130px 8vw; display:grid; grid-template-columns:.8fr 1.2fr; align-items:center; gap:7vw; position:relative; overflow:hidden; color:#eee; background:radial-gradient(circle at 70% 50%,#353535 0,#161616 38%,#050505 72%); border-top:1px solid #ffffff24; }
.dead-channel:before { content:""; position:absolute; inset:0; opacity:.12; background:repeating-linear-gradient(0deg,transparent 0 6px,#fff 7px); pointer-events:none; }
.dead-channel:after { content:"NO SIGNAL"; position:absolute; bottom:-50px; left:-25px; color:#ffffff06; font-family:"Archivo Black"; font-size:clamp(120px,19vw,300px); letter-spacing:-.08em; white-space:nowrap; }
.dead-channel-copy,.tv-scene { position:relative; z-index:2; }
.dead-channel .section-label { color:#d4d4d4; }
.dead-channel h2 { margin:22px 0 30px; font-family:"Archivo Black",sans-serif; font-size:clamp(52px,6.4vw,88px); line-height:.83; letter-spacing:-.07em; }
.dead-channel h2 em { color:transparent; font-style:normal; -webkit-text-stroke:2px #eee; }
.dead-channel-copy>p { color:#aaa; font-size:12px; line-height:1.9; }
.signal-note { display:flex; align-items:center; gap:11px; margin-top:38px; color:#aaa; font-size:9px; letter-spacing:2px; }
.signal-note b { width:9px; height:9px; border-radius:50%; background:#eee; box-shadow:0 0 12px #fff; animation:signalBlink .7s steps(1) infinite; }
.tv-scene { width:min(660px,100%); justify-self:center; padding-top:75px; }
.antenna { position:absolute; width:230px; height:100px; left:50%; top:0; transform:translateX(-50%); }
.antenna i { position:absolute; left:50%; bottom:0; width:6px; height:115px; border-radius:5px; background:linear-gradient(90deg,#555,#ddd,#333); transform-origin:bottom; }
.antenna i:first-child { transform:rotate(-48deg); }.antenna i:nth-child(2) { transform:rotate(48deg); }
.antenna b { position:absolute; width:30px; height:18px; border-radius:50%; background:#383838; border:3px solid #111; left:calc(50% - 15px); bottom:-7px; }
.television { aspect-ratio:1.35/1; position:relative; display:grid; grid-template-columns:1fr 105px; gap:18px; padding:38px 32px 55px; border:8px solid #090909; border-radius:48px 48px 70px 70px; background:linear-gradient(135deg,#777,#242424 52%,#4b4b4b); box-shadow:inset 8px 8px 16px #ffffff2e,inset -14px -14px 25px #0008,18px 22px 0 #0008; }
.tv-screen-frame { min-width:0; padding:13px; background:#111; border-radius:48% / 13%; box-shadow:inset 0 0 0 5px #030303,0 4px 0 #8886; }
.tv-screen { height:100%; position:relative; overflow:hidden; border-radius:48% / 13%; background:#cfcfcf; box-shadow:inset 0 0 50px #000,0 0 20px #fff2; filter:contrast(1.25); animation:tvFlicker .16s infinite; }
.static-noise { position:absolute; inset:-60%; background-image:repeating-radial-gradient(circle at 30% 20%,#fff 0 1px,#111 1px 2px,transparent 2px 4px),repeating-radial-gradient(circle at 70% 80%,#777 0 1px,#eee 1px 2px,#222 2px 3px); background-size:7px 7px,9px 9px; opacity:.82; animation:staticDance .12s steps(2) infinite; }
.tv-screen:before { content:""; position:absolute; inset:0; z-index:5; background:repeating-linear-gradient(0deg,transparent 0 3px,#0007 4px); pointer-events:none; }
.tv-screen:after { content:""; position:absolute; inset:0; z-index:8; background:radial-gradient(ellipse at center,transparent 35%,#000b 100%); pointer-events:none; }
.signal-roll { position:absolute; z-index:4; left:0; right:0; height:18%; top:-25%; background:#fff9; filter:blur(7px); animation:signalRoll 3.8s linear infinite; }
.channel-id { position:absolute; z-index:7; top:10%; right:10%; color:#eee; font-size:10px; font-weight:700; letter-spacing:2px; text-shadow:1px 1px #000; opacity:.7; }
.signal-pumpkin { position:absolute; z-index:3; width:49%; aspect-ratio:1.12; left:50%; top:53%; transform:translate(-50%,-50%) scale(.2); border-radius:44% 44% 48% 48%; background:radial-gradient(ellipse at 50% 48%,#ddd 0 53%,#777 55% 60%,#ddd 62% 68%,#555 70%); filter:grayscale(1) blur(9px); opacity:0; transition:opacity .35s,transform 1.6s cubic-bezier(.2,.7,.1,1),filter 1.1s; box-shadow:inset 18px 0 20px #3338,inset -18px 0 20px #3338,0 0 30px #fff6; }
.pumpkin-stem { position:absolute; width:18%; height:28%; left:43%; top:-18%; background:#aaa; clip-path:polygon(18% 100%,35% 0,100% 15%,70% 100%); }
.pumpkin-face { position:absolute; inset:31% 0 0; text-align:center; color:#151515; font-family:"Archivo Black"; font-size:clamp(12px,2vw,27px); line-height:1.05; text-shadow:0 0 6px #fff; }
.pumpkin-face b { font-size:1.15em; letter-spacing:-.35em; }
.tv-screen.haunted .signal-pumpkin { opacity:.9; transform:translate(-50%,-50%) scale(1.12); filter:grayscale(1) blur(1px); }
.tv-screen.haunted { animation:tvFlicker .08s infinite,screenLurch .22s steps(2) infinite; }
.tv-screen.signal-drop { filter:brightness(.15) contrast(3); }
.tv-speaker { display:none; }
.tv-controls { display:flex; flex-direction:column; align-items:center; gap:16px; padding-top:9px; }
.dial { width:66px; height:66px; border:5px solid #111; border-radius:50%; background:radial-gradient(circle at 35% 30%,#888,#242424 65%); box-shadow:0 5px 0 #111; position:relative; }
.dial.small { width:48px; height:48px; }.dial i { position:absolute; width:4px; height:23px; background:#ddd; top:5px; left:calc(50% - 2px); transform:rotate(35deg); transform-origin:50% 27px; }
.tv-controls>span { font-size:8px; line-height:2; text-align:center; color:#bbb; letter-spacing:2px; }
.tv-brand { position:absolute; bottom:21px; left:39%; font-size:9px; letter-spacing:5px; color:#bbb; }
.tv-legs { display:flex; justify-content:space-between; width:72%; margin:-4px auto 0; }.tv-legs i { display:block; width:34px; height:60px; background:#222; border:5px solid #080808; transform:skew(-12deg); }.tv-legs i:last-child { transform:skew(12deg); }
.tv-caption { margin:24px 0 0; text-align:center; color:#777; font-size:9px; letter-spacing:3px; }
footer { background:#070509; min-height:260px; border-top:1px solid #ffffff1c; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:22px; text-align:center; }.footer-logo { font-size:28px; }.footer-logo i { font-size:16px; }.footer-logo+p { color:var(--green); font-size:11px; letter-spacing:2px; }footer>span { color:#5f5664; font-size:8px; letter-spacing:2px; }

/* Channel 31 mystery layer */
.pumpkin-counter { position:fixed; z-index:38; left:18px; bottom:18px; padding:10px 13px; border:1px solid #ffffff33; background:#08050de8; color:#aaa; font-size:8px; letter-spacing:1.5px; box-shadow:4px 4px 0 #0008; }.pumpkin-counter b { color:var(--green); }
.hidden-pumpkin { position:absolute; z-index:25; border:0; padding:0; background:transparent; font-size:23px; filter:grayscale(.35) drop-shadow(0 3px 2px #000); cursor:pointer; opacity:.58; transform:rotate(var(--tilt)); transition:.2s; }.hidden-pumpkin:hover,.hidden-pumpkin:focus-visible { opacity:1; transform:rotate(0) scale(1.35); outline:2px dashed var(--green); outline-offset:3px; }.hidden-pumpkin.found { animation:pumpkinFound .6s forwards; pointer-events:none; }
.channel-message { position:absolute; z-index:6; inset:19% 10%; display:flex; align-items:center; justify-content:center; text-align:center; color:#fff; font-family:"Archivo Black"; font-size:clamp(13px,2vw,25px); line-height:1.15; letter-spacing:2px; text-shadow:2px 2px #000; opacity:0; transition:opacity .18s; }.channel-message.show { opacity:.9; }
.tv-controls .dial { display:block; padding:0; cursor:pointer; appearance:none; }.tv-controls .dial:hover { filter:brightness(1.35); }.tv-controls .dial:active i { transform:rotate(125deg); }.tv-controls .dial:focus-visible { outline:3px solid var(--green); outline-offset:4px; }

.case-file { position:relative; overflow:hidden; padding:120px 6vw 140px; background:#efe3c8; color:#151018; }.case-file:before { content:""; position:absolute; inset:0; opacity:.11; background:repeating-linear-gradient(0deg,transparent 0 24px,#3d1a48 25px),repeating-linear-gradient(90deg,transparent 0 24px,#3d1a48 25px); }.case-heading { position:relative; z-index:2; max-width:950px; margin:0 auto 65px; text-align:center; }.case-heading h2 { margin:20px 0 28px; font-family:"Archivo Black"; font-size:clamp(48px,7.3vw,104px); line-height:.82; letter-spacing:-.07em; }.case-heading h2 em { color:var(--orange); font-style:normal; -webkit-text-stroke:1px #6d1e08; }.case-heading p { max-width:630px; margin:auto; font-size:12px; line-height:1.8; }
.evidence-grid { position:relative; z-index:2; max-width:1180px; margin:auto; display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }.evidence-card { min-height:350px; position:relative; overflow:hidden; padding:30px; border:4px solid #151018; background:#f7eed9; box-shadow:8px 8px 0 #151018; transform:rotate(-.6deg); }.evidence-card:nth-child(even) { transform:rotate(.6deg); }.evidence-card h3 { margin:14px 0; font-family:"Archivo Black"; font-size:27px; line-height:.9; }.evidence-card>p { font-size:10px; line-height:1.7; }.evidence-number { color:#6b2da0; font-size:8px; font-weight:700; letter-spacing:3px; }.danger-card { background:#1a0e20; color:#eee; }.forbidden-button { display:block; width:150px; height:150px; margin:25px auto 15px; border:8px solid #4b0d08; border-radius:50%; background:radial-gradient(circle at 35% 26%,#ff8a5e,var(--orange) 38%,#8b1b05 72%); color:#190a05; font-weight:900; font-size:12px; cursor:pointer; box-shadow:0 12px 0 #390905,0 17px 20px #000; transition:.12s; }.forbidden-button:active { transform:translateY(9px); box-shadow:0 3px 0 #390905; }.danger-card small { display:block; text-align:center; color:#927f99; font-size:8px; letter-spacing:2px; }
.telephone { margin:18px auto 8px; color:#21151c; text-align:center; font-size:95px; line-height:1; transform:rotate(-8deg); }.case-button { border:3px solid #151018; background:var(--green); color:#111; padding:11px 16px; font-size:9px; font-weight:700; letter-spacing:1.5px; cursor:pointer; box-shadow:4px 4px 0 #151018; }.case-button:hover { transform:translate(-2px,-2px); box-shadow:6px 6px 0 #151018; }.terminal-answer { min-height:45px; margin-top:21px!important; padding:11px; background:#17131b; color:var(--green); font-size:9px!important; font-family:"IBM Plex Mono"; }
.scanner-eye { width:130px; height:130px; margin:22px auto; border:7px solid #19121c; border-radius:50%; background:radial-gradient(circle,#ff5a19 0 8%,#170a1e 9% 23%,#b9ff38 24% 29%,#110b15 30% 48%,#6c37a1 49% 54%,#111 55%); box-shadow:inset 0 0 24px #000,0 0 0 5px #ddd; }.scanner-card.scanning .scanner-eye { animation:scannerSpin .35s linear infinite; }.scanner-card.scanned .scanner-eye { box-shadow:inset 0 0 24px #000,0 0 28px var(--green); }
.report-card { background:#d9d3c1; }.report-lines { margin-top:25px; border-top:2px solid #292129; }.report-lines p { display:grid; grid-template-columns:70px 1fr; gap:10px; margin:0; padding:13px 4px; border-bottom:1px solid #777; font-size:9px; line-height:1.5; }.report-lines b { color:#702a78; }.guestbook-card { background:#f1dacb; }.guestbook { margin-top:22px; font-family:cursive; transform:rotate(-1deg); }.guestbook p { padding:10px 2px; margin:0; border-bottom:1px solid #ad978b; font-size:13px; }.guestbook b { font-family:"IBM Plex Mono"; font-size:7px; margin-right:8px; }.guestbook .tomorrow { color:#a01909; animation:guestFlicker 2s steps(1) infinite; }
.commercial-card { background:#ffa873; text-align:center; }.product-teeth { position:relative; width:120px; margin:18px auto 5px; font-size:88px; line-height:1; }.product-teeth span { position:absolute; left:32px; top:49px; color:#eee; font-size:29px; letter-spacing:-8px; text-shadow:0 2px #111; }.commercial-card>p { font-weight:700; text-transform:uppercase; }.clue-console { position:relative; z-index:2; max-width:900px; margin:70px auto 0; padding:25px; display:grid; grid-template-columns:repeat(3,1fr) auto; gap:12px; background:#130d18; border:5px solid #6c37a1; box-shadow:10px 10px 0 var(--orange); }.clue-console>div { padding:13px; border:1px solid #ffffff22; }.clue-console span { display:block; color:#8c7c90; font-size:7px; letter-spacing:2px; }.clue-console b { display:block; margin-top:6px; color:#675e69; font-size:10px; }.clue-console b.unlocked { color:var(--green); }.clue-console button { border:0; padding:14px; background:#39303b; color:#777; font-size:8px; font-weight:700; letter-spacing:1px; }.clue-console button:not(:disabled) { background:var(--orange); color:#111; cursor:pointer; animation:pulse 1s infinite; }

.cursor-ghost { position:fixed; z-index:45; left:0; top:0; pointer-events:none; font-size:23px; opacity:0; transform:translate(-50%,-50%); transition:opacity .3s; filter:drop-shadow(0 2px 5px #000); }.cursor-ghost.active { opacity:.75; }.cursor-ghost.wandering { transition:left 4s ease-in-out,top 4s ease-in-out,opacity .3s; }
.edge-creature { position:fixed; z-index:31; top:45%; width:66px; height:150px; background:#08050c; transition:transform .8s cubic-bezier(.2,.8,.2,1); pointer-events:none; }.edge-creature i { position:absolute; width:18px; height:78px; top:-54px; border-radius:18px 18px 0 0; background:#08050c; }.edge-creature i:nth-child(1){left:4px;transform:rotate(-7deg)}.edge-creature i:nth-child(2){left:24px}.edge-creature i:nth-child(3){left:44px;transform:rotate(7deg)}.edge-creature b { display:block; margin-top:33px; color:var(--green); font-size:13px; text-align:center; letter-spacing:7px; }.left-creature { left:0; transform:translateX(-100%); }.right-creature { right:0; transform:translateX(100%); }.edge-creature.peek { transform:translateX(0); }
.broadcast-overlay,.commercial-overlay,.ending-overlay { position:fixed; z-index:80; inset:0; display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; background:#080808f5; color:#eee; opacity:0; visibility:hidden; pointer-events:none; transition:opacity .12s; }.broadcast-overlay.active,.commercial-overlay.active,.ending-overlay.active { opacity:1; visibility:visible; pointer-events:auto; }.broadcast-overlay:after { content:""; position:absolute; inset:0; background:repeating-linear-gradient(0deg,transparent 0 4px,#fff1 5px); animation:staticDance .14s steps(2) infinite; }.broadcast-overlay>* { position:relative; z-index:2; }.broadcast-bars { width:80%; max-width:650px; height:95px; margin-bottom:35px; background:linear-gradient(90deg,#bbb 0 14%,#333 14% 28%,#eee 28% 42%,#555 42% 56%,#aaa 56% 70%,#111 70% 84%,#ddd 84%); filter:grayscale(1); }.broadcast-overlay span,.ending-overlay>span,.commercial-overlay>span { font-size:9px; letter-spacing:4px; }.broadcast-overlay strong { max-width:900px; margin:25px; font-family:"Archivo Black"; font-size:clamp(38px,7vw,100px); line-height:.9; }.broadcast-overlay p { color:#aaa; font-size:10px; letter-spacing:3px; }
.commercial-overlay { padding:30px; background:radial-gradient(circle,#bd5a23,#311329 70%); }.commercial-overlay h2,.ending-overlay h2 { margin:25px 0; font-family:"Archivo Black"; font-size:clamp(40px,7vw,95px); line-height:.84; }.commercial-pumpkin { position:relative; font-size:100px; }.commercial-pumpkin b { position:absolute; left:29px; bottom:28px; color:#fff; font-size:35px; letter-spacing:-12px; }.commercial-overlay p { color:var(--green); font-weight:700; letter-spacing:3px; }.commercial-overlay small { margin-top:20px; }.commercial-overlay.corrupted small { font-size:0; }.commercial-overlay.corrupted small:after { content:"THE TEETH ARE A MAP. COUNT THE PUMPKINS."; color:#fff; font-size:12px; letter-spacing:3px; }.overlay-close { position:absolute; right:25px; top:20px; border:0; background:transparent; color:#fff; font-size:40px; cursor:pointer; }
.ending-overlay { padding:7vw; background:radial-gradient(circle,#2b1239,#050307 65%); }.ending-overlay p { max-width:750px; line-height:1.9; color:#c9bacb; }.ending-overlay .alternate-ending { padding:15px; border:1px dashed var(--green); color:var(--green); }.ending-overlay>strong { margin-top:30px; color:var(--orange); letter-spacing:2px; }.midnight-banner { position:fixed; z-index:55; left:0; right:0; top:0; transform:translateY(-110%); padding:9px; background:#d7d7d7; color:#080808; text-align:center; font-size:9px; font-weight:700; letter-spacing:2px; transition:.4s; }.midnight .midnight-banner { transform:translateY(0); }.midnight { --orange:#e9e9e9; --green:#f1f1f1; filter:grayscale(.72) contrast(1.08); }.midnight footer>p:after { content:" YOU SHOULD HAVE LEFT EARLIER."; color:#fff; }.page-shake { animation:pageShake .32s steps(2) 4; }.lights-out main { filter:brightness(.12); }.channel-zero main { filter:grayscale(1) invert(1) contrast(1.5); }.channel-zero:after { content:"CHANNEL 0 KNOWS WHAT YOU PRESSED"; position:fixed; z-index:70; inset:45% 0 auto; text-align:center; color:#000; font-family:"Archivo Black"; font-size:clamp(22px,5vw,70px); }

/* Station Annex: 18 additional transmissions */
.station-annex { position:relative; overflow:hidden; padding:120px 5vw 150px; color:#eee; background:linear-gradient(145deg,#09070b,#1b0d21 52%,#080609); border-top:8px solid var(--orange); }.station-annex:before { content:""; position:absolute; inset:0; opacity:.08; background:repeating-linear-gradient(90deg,transparent 0 59px,#fff 60px),repeating-linear-gradient(0deg,transparent 0 59px,#fff 60px); }.annex-heading { position:relative; z-index:2; max-width:1000px; margin:0 auto 65px; text-align:center; }.annex-heading h2 { margin:22px 0 25px; font-family:"Archivo Black"; font-size:clamp(50px,7vw,100px); line-height:.84; letter-spacing:-.07em; }.annex-heading h2 em { color:var(--green); font-style:normal; -webkit-text-stroke:1px #426e0d; }.annex-heading>p { color:#aa9daf; font-size:11px; }.station-readout { display:flex; justify-content:center; gap:10px; flex-wrap:wrap; margin-top:35px; }.station-readout span { min-width:175px; padding:12px; border:1px solid #ffffff24; background:#050307; color:#756b79; font-size:8px; letter-spacing:2px; }.station-readout b { display:block; margin-top:5px; color:var(--orange); font-size:19px; }
.annex-grid { position:relative; z-index:2; max-width:1240px; margin:auto; display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }.annex-card { position:relative; min-height:360px; padding:28px; overflow:hidden; border:2px solid #6c37a1; background:#130e18; box-shadow:7px 7px 0 #050307; }.annex-card:after { content:""; position:absolute; z-index:0; inset:0; opacity:.05; pointer-events:none; background:repeating-linear-gradient(0deg,transparent 0 4px,#fff 5px); }.annex-card>* { position:relative; z-index:1; }.wide-card { grid-column:span 2; }.annex-label { color:var(--green); font-size:7px; font-weight:700; letter-spacing:3px; }.annex-card h3 { margin:14px 0 20px; font-family:"Archivo Black"; font-size:25px; line-height:.9; }.annex-card>p,.annex-card li { color:#aa9daf; font-size:9px; line-height:1.7; }.annex-button,.adventure-choices button { padding:11px 14px; border:2px solid var(--orange); background:transparent; color:var(--orange); font-size:8px; font-weight:700; letter-spacing:1.5px; cursor:pointer; }.annex-button:hover,.adventure-choices button:hover { background:var(--orange); color:#111; }.annex-output { min-height:40px; padding:10px!important; background:#070509; color:var(--green)!important; font-size:8px!important; letter-spacing:1px; }
.tv-guide { margin-bottom:18px; }.tv-guide p { display:grid; grid-template-columns:55px 1fr; gap:8px; margin:0; padding:9px 0; border-bottom:1px solid #ffffff18; color:#b7abb9; font-size:8px; }.tv-guide b { color:var(--orange); }.guide-glitch { animation:guestFlicker 1.4s steps(1) infinite; }.staff-list { display:grid; gap:8px; }.staff-list button { display:flex; align-items:center; gap:12px; padding:9px; border:1px solid #ffffff1a; background:#09070b; color:#eee; text-align:left; cursor:pointer; }.staff-list i { width:38px; height:38px; display:grid; place-items:center; background:#d6d6d6; color:#111; font-size:22px; filter:grayscale(1); }.staff-list span { font-size:9px; font-weight:700; }.staff-list small { display:block; margin-top:4px; color:#766b7b; font-size:7px; }
.camera-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:10px; }.camera-feed { aspect-ratio:16/9; position:relative; overflow:hidden; border:5px solid #030203; background:radial-gradient(circle,#777,#181818 70%); cursor:pointer; filter:grayscale(1); }.camera-feed:before { content:""; position:absolute; inset:0; background:repeating-linear-gradient(0deg,transparent 0 3px,#fff2 4px),repeating-radial-gradient(circle at 30% 20%,#fff 0 1px,#222 1px 3px); opacity:.35; animation:staticDance .25s steps(2) infinite; }.camera-feed span { position:absolute; z-index:3; left:7px; top:6px; color:#fff; font-size:7px; }.camera-feed i { position:absolute; z-index:2; width:24px; height:75px; left:48%; bottom:10%; border-radius:45% 45% 15% 15%; background:#080808; opacity:0; }.camera-feed.haunted i { opacity:.85; }.camera-feed.active { outline:2px solid var(--green); }.lost-list { display:grid; grid-template-columns:repeat(2,1fr); gap:8px; }.lost-list button { min-height:60px; border:1px dashed #6c37a1; background:#211229; color:#d9cddd; font-size:8px; cursor:pointer; }.lost-list button:hover { background:#6c37a1; }.weather-icon { float:right; margin:-20px 4px 10px 12px; font-size:85px; color:#bbb; text-shadow:13px 13px #333; }.weather-card p b { color:var(--green); }
.switchboard { display:grid; grid-template-columns:repeat(4,1fr); gap:14px; }.switchboard button { min-height:125px; padding:12px; border:2px solid #34253a; background:#0b080e; color:#766c79; cursor:pointer; }.switchboard i { display:block; width:34px; height:65px; margin:0 auto 12px; border:4px solid #030203; border-radius:20px; background:#2a202d; position:relative; }.switchboard i:after { content:""; position:absolute; left:3px; top:4px; width:20px; height:25px; border-radius:50%; background:#777; transition:.2s; }.switchboard button.on { color:var(--green); }.switchboard button.on i:after { top:28px; background:var(--orange); box-shadow:0 0 15px var(--orange); }.switchboard span { font-size:8px; font-weight:700; letter-spacing:1px; }.moon-off .moon { opacity:.08; }.transmitter-off .noise { opacity:.2; }.lights-off main { filter:brightness(.45); }.basement-open .station-annex { background:#020203; }
.ouija-board { height:180px; position:relative; padding:22px; border-radius:45%; border:3px solid #563160; background:#d9c6aa; color:#241425; text-align:center; font-family:serif; }.ouija-board span,.ouija-board small { display:block; font-size:10px; }.ouija-board strong { display:block; margin-top:12px; font-size:12px; line-height:1.6; letter-spacing:5px; }.ouija-board i { position:absolute; left:46%; top:45%; color:#8b1b05; font-size:38px; font-style:normal; transition:1.2s cubic-bezier(.2,.8,.2,1); }.ouija-card input { width:100%; margin:14px 0 8px; padding:10px; border:1px solid #4a354e; background:#070509; color:#fff; font:8px "IBM Plex Mono"; }.photo-frame { height:190px; position:relative; display:flex; align-items:center; justify-content:center; overflow:hidden; margin-bottom:14px; border:10px solid #2d1a35; background:radial-gradient(circle,#878787,#111); color:#aaa; text-align:center; font-size:8px; filter:grayscale(1); }.photo-frame i { position:absolute; width:46px; height:130px; bottom:-15px; border-radius:50% 50% 10% 10%; background:#050505; opacity:0; }.photo-frame.developed i { opacity:.9; }.photo-frame.developed i:nth-of-type(1){left:13%}.photo-frame.developed i:nth-of-type(2){left:34%}.photo-frame.developed i:nth-of-type(3){left:56%}.photo-frame.developed i:nth-of-type(4){left:76%}.photo-frame.flash { animation:photoFlash .8s steps(2); }.adventure-choices { display:flex; flex-wrap:wrap; gap:8px; margin-top:24px; }.terms-card ul { padding-left:18px; }.terms-card label { display:block; margin-top:18px; color:#eee; font-size:8px; line-height:1.5; }.achievement-list { display:grid; gap:7px; }.achievement-list p { margin:0; padding:8px; border-left:3px solid #4b3c50; background:#08060a; color:#6d626f; font-size:8px; }.achievement-list p.earned { border-color:var(--green); color:var(--green); }
.cc-button { position:fixed; z-index:58; right:18px; bottom:18px; width:45px; height:32px; border:2px solid #fff; border-radius:3px; background:#080808d9; color:#fff; font-weight:700; cursor:pointer; }.possessed-captions { position:fixed; z-index:57; left:50%; bottom:65px; transform:translateX(-50%) translateY(40px); max-width:90%; padding:9px 14px; background:#000e; color:#fff; font-weight:700; font-size:11px; opacity:0; transition:.3s; pointer-events:none; }.possessed-captions.active { opacity:1; transform:translateX(-50%) translateY(0); }.signal-meter { position:fixed; z-index:56; right:75px; bottom:18px; width:180px; height:32px; display:flex; align-items:center; gap:7px; padding:6px 8px; border:1px solid #ffffff44; background:#080808e8; font-size:7px; }.signal-meter i { flex:1; height:8px; border:1px solid #777; }.signal-meter b { display:block; height:100%; width:0; background:linear-gradient(90deg,var(--green),var(--orange)); transition:.5s; }.signal-meter strong { width:27px; color:var(--green); font-size:7px; }.scroll-creature { position:fixed; z-index:54; right:1px; top:15%; color:var(--green); font-size:19px; transition:top .2s; filter:drop-shadow(0 0 5px #000); }.emergency-exit { position:fixed; z-index:59; right:18px; top:90px; padding:9px 12px; border:2px solid #e9e9e9; background:#a3150a; color:#fff; font-size:7px; font-weight:700; letter-spacing:1px; cursor:pointer; transition:left .25s,top .25s,right .25s; }.achievement-toast { position:fixed; z-index:90; left:50%; top:25px; transform:translate(-50%,-140px); padding:15px 24px; border:3px solid var(--green); background:#09070b; color:var(--green); font-size:9px; letter-spacing:2px; box-shadow:7px 7px 0 var(--orange); transition:.5s; }.achievement-toast.show { transform:translate(-50%,0); }
.test-overlay { position:fixed; z-index:82; inset:0; display:flex; flex-direction:column; align-items:center; justify-content:center; padding:6vw; background:radial-gradient(circle,#32153b,#050307 68%); color:#fff; text-align:center; opacity:0; visibility:hidden; pointer-events:none; transition:.2s; }.test-overlay.active { opacity:1; visibility:visible; pointer-events:auto; }.test-overlay>span { color:var(--green); font-size:8px; letter-spacing:3px; }.test-overlay h2 { font:clamp(35px,6vw,80px)/.9 "Archivo Black"; }.test-question { max-width:700px; margin:20px; font-size:16px; }.test-options { display:grid; gap:10px; width:min(600px,100%); }.test-options button { padding:14px; border:2px solid #6c37a1; background:#130d18; color:#fff; cursor:pointer; }.test-options button:hover { border-color:var(--green); color:var(--green); }
.missing-minute { --orange:#fff; }.missing-minute .station-time { color:#fff; }.missing-minute:after { content:"THE MISSING MINUTE IS IN PROGRESS"; position:fixed; z-index:79; left:0; right:0; top:45%; padding:20px; background:#000e; color:#fff; text-align:center; font:clamp(22px,4vw,55px) "Archivo Black"; animation:guestFlicker .6s steps(1) infinite; }.signal-full .noise { opacity:.16; }.signal-full .onair b { background:var(--green); box-shadow:0 0 25px var(--green); }
@keyframes pulse { 50%{opacity:.3} } @keyframes float { 50%{transform:translateY(-16px) rotate(8deg)} } @keyframes scroll { to{transform:translateX(-50%)} }
@keyframes staticDance { 0%{transform:translate(0,0)}25%{transform:translate(8%,-5%)}50%{transform:translate(-6%,9%)}75%{transform:translate(5%,6%)}100%{transform:translate(-7%,-8%)} }
@keyframes tvFlicker { 0%,100%{opacity:.93;filter:brightness(1) contrast(1.2)}50%{opacity:1;filter:brightness(1.18) contrast(1.6)}52%{opacity:.72} }
@keyframes signalRoll { to{top:110%} } @keyframes signalBlink { 0%,55%{opacity:1}56%,100%{opacity:.15} } @keyframes screenLurch { 50%{transform:translateX(2px) skewX(.5deg)} }
@keyframes pumpkinFound { 50%{transform:scale(2) rotate(30deg);opacity:1}100%{transform:scale(0);opacity:0} } @keyframes scannerSpin { to{transform:rotate(360deg);filter:hue-rotate(360deg)} } @keyframes guestFlicker { 50%{opacity:.2} } @keyframes pageShake { 25%{transform:translate(5px,-2px)}75%{transform:translate(-5px,2px)} }
@keyframes photoFlash { 0%,45%{filter:brightness(1) grayscale(1)}46%{filter:brightness(8)}55%{filter:brightness(.1)}100%{filter:brightness(1) grayscale(1)} }
@media(max-width:800px){.navlinks{display:none}.hero{min-height:700px}.moon{width:270px;height:270px;top:22%}.count-section{padding:85px 20px}.countdown{grid-template-columns:repeat(2,minmax(120px,170px));gap:18px}.arcade{grid-template-columns:1fr;padding:90px 20px;gap:50px}.arcade-copy{text-align:center}.arcade-copy>p{margin-inline:auto}.howto{align-items:center;border:0}.game-stats{justify-content:center}.cabinet{transform:none}.controls>button{display:block}.joystick{display:none}.dead-channel{grid-template-columns:1fr;padding:100px 20px;gap:70px}.dead-channel-copy{text-align:center}.signal-note{justify-content:center}.tv-scene{max-width:620px}}
@media(max-width:480px){.topbar{height:64px;padding:0 18px}.onair{font-size:8px}.eyebrow{font-size:8px;letter-spacing:2px}.eyebrow:before,.eyebrow:after{margin:0 6px}.hero h1{margin-top:28px}.lede{font-size:10px}.time-card{padding:20px 8px}.cabinet{border-width:5px}.screen-wrap{padding:15px}.controls{min-height:90px;padding:10px 20%}.hud{font-size:9px}.drop{font-size:23px}.dead-channel{min-height:760px;padding:85px 16px}.television{grid-template-columns:1fr 67px;gap:8px;padding:24px 18px 42px;border-width:6px;border-radius:30px 30px 44px 44px}.tv-screen-frame{padding:8px}.dial{width:47px;height:47px}.dial.small{width:36px;height:36px}.dial i{height:16px;transform-origin:50% 20px}.tv-brand{bottom:15px;left:34%;font-size:7px}.antenna{transform:translateX(-50%) scale(.75);transform-origin:bottom}.pumpkin-face{font-size:15px}}
@media(max-width:900px){.evidence-grid{grid-template-columns:repeat(2,1fr)}.clue-console{grid-template-columns:repeat(3,1fr)}.clue-console button{grid-column:1/-1}}
@media(max-width:580px){.case-file{padding:85px 16px 110px}.evidence-grid{grid-template-columns:1fr}.evidence-card{min-height:320px}.clue-console{grid-template-columns:1fr}.pumpkin-counter{left:8px;bottom:8px}.cursor-ghost,.edge-creature{display:none}}
@media(max-width:950px){.annex-grid{grid-template-columns:repeat(2,1fr)}.wide-card{grid-column:span 2}}
@media(max-width:620px){.station-annex{padding:90px 15px 130px}.annex-grid{grid-template-columns:1fr}.wide-card{grid-column:span 1}.camera-grid{grid-template-columns:1fr}.switchboard{grid-template-columns:repeat(2,1fr)}.signal-meter{right:68px;width:135px}.emergency-exit{top:72px}.scroll-creature{display:none}.station-readout span{min-width:140px}.annex-card{min-height:320px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
