body{margin:0;padding:0 0 45px;width:100%;height:100vh;min-height:100vh;background:linear-gradient(to bottom,#000,#0c0c2d,#16162e);overflow:hidden;position:relative;box-sizing:border-box;display:flex;flex-direction:column}html{margin:0;padding:0;background:#000;height:100%;min-height:100%}.popup-wrapper{position:fixed;left:0;top:0;width:100%;height:100%;display:flex;justify-content:center;align-items:center;background-color:#000c;z-index:1000}.popup-wrapper .popup{background-color:#000000e6;padding:1.5rem;border:3px solid #00ff00;border-radius:0;box-shadow:0 0 20px #00ff0080;display:flex;flex-direction:column;color:#0f0;font-family:"Press Start 2P",Courier New,monospace;min-width:300px}.popup-wrapper .popup .close-button{width:2rem;height:2rem;display:flex;justify-content:center;align-items:center;align-self:flex-end;background-color:#000;border:2px solid #00ff00;position:relative;right:-10px;top:-10px;color:#0f0;font-family:"Press Start 2P",Courier New,monospace;cursor:pointer;text-shadow:0 0 5px #00ff00;box-shadow:0 0 10px #00ff0080;transition:all .2s ease}.popup-wrapper .popup .close-button:hover{background-color:#030;transform:scale(1.05)}.popup-wrapper .popup .highscores{display:flex;flex-direction:column;gap:1rem;max-height:25rem;overflow-y:auto;padding:1rem;width:100%}.popup-wrapper .popup .highscores h2{text-align:center;margin:0 0 20px;padding:0;font-size:1.5rem;text-shadow:0 0 10px #00ff00;letter-spacing:2px}.popup-wrapper .popup .highscores .highscore-item{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:10px;border:2px solid #00ff00;background-color:#001400b3;font-size:.7rem;letter-spacing:1px;box-shadow:0 0 10px #0f03}.popup-wrapper .popup .highscores .highscore-item span{text-shadow:0 0 5px #00ff00}.popup-wrapper .popup .highscores .highscore-item span:first-child{overflow:hidden;white-space:nowrap;text-overflow:ellipsis;max-width:65%}.popup-wrapper .popup .highscores .highscore-item span:last-child{font-weight:700}.popup-wrapper .popup .change-log{display:flex;flex-direction:column;gap:1rem;max-height:25rem;overflow-y:auto;padding:1rem;border-radius:5px;width:15rem}.popup-wrapper .popup .change-log h2{text-align:center;margin:0;padding:0}.popup-wrapper .popup .change-log .change-log-item{display:flex;flex-direction:column;gap:.5rem;padding:.5rem;border-radius:5px;background-color:#2d2d2d;max-width:15rem}.popup-wrapper .popup .change-log .change-log-item span:first-child{overflow:hidden;white-space:nowrap;text-overflow:ellipsis;max-width:100%}.popup-wrapper .popup .coming-soon{display:flex;flex-direction:column;align-items:center;text-align:center;gap:1.5rem;padding:1.5rem;max-width:400px}.popup-wrapper .popup .coming-soon h2{font-size:1.5rem;letter-spacing:2px;text-shadow:0 0 10px #00ff00;margin:0;animation:blink 1.5s ease-in-out infinite alternate}.popup-wrapper .popup .coming-soon p{font-size:.8rem;line-height:1.6;letter-spacing:1px;margin:0}.popup-wrapper .popup ::-webkit-scrollbar{display:block;width:8px}.popup-wrapper .popup ::-webkit-scrollbar-thumb{background-color:#0f0;border-radius:0;border:1px solid #00aa00;box-shadow:0 0 5px #00ff0080}.popup-wrapper .popup ::-webkit-scrollbar-thumb:hover{background-color:#0a0}.popup-wrapper .popup ::-webkit-scrollbar-track{background-color:#010;border:1px solid #003300}.stars{position:fixed;top:0;left:0;width:100%;height:100%;overflow:hidden;z-index:0;background-image:radial-gradient(2px 2px at 20px 30px,#fff,#0000),radial-gradient(2px 2px at 40px 70px,#fff,#0000),radial-gradient(1px 1px at 90px 40px,#fff,#0000),radial-gradient(2px 2px at 160px 120px,#fff,#0000),radial-gradient(1px 1px at 230px 50px,#fff,#0000),radial-gradient(2px 2px at 270px 100px,#fff,#0000),radial-gradient(1px 1px at 330px 170px,#fff,#0000),radial-gradient(1px 1px at 350px 220px,#fff,#0000),radial-gradient(2px 2px at 400px 200px,#fff,#0000),radial-gradient(2px 2px at 450px 100px,#fff,#0000),radial-gradient(1px 1px at 500px 50px,#fff,#0000);background-size:550px 350px;background-repeat:repeat;animation:twinkle 15s linear infinite}@keyframes twinkle{0%{opacity:.5}50%{opacity:1}to{opacity:.5}}.title{position:relative;width:100%;text-align:center;font-family:"Press Start 2P",Courier New,monospace;font-size:2.2rem;color:#0f0;text-shadow:0 0 10px #00ff00,0 0 20px #00ff00;z-index:10;letter-spacing:2px;transform:perspective(500px) rotateX(10deg);animation:glow 2s ease-in-out infinite alternate;margin:15px 0 5px;padding-top:5px;flex-shrink:0}.bio{position:relative;width:90%;max-width:800px;margin:0 auto 15px;text-align:center;font-family:"Press Start 2P",Courier New,monospace;font-size:.7rem;line-height:1.5;color:#0f0;text-shadow:0 0 5px #00ff00;z-index:10;letter-spacing:1px;flex-shrink:0}.bio a{color:#0ff;text-decoration:none;text-shadow:0 0 5px #00ffff}.bio a:hover{text-shadow:0 0 10px #00ffff,0 0 20px #00ffff}@keyframes glow{0%{text-shadow:0 0 5px #00ff00,0 0 10px #00ff00}to{text-shadow:0 0 10px #00ff00,0 0 20px #00ff00,0 0 30px #00ff00}}#app{display:flex;width:100%;flex:1;justify-content:center;align-items:center;position:relative;z-index:5;overflow:hidden}#app .wrapper{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:0;width:100%;max-width:800px;transform:scale(.95);margin:0;padding-top:30px;padding-bottom:30px}#app .dev-container{display:flex;justify-content:center;align-items:center;gap:1rem;max-width:100%}#app .dev-container button{width:8rem;height:2rem;border-radius:10px;color:#fff;background-color:red}#app .dev-container .active{background-color:green}#app .game-wrapper{display:flex;justify-content:center;align-items:center;flex-direction:column;gap:.5rem;width:100%;max-width:100%;padding:0 15px;box-sizing:border-box;flex:1}#app .game-wrapper p{margin:0;color:#fff}#app .game-wrapper .game{display:flex;justify-content:center;flex-direction:column;align-items:center;color:#fff;gap:.25rem}#app .game-wrapper .game canvas{background-color:#000;border-radius:5px;max-width:100%;width:auto;height:auto;box-shadow:0 0 15px #0f06;border:2px solid rgba(0,255,0,.5);display:block;transform:scale(1)}.no-scroll{overflow:hidden}.popup-active *:not(.popup,.popup *,.popup-wrapper,.popup-wrapper *){pointer-events:none}.mobile-controls{display:none;justify-content:center;align-items:center;gap:1.5rem;width:100%;max-width:100%;margin-top:15px}.mobile-controls button{font-family:"Press Start 2P",Courier New,monospace;color:#0f0;background-color:#000;border:2px solid #00ff00;border-radius:0;padding:10px 15px;box-shadow:0 0 10px #00ff0080;text-shadow:0 0 8px #00ff00;outline:none;-webkit-user-select:none;user-select:none;cursor:pointer;transition:all .2s ease}.mobile-controls #left-button,.mobile-controls #right-button{font-size:1.2rem;min-width:60px;height:50px}.mobile-controls #fire-button{font-size:.9rem;min-width:120px;height:50px;letter-spacing:2px}.mobile-controls button:active{background-color:#030;transform:scale(.95);box-shadow:0 0 15px #0f0c}.footer{position:fixed;bottom:0;left:0;width:100%;background-color:#000;padding:4px 0;display:flex;justify-content:center;align-items:center;z-index:100;box-shadow:0 -5px 15px #000000b3;height:42px}.footer .game-options{display:flex;flex-direction:row;justify-content:center;align-items:center;gap:1rem;flex-wrap:wrap;width:100%;padding:0 15px}.footer .game-options button{font-family:"Press Start 2P",Courier New,monospace;font-size:.7rem;padding:6px 10px;border:2px solid #00ff00;background-color:#000;color:#0f0;cursor:pointer;text-transform:uppercase;letter-spacing:1px;outline:none;transition:all .2s ease;image-rendering:pixelated;box-shadow:0 0 8px #00ff0080;text-shadow:0 0 5px #00ff00;min-width:110px;margin:3px 0}.footer .game-options button:hover{background-color:#030;transform:scale(1.05)}.footer .game-options button.active{background-color:#050;color:#fff;border-color:#fff;box-shadow:0 0 12px #0f0c}.mobile-only{display:none}.mobile-hamburger-dropdown{position:absolute;bottom:50px;left:10px;background-color:#000;border:2px solid #00ff00;display:none;flex-direction:column;box-shadow:0 0 15px #00ff0080;z-index:150;min-width:150px}.mobile-hamburger-dropdown button{font-family:"Press Start 2P",Courier New,monospace;font-size:.7rem;padding:8px 12px;background-color:#000;color:#0f0;border:none;border-bottom:1px solid rgba(0,255,0,.3);text-align:left;cursor:pointer;transition:all .2s ease}.mobile-hamburger-dropdown button:hover{background-color:#030;color:#fff;text-shadow:0 0 8px #00ff00}.mobile-hamburger-dropdown button:last-child{border-bottom:none}.hamburger-active .mobile-hamburger-dropdown{display:flex}@media (max-width: 768px){html,body{height:100%;min-height:100vh;min-height:-webkit-fill-available;background:#000}body{height:-webkit-fill-available;padding-bottom:42px}.title{font-size:1.8rem;margin:10px 0 5px}.bio{font-size:.6rem;width:95%;margin-bottom:5px}#app .wrapper{transform:scale(1);margin:0;padding-top:5px;padding-bottom:10px}#app .game-wrapper .game canvas{transform:scale(1.1)}.footer .game-options{gap:.5rem;flex-wrap:nowrap;padding:0 5px}.footer .game-options button{min-width:75px;font-size:.6rem;padding:5px 8px}.mobile-only{display:block!important}#quick-menu-button,#highscore-button{display:none!important}.mobile-controls{display:flex;margin-top:10px;margin-bottom:10px;padding:0 15px}.mobile-controls #left-button,.mobile-controls #right-button{font-size:1.4rem;min-width:70px;height:55px}.mobile-controls #fire-button{font-size:1rem;min-width:140px;height:55px;letter-spacing:3px}}@media (max-width: 480px){html,body{height:100%;min-height:100vh;min-height:-webkit-fill-available;background:#000}body{height:-webkit-fill-available;padding-bottom:42px}.title{font-size:1.4rem;margin:5px 0 3px;padding-top:3px}.bio{font-size:.5rem;width:90%;line-height:1.4;margin-bottom:5px}#app{padding-top:5px}#app .wrapper{transform:scale(.9);margin:0;padding-top:0;padding-bottom:0;gap:5px}#app .game-wrapper{padding:0 10px}#app .game-wrapper .game canvas{transform:scale(1);max-width:100%;width:100%}.footer{height:40px;padding:2px 0}.footer .game-options{gap:.3rem;flex-wrap:nowrap;padding:0 5px}.footer .game-options button{min-width:60px;font-size:.5rem;padding:4px 6px}#hamburger-menu-button{min-width:60px!important}.footer .game-options button#play-mode-button{text-indent:-9999px;position:relative}.footer .game-options button#play-mode-button:after{content:"PLAY";position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);text-indent:0}.footer .game-options button#shields-on-button{display:none}.mobile-controls{display:flex;gap:.8rem;margin-top:8px;margin-bottom:8px;padding:0 10px}.mobile-controls #left-button,.mobile-controls #right-button{font-size:.9rem;min-width:50px;height:40px;padding:5px 10px}.mobile-controls #fire-button{font-size:.7rem;min-width:90px;height:40px;padding:5px 10px;letter-spacing:1px}}.loading-container{display:flex;flex-direction:column;align-items:center;padding:20px}.loading-popup{position:relative;width:50px;height:50px;border:3px solid #003300;border-radius:50%;border-top-color:#0f0;animation:spin 1s linear infinite;box-shadow:0 0 15px #00ff004d}.loading-text{margin-top:15px;text-align:center;font-family:"Press Start 2P",Courier New,monospace;font-size:.8rem;letter-spacing:2px;color:#0f0;text-shadow:0 0 5px #00ff00}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.highscore-container{display:flex;flex-direction:column;align-items:center;gap:15px;padding:10px;width:100%}.highscore-title{font-size:1.5rem;text-shadow:0 0 10px #00ff00;margin:0;letter-spacing:2px;text-align:center;animation:blink 1s ease-in-out infinite alternate}.final-score{font-size:1rem;letter-spacing:1px;margin-bottom:10px}.input-label{font-size:.7rem;letter-spacing:1px;margin-bottom:-5px}.highscore-input{width:100%;padding:10px;font-family:"Press Start 2P",Courier New,monospace;background-color:#010;color:#0f0;border:2px solid #00ff00;outline:none;text-align:center;font-size:.8rem;letter-spacing:1px;box-shadow:0 0 10px #00ff004d}.save-button{padding:10px 25px;font-family:"Press Start 2P",Courier New,monospace;font-size:.9rem;background-color:#000;color:#0f0;border:2px solid #00ff00;cursor:pointer;transition:all .2s ease;box-shadow:0 0 10px #00ff004d;text-shadow:0 0 5px #00ff00;letter-spacing:2px;margin-top:5px}.save-button:hover{background-color:#030;transform:scale(1.05);box-shadow:0 0 15px #00ff0080}.space-alert{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);background-color:#000;color:#f33;border:2px solid #ff3333;padding:10px 20px;font-size:.8rem;font-family:"Press Start 2P",Courier New,monospace;text-align:center;box-shadow:0 0 15px #ff000080;animation:alertBlink .5s ease-in-out infinite alternate;z-index:1001;letter-spacing:1px}@keyframes blink{0%{opacity:.7}to{opacity:1}}@keyframes alertBlink{0%{box-shadow:0 0 10px #ff000080}to{box-shadow:0 0 20px #f00c}}.error-message{font-family:"Press Start 2P",Courier New,monospace;color:#f33;text-align:center;font-size:.8rem;letter-spacing:1px;padding:20px;background-color:#14000080;border:2px solid #ff3333;text-shadow:0 0 5px #ff3333;animation:errorBlink 1s ease-in-out infinite alternate}@keyframes errorBlink{0%{opacity:.8}to{opacity:1}}.contact-container{display:flex;flex-direction:column;width:100%;max-width:500px;color:#0f0;font-family:"Press Start 2P",Courier New,monospace;background-color:#000a00e6;border:2px solid #00ff00;border-radius:0;padding:0;overflow:hidden;box-shadow:0 0 30px #00ff004d}.terminal-header{background-color:#010;padding:8px 15px;font-size:.9rem;border-bottom:2px solid #00ff00;letter-spacing:1px;display:flex;justify-content:space-between;align-items:center}.blink{animation:cursorBlink 1s infinite step-end}@keyframes cursorBlink{0%,to{opacity:1}50%{opacity:0}}.terminal-content{padding:20px;display:flex;flex-direction:column;gap:15px;position:relative;background-image:repeating-linear-gradient(to bottom,transparent 0px,transparent 2px,rgba(0,20,0,.05) 2px,rgba(0,20,0,.05) 4px);min-height:300px}.terminal-line{display:flex;align-items:flex-start;font-size:.8rem;line-height:1.4;gap:8px}.prompt,.prompt-continuation{color:#0f0;opacity:.8}.command{color:#0ff;margin-right:10px}.social-links{display:flex;margin-top:10px;gap:15px}.social-link{color:#0f0;transition:all .2s ease;opacity:.8;position:relative}.social-link:hover{color:#0f0;opacity:1;transform:scale(1.05)}.social-link:before{content:"";position:absolute;top:-5px;left:-5px;right:-5px;bottom:-5px;border:1px solid transparent}.terminal-link{color:#0ff;text-decoration:none;position:relative;transition:all .2s ease;white-space:normal;word-break:break-all;font-size:.7rem}.terminal-link:hover{text-shadow:0 0 8px #00ffff}.command.terminal-link{font-size:.8rem;margin-right:10px}.command.terminal-link:hover{color:#fff}.blink-text{animation:textBlink 2s infinite ease-in-out}@keyframes textBlink{0%,to{opacity:1}50%{opacity:.7}}.command-line{margin-top:auto;border-top:1px solid rgba(0,255,0,.3);padding-top:15px}.command-button{background:none;border:none;color:#0ff;font-family:"Press Start 2P",Courier New,monospace;font-size:.8rem;cursor:pointer;padding:0;transition:all .2s ease}.command-button:hover{color:#fff;text-shadow:0 0 10px #00ffff}.typewriter{border-right:2px solid #00ff00;animation:cursor 1s infinite step-end;padding-right:4px}@keyframes cursor{0%,to{border-color:transparent}50%{border-color:#0f0}}.dropdown-menu{position:absolute;bottom:60px;left:0;background-color:#000;border:2px solid #00ff00;display:none;flex-direction:column;box-shadow:0 0 15px #00ff0080;z-index:150;min-width:150px}.dropdown-menu button{font-family:"Press Start 2P",Courier New,monospace;font-size:.7rem;padding:8px 12px;background-color:#000;color:#0f0;border:none;border-bottom:1px solid rgba(0,255,0,.3);text-align:left;cursor:pointer;transition:all .2s ease}.dropdown-menu button:hover{background-color:#030;color:#fff;text-shadow:0 0 8px #00ff00}.dropdown-menu button:last-child{border-bottom:none}.dropdown-active .dropdown-menu{display:flex}@media (max-width: 768px){.contact-container{max-width:90%}.terminal-header{font-size:.8rem}.terminal-line{font-size:.7rem}}@media (max-width: 480px){.terminal-content{padding:15px;gap:12px}.terminal-line{font-size:.6rem}.social-links{flex-wrap:wrap}}
