:root{--neon-pink: #ff00ff;--neon-cyan: #00ffff;--neon-purple: #8a2be2;--dark-bg: #0a0a0a;--gradient-bg: linear-gradient(135deg, #1e0533 0%, #110a1f 50%, #0f051a 100%);--text-glow: 0 0 10px currentColor}*{margin:0;padding:0;box-sizing:border-box;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}body{background:var(--gradient-bg);font-family:Courier New,monospace;color:var(--neon-cyan);overflow:hidden;cursor:none;touch-action:none}body.show-cursor{cursor:default}#intro-modal-root{position:fixed;top:0;right:0;bottom:0;left:0;z-index:4000;pointer-events:none}.intro-modal-shell{position:fixed;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;padding:24px;background:radial-gradient(circle at 25% 18%,rgba(255,59,200,.2),transparent 28%),radial-gradient(circle at 75% 72%,rgba(0,229,255,.17),transparent 32%),#05030cb8;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);cursor:default;pointer-events:auto}.intro-panel{position:relative;width:min(560px,calc(100vw - 32px));padding:clamp(28px,5vw,48px);border:1px solid rgba(0,229,255,.52);border-radius:8px;background:linear-gradient(145deg,#0d0818eb,#1f092edb),linear-gradient(90deg,#ff3bc824,#00e5ff1f);box-shadow:0 0 40px #00e5ff2e,0 0 90px #ff3bc826,inset 0 0 30px #ffffff0a;overflow:hidden}.intro-panel-wide{width:min(720px,calc(100vw - 32px))}.intro-panel:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background-image:linear-gradient(rgba(255,255,255,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);background-size:26px 26px;-webkit-mask-image:linear-gradient(to bottom,black,transparent 82%);mask-image:linear-gradient(to bottom,black,transparent 82%);pointer-events:none}.intro-scanline{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(to bottom,transparent,rgba(0,229,255,.08),transparent);height:30%;animation:intro-scan 4.8s linear infinite;pointer-events:none}.intro-kicker{position:relative;margin-bottom:12px;color:#00e5ff;font-size:12px;font-weight:700;letter-spacing:.18em;text-transform:uppercase}.intro-panel h1{position:relative;margin-bottom:18px;color:#ff3bc8;font-size:clamp(44px,8vw,78px);line-height:.92;letter-spacing:0;text-shadow:0 0 18px rgba(255,59,200,.8),0 0 42px rgba(122,0,255,.42)}.intro-lede,.intro-story-lines p{position:relative;color:#e4fdffeb;font-size:clamp(16px,2.2vw,19px);line-height:1.55;text-shadow:0 0 12px rgba(0,229,255,.28)}.intro-story-lines{display:grid;gap:12px;margin:8px 0 24px}.intro-world-labs{color:#fff;font-weight:900;text-shadow:0 0 10px rgba(255,255,255,.82),0 0 18px rgba(0,229,255,.38)}.intro-objectives{position:relative;display:flex;flex-wrap:wrap;gap:10px;margin-bottom:26px}.intro-objectives span{padding:8px 10px;border:1px solid rgba(255,59,200,.36);border-radius:999px;color:#ffd8f7;background:#ff3bc814;font-size:13px}.intro-action-row{position:relative;display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-top:28px}.intro-wasd-cue{display:grid;grid-template-columns:repeat(6,15px);grid-template-rows:repeat(2,30px);gap:6px;transform:scale(1.25);transform-origin:right bottom;filter:drop-shadow(0 0 8px rgba(255,255,255,.72)) drop-shadow(0 0 16px rgba(255,59,200,.36))}.intro-key{display:grid;place-items:center;width:30px;height:30px;grid-column:span 2;border:1px solid rgba(255,255,255,.9);border-radius:4px;background:#ffffff14;color:#fff;font:900 13px/1 Courier New,monospace;text-shadow:0 0 8px rgba(255,255,255,.9),0 0 14px rgba(0,229,255,.34);box-shadow:inset 0 0 10px #ffffff1a,0 0 12px #fff3}.intro-key-w{grid-column:2 / span 2;grid-row:1;transform:translateY(-6px)}.intro-key-a{grid-column:1 / span 2;grid-row:2}.intro-key-s{grid-column:3 / span 2;grid-row:2}.intro-key-d{grid-column:5 / span 2;grid-row:2}.intro-button{position:relative;min-width:180px;min-height:48px;border:1px solid rgba(0,229,255,.72);border-radius:6px;background:linear-gradient(90deg,#ff3bc8,#7a00ff 54%,#00e5ff);color:#fff;cursor:pointer;font:700 14px/1 Courier New,monospace;letter-spacing:.12em;text-transform:uppercase;box-shadow:0 0 18px #ff3bc861,0 0 28px #00e5ff38;transition:transform .16s ease,box-shadow .16s ease,filter .16s ease}.intro-panel>.intro-button{margin-top:36px}.intro-button:hover,.intro-button:focus-visible{transform:translateY(-2px);filter:saturate(1.15);box-shadow:0 0 24px #ff3bc885,0 0 38px #00e5ff57}@keyframes intro-scan{0%{transform:translateY(-120%)}to{transform:translateY(340%)}}#game-canvas{display:block;width:100vw;height:100vh;background:transparent}#game-ui{position:fixed;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:1000}#hud{position:absolute;top:30px;left:30px;display:flex;flex-direction:column;gap:22px;font-size:27px;text-shadow:var(--text-glow)}#health-row{display:flex;align-items:center;gap:16px}#health-label{color:var(--neon-pink);font-size:24px;font-weight:700;text-transform:uppercase;text-shadow:0 0 10px var(--neon-pink),0 0 18px rgba(255,0,255,.48)}#health-bar{width:300px;height:38px;border:3px solid var(--neon-pink);border-radius:18px;background:#00000080;overflow:hidden;box-shadow:0 0 22px var(--neon-pink)}#health-fill{height:100%;width:100%;background:linear-gradient(90deg,var(--neon-pink),var(--neon-purple));transition:width .3s ease;box-shadow:inset 0 0 10px #ffffff4d}#collected-items{display:flex;align-items:center;gap:15px;font-size:30px}#item-count{color:var(--neon-cyan);text-shadow:var(--text-glow);font-weight:700}#key-status{display:flex;align-items:center;gap:10px;font-size:16px;color:var(--neon-pink);text-shadow:var(--text-glow);animation:pulse 2s infinite}#social-links{position:relative;width:min(440px,calc(100vw - 48px));padding:18px 20px;border:2px solid rgba(255,255,255,.78);border-radius:8px;background:#04020c94;box-shadow:0 0 18px #ffffff61,0 0 34px #ff00ff3d;pointer-events:auto;animation:social-pop .56s cubic-bezier(.16,1,.3,1)}#social-close{display:none}#social-title{display:block;margin-bottom:14px;color:#fff;font-size:16px;font-weight:700;line-height:1.3;letter-spacing:0;text-transform:none;text-shadow:0 0 14px rgba(255,255,255,.82)}.social-title-mobile{display:none}#social-actions{display:flex;gap:10px}#social-actions a{flex:1;min-height:44px;display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid rgba(255,255,255,.74);border-radius:6px;color:#fff;background:linear-gradient(90deg,#ff00ff6b,#00ffff47);font-size:15px;font-weight:700;text-decoration:none;text-shadow:0 0 10px rgba(255,255,255,.72);box-shadow:inset 0 0 14px #ffffff1f;transition:transform .14s ease,box-shadow .14s ease,background .14s ease}#social-actions a img{width:20px;height:20px;object-fit:contain;filter:drop-shadow(0 0 7px rgba(255,255,255,.82))}#social-actions a:hover,#social-actions a:focus-visible{transform:translateY(-2px);background:linear-gradient(90deg,#ff00ff9e,#00ffff6b);box-shadow:inset 0 0 18px #ffffff29,0 0 18px #ffffff57}@keyframes social-pop{0%{opacity:0;transform:translateY(12px) scale(.92)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.6}}#crosshair{display:none}#mobile-controls{position:absolute;top:0;right:0;bottom:0;left:0;display:none;pointer-events:none;z-index:1200}.mobile-stick{position:absolute;width:clamp(124px,24vw,166px);aspect-ratio:1;border-radius:50%;pointer-events:auto;touch-action:none;user-select:none;-webkit-user-select:none}#move-stick{left:max(18px,env(safe-area-inset-left));bottom:max(22px,env(safe-area-inset-bottom))}#look-stick{right:max(18px,env(safe-area-inset-right));bottom:max(22px,env(safe-area-inset-bottom))}.mobile-stick-ring,.mobile-stick-knob{position:absolute;border-radius:50%;pointer-events:none}.mobile-stick-ring{top:0;right:0;bottom:0;left:0;border:2px solid rgba(0,255,255,.62);background:radial-gradient(circle,#ff00ff29,#00ffff0d 58%,#07021261),repeating-linear-gradient(0deg,rgba(255,255,255,.08) 0 1px,transparent 1px 12px);box-shadow:0 0 18px #00ffff57,inset 0 0 22px #ff00ff3d}.mobile-stick-knob{top:50%;left:50%;width:42%;aspect-ratio:1;border:2px solid rgba(255,255,255,.82);background:radial-gradient(circle at 32% 28%,#ffffffd9,#ff00ffc7 38%,#00e5ff6b);box-shadow:0 0 16px #ff00ffa3,0 0 24px #00ffff4d;transform:translate(-50%,-50%)}.mobile-stick.active .mobile-stick-ring{border-color:#ffffffdb;box-shadow:0 0 24px #ff00ff8a,0 0 34px #00ffff61,inset 0 0 24px #ffffff24}@keyframes crosshair-pulse{0%,to{transform:translate(-50%,-50%) scale(1)}50%{transform:translate(-50%,-50%) scale(1.2)}}.screen{position:absolute;top:0;left:0;z-index:2000;width:100%;height:100%;display:flex;flex-direction:column;justify-content:center;align-items:center;background:#000c;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);pointer-events:auto}.screen.hidden{display:none}.screen h1{font-size:48px;color:var(--neon-pink);text-shadow:0 0 20px var(--neon-pink);margin-bottom:20px;animation:title-glow 2s infinite alternate}@keyframes title-glow{0%{text-shadow:0 0 20px var(--neon-pink)}to{text-shadow:0 0 40px var(--neon-pink),0 0 60px var(--neon-pink)}}.screen p{font-size:18px;color:var(--neon-cyan);text-shadow:var(--text-glow);margin:10px 0;opacity:.8}.restart-button{margin-top:28px;min-width:180px;min-height:52px;border:2px solid rgba(255,255,255,.72);border-radius:8px;color:#fff;background:linear-gradient(90deg,#ff00fffa,#ff3bc8e6 48%,#7a00fff5),#ff00ffc7;cursor:pointer;font:800 15px/1 Courier New,monospace;letter-spacing:.14em;text-transform:uppercase;text-shadow:0 0 12px rgba(255,255,255,.9);box-shadow:0 0 20px #ff00ff9e,0 0 42px #ff3bc857,inset 0 0 18px #ffffff29;pointer-events:auto;transition:transform .15s ease,filter .15s ease,box-shadow .15s ease}.restart-button:hover,.restart-button:focus-visible{transform:translateY(-2px) scale(1.03);filter:saturate(1.18);box-shadow:0 0 28px #ff00ffd6,0 0 58px #ff3bc875,inset 0 0 22px #fff3}.end-social-card{position:relative;width:min(620px,calc(100vw - 48px));margin-top:26px;padding:24px;border:1px solid rgba(0,229,255,.52);border-radius:8px;background:linear-gradient(145deg,#0d0818eb,#1f092edb),linear-gradient(90deg,#ff3bc824,#00e5ff1f);box-shadow:0 0 34px #00e5ff2e,0 0 78px #ff3bc829,inset 0 0 28px #ffffff0b;overflow:hidden;pointer-events:auto;animation:social-pop .56s cubic-bezier(.16,1,.3,1)}.end-social-card:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background-image:linear-gradient(rgba(255,255,255,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);background-size:24px 24px;-webkit-mask-image:linear-gradient(to bottom,black,transparent 82%);mask-image:linear-gradient(to bottom,black,transparent 82%);pointer-events:none}.end-social-kicker{position:relative;display:block;margin-bottom:9px;color:#00e5ff;font-size:12px;font-weight:800;letter-spacing:.18em;text-transform:uppercase}.end-social-card h2{position:relative;margin:0 0 10px;color:#ff3bc8;font-size:clamp(24px,4vw,38px);line-height:1;letter-spacing:0;text-shadow:0 0 16px rgba(255,59,200,.82),0 0 34px rgba(122,0,255,.42)}.end-social-card h2.game-over-creator{font-size:clamp(17px,2.4vw,24px)}.end-social-card p{position:relative;max-width:520px;margin:0 auto 18px;color:#e4fdffe6;font-size:15px;line-height:1.45;text-shadow:0 0 12px rgba(0,229,255,.28)}.end-social-actions{position:relative;display:flex;flex-wrap:wrap;justify-content:center;gap:10px}.end-social-actions a{min-height:44px;display:inline-flex;align-items:center;justify-content:center;gap:9px;padding:0 16px;border:1px solid rgba(0,229,255,.68);border-radius:6px;color:#fff;background:linear-gradient(90deg,#ff3bc8f0,#7a00ffd6 54%,#00e5ffb8);font:800 12px/1 Courier New,monospace;letter-spacing:.1em;text-decoration:none;text-transform:uppercase;text-shadow:0 0 10px rgba(255,255,255,.82);box-shadow:0 0 16px #ff3bc85c,0 0 26px #00e5ff33,inset 0 0 14px #ffffff1f;transition:transform .16s ease,box-shadow .16s ease,filter .16s ease}.end-social-actions a img{width:18px;height:18px;object-fit:contain;flex:0 0 auto;filter:drop-shadow(0 0 8px rgba(255,255,255,.86))}.end-social-actions a:hover,.end-social-actions a:focus-visible{transform:translateY(-2px);filter:saturate(1.15);box-shadow:0 0 24px #ff3bc885,0 0 38px #00e5ff57,inset 0 0 18px #ffffff29}#loading{padding:max(24px,env(safe-area-inset-top)) max(18px,env(safe-area-inset-right)) max(24px,env(safe-area-inset-bottom)) max(18px,env(safe-area-inset-left));background:radial-gradient(circle at 24% 24%,rgba(255,59,200,.22),transparent 30%),radial-gradient(circle at 78% 70%,rgba(0,229,255,.18),transparent 34%),var(--gradient-bg);text-align:center}#loading h1{width:min(680px,100%);margin-bottom:0;color:#fff;font-size:clamp(32px,8vw,58px);line-height:.98;text-wrap:balance;text-shadow:0 0 18px rgba(255,255,255,.82),0 0 34px rgba(255,59,200,.62),0 0 54px rgba(0,229,255,.34)}.loading-bar{width:min(420px,calc(100vw - 48px));height:12px;border:1px solid rgba(255,255,255,.72);border-radius:8px;background:#05020eb8;box-shadow:0 0 18px #ff3bc842,0 0 28px #00e5ff2e,inset 0 0 14px #ffffff1a;overflow:hidden;margin-top:clamp(18px,4vh,32px)}#loading-progress{height:100%;width:0%;border-radius:8px;background:linear-gradient(90deg,#fff,#ff3bc8 46%,#00e5ff);transition:width .3s ease;box-shadow:0 0 12px #ffffffe6,0 0 24px #ff3bc8b8}.hidden{display:none!important}@media (max-width: 768px){#hud{top:15px;left:15px;gap:14px;font-size:21px}#health-row{gap:10px}#health-label{font-size:18px}#health-bar{width:225px;height:30px}.screen h1{font-size:32px}#loading h1{font-size:clamp(30px,10vw,44px);max-width:360px}.loading-bar{width:min(320px,calc(100vw - 42px));height:11px}}@media (hover: none),(pointer: coarse),(max-width: 900px){#mobile-controls{display:block}#crosshair{opacity:.42}.intro-wasd-cue{display:none}.intro-action-row{justify-content:flex-start}#social-links{position:fixed;top:max(8px,env(safe-area-inset-top));left:50%;z-index:2600;width:min(340px,calc(100vw - 28px));padding:12px 38px 12px 14px;transform:translate(-50%);background:#04020cc7;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}#social-title{margin-bottom:10px;font-size:16px;line-height:1.1}.social-title-desktop{display:none}.social-title-mobile{display:inline}#social-close{position:absolute;top:6px;right:7px;display:grid;place-items:center;width:28px;height:28px;border:1px solid rgba(255,255,255,.72);border-radius:50%;color:#fff;background:#ff3bc838;cursor:pointer;font:900 18px/1 Courier New,monospace;text-shadow:0 0 10px rgba(255,255,255,.85);box-shadow:0 0 12px #ff3bc84d,inset 0 0 10px #ffffff1f}#social-actions{gap:8px}#social-actions a{min-height:38px;font-size:13px}}@media (orientation: portrait) and (max-width: 900px){#mobile-controls{bottom:0}.mobile-stick{width:clamp(136px,32vw,176px)}}@media (orientation: landscape) and (max-height: 520px){.intro-modal-shell{align-items:center;padding:max(10px,env(safe-area-inset-top)) max(16px,env(safe-area-inset-right)) max(10px,env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left))}.intro-panel,.intro-panel-wide{width:min(720px,calc(100vw - 32px));max-height:calc(100vh - 20px);padding:clamp(16px,4vh,24px) clamp(22px,5vw,34px);overflow-y:auto;overscroll-behavior:contain}.intro-kicker{margin-bottom:7px;font-size:10px}.intro-panel h1{margin-bottom:10px;font-size:clamp(34px,10vh,52px);line-height:.95}.intro-lede,.intro-story-lines p{font-size:clamp(13px,3.2vh,16px);line-height:1.38}.intro-story-lines{gap:8px;margin:6px 0 14px}.intro-objectives{gap:8px;margin-bottom:16px}.intro-objectives span{padding:7px 9px;font-size:11px}.intro-action-row{margin-top:14px}.intro-wasd-cue{display:none}.intro-button{min-height:42px}#hud{top:max(10px,env(safe-area-inset-top));left:max(12px,env(safe-area-inset-left));gap:8px;font-size:18px}#health-label{font-size:15px}#health-bar{width:180px;height:24px}.mobile-stick{width:clamp(116px,26vh,146px)}#move-stick,#look-stick{bottom:max(12px,env(safe-area-inset-bottom))}#social-links{top:max(8px,env(safe-area-inset-top));right:max(10px,env(safe-area-inset-right));left:auto;width:min(320px,calc(100vw - 28px));transform:none}}body:before{content:"";position:fixed;top:0;left:0;width:100%;height:100%;background-image:linear-gradient(rgba(255,0,255,.1) 1px,transparent 1px),linear-gradient(90deg,rgba(255,0,255,.1) 1px,transparent 1px);background-size:50px 50px;opacity:.3;z-index:-1;animation:grid-move 10s linear infinite}@keyframes grid-move{0%{transform:translate(0)}to{transform:translate(50px,50px)}}
