:root{--font-mono:"Roboto Mono",monospace}*{box-sizing:border-box}html{font-size:18px;line-height:32px;background:rgb(0,0,0);-webkit-font-smoothing:antialiased}#app,body,html{height:100%}body{font-family:system-ui;font-size:18px;line-height:32px;margin:0;color:rgb(1000,1000,1000);@media (max-width:1024px){font-size:15px;line-height:24px}}img{max-width:100%;height:auto;display:block}h1{margin:40px 0;font-size:64px;line-height:70px;font-weight:700;@media (max-width:1024px){margin-left:0;margin-bottom:24px;margin-right:0;margin-top:24px;font-size:42px;line-height:42px}@media (max-width:768px){font-size:38px;line-height:38px}@media (max-width:400px){font-size:32px;line-height:32px}}p{margin:24px 0;@media (max-width:1024px){margin:calc(var(--base) * .75) 0}}a{color:currentColor;&:focus{opacity:.8;outline:none}&:active{opacity:.7;outline:none}}svg{vertical-align:middle}.home{display:flex;flex-direction:column;justify-content:space-between;align-items:center;height:100vh;padding:45px;max-width:1024px;margin:0 auto;overflow:hidden;@media (max-width:400px){padding-left:24px;padding-bottom:24px;padding-right:24px;padding-top:24px}.content{display:flex;flex-direction:column;align-items:center;justify-content:center;flex-grow:1;h1{text-align:center}}.links{display:flex;align-items:center;gap:12px;a{text-decoration:none;padding:.25rem .5rem;border-radius:4px}.admin{color:rgb(0,0,0);background:rgb(1000,1000,1000);border:1px solid rgb(0,0,0)}.docs{color:rgb(1000,1000,1000);background:rgb(0,0,0);border:1px solid rgb(1000,1000,1000)}}.footer{display:flex;align-items:center;gap:8px;@media (max-width:1024px){flex-direction:column;gap:6px}p{margin:0}.codeLink{text-decoration:none;padding:0 .5rem;background:rgb(60,60,60);border-radius:4px}}}.cosmic{position:relative;overflow:hidden;background:#000}.cosmic,.cosmic-canvas{width:100vw;height:100vh}.cosmic-canvas{position:fixed;top:0;left:0;z-index:0;background:linear-gradient(180deg,#0a0a1e,#000);cursor:crosshair}.hud{position:relative;z-index:1;width:100vw;height:100vh;display:flex;align-items:center;justify-content:center;pointer-events:none;font-family:var(--font-mono)}.hud-content{-webkit-backdrop-filter:grayscale(1);backdrop-filter:grayscale(1);pointer-events:auto;background:rgba(0,0,0,.6);border:2px solid rgba(0,255,255,.25);border-radius:2px;flex-direction:column;gap:20px;padding:40px;display:flex;box-shadow:0 0 15px rgba(0,255,255,.15),inset 0 0 15px rgba(0,255,255,.03);border-radius:100%;aspect-ratio:1;align-items:center;justify-content:center;@media (max-width:768px){padding-left:24px;padding-bottom:24px;padding-right:24px;padding-top:24px;gap:16px}}.hud-row{font-size:14px;letter-spacing:3px;text-transform:uppercase;color:rgba(255,255,255,.8);text-align:center;font-weight:500;@media (max-width:768px){font-size:12px;letter-spacing:2px}}.hud-row.mission-code{color:#ff00ff;text-shadow:0 0 8px rgba(255,0,255,.6);font-size:16px;@media (max-width:768px){font-size:13px}}.hud-row.status{color:#00ff00;text-shadow:0 0 8px rgba(0,255,0,.5);animation:statusBlink 3s ease-in-out infinite}@keyframes statusBlink{0%,92%,to{opacity:1}96%{opacity:.7}}.uplink-controls{pointer-events:auto}.uplink-btn{font-family:var(--font-mono);font-size:14px;letter-spacing:2px;text-transform:uppercase;padding:12px 24px;background:rgba(0,255,255,.1);color:#00ffff;border:2px solid #00ffff;border-radius:2px;cursor:pointer;transition:all .3s ease;box-shadow:0 0 10px rgba(0,255,255,.3);&:hover{background:rgba(0,255,255,.2);box-shadow:0 0 20px rgba(0,255,255,.5);transform:translateY(-2px)}&:active{transform:translateY(0);box-shadow:0 0 15px rgba(0,255,255,.4)}&:focus{outline:none;box-shadow:0 0 25px rgba(0,255,255,.6)}&.terminate{color:#ff00ff;border-color:#ff00ff;background:rgba(255,0,255,.1);box-shadow:0 0 10px rgba(255,0,255,.3);&:hover{background:rgba(255,0,255,.2);box-shadow:0 0 20px rgba(255,0,255,.5)}}@media (max-width:768px){font-size:12px;padding-left:20px;padding-bottom:10px;padding-right:20px;padding-top:10px}}.glyph-small{font-size:18px;color:rgba(255,255,255,.6);animation:glyphRotate 8s linear infinite}@keyframes glyphRotate{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}