@font-face{font-family:Share Tech Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/J7aHnp1uDWRBEqV98dVQztYldFcLowEFA87Heg.03f2d74f.woff2) format("woff2");unicode-range:U+00??,U+0131,U+0152-0153,U+02bb-02bc,U+02c6,U+02da,U+02dc,U+0304,U+0308,U+0329,U+2000-206f,U+20ac,U+2122,U+2191,U+2193,U+2212,U+2215,U+feff,U+fffd}#map-container,.galaxy-container{position:relative;width:100%;min-height:100%;background:radial-gradient(circle at center,#0a0a2a 0,#000 100%);border-bottom:none;overflow:visible;font-family:Share Tech Mono,monospace;box-sizing:border-box;margin:0;padding:0;flex:1;display:flex;flex-direction:column;contain:layout style paint;transform:translateZ(0);-webkit-transform:translateZ(0);will-change:contents;isolation:isolate;backface-visibility:hidden;perspective:1000px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;transform-style:preserve-3d;-webkit-transform-style:preserve-3d}#map-page-wrapper{flex-shrink:0}html:has(#dashboard-page-wrapper),html:has(#map-page-wrapper){min-height:100vh}body:has(#dashboard-page-wrapper),body:has(#map-page-wrapper){min-height:100vh}body:has(#dashboard-page-wrapper) main,body:has(#map-page-wrapper) main{min-height:calc(100vh - 70px);margin:0;padding:0}body:has(#dashboard-page-wrapper) main.min-h-screen,body:has(#dashboard-page-wrapper) main[class*=min-h],body:has(#map-page-wrapper) main.min-h-screen,body:has(#map-page-wrapper) main[class*=min-h]{min-height:calc(100vh - 70px)}.star{width:2px;height:2px;background:#fff;opacity:.5;pointer-events:none}.planet,.star{position:absolute;border-radius:50%}.planet{width:30px;height:30px;background:radial-gradient(circle at 30%,#4a4a8a 0,#2a2a6a 100%);box-shadow:0 0 20px rgba(100,100,255,.5);cursor:pointer;transition:transform .3s;z-index:10;overflow:visible}.planet:hover{transform:scale(1.2)}.planet-special{background:radial-gradient(circle at 30%,#8a4a8a 0,#6a2a6a 100%);box-shadow:0 0 20px rgba(255,100,255,.5)}.planet-solved{background:radial-gradient(circle at 30%,#6a6a6a 0,#4a4a4a 100%)!important;box-shadow:0 0 15px hsla(0,0%,59%,.4)!important;opacity:.6;filter:grayscale(.7)}.planet-solved:hover{opacity:.8;filter:grayscale(.5)}.planet-solved .planet-label{color:#999!important;text-shadow:0 0 5px hsla(0,0%,59%,.5)!important}.planet-label{position:absolute;color:#0f0;font-size:11px;text-align:center;width:100px;left:-35px;top:35px;text-shadow:0 0 5px rgba(0,255,0,.5);pointer-events:none;font-family:Share Tech Mono,monospace}.ship{position:absolute;width:10px;height:10px;background:radial-gradient(circle at 30%,#f44 0,#a00 100%);box-shadow:0 0 10px rgba(255,0,0,.5);border-radius:50%;cursor:pointer;transition:opacity .5s;z-index:20}.ship-label{position:absolute;color:#f44;font-size:11px;text-align:center;width:100px;left:-45px;top:-20px;text-shadow:0 0 5px rgba(255,0,0,.5);pointer-events:none;font-family:Share Tech Mono,monospace}.ship-other{background:radial-gradient(circle at 30%,#4af 0,#26a 100%);box-shadow:0 0 10px rgba(68,170,255,.45)}.ship-other .ship-label{color:#8cf;text-shadow:0 0 5px rgba(0,200,255,.45)}.attack-line{position:absolute;height:2px;transform-origin:left center;pointer-events:auto;z-index:100;opacity:.6;transition:opacity .3s}.attack-line.tcp{background:linear-gradient(90deg,rgba(0,0,255,.3),rgba(0,0,255,0))}.attack-line.http{background:linear-gradient(90deg,rgba(255,0,0,.3),rgba(255,0,0,0))}.attack-line.solution{background:linear-gradient(90deg,hsla(0,0%,100%,.8),hsla(0,0%,100%,0))}.attack-line.solution-correct{background:linear-gradient(90deg,rgba(0,255,0,.8),rgba(0,255,0,0));box-shadow:0 0 10px rgba(0,255,0,.5)}.attack-line.solution-incorrect{background:linear-gradient(90deg,rgba(255,165,0,.8),rgba(255,165,0,0));box-shadow:0 0 10px rgba(255,165,0,.5)}.attack-line.solution-bruteforce{background:linear-gradient(90deg,rgba(255,0,0,.8),rgba(255,0,0,0));box-shadow:0 0 10px rgba(255,0,0,.5)}.packet{position:absolute;width:4px;height:4px;border-radius:50%;cursor:pointer;z-index:200;pointer-events:auto;will-change:left,top;transform:translateZ(0);-webkit-transform:translateZ(0);backface-visibility:hidden;-webkit-backface-visibility:hidden;perspective:1000px;contain:strict;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.packet.tcp{background:#00f}.packet.http{background:#ff0}.packet:hover{transform:scale(2);box-shadow:0 0 5px currentColor}.tooltip{position:absolute;display:none;background-color:rgba(0,0,0,.9);border:1px solid #0f0;border-radius:4px;padding:8px;color:#0f0;font-family:Share Tech Mono,monospace;font-size:12px;z-index:10000;pointer-events:none;max-width:300px;word-wrap:break-word}.tooltip.pinned{pointer-events:auto;z-index:10001;border:2px solid #0f0;cursor:move;-webkit-user-select:none;-moz-user-select:none;user-select:none;max-height:400px;overflow-y:auto}.tooltip.pinned::-webkit-scrollbar{width:8px}.tooltip.pinned::-webkit-scrollbar-track{background:rgba(0,0,0,.3)}.tooltip.pinned::-webkit-scrollbar-thumb{background:rgba(0,255,0,.3);border-radius:4px}.tooltip.pinned::-webkit-scrollbar-thumb:hover{background:rgba(0,255,0,.5)}.tooltip.pinned em,.tooltip.pinned p,.tooltip.pinned span,.tooltip.pinned strong{cursor:text;-webkit-user-select:text;-moz-user-select:text;user-select:text}.tooltip a{color:#0f0;text-decoration:underline;cursor:pointer}.tooltip a:hover{color:#fff}.tooltip .challenge-btn{background:rgba(0,255,0,.2);border:1px solid #0f0;color:#0f0;padding:8px 16px;border-radius:4px;cursor:pointer;font-family:Share Tech Mono,monospace;font-size:12px;width:100%;margin-bottom:10px;transition:all .2s ease}.tooltip .challenge-btn:hover{background:rgba(0,255,0,.3);border-color:#0ff;color:#0ff;box-shadow:0 0 10px rgba(0,255,255,.3)}.packet.solution{background:radial-gradient(circle at center,hsla(0,0%,100%,.8) 0,hsla(0,0%,100%,0) 100%);width:8px;height:8px;transform:translate(-50%,-50%)}.packet.solution-correct{background:radial-gradient(circle at center,rgba(0,255,0,.8) 0,rgba(0,255,0,0) 100%)}.packet.solution-correct,.packet.solution-incorrect{width:15px;height:15px;transform:translate(-50%,-50%)}.packet.solution-incorrect{background:radial-gradient(circle at center,rgba(255,165,0,.8) 0,rgba(255,165,0,0) 100%)}.packet.solution-bruteforce{background:radial-gradient(circle at center,rgba(255,0,0,.8) 0,rgba(255,0,0,0) 100%);width:15px;height:15px;transform:translate(-50%,-50%)}@keyframes shake{0%,to{transform:translate(0)}10%,30%,50%,70%,90%{transform:translate(-2px,-2px)}20%,40%,60%,80%{transform:translate(2px,2px)}}.planet.shaking{animation:shake .5s cubic-bezier(.36,.07,.19,.97) infinite}@keyframes shield-pulse{0%{transform:translate(-50%,-50%) scale(1);opacity:.2}50%{transform:translate(-50%,-50%) scale(1.1);opacity:.3}to{transform:translate(-50%,-50%) scale(1);opacity:.2}}.planet-shield{position:absolute;width:80px;height:80px;border-radius:50%;border:3px solid;pointer-events:none;z-index:150;top:50%;left:50%;transform:translate(-50%,-50%)}.planet-shield.active{animation:shield-pulse 1.5s cubic-bezier(.36,.07,.19,.97) infinite}@keyframes shield-impact{0%{transform:translate(-50%,-50%) scale(.1);opacity:.8}50%{transform:translate(-50%,-50%) scale(1.5);opacity:.6}to{transform:translate(-50%,-50%) scale(2);opacity:0}}.shield-impact{position:absolute;width:30px;height:30px;border-radius:50%;background:radial-gradient(circle at center,rgba(255,165,0,.8),transparent);pointer-events:none;z-index:151;animation:shield-impact .5s cubic-bezier(.36,.07,.19,.97) forwards}@keyframes protection-pulse{0%{transform:translate(-50%,-50%) scale(1);opacity:.4}50%{transform:translate(-50%,-50%) scale(1.1);opacity:.6}to{transform:translate(-50%,-50%) scale(1);opacity:.4}}.protection-sphere{position:absolute;width:30px;height:30px;border-radius:50%;border:2px solid;pointer-events:none;z-index:149;transform:translate(-50%,-50%);animation:protection-pulse 1s ease-in-out infinite}@keyframes shield-shatter{0%{transform:translate(-50%,-50%) scale(1);opacity:.5}50%{transform:translate(-50%,-50%) scale(1.2);opacity:.3}to{transform:translate(-50%,-50%) scale(1.5);opacity:0}}@keyframes particle-fly{0%{transform:rotate(var(--angle)) translateX(0);opacity:1}to{transform:rotate(var(--angle)) translateX(100px);opacity:0}}.planet-shield.shatter{animation:shield-shatter .5s cubic-bezier(.36,.07,.19,.97) forwards}.shield-particle{position:absolute;width:10px;height:3px;top:50%;left:50%;transform-origin:left center;opacity:0;pointer-events:none;animation:particle-fly .5s ease-out forwards}.shield-particle:first-child{--angle:0deg}.shield-particle:nth-child(2){--angle:45deg}.shield-particle:nth-child(3){--angle:90deg}.shield-particle:nth-child(4){--angle:135deg}.shield-particle:nth-child(5){--angle:180deg}.shield-particle:nth-child(6){--angle:225deg}.shield-particle:nth-child(7){--angle:270deg}.shield-particle:nth-child(8){--angle:315deg}.galaxy-controls{position:absolute;left:70px;bottom:10px;background:rgba(0,0,0,.8);padding:10px;border:1px solid #0f0;border-radius:4px;display:flex;align-items:center;gap:10px;height:42px;box-sizing:border-box;transition:bottom .3s ease-in-out;z-index:1001}.galaxy-controls-hidden{opacity:0;pointer-events:none;transform:translateX(-20px)}.galaxy-toggle-controls-btn{background:transparent;border:1px solid #0f0;color:#0f0;padding:5px 10px;cursor:pointer;font-family:Share Tech Mono,monospace;width:40px;height:42px;display:flex;align-items:center;justify-content:center;transition:bottom .3s ease-in-out;position:absolute;bottom:10px;left:10px;z-index:1002}.galaxy-toggle-controls-btn:hover{background:rgba(0,255,0,.1)}.galaxy-control-button{background:transparent;border:1px solid #0f0;color:#0f0;padding:5px 10px;cursor:pointer;font-family:Share Tech Mono,monospace;min-width:40px;min-height:40px;display:flex;align-items:center;justify-content:center}.galaxy-control-button:hover{background:rgba(0,255,0,.1)}.galaxy-control-button:disabled{opacity:.5;cursor:not-allowed}.galaxy-control-button .icon{font-size:16px}.galaxy-speed-slider{width:100px;margin:0 10px;vertical-align:middle}.galaxy-speed-value{color:#0f0;font-family:Share Tech Mono,monospace;min-width:40px;text-align:center}.planet-orbit{border:1px solid hsla(0,0%,100%,.3);animation:rotate 20s linear infinite;transform-origin:center center;left:0;box-sizing:border-box;opacity:1}.planet-orbit,.planet-satellite{position:absolute;border-radius:50%;pointer-events:none;top:0}.planet-satellite{width:6px;height:6px;background:hsla(0,0%,100%,.9);box-shadow:0 0 6px hsla(0,0%,100%,.9);transform:translateX(-50%)}.planet-ring{border-radius:50%;border:2px solid hsla(0,0%,100%,.3);transform:rotate(-20deg) scaleY(.3);box-shadow:0 0 8px hsla(0,0%,100%,.2)}.planet-glow,.planet-ring{position:absolute;pointer-events:none;top:0;left:0;opacity:1;width:100%;height:100%;box-sizing:border-box}.planet-glow{border-radius:50%;animation:glow 3s ease-in-out infinite alternate;box-shadow:0 0 15px currentColor}@keyframes rotate{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@keyframes glow{0%{box-shadow:0 0 10px currentColor}to{box-shadow:0 0 20px currentColor}}.planet-glow.difficulty-easy{box-shadow:0 0 20px currentColor,0 0 10px rgba(68,170,68,.5)}.planet-glow.difficulty-medium{box-shadow:0 0 15px currentColor,0 0 8px rgba(255,170,68,.5)}.planet-glow.difficulty-hard{box-shadow:0 0 12px currentColor,0 0 6px rgba(255,68,68,.5)}.planet-ring.difficulty-easy{border-color:rgba(68,170,68,.4);box-shadow:0 0 10px rgba(68,170,68,.3)}.planet-ring.difficulty-medium{border-color:rgba(255,170,68,.4);box-shadow:0 0 10px rgba(255,170,68,.3)}.planet-ring.difficulty-hard{border-color:rgba(255,68,68,.4);box-shadow:0 0 12px rgba(255,68,68,.4)}.planet-satellite.difficulty-easy{background:rgba(68,170,68,.9);box-shadow:0 0 6px rgba(68,170,68,.9)}.planet-satellite.difficulty-medium{background:rgba(255,170,68,.9);box-shadow:0 0 6px rgba(255,170,68,.9)}.planet-satellite.difficulty-hard{background:rgba(255,68,68,.9);box-shadow:0 0 8px rgba(255,68,68,.9)}.rotate-slow,.rotate-slow-reverse{animation-duration:30s}.rotate-slow-reverse{animation-direction:reverse}.rotate-medium{animation-duration:20s}.rotate-medium-reverse{animation-duration:20s;animation-direction:reverse}.rotate-fast,.rotate-fast-reverse{animation-duration:10s}.rotate-fast-reverse{animation-direction:reverse}.galaxy-history-btn{background:transparent;border:1px solid #0f0;color:#0f0;padding:5px 10px;cursor:pointer;font-family:Share Tech Mono,monospace;font-size:16px;display:flex;align-items:center;justify-content:center;transition:all .3s ease}.galaxy-history-btn:hover{background:rgba(0,255,0,.1)}.timeline-controls{position:absolute;top:10px;left:50%;transform:translate(-50%,-100%);background:rgba(0,0,0,.8);border:1px solid #0f0;border-radius:0 0 4px 4px;padding:15px;display:none;flex-direction:column;gap:10px;width:80%;max-width:500px;z-index:1000;transition:transform .3s ease-in-out;cursor:move}.timeline-controls.show{transform:translate(-50%);display:flex}.timeline-progress{width:100%;height:4px;background:rgba(0,255,0,.2);position:relative;cursor:pointer}.timeline-progress-bar{height:100%;background:#0f0;width:0;transition:width .3s linear}.timeline-buttons{display:flex;gap:10px;align-items:center}.timeline-button{background:transparent;border:1px solid #0f0;color:#0f0;padding:5px 15px;cursor:pointer;font-family:Share Tech Mono,monospace;transition:all .3s ease}.timeline-button:hover{background:rgba(0,255,0,.1)}.timeline-time{color:#0f0;font-family:Share Tech Mono,monospace;font-size:14px}.timeline-range{display:flex;gap:10px;align-items:center}.timeline-datetime{background:transparent;border:1px solid #0f0;color:#0f0;padding:5px;font-family:Share Tech Mono,monospace;font-size:12px}.timeline-datetime:focus{outline:none;border-color:#0f0;box-shadow:0 0 5px rgba(0,255,0,.3)}#notification-container{position:fixed;top:20px;left:50%;transform:translateX(-50%);z-index:2000;display:flex;flex-direction:column;align-items:center;pointer-events:none}.notification{background:rgba(0,20,0,.9);color:#0f0;padding:15px 20px;border-radius:4px;margin-bottom:10px;transform:translateY(-120%);transition:transform .3s ease-in-out;border:1px solid #0f0;text-align:center;min-width:300px;font-family:Share Tech Mono,monospace;box-shadow:0 0 10px rgba(0,255,0,.2)}.notification.show{transform:translateY(0)}.notification.correct{border-color:#0f0;box-shadow:0 0 10px rgba(0,255,0,.3)}.notification.incorrect{border-color:orange;box-shadow:0 0 10px rgba(255,165,0,.3)}#console,.galaxy-console{height:0;max-height:0;overflow-y:auto;padding:0;margin:0;background-color:rgba(0,0,0,.9);font-size:12px;color:#0f0;font-family:Share Tech Mono,monospace;white-space:pre-wrap;word-wrap:break-word;transition:height .3s ease-in-out,max-height .3s ease-in-out,border-top-color .3s ease-in-out,opacity .3s ease-in-out,padding .3s ease-in-out;position:absolute;bottom:0;left:0;right:0;z-index:10000;border-top:1px solid transparent;opacity:0;pointer-events:none;box-sizing:border-box}#console:not([style*="height: 0"]),.galaxy-console:not([style*="height: 0"]){border-top-color:rgba(0,255,0,.3)}#console .log-entry,#console div,.galaxy-console .log-entry,.galaxy-console div{margin-bottom:4px;border-bottom:1px solid rgba(0,255,0,.1);padding-bottom:4px}#toggleConsoleBtn,.galaxy-toggle-console-btn{position:absolute;right:10px;bottom:10px;background:transparent;border:1px solid #0f0;color:#0f0;padding:5px 10px;cursor:pointer;font-family:Share Tech Mono,monospace;width:40px;height:42px;display:flex;align-items:center;justify-content:center;z-index:1002;transition:bottom .3s ease-in-out}#toggleConsoleBtn:hover,.galaxy-toggle-console-btn:hover{background:rgba(0,255,0,.1)}.no-transition{transition:none!important}