:root{--bg:#07040f;--panel:rgba(20,12,44,.76);--panel-strong:rgba(13,9,31,.94);--purple:#241044;--purple-2:#5e21d2;--blue:#18b9ff;--blue-soft:rgba(24,185,255,.22);--green:#45ff88;--green-2:#08c765;--gold:#ffd95a;--gold-2:#ff9f1c;--text:#f7f2ff;--muted:#b9acd8;--danger:#ff4f9a;--shadow:0 24px 80px rgba(0,0,0,.48);--radius:28px;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif}*{box-sizing:border-box}html{min-height:100%;background:var(--bg)}body{min-height:100vh;margin:0;color:var(--text);overflow-x:hidden;background:radial-gradient(circle at 18% 15%,rgba(94,33,210,.42),transparent 34rem),radial-gradient(circle at 85% 18%,rgba(24,185,255,.25),transparent 31rem),radial-gradient(circle at 55% 90%,rgba(69,255,136,.1),transparent 24rem),linear-gradient(145deg,#05020a 0%,#100725 45%,#050714 100%)}body::before,body::after{content:'';position:fixed;inset:-20%;z-index:-2;pointer-events:none}body::before{background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);background-size:54px 54px;transform:perspective(900px) rotateX(62deg) translateY(-9%);transform-origin:top;animation:gridDrift 12s linear infinite}body::after{z-index:-1;background:conic-gradient(from 180deg at 50% 50%,transparent,rgba(24,185,255,.13),transparent,rgba(94,33,210,.18),transparent);filter:blur(60px);opacity:.7;animation:aurora 10s ease-in-out infinite alternate}button,input{font:inherit}button{cursor:pointer}.app-shell{width:min(1220px,calc(100% - 32px));margin:0 auto;padding:34px 0 42px;display:grid;grid-template-columns:minmax(280px,.78fr) minmax(310px,1.22fr);gap:26px;align-items:start}.hero-panel,.game-card,.info-strip article{border:1px solid rgba(255,255,255,.13);background:linear-gradient(155deg,rgba(255,255,255,.1),rgba(255,255,255,.035));box-shadow:var(--shadow),inset 0 1px 0 rgba(255,255,255,.12);backdrop-filter:blur(18px)}.hero-panel{border-radius:var(--radius);padding:clamp(24px,5vw,42px);position:sticky;top:24px;overflow:hidden}.hero-panel::after{content:'';position:absolute;width:260px;height:260px;right:-120px;bottom:-120px;border-radius:50%;background:radial-gradient(circle,rgba(24,185,255,.34),transparent 68%);pointer-events:none}.brand-row{display:flex;gap:12px;align-items:center;margin-bottom:28px}.brand-mark{display:grid;place-items:center;width:38px;height:38px;border-radius:14px;color:var(--green);background:rgba(69,255,136,.1);border:1px solid rgba(69,255,136,.34);box-shadow:0 0 28px rgba(69,255,136,.22)}.eyebrow,.modal-kicker{color:var(--blue);text-transform:uppercase;letter-spacing:.16em;font-weight:800;font-size:.75rem}h1,h2,p{margin-top:0}h1{margin-bottom:18px;font-size:clamp(2.65rem,7vw,5.8rem);line-height:.9;letter-spacing:-.08em;text-shadow:0 0 24px rgba(24,185,255,.22)}h1 span{display:block;color:transparent;background:linear-gradient(90deg,var(--blue),#f5f2ff 34%,var(--green));-webkit-background-clip:text;background-clip:text}.hero-copy,.info-strip p,.modal-panel p{color:var(--muted);line-height:1.65}.option-grid{display:grid;gap:12px;margin-top:28px}.toggle-card{display:grid;grid-template-columns:auto 1fr;gap:14px;align-items:center;padding:14px;border-radius:18px;background:rgba(5,4,16,.42);border:1px solid rgba(255,255,255,.1)}.toggle-card input{width:42px;height:24px;accent-color:var(--blue)}.toggle-card strong,.toggle-card small{display:block}.toggle-card small{color:var(--muted);margin-top:3px}.game-card{position:relative;border-radius:calc(var(--radius) + 8px);padding:clamp(14px,2.5vw,22px);overflow:hidden}.scanline{position:absolute;inset:0;pointer-events:none;opacity:.16;background:repeating-linear-gradient(180deg,transparent 0 7px,rgba(255,255,255,.08) 8px 9px);mix-blend-mode:screen;z-index:4}.hud{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:14px}.hud-item{padding:14px 12px;border-radius:18px;background:rgba(5,4,16,.54);border:1px solid rgba(255,255,255,.09);text-align:center}.hud-item span{display:block;color:var(--muted);font-size:.76rem;text-transform:uppercase;letter-spacing:.12em}.hud-item strong{display:block;margin-top:5px;font-size:clamp(1.25rem,3vw,1.8rem);color:var(--green)}.hud-item.accent strong{color:var(--gold)}.canvas-wrap{position:relative;width:100%;aspect-ratio:1/1;min-height:300px;border-radius:26px;overflow:hidden;background:#050610;border:1px solid rgba(24,185,255,.26);box-shadow:inset 0 0 44px rgba(24,185,255,.08),0 0 56px rgba(24,185,255,.13)}#gameCanvas{display:block;width:100%;height:100%;touch-action:none}.overlay{position:absolute;inset:0;z-index:8;display:grid;place-items:center;padding:20px;background:radial-gradient(circle at 50% 35%,rgba(36,16,68,.38),rgba(3,2,9,.78))}.hidden{display:none!important}.modal-panel{width:min(430px,100%);padding:clamp(22px,4vw,34px);border-radius:26px;text-align:center;background:rgba(8,6,23,.88);border:1px solid rgba(255,255,255,.14);box-shadow:0 30px 90px rgba(0,0,0,.58),inset 0 1px 0 rgba(255,255,255,.12)}.modal-panel h2{margin-bottom:12px;font-size:clamp(2rem,5vw,3.2rem);line-height:1}.primary-btn,.ghost-btn{min-height:48px;padding:0 22px;border-radius:999px;border:0;font-weight:900;letter-spacing:.02em;transition:transform 160ms ease,box-shadow 160ms ease,background 160ms ease}.primary-btn{color:#03110b;background:linear-gradient(90deg,var(--green),var(--blue));box-shadow:0 0 28px rgba(69,255,136,.24),0 14px 26px rgba(0,0,0,.3)}.ghost-btn{color:var(--text);background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.14)}.primary-btn:hover,.ghost-btn:hover,.control-btn:hover{transform:translateY(-2px)}.primary-btn:focus-visible,.ghost-btn:focus-visible,.control-btn:focus-visible,.toggle-card input:focus-visible{outline:3px solid rgba(24,185,255,.72);outline-offset:3px}.button-row{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;margin-top:20px}.mobile-controls{display:none;grid-template-columns:repeat(3,64px);grid-template-rows:repeat(3,56px);justify-content:center;gap:8px;margin-top:16px}.control-btn{color:var(--text);border:1px solid rgba(24,185,255,.3);background:linear-gradient(180deg,rgba(24,185,255,.2),rgba(94,33,210,.22));border-radius:18px;box-shadow:inset 0 1px 0 rgba(255,255,255,.12),0 10px 24px rgba(0,0,0,.22);user-select:none;-webkit-tap-highlight-color:transparent}.control-btn.up{grid-column:2;grid-row:1}.control-btn.left{grid-column:1;grid-row:2}.control-btn.down{grid-column:2;grid-row:3}.control-btn.right{grid-column:3;grid-row:2}.prank-overlay{position:fixed;inset:0;z-index:2147483000;display:grid;place-items:center;padding:clamp(14px,3vw,32px);background:radial-gradient(circle at 50% 36%,rgba(72,0,45,.52),rgba(0,0,0,.98) 68%);overflow:hidden;isolation:isolate}.scare-stage{position:absolute;inset:0;z-index:1;display:grid;place-items:center;background:radial-gradient(circle,#1b0717,#000 72%);overflow:hidden}.scare-stage img{width:min(96vw,1280px);height:min(84vh,920px);object-fit:cover;border-radius:clamp(12px,2vw,28px);box-shadow:0 0 0 1px rgba(255,255,255,.12),0 28px 110px rgba(0,0,0,.8);filter:contrast(1.08) saturate(.9)}.scare-placeholder{position:absolute;inset:0;display:grid;place-items:center;align-content:center;gap:18px;color:var(--text);background:radial-gradient(circle at 50% 42%,rgba(255,79,154,.36),transparent 20rem),linear-gradient(135deg,#12051c,#020105)}.scare-placeholder span{font-size:clamp(6rem,25vw,15rem);filter:drop-shadow(0 0 24px rgba(255,255,255,.4))}.scare-placeholder strong{font-size:clamp(2rem,9vw,5.5rem);letter-spacing:.08em}.scare-stage.glitch::before{content:'';position:absolute;inset:0;z-index:2;pointer-events:none;background:radial-gradient(circle at 50% 50%,transparent 35%,rgba(0,0,0,.34) 72%,rgba(255,0,90,.18));opacity:.9}.scare-stage.glitch img{animation:scareZoom 650ms ease-out both}.prank-message{position:relative;z-index:3}.prank-message h2{color:var(--gold);text-shadow:0 0 24px rgba(255,217,90,.32)}body.screen-shake .app-shell,body.screen-shake .prank-overlay{animation:screenShake 420ms ease-in-out}.info-strip{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.info-strip article{border-radius:24px;padding:20px}.info-strip h2{margin-bottom:8px;font-size:1.05rem}.info-strip p{margin-bottom:0;font-size:.94rem}@keyframes gridDrift{from{background-position:0 0,0 0}to{background-position:0 54px,54px 0}}@keyframes aurora{from{transform:rotate(0deg) scale(1)}to{transform:rotate(18deg) scale(1.08)}}@keyframes screenShake{0%,100%{transform:translate(0,0) rotate(0)}15%{transform:translate(-8px,5px) rotate(-.4deg)}30%{transform:translate(7px,-5px) rotate(.35deg)}45%{transform:translate(-5px,-7px) rotate(.25deg)}60%{transform:translate(6px,6px) rotate(-.25deg)}80%{transform:translate(-3px,2px) rotate(.12deg)}}@keyframes scareZoom{0%{transform:scale(.92);filter:contrast(1.18) saturate(.8)}48%{transform:scale(1.035)}100%{transform:scale(1);filter:contrast(1.08) saturate(.9)}}@media (max-width:920px){.app-shell{grid-template-columns:1fr}.hero-panel{position:relative;top:auto}.mobile-controls{display:grid}.info-strip{grid-template-columns:1fr}}@media (max-width:560px){.app-shell{width:min(100% - 18px,1220px);padding-top:12px}.hero-panel,.game-card{border-radius:22px}.hud{gap:7px}.hud-item{padding:10px 6px;border-radius:14px}.hud-item span{font-size:.64rem}.canvas-wrap{border-radius:18px;min-height:280px}.mobile-controls{grid-template-columns:repeat(3,58px);grid-template-rows:repeat(3,50px)}.scare-stage img{width:96vw;height:78vh}.prank-overlay{padding:12px}}@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important}}
/* Repeating cinematic surprise: a rapid face rush, dark vignette, no strobe flashes. */
.scare-stage.scare-active img{animation:faceRush 950ms cubic-bezier(.12,.78,.24,1) both;transform-origin:50% 44%;}
.scare-stage.scare-active::after{content:"";position:absolute;inset:0;z-index:2;pointer-events:none;background:radial-gradient(circle at 50% 43%,transparent 28%,rgba(0,0,0,.84) 100%);animation:scareVignette 1s ease-out both;}
.scare-stage.scare-active img{width:100vw;height:100vh;object-fit:cover;object-position:50% 38%;border:0;border-radius:0;filter:contrast(1.18) saturate(.8) brightness(.85);}
@keyframes faceRush{0%{transform:scale(.46) rotate(-4deg);filter:blur(10px) brightness(.35)}15%{filter:blur(0) brightness(.95)}48%{transform:scale(1.24) rotate(1deg)}100%{transform:scale(1.05) rotate(0deg);filter:contrast(1.28) brightness(.8)}}
@keyframes scareVignette{0%{opacity:.1}28%{opacity:1}100%{opacity:.8}}
@media (prefers-reduced-motion:reduce){.scare-stage.scare-active img,.scare-stage.scare-active::after{animation:none!important;transform:none!important;}}

/* Horror-game polish: mild tension cues and abrupt close-up, no strobe. */
body.horror-dread .canvas-wrap{box-shadow:inset 0 0 100px rgba(125,0,20,.55),0 0 48px rgba(158,3,46,.24)!important;border-color:rgba(194,28,61,.55)}
body.horror-dread .game-card::after{content:"";position:absolute;inset:0;pointer-events:none;z-index:4;background:radial-gradient(circle,transparent 26%,rgba(77,0,16,.28));animation:horrorBreath .8s ease-in-out both}
.scare-stage.horror-rush{background:#000}
.scare-stage.horror-rush img{width:100vw;height:100vh;object-fit:cover;object-position:45% 35%;border:0;border-radius:0;max-width:none;max-height:none;filter:contrast(1.4) saturate(.72) brightness(.74) sepia(.16);animation:horrorRush 1.9s cubic-bezier(.07,.85,.12,1) both!important}
.scare-stage.horror-rush::after{content:"";pointer-events:none;position:absolute;inset:0;z-index:4;background:radial-gradient(circle at 50% 44%,transparent 10%,rgba(0,0,0,.6) 76%),linear-gradient(165deg,rgba(82,0,18,.26),transparent 60%);animation:horrorShadow 1.9s ease-out both}
@keyframes horrorBreath{0%{opacity:0}45%{opacity:1}100%{opacity:0}}
@keyframes horrorRush{0%{transform:scale(.66) rotate(-4deg);filter:contrast(1.8) brightness(.2) saturate(0)}9%{transform:scale(1.5) rotate(1.2deg);filter:contrast(1.6) brightness(.95) saturate(.68)}20%{transform:scale(1.83) rotate(-1deg)}42%{transform:scale(1.65) rotate(.5deg)}100%{transform:scale(1.48) rotate(0deg);filter:contrast(1.35) brightness(.73) saturate(.7)}}
@keyframes horrorShadow{0%{opacity:.9}15%{opacity:.2}100%{opacity:.78}}
@media(prefers-reduced-motion:reduce){.scare-stage.horror-rush img{animation:none!important;transform:scale(1.08)}.scare-stage.horror-rush::after{animation:none!important}body.horror-dread .game-card::after{animation:none!important}}
