@import "https://fonts.googleapis.com/css2?family=Press+Start+2P&family=VT323&display=swap";
:root{--space-black:#0a0a0f;--space-deep:#0d1117;--terminal-green:#00ff41;--terminal-green-dim:#0c3;--laser-red:#ff2d2d;--laser-glow:#ff6b6b;--explosion-orange:#ff9500;--explosion-yellow:#fc0;--ship-gray:#7a8599;--ship-light:#a0b0c8;--ship-dark:#4a5a70;--ship-highlight:#c8d8f0;--engine-blue:#00d4ff;--bug-purple:#c77dff;--bug-body:#e040fb;--bug-dark:#7b2cbf}.onboarding-container{background:var(--space-black);z-index:9999;font-family:VT323,monospace;position:fixed;inset:0;overflow:hidden}.onboarding-container.shake{animation:.5s ease-out screenShake}@keyframes screenShake{0%,to{transform:translate(0)rotate(0)}10%{transform:translate(-10px,-5px)rotate(-1deg)}20%{transform:translate(10px,5px)rotate(1deg)}30%{transform:translate(-8px,4px)rotate(-.5deg)}40%{transform:translate(8px,-4px)rotate(.5deg)}50%{transform:translate(-5px,2px)rotate(-.3deg)}60%{transform:translate(5px,-2px)rotate(.3deg)}70%{transform:translate(-3px,1px)rotate(-.1deg)}80%{transform:translate(3px,-1px)rotate(.1deg)}90%{transform:translate(-1px)rotate(0)}}.flash-overlay{z-index:1000;background:#fff;animation:.1s ease-out forwards flashFade;position:absolute;inset:0}@keyframes flashFade{0%{opacity:.8}to{opacity:0}}.starfield{pointer-events:none;position:absolute;inset:0}.star{background:#fff;border-radius:50%;position:absolute;box-shadow:0 0 4px #fff,0 0 8px #ffffff80}.nebula{pointer-events:none;background:radial-gradient(at 20% 30%,#6366f11a 0%,#0000 50%),radial-gradient(at 80% 70%,#a855f714 0%,#0000 50%),radial-gradient(#00d4ff0d 0%,#0000 60%);position:absolute;inset:0}.battlecruiser{transform-origin:0;z-index:10;filter:drop-shadow(0 0 20px #00d4ff80);position:absolute;top:50%;left:0;transform:translateY(-50%)scale(2.5)}.ship-body{width:180px;height:80px;position:relative}.ship-hull{width:8px;height:8px;box-shadow:  16px 32px var(--ship-gray),24px 32px var(--ship-gray),32px 32px var(--ship-gray),40px 32px var(--ship-gray),48px 32px var(--ship-gray),56px 32px var(--ship-light),64px 32px var(--ship-light),72px 32px var(--ship-light),80px 32px var(--ship-light),88px 32px var(--ship-gray),96px 32px var(--ship-gray),104px 32px var(--ship-gray),112px 32px var(--ship-gray),120px 32px var(--ship-dark),128px 32px var(--ship-dark),136px 32px var(--ship-dark),144px 32px var(--ship-dark),152px 32px var(--ship-dark),160px 32px var(--ship-dark),24px 24px var(--ship-gray),32px 24px var(--ship-gray),40px 24px var(--ship-light),48px 24px var(--ship-light),56px 24px var(--ship-light),64px 24px #a0aec0,72px 24px #a0aec0,80px 24px var(--ship-light),88px 24px var(--ship-light),96px 24px var(--ship-gray),104px 24px var(--ship-gray),112px 24px var(--ship-dark),120px 24px var(--ship-dark),128px 24px var(--ship-dark),136px 24px var(--ship-dark),24px 40px var(--ship-dark),32px 40px var(--ship-dark),40px 40px var(--ship-gray),48px 40px var(--ship-gray),56px 40px var(--ship-gray),64px 40px var(--ship-gray),72px 40px var(--ship-gray),80px 40px var(--ship-gray),88px 40px var(--ship-dark),96px 40px var(--ship-dark),104px 40px var(--ship-dark),112px 40px var(--ship-dark),120px 40px #1a202c,128px 40px #1a202c,144px 32px var(--ship-dark),152px 32px var(--ship-dark),160px 32px #1a202c,168px 32px #1a202c,176px 32px #1a202c;image-rendering:pixelated;background:0 0;position:absolute}.ship-engine{width:24px;height:24px;position:absolute;top:28px;left:-16px}.engine-glow{background:var(--engine-blue);width:100%;height:100%;box-shadow:0 0 20px var(--engine-blue),0 0 40px var(--engine-blue),0 0 60px #00d4ff80,-10px 0 30px var(--engine-blue);border-radius:50% 0 0 50%;animation:.1s ease-in-out infinite alternate enginePulse}@keyframes enginePulse{0%{opacity:.8;transform:scaleX(.9)}to{opacity:1;transform:scaleX(1.1)}}.ship-bridge{width:8px;height:8px;box-shadow:0 0 var(--terminal-green),8px 0 var(--terminal-green),16px 0 var(--terminal-green),0 8px #00ff4180,8px 8px #00ff4180,16px 8px #00ff4180;background:0 0;animation:1s ease-in-out infinite alternate bridgeGlow;position:absolute;top:16px;left:56px}@keyframes bridgeGlow{0%{filter:brightness()}to{filter:brightness(1.5)}}.ship-cannon{background:linear-gradient(90deg,var(--ship-dark),var(--ship-gray),#1a202c);border-radius:0 4px 4px 0;width:32px;height:8px;position:absolute;top:30px;right:-20px}.ship-cannon:after{content:"";background:var(--laser-red);width:4px;height:4px;box-shadow:0 0 8px var(--laser-red),0 0 16px var(--laser-glow);border-radius:50%;animation:.3s ease-in-out infinite alternate cannonCharge;position:absolute;top:2px;right:-4px}@keyframes cannonCharge{0%{opacity:.5;transform:scale(.8)}to{opacity:1;transform:scale(1.2)}}.ship-wing-top,.ship-wing-bottom{background:0 0;width:8px;height:8px;position:absolute}.ship-wing-top{box-shadow:0 0 var(--ship-dark),8px 0 var(--ship-dark),16px 0 var(--ship-gray),24px 8px var(--ship-gray),32px 8px var(--ship-gray);top:8px;left:40px}.ship-wing-bottom{box-shadow:0 0 var(--ship-dark),8px 0 var(--ship-dark),16px 0 var(--ship-gray),24px -8px var(--ship-gray),32px -8px var(--ship-gray);top:48px;left:40px}.bug{flex-direction:column;align-items:center;gap:8px;transition:opacity .4s;animation:2s ease-in-out infinite enemyFloat;display:flex;position:absolute;transform:translate(-50%,-50%)}@keyframes enemyFloat{0%,to{transform:translate(-50%,-50%)translateY(0)}50%{transform:translate(-50%,-50%)translateY(-10px)}}.bug-label{white-space:nowrap;text-shadow:0 0 10px,0 0 20px,2px 2px #000c;background:#000000b3;border:2px solid;border-radius:4px;padding:4px 12px;font-family:VT323,monospace;font-size:20px;font-weight:700;animation:1s ease-in-out infinite alternate labelPulse}@keyframes labelPulse{0%{transform:scale(1)}to{transform:scale(1.05)}}.bug-icon{filter:drop-shadow(0 0 15px var(--bug-color,#ff4757));font-size:48px;animation:.5s ease-in-out infinite alternate iconBounce}@keyframes iconBounce{0%{transform:scale(1)rotate(-5deg)}to{transform:scale(1.1)rotate(5deg)}}.bug.critical .bug-icon,.bug.bug .bug-icon{filter:drop-shadow(0 0 20px #ff4757)drop-shadow(0 0 40px #ff4757)}.bug.security .bug-icon{filter:drop-shadow(0 0 20px #e84393)drop-shadow(0 0 40px #e84393)}.bug.debt .bug-icon,.bug.legacy .bug-icon{filter:drop-shadow(0 0 15px #636e72)}.bug.conflict .bug-icon{animation:.1s ease-in-out infinite conflictShake}@keyframes conflictShake{0%,to{transform:translate(0)rotate(-5deg)}50%{transform:translate(3px)rotate(5deg)}}.explosion{width:80px;height:80px;position:relative}.explosion-core{background:#fff;border-radius:50%;width:24px;height:24px;animation:.4s ease-out forwards explosionCore;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}@keyframes explosionCore{0%{opacity:1;background:#fff;transform:translate(-50%,-50%)scale(1)}50%{background:var(--explosion-yellow);transform:translate(-50%,-50%)scale(2)}to{opacity:0;background:var(--explosion-orange);transform:translate(-50%,-50%)scale(3)}}.explosion-particle{border-radius:50%;width:12px;height:12px;animation:.5s ease-out forwards particleExplode;position:absolute}.explosion-particle.p1{background:var(--explosion-yellow);--tx:-50px;--ty:-35px;animation-delay:0s;top:50%;left:50%}.explosion-particle.p2{background:var(--explosion-orange);--tx:45px;--ty:-25px;animation-delay:50ms;top:50%;left:50%}.explosion-particle.p3{background:var(--laser-red);--tx:-35px;--ty:40px;animation-delay:.1s;top:50%;left:50%}.explosion-particle.p4{background:var(--explosion-yellow);--tx:50px;--ty:35px;animation-delay:.15s;top:50%;left:50%}@keyframes particleExplode{0%{opacity:1;transform:translate(-50%,-50%)scale(1)}to{transform:translate(calc(-50% + var(--tx)),calc(-50% + var(--ty)))scale(0);opacity:0}}.laser{background:linear-gradient(90deg,var(--laser-red),var(--laser-glow),white,var(--laser-glow));transform-origin:0;height:8px;box-shadow:0 0 15px var(--laser-red),0 0 30px var(--laser-glow),0 0 45px #ff2d2d99,0 0 60px #ff6b6b4d;z-index:5;border-radius:4px;animation:.25s ease-out forwards laserFire;position:absolute}@keyframes laserFire{0%{opacity:1;filter:brightness(2)}to{opacity:0;filter:brightness()}}.victory-text{z-index:100;text-align:center;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.text-glow{color:var(--terminal-green);text-shadow:0 0 10px var(--terminal-green),0 0 20px var(--terminal-green),0 0 40px var(--terminal-green),0 0 80px #00ff4180;letter-spacing:2px;font-family:"Press Start 2P",cursive;font-size:clamp(1rem,4vw,2.5rem);animation:.5s ease-in-out infinite alternate textPulse}.text-shadow{color:#0000;-webkit-text-stroke:1px #00ff414d;letter-spacing:2px;z-index:-1;font-family:"Press Start 2P",cursive;font-size:clamp(1rem,4vw,2.5rem);position:absolute;top:4px;left:4px}.cursor{animation:.5s step-end infinite blink}@keyframes blink{0%,50%{opacity:1}51%,to{opacity:0}}@keyframes textPulse{0%{filter:brightness()}to{filter:brightness(1.3)}}.victory-text.fade-out{animation:1s ease-out forwards victoryFadeOut}@keyframes victoryFadeOut{0%{opacity:1;transform:translate(-50%,-50%)scale(1)}to{opacity:0;transform:translate(-50%,-50%)scale(.8)translateY(-50px)}}.login-section{opacity:0;pointer-events:none;z-index:200;justify-content:center;align-items:center;transition:opacity .8s ease-in-out;display:flex;position:absolute;inset:0}.login-section.visible{opacity:1;pointer-events:auto}.login-terminal{border:2px solid var(--terminal-green);background:#0d1117f2;border-radius:8px;width:90%;max-width:600px;overflow:hidden;box-shadow:0 0 20px #00ff4133,inset 0 0 60px #00ff4108}.terminal-header{background:#00ff4126;border-bottom:1px solid #00ff414d;justify-content:space-between;align-items:center;padding:8px 16px;font-family:VT323,monospace;display:flex}.terminal-header:before{content:"┌──[battlecruiser@localhost]──[~]";color:var(--terminal-green);font-size:14px}.terminal-title{color:#00ff4180;font-size:14px}.terminal-content{padding:24px}.logo-container{flex-direction:column;align-items:center;gap:12px;margin-bottom:16px;display:flex}.logo-image{filter:drop-shadow(0 0 20px #00d4ff80)}.logo-title{color:var(--terminal-green);text-shadow:0 0 10px var(--terminal-green),0 0 20px var(--terminal-green);letter-spacing:4px;margin:0;font-family:VT323,monospace;font-size:clamp(24px,4vw,36px)}.tagline{text-align:center;color:#00ff41cc;margin-bottom:32px;font-size:18px}.prompt{color:var(--terminal-green);margin-right:8px}.login-prompt{color:#fffc;margin-bottom:20px;font-size:16px}.login-buttons{flex-direction:column;gap:12px;display:flex}.login-btn{color:#fff;cursor:pointer;background:#ffffff0d;border:1px solid #fff3;border-radius:6px;align-items:center;gap:12px;padding:14px 20px;transition:all .2s;display:flex;position:relative;font-family:VT323,monospace!important;font-size:18px!important}.login-btn:hover{background:#ffffff1a;border-color:#fff6;transform:translate(4px)}.login-btn.github{border-color:var(--terminal-green);background:#00ff411a}.login-btn.github:hover{background:#00ff4133;box-shadow:0 0 20px #00ff414d}.login-btn.gitlab{border-color:#fc6d26}.login-btn.gitlab:hover{background:#fc6d261a;box-shadow:0 0 20px #fc6d2633}.login-btn.google:hover{background:#ffffff1a}.login-icon{width:24px;height:24px}.btn-badge{background:var(--terminal-green);color:var(--space-black);border-radius:4px;padding:2px 8px;font-size:10px;font-weight:700;position:absolute;right:12px}.divider{color:#fff6;align-items:center;gap:16px;font-size:14px;display:flex}.divider:before,.divider:after{content:"";background:#fff3;flex:1;height:1px}.footer-info{text-align:center;color:#00ff4199;margin-top:24px;font-size:14px;animation:1s step-end infinite blink}.restart-btn{color:#00ff4199;cursor:pointer;background:0 0;border:1px solid #00ff414d;border-radius:4px;margin:16px auto 0;padding:8px 16px;font-family:VT323,monospace;font-size:14px;transition:all .2s;display:block}.restart-btn:hover{border-color:var(--terminal-green);color:var(--terminal-green);background:#00ff411a;box-shadow:0 0 10px #00ff414d}.credentials-form{flex-direction:column;gap:16px;margin-bottom:20px;display:flex}.form-field{flex-direction:column;gap:4px;display:flex}.field-label{color:#ffffffb3;font-size:14px}.terminal-input{width:100%;color:var(--terminal-green);background:#00000080;border:1px solid #00ff414d;border-radius:4px;outline:none;padding:12px 16px;transition:all .2s;font-family:VT323,monospace!important;font-size:18px!important}.terminal-input::placeholder{color:#00ff414d}.terminal-input:focus{border-color:var(--terminal-green);box-shadow:0 0 10px #00ff414d}.login-btn.credentials{border-color:var(--terminal-green);background:#00ff4126;justify-content:center;margin-top:8px}.login-btn.credentials:hover{background:#00ff4140;box-shadow:0 0 20px #00ff4166}.login-btn.credentials:disabled{opacity:.5;cursor:not-allowed}.error-message{color:#ff6b6b;background:#ff2d2d1a;border:1px solid #ff2d2d4d;border-radius:4px;margin-bottom:16px;padding:12px 16px;font-size:14px}.register-link{text-align:center;margin-top:16px;font-size:14px}.register-link a{color:#fff9;text-decoration:none;transition:color .2s}.register-link a:hover{color:#ffffffe6}.register-link .link-text{color:var(--terminal-green);text-decoration:underline}.register-link a:hover .link-text{text-shadow:0 0 10px #00ff4180}.loading-indicator{color:#00ff41cc;font-size:16px;animation:1s step-end infinite blink}.skip-btn{color:#fff9;cursor:pointer;z-index:1000;background:0 0;border:1px solid #ffffff4d;border-radius:4px;padding:8px 16px;font-family:VT323,monospace;font-size:14px;transition:all .2s;position:absolute;top:20px;right:20px}.skip-btn:hover{color:#fff;background:#ffffff1a;border-color:#ffffff80}.skip-key{opacity:.5;margin-left:4px}.sound-toggle{color:#fff9;cursor:pointer;z-index:1000;background:#00000080;border:1px solid #fff3;border-radius:50%;justify-content:center;align-items:center;width:40px;height:40px;padding:0;font-size:18px;transition:all .2s;display:flex;position:absolute;bottom:20px;right:20px}.sound-toggle:hover{color:#fff;background:#ffffff1a;border-color:#fff6;transform:scale(1.1)}.recording-controls{z-index:1000;gap:8px;display:flex;position:absolute;bottom:20px;right:70px}.record-btn{color:#fff9;cursor:pointer;background:#00000080;border:1px solid #fff3;border-radius:50%;justify-content:center;align-items:center;width:40px;height:40px;padding:0;font-size:18px;transition:all .2s;display:flex}.record-btn:hover{color:#fff;background:#ffffff1a;border-color:#fff6;transform:scale(1.1)}.record-btn.recording{background:#ff00004d;border-color:#f44;animation:1s ease-in-out infinite recordingPulse}.record-btn.play{border-color:var(--terminal-green-dim);background:#00ff4133}@keyframes recordingPulse{0%,to{box-shadow:0 0 #f006}50%{box-shadow:0 0 0 10px #f000}}.audio-hint{border:2px solid var(--terminal-green);cursor:pointer;z-index:1000;background:#000000d9;border-radius:8px;align-items:center;gap:12px;padding:16px 24px;transition:all .2s;animation:2s ease-in-out infinite audioHintPulse;display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.audio-hint:hover{background:#00ff4126;transform:translate(-50%,-50%)scale(1.05);box-shadow:0 0 30px #00ff4166}.audio-hint-icon{font-size:32px;animation:.8s ease-in-out infinite alternate audioIconBounce}.audio-hint-text{color:var(--terminal-green);text-shadow:0 0 10px var(--terminal-green);font-family:VT323,monospace;font-size:24px}@keyframes audioHintPulse{0%,to{box-shadow:0 0 10px #00ff414d}50%{box-shadow:0 0 25px #00ff4199}}@keyframes audioIconBounce{0%{transform:scale(1)}to{transform:scale(1.15)}}.scanlines{pointer-events:none;z-index:500;background:repeating-linear-gradient(0deg,#0000,#0000 2px,#0000001a 2px 4px);position:absolute;inset:0}.vignette{pointer-events:none;z-index:501;background:radial-gradient(#0000 0% 60%,#0006 100%);position:absolute;inset:0}@media (max-width:768px){.onboarding-container{overflow-x:hidden}.battlecruiser{transform-origin:50%;top:30%;transform:translateY(-50%)scale(.4)}.bug{transform:translate(-50%,-50%)scale(1.1)}.bug-label{font-size:10px}.victory-text{top:20%}.text-glow,.text-shadow{letter-spacing:2px;font-size:16px}.logo-image{width:80px;height:80px}.logo-title{font-size:20px}.login-terminal{width:calc(100% - 40px);max-height:80vh;margin:20px;overflow-y:auto}.terminal-content{padding:16px}.login-btn{padding:12px 16px;font-size:16px}}@media (max-width:480px){.logo-image{width:60px;height:60px}.logo-title{letter-spacing:2px;font-size:18px}.text-glow,.text-shadow{font-size:14px}}.oauth-section{margin-bottom:24px}.oauth-buttons{flex-direction:column;gap:12px;margin-bottom:12px;display:flex}.oauth-btn{color:#fff;cursor:pointer;background:#ffffff0d;border:2px solid #0000;border-radius:8px;justify-content:center;align-items:center;gap:12px;padding:16px 24px;transition:all .2s;display:flex;position:relative;font-family:VT323,monospace!important;font-size:20px!important}.oauth-btn:hover{transform:translateY(-2px)}.oauth-btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.oauth-btn.github{border-color:var(--terminal-green);background:linear-gradient(135deg,#00ff4126,#00ff410d)}.oauth-btn.github:hover{background:linear-gradient(135deg,#00ff4140,#00ff411a);box-shadow:0 0 20px #00ff414d,0 4px 20px #0000004d}.oauth-btn.gitlab{background:linear-gradient(135deg,#fc6d2626,#fc6d260d);border-color:#fc6d26}.oauth-btn.gitlab:hover{background:linear-gradient(135deg,#fc6d2640,#fc6d261a);box-shadow:0 0 20px #fc6d264d,0 4px 20px #0000004d}.oauth-btn.google{background:linear-gradient(135deg,#ffffff1a,#ffffff05);border-color:#ffffff4d}.oauth-btn.google:hover{background:linear-gradient(135deg,#ffffff26,#ffffff0d);border-color:#ffffff80;box-shadow:0 0 20px #ffffff1a,0 4px 20px #0000004d}.oauth-icon{flex-shrink:0;width:24px;height:24px}.oauth-icon.google-icon{width:20px;height:20px}.oauth-hint{text-align:center;color:#00ff4180;margin-top:8px;font-size:14px}.credentials-form.compact{padding-top:16px}.credentials-form.compact .form-field{gap:2px}.credentials-form.compact .field-label{font-size:13px}.credentials-form.compact .terminal-input{padding:10px 14px;font-size:16px!important}.auth-mode-toggle{text-align:center;margin-top:12px}.mode-toggle-btn{color:#fff9;cursor:pointer;background:0 0;border:none;padding:8px 16px;font-family:VT323,monospace;font-size:15px;transition:all .2s}.mode-toggle-btn:hover,.mode-toggle-btn .prompt{color:var(--terminal-green)}.oauth-section+.divider{margin:20px 0 16px}
