:root{--bg-space:#05060b;--bg-panel:#0b101ca6;--border-subtle:#ffffff0f;--border-purple:#1d62d933;--border-focus:#1d62d999;--nasa-blue:#1d62d9;--nasa-red:#fc3d21;--neon-purple:var(--nasa-blue);--neon-green:#2ecc71;--neon-orange:var(--nasa-red);--neon-red:var(--nasa-red);--neon-accent:var(--nasa-blue);--neon-accent-rgb:29, 98, 217;--border-accent:var(--border-purple);--border-accent-focus:var(--border-focus);--shadow-accent-glow:var(--shadow-glow);--text-primary:#f1f3f7;--text-secondary:#a1b3d3;--text-muted:#5d6e8c;--font-display:"Space Grotesk", sans-serif;--font-body:"Space Grotesk", sans-serif;--font-accent:"Space Grotesk", sans-serif;--shadow-subtle:0 6px 24px #0000008c;--shadow-glow:0 0 16px #1d62d926;--transition-smooth:all .25s cubic-bezier(.2, .8, .2, 1);--star-speed-multiplier:1}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--bg-space);border-left:1px solid var(--border-subtle)}::-webkit-scrollbar-thumb{background:rgba(var(--neon-accent-rgb), .3);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--neon-accent);box-shadow:0 0 10px var(--neon-accent)}*{box-sizing:border-box;margin:0;padding:0}body{background-color:var(--bg-space);color:var(--text-primary);font-family:var(--font-body);min-height:100vh;position:relative;overflow-x:hidden}.stars-container{z-index:-1;pointer-events:none;width:100%;height:100%;position:fixed;top:0;left:0;overflow:hidden}.stars,.stars2,.stars3{background:0 0;width:100%;height:100%;position:absolute;top:0;left:0}.stars{width:1px;height:1px;animation:starMove calc(120s / var(--star-speed-multiplier,1)) linear infinite;box-shadow:120px 240px #fff,350px 80px #fff,700px 420px #fff,950px 180px #fff,1400px 50px #fff,1600px 600px #fff,180px 800px #fff,480px 920px #fff,1150px 750px #fff,1300px 950px #fff,800px 1100px #fff,50px 1300px #fff,1850px 1050px #fff,1500px 1350px #fff,980px 1500px #fff,300px 1650px #fff}.stars2{width:2px;height:2px;box-shadow:200px 100px #fff6, 450px 300px #ffffff4d, 800px 200px rgba(var(--neon-accent-rgb), .5), 1200px 400px #fff6, 1500px 150px #ffffff4d, 1750px 500px rgba(var(--neon-accent-rgb), .4), 250px 700px #ffffff4d, 620px 850px rgba(var(--neon-accent-rgb), .3), 1050px 680px #fff6, 1380px 880px rgba(var(--neon-accent-rgb), .4);animation:starMove calc(80s / var(--star-speed-multiplier,1)) linear infinite}.stars3{width:3px;height:3px;animation:starMove calc(40s / var(--star-speed-multiplier,1)) linear infinite;box-shadow:50px 50px #fff,600px 150px #fff,1000px 80px #fff,1450px 350px #fff,1900px 200px #fff,380px 600px #fff,820px 520px #fff,1250px 790px #fff,1680px 620px #fff,150px 1100px #fff,550px 1250px #fff}.nebula{background:radial-gradient(circle at 30% 30%, rgba(var(--neon-accent-rgb), .12) 0%, transparent 60%), radial-gradient(circle at 70% 70%, #0d0d18cc 0%, transparent 70%);filter:blur(80px);width:150%;height:150%;animation:180s linear infinite nebulaSpin;position:absolute;top:-25%;left:-25%}@keyframes starMove{0%{transform:translateY(0)}to{transform:translateY(-1000px)}}@keyframes nebulaSpin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.dashboard-wrapper{z-index:5;flex-direction:column;min-height:100vh;padding:0 20px;display:flex;position:relative}.dashboard-header{background:var(--bg-panel);border-bottom:1px solid var(--border-subtle);box-shadow:var(--shadow-subtle);-webkit-backdrop-filter:blur(12px);z-index:1000;border-radius:8px 8px 0 0;justify-content:space-between;align-items:center;margin-top:10px;padding:20px;display:flex;position:relative}.header-left h1{font-family:var(--font-display);letter-spacing:2px;text-transform:uppercase;color:var(--text-primary);text-shadow:0 0 10px #f0f3ff33;margin-top:5px;font-size:1.8rem;font-weight:900}.accent-text{color:var(--text-primary);opacity:.85}.status-indicator{align-items:center;gap:8px;display:flex}.blinking-dot{background-color:var(--neon-green);width:8px;height:8px;box-shadow:0 0 8px var(--neon-green);border-radius:50%;animation:1.5s infinite blink}.status-text{font-family:var(--font-display);letter-spacing:1.5px;color:var(--neon-green);font-size:.75rem;font-weight:500}@keyframes blink{0%,to{opacity:1}50%{opacity:.3}}.control-panel{flex-direction:column;align-items:flex-end;gap:6px;display:flex;position:relative}.control-label{font-family:var(--font-display);letter-spacing:1px;color:var(--text-secondary);font-size:.7rem}.input-glow-wrapper{background:var(--border-subtle);transition:var(--transition-smooth);border-radius:4px;padding:1px;position:relative;overflow:hidden}.input-glow-wrapper:focus-within{background:var(--border-focus);box-shadow:var(--shadow-glow)}.dashboard-input{background:var(--bg-space);color:var(--text-primary);font-family:var(--font-display);cursor:pointer;text-align:center;width:180px;transition:var(--transition-smooth);border:1px solid #ffffff0d;border-radius:3px;outline:none;padding:8px 12px;font-size:.9rem}.dashboard-input::-webkit-calendar-picker-indicator{filter:invert();cursor:pointer}#app{flex:1;grid-template-columns:1.2fr .8fr;gap:20px;min-height:calc(100vh - 160px);padding:20px 0;display:grid}.viewport-panel{background:var(--bg-panel);border:1px solid var(--border-subtle);box-shadow:var(--shadow-subtle);-webkit-backdrop-filter:blur(8px);border-radius:6px;flex-direction:column;justify-content:center;min-height:450px;padding:16px;display:flex;position:relative;overflow:hidden}.media-container{background:#0000004d;border-radius:4px;justify-content:center;align-items:center;width:100%;height:100%;display:flex;position:relative;overflow:hidden}.viewport-image{object-fit:contain;max-width:100%;max-height:70vh;transition:transform .5s;display:block}.media-container:hover .viewport-image{transform:scale(1.02)}.viewport-video{aspect-ratio:16/9;background:#000;border:none;width:100%;max-height:70vh;display:block}.viewport-iframe{aspect-ratio:16/9;background:#000;border:none;width:100%;height:100%;min-height:480px;display:block}.readout-panel{flex-direction:column;gap:20px;display:flex}.readout-card{background:var(--bg-panel);border:1px solid var(--border-subtle);-webkit-backdrop-filter:blur(8px);box-shadow:var(--shadow-subtle);border-radius:6px;padding:24px;position:relative}.readout-card:before{content:"";background:var(--neon-accent);border-radius:3px 0 0 3px;width:3px;height:100%;position:absolute;top:0;left:0}.meta-group{border-bottom:1px solid var(--border-subtle);justify-content:space-between;align-items:center;margin-bottom:16px;padding-bottom:12px;display:flex}.meta-label{font-family:var(--font-display);letter-spacing:1px;color:var(--text-secondary);font-size:.75rem}.meta-value{font-family:var(--font-accent);color:var(--text-primary);opacity:.9;font-size:.9rem}.readout-title{font-family:var(--font-display);color:var(--text-primary);letter-spacing:.5px;text-shadow:0 2px 4px #00000080;margin-bottom:18px;font-size:1.6rem;font-weight:700;line-height:1.3}.readout-explanation{color:var(--text-secondary);text-align:justify;font-size:1rem;font-weight:400;line-height:1.65}.hud-readout-header{font-family:var(--font-display);color:var(--neon-accent);letter-spacing:2px;text-transform:uppercase;align-items:center;gap:8px;margin-bottom:8px;font-size:.85rem;font-weight:700;display:flex}.hud-readout-header:after{content:"";background:linear-gradient(90deg, rgba(var(--neon-accent-rgb), .2), transparent);flex:1;height:1px}.hd-link{font-family:var(--font-display);color:var(--text-primary);border:1px solid var(--border-subtle);transition:var(--transition-smooth);background:#ffffff05;border-radius:4px;padding:8px 16px;font-size:.8rem;text-decoration:none;display:inline-block}.loading-container,.error-container{background:var(--bg-panel);border:1px solid var(--border-subtle);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);min-height:400px;box-shadow:var(--shadow-subtle);border-radius:6px;flex-direction:column;grid-column:1/-1;justify-content:center;align-items:center;display:flex}.radar-loader{border:2px solid #ffffff0d;border-radius:50%;width:100px;height:100px;margin-bottom:20px;position:relative;overflow:hidden}.radar-loader:before{content:"";background:conic-gradient(from 0deg, var(--neon-accent) 0deg, transparent 90deg, transparent 360deg);transform-origin:50%;border-radius:50%;width:100%;height:100%;animation:2s linear infinite radarSweep;position:absolute;top:0;left:0}.radar-loader:after{content:"";border:1px dashed #ffffff1a;border-radius:50%;width:80%;height:80%;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}@keyframes radarSweep{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.loading-text{font-family:var(--font-display);letter-spacing:3px;color:var(--text-primary);font-size:1.1rem;animation:1.5s ease-in-out infinite pulseText}@keyframes pulseText{0%,to{opacity:.6}50%{opacity:1}}.error-icon{font-family:var(--font-accent);color:var(--neon-red);text-shadow:0 0 10px #ff00554d;margin-bottom:15px;font-size:3rem}.error-title{font-family:var(--font-display);color:var(--text-primary);letter-spacing:1px;margin-bottom:8px;font-size:1.3rem;font-weight:700}.error-message{font-family:var(--font-body);color:var(--text-secondary);text-align:center;background:#ff00550d;border:1px solid #f053;border-radius:4px;max-width:450px;padding:12px 20px;font-size:.95rem}@media (width<=1024px){#app{grid-template-columns:1fr;min-height:auto}.viewport-panel{min-height:400px}}@media (width<=600px){.dashboard-wrapper{padding:0 10px}.dashboard-header{flex-direction:column;align-items:flex-start;gap:15px;padding:15px}.control-panel{align-items:flex-start;width:100%}.input-glow-wrapper,.dashboard-input{width:100%}.header-left h1{font-size:1.4rem}.viewport-panel{min-height:300px;padding:10px}.viewport-iframe{min-height:300px}.readout-card{padding:16px}.readout-title{font-size:1.3rem}}.coordinates-readout{background:var(--bg-space);cursor:pointer;min-width:190px;transition:var(--transition-smooth);font-family:var(--font-display);color:var(--text-primary);text-shadow:0 0 5px #f0f3f81a;border:1px solid #ffffff0d;border-radius:3px;justify-content:space-between;align-items:center;gap:12px;padding:8px 14px;font-size:.9rem;display:flex}.coordinates-readout:hover{color:var(--neon-purple);text-shadow:0 0 8px var(--neon-purple);border-color:var(--border-focus);background:#ffffff0a}.coordinates-readout:hover .calendar-icon{color:var(--neon-purple);filter:drop-shadow(0 0 5px var(--neon-purple))}.calendar-icon{color:var(--text-secondary);transition:var(--transition-smooth);flex-shrink:0}.calendar-popover{border:1px solid var(--border-purple);box-shadow:var(--shadow-glow), 0 8px 32px #000000d9;z-index:1000;-webkit-backdrop-filter:blur(12px);width:280px;font-family:var(--font-body);opacity:0;pointer-events:none;background:#0a0a14f2;border-radius:6px;flex-direction:column;gap:12px;padding:16px;transition:transform .2s cubic-bezier(.25,.8,.25,1),opacity .2s;display:none;position:absolute;top:calc(100% + 8px);right:0;transform:translateY(-8px)}.calendar-popover.show{opacity:1;pointer-events:auto;display:flex;transform:translateY(0)}.calendar-header{border-bottom:1px solid var(--border-subtle);justify-content:space-between;align-items:center;gap:6px;margin-bottom:4px;padding-bottom:10px;display:flex}.calendar-select-group{flex:1;justify-content:center;align-items:center;gap:4px;display:flex}.calendar-select{border:1px solid var(--border-subtle);color:var(--text-primary);font-family:var(--font-display);cursor:pointer;transition:var(--transition-smooth);text-align-last:center;background:#06060ee6;border-radius:4px;outline:none;padding:4px 6px;font-size:.75rem;font-weight:500}.calendar-select:hover{border-color:var(--neon-purple);color:var(--neon-purple);box-shadow:0 0 6px #9b51e040}.calendar-select option{color:var(--text-primary);text-align:left;background:#06060e}.calendar-nav-btn{border:1px solid var(--border-subtle);color:var(--text-secondary);cursor:pointer;width:26px;height:26px;transition:var(--transition-smooth);background:#ffffff05;border-radius:4px;justify-content:center;align-items:center;font-size:.7rem;display:flex}.calendar-nav-btn:hover:not(:disabled){border-color:var(--neon-purple);color:var(--neon-purple);background:#9b51e014;box-shadow:0 0 8px #9b51e04d}.calendar-nav-btn:disabled{opacity:.25;cursor:not-allowed}.calendar-weekdays{text-align:center;font-family:var(--font-display);color:var(--text-muted);grid-template-columns:repeat(7,1fr);gap:4px;margin-bottom:2px;font-size:.65rem;font-weight:700;display:grid}.calendar-days{grid-template-columns:repeat(7,1fr);gap:4px;display:grid}.calendar-day-btn{color:var(--text-secondary);cursor:pointer;height:28px;transition:var(--transition-smooth);font-family:var(--font-display);background:0 0;border:1px solid #0000;border-radius:4px;justify-content:center;align-items:center;font-size:.75rem;font-weight:500;display:flex}.calendar-day-btn:hover:not(:disabled){border-color:var(--neon-purple);color:var(--neon-purple);text-shadow:0 0 5px var(--neon-purple);background:#9b51e014}.calendar-day-btn.active{border-color:var(--neon-purple);color:var(--text-primary);text-shadow:0 0 4px #fff;background:#9b51e033;font-weight:700;box-shadow:0 0 8px #9b51e059}.calendar-day-btn.empty{cursor:default;pointer-events:none}.calendar-day-btn:disabled{color:var(--text-muted);opacity:.25;cursor:not-allowed;box-shadow:none!important;text-shadow:none!important;background:0 0!important;border-color:#0000!important}.animate-fade-in{opacity:0;animation:.45s cubic-bezier(.16,1,.3,1) forwards fadeInUp}.viewport-panel.animate-fade-in{animation-delay:50ms}.readout-panel.animate-fade-in{animation-delay:.12s}@keyframes fadeInUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.readout-card{transition:border-color .3s,box-shadow .3s,transform .3s cubic-bezier(.2,.8,.2,1)!important}.readout-card:hover{box-shadow:var(--shadow-subtle), 0 0 12px #1d62d90f;border-color:#1d62d940;transform:translateY(-2px)}.readout-card:before{transform-origin:bottom;transform:scaleY(.9);transition:transform .3s cubic-bezier(.2,.8,.2,1)!important}.readout-card:hover:before{transform:scaleY(1)}.calendar-day-btn{transition:transform .2s cubic-bezier(.2,.8,.2,1),background-color .2s,border-color .2s,color .2s,box-shadow .2s!important}.calendar-day-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 8px #0000004d}.calendar-day-btn:active:not(:disabled){transform:translateY(0)scale(.95)}.hd-link{transition:transform .25s cubic-bezier(.2,.8,.2,1),background-color .25s,border-color .25s,box-shadow .25s!important}.hd-link:hover{transform:translateY(-1px);box-shadow:0 0 10px #1d62d94d}.hd-link:active{transform:translateY(0)scale(.97)}.coordinates-readout{transition:transform .2s,background-color .25s,border-color .25s,color .25s,box-shadow .25s!important}.coordinates-readout:hover{transform:translateY(-1px);box-shadow:0 0 12px #1d62d926}.coordinates-readout:active{transform:translateY(0)scale(.97)}.calendar-nav-btn{transition:transform .2s,background-color .2s,border-color .2s,color .2s!important}.calendar-nav-btn:active:not(:disabled){transform:scale(.9)}.control-row{align-items:center;gap:8px;display:flex}.hud-nav-btn,.hud-action-btn{background:var(--bg-space);color:var(--text-primary);font-family:var(--font-display);cursor:pointer;letter-spacing:.5px;border:1px solid #ffffff0d;border-radius:3px;outline:none;justify-content:center;align-items:center;height:38px;padding:8px 12px;font-size:.8rem;font-weight:500;display:flex;transition:var(--transition-smooth)!important}.hud-nav-btn:hover,.hud-action-btn:hover{color:var(--neon-purple);text-shadow:0 0 8px var(--neon-purple);border-color:var(--border-focus);background:#ffffff0a}.hud-nav-btn:active,.hud-action-btn:active{transform:scale(.96)}.hud-nav-btn:disabled{opacity:.4;cursor:not-allowed;pointer-events:none;border-color:#ffffff05}.hud-action-btn.active{color:#00f0ff!important;text-shadow:0 0 5px #00f0ff!important;background:#1d62d926!important;border-color:#00f0ff!important;box-shadow:0 0 10px #1d62d94d!important}@media (width<=768px){.control-row{flex-wrap:wrap;justify-content:center;width:100%}}
