@import"https://fonts.googleapis.com/css2?family=Inter:wght@300;400;600&display=swap";:root{--glass-bg: rgba(20, 25, 35, .65);--glass-border: rgba(255, 255, 255, .12);--glass-blur: 16px;--accent-color: #4cc9f0;--text-main: #ffffff;--text-muted: #94a3b8;--radius-md: 12px;--radius-lg: 16px;--shadow: 0 8px 32px 0 rgba(0, 0, 0, .36)}body{margin:0;overflow:hidden;font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;background-color:#000;color:var(--text-main)}#app{width:100vw;height:100vh;position:fixed;top:0;left:0;z-index:0}.overlay-canvas{position:absolute;top:0;left:0;pointer-events:none;z-index:5}#ui{position:absolute;top:20px;left:20px;width:180px;max-height:calc(100vh - 40px);overflow-y:auto;z-index:10;display:flex;flex-direction:column;gap:12px;pointer-events:none;scrollbar-width:none;-ms-overflow-style:none}#ui .glass-card{padding:12px}#ui::-webkit-scrollbar{display:none}#logo-card{display:flex;align-items:center;gap:2px;padding:2px}#ui-logo{width:40px;height:40px;border-radius:50%;object-fit:cover}.logo-text{display:flex;flex-direction:column;align-items:center}.logo-title{font-weight:800;font-size:1rem;letter-spacing:1px;line-height:1;text-align:center}.logo-subtitle{font-size:.8rem;color:var(--text-muted);letter-spacing:2px;margin-top:2px;text-align:center}body[data-lang=en] .logo-title,body[data-lang=en] .logo-subtitle{font-stretch:condensed;transform:scaleX(.92);transform-origin:center;letter-spacing:.5px}#visibility-menu{padding:0;overflow:hidden;display:flex;flex-direction:column}.menu-header{padding:12px 16px;font-size:.85rem;font-weight:600;color:var(--text-main);border-bottom:1px solid var(--glass-border);display:flex;justify-content:space-between;align-items:center}.menu-header:after{content:"";font-family:Material Icons;font-size:18px}#menu-container{display:flex;flex-direction:column}.menu-item{border-bottom:1px solid rgba(255,255,255,.05)}.menu-item-header{padding:8px 12px;display:flex;align-items:center;gap:10px;cursor:pointer;transition:background .2s;-webkit-user-select:none;user-select:none}.menu-item-header:hover{background:#ffffff0d}.menu-item-header .material-icons{font-size:18px;color:var(--text-muted)}.menu-item-header.active .material-icons{color:var(--accent-color)}.menu-item-title{flex:1;font-size:.82rem;color:var(--text-main)}.menu-item-content{max-height:0;overflow:hidden;transition:max-height .3s ease-out;background:#0003}.menu-item.expanded .menu-item-content{max-height:500px}.sub-item{padding:8px 12px 8px 40px;display:flex;align-items:center;justify-content:space-between;font-size:.8rem;color:var(--text-muted);cursor:pointer;transition:color .2s}.sub-item:hover{color:var(--text-main);background:#ffffff08}.sub-item.active{color:var(--accent-color);font-weight:600}.sub-item-label{flex:1}.label-toggle{width:16px;height:16px;display:flex;align-items:center;justify-content:center;font-size:.6rem;font-weight:800;color:var(--text-muted);border:1px solid var(--glass-border);border-radius:50%;margin-left:8px;transition:all .2s;flex-shrink:0}.label-toggle.active{color:#000;background:var(--accent-color);border-color:var(--accent-color)}#telemetry-pod{display:flex;gap:16px;margin-left:20px;padding-left:20px;border-left:1px solid var(--glass-border)}.tele-item{display:flex;flex-direction:column}.tele-label{font-size:.65rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px}.tele-value{font-family:Courier New,monospace;font-size:.9rem;color:var(--text-main);font-weight:600}.toolbar-group{display:flex;flex-direction:column;gap:8px;background:var(--glass-bg);backdrop-filter:blur(var(--glass-blur));-webkit-backdrop-filter:blur(var(--glass-blur));border:1px solid var(--glass-border);border-radius:24px;padding:4px}.toolbar-btn{width:40px;height:40px;border-radius:50%;background:transparent;border:none;box-shadow:none;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s;padding:0}.toolbar-btn.disabled{opacity:.3;cursor:not-allowed}.fov-btn{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:0}.fov-label{font-size:.7rem;font-weight:700;line-height:1;margin-bottom:2px}#sat-panel{position:absolute;top:20px;right:20px;width:280px;max-height:calc(100vh - 40px);overflow-y:auto;z-index:10;scrollbar-width:none;-ms-overflow-style:none}#sat-panel::-webkit-scrollbar{display:none}#sat-search-bar{position:absolute;top:20px;left:50%;transform:translate(-50%);z-index:15;display:flex;align-items:center;gap:8px;min-width:320px;max-width:480px;pointer-events:auto}#sat-search-input{flex:1;min-width:0;background:#0006;border:1px solid var(--glass-border);color:var(--text-main);padding:8px 12px;border-radius:999px;outline:none;font-family:inherit}#sat-search-input::placeholder{color:var(--text-muted)}#sat-search-btn{white-space:nowrap}#sat-lock-reticle,#sat-lock-reticle-2{position:fixed;width:40px;height:40px;pointer-events:none;z-index:25;display:none;transform:translate(-50%,-50%)}#sat-lock-reticle:before,#sat-lock-reticle:after,#sat-lock-reticle-2:before,#sat-lock-reticle-2:after{content:"";position:absolute;left:50%;top:50%;background:var(--accent-color);box-shadow:0 0 8px #4cc9f0cc}#sat-lock-reticle:before,#sat-lock-reticle-2:before{width:100%;height:1px;transform:translate(-50%,-50%)}#sat-lock-reticle:after,#sat-lock-reticle-2:after{width:1px;height:100%;transform:translate(-50%,-50%)}#sat-lock-reticle-2:before,#sat-lock-reticle-2:after{background:#fc0;box-shadow:0 0 8px #fc0c}#perf-hud{position:fixed;right:20px;bottom:20px;z-index:50;padding:10px 12px;background:var(--glass-bg);border:1px solid var(--glass-border);backdrop-filter:blur(var(--glass-blur));-webkit-backdrop-filter:blur(var(--glass-blur));border-radius:var(--radius-md);box-shadow:var(--shadow);color:var(--text-main);font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:12px;line-height:1.25;white-space:pre;pointer-events:none;opacity:.9}#time-widget{position:absolute;bottom:30px;left:50%;transform:translate(-50%);display:flex;align-items:center;pointer-events:none;z-index:1000}.shuttle-pod{width:100px;height:100px;border-radius:50%!important;display:flex;align-items:center;justify-content:center;padding:0!important;z-index:2;pointer-events:auto;position:relative;box-shadow:0 4px 20px #0006}.time-controls-pod{height:54px;margin-left:-40px;padding:0 16px 0 40px!important;border-radius:0 32px 32px 0!important;display:flex;align-items:center;z-index:1;pointer-events:auto;box-shadow:0 4px 15px #0000004d}.control-btn{background:transparent;border:none;color:#fff;font-size:1.5rem;cursor:pointer;padding:4px;display:flex;align-items:center;justify-content:center;transition:color .2s,transform .1s;border-radius:50%;width:40px;height:40px}.control-btn:hover{color:var(--accent-color);background:#ffffff0d}.control-btn:active{transform:scale(.95)}@keyframes pulse-glow{0%{box-shadow:0 0 #ffc800b3}70%{box-shadow:0 0 0 10px #ffc80000}to{box-shadow:0 0 #ffc80000}}.paused-glow{animation:pulse-glow 2s infinite;color:#fc0!important;background:#ffc8001a}.time-display-group{display:flex;align-items:center;gap:4px;font-family:Inter,monospace;font-weight:600;font-size:1.1rem}.time-unit{display:flex;flex-direction:column;align-items:center;position:relative}.chev-btn{background:transparent;border:none;color:var(--text-muted);font-size:.7rem;cursor:pointer;padding:0;height:12px;line-height:1;width:100%;opacity:0;transition:opacity .2s,color .2s}.time-unit:hover .chev-btn{opacity:1}.chev-btn:hover{color:var(--accent-color)}.unit-value{padding:2px;min-width:20px;text-align:center;font-variant-numeric:tabular-nums;font-family:Courier New,monospace}#disp-millisecond{min-width:30px}.unit-label{font-size:.7rem;color:var(--text-muted);margin-left:2px}.colon{font-weight:700;color:var(--text-muted);margin:0 1px}.glass-card{background:var(--glass-bg);backdrop-filter:blur(var(--glass-blur));-webkit-backdrop-filter:blur(var(--glass-blur));border:1px solid var(--glass-border);border-radius:var(--radius-md);box-shadow:var(--shadow);padding:16px;pointer-events:auto;transition:transform .2s ease,border-color .2s}.glass-card:hover{border-color:#ffffff4d}h1{font-size:1.1rem;font-weight:600;margin:0 0 4px;letter-spacing:.5px;text-transform:uppercase;color:var(--accent-color)}.subtitle{font-size:.85rem;color:var(--text-muted);margin:0 0 12px}label{display:block;font-size:.85rem;color:var(--text-muted);margin-bottom:4px}select{width:100%;background:#0006;border:1px solid var(--glass-border);color:#fff;padding:8px 12px;border-radius:6px;outline:none;font-family:inherit;cursor:pointer;transition:all .2s}select:hover{background:#0009;border-color:var(--accent-color)}option{background-color:#1a1a1a;color:#fff}.shuttle-pod{box-shadow:0 4px 20px #0006}.time-controls-pod{box-shadow:0 4px 15px #0000004d}.shuttle-wrapper{position:relative;width:100px;height:100px;display:flex;align-items:center;justify-content:center}#shuttle-wheel{position:relative;width:70px;height:70px;background:#ffffff0d;border-radius:50%;border:2px solid rgba(255,255,255,.1);box-shadow:inset 0 0 10px #00000080;cursor:pointer;transition:border-color .3s}#shuttle-wheel:hover{border-color:var(--accent-color)}.shuttle-track{position:absolute;inset:5px;border-radius:50%;border:1px dashed rgba(255,255,255,.2);pointer-events:none}#shuttle-handle{position:absolute;top:50%;left:50%;width:12px;height:12px;background:var(--accent-color);border-radius:50%;margin-top:-6px;margin-left:-6px;box-shadow:0 0 10px var(--accent-color);transform-origin:50% 50%;transform:rotate(0) translateY(-28px);transition:transform .3s cubic-bezier(.175,.885,.32,1.275);pointer-events:none}.shuttle-center-btn{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:36px;height:36px;background:#ffffff1a;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s,transform .1s;z-index:2}.shuttle-center-btn:hover{background:#fff3}.shuttle-center-btn:active{transform:translate(-50%,-50%) scale(.9)}.shuttle-center-btn .material-icons{font-size:20px}.shuttle-labels{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none}.shuttle-label{position:absolute;top:50%;left:50%;width:30px;height:20px;margin-top:-10px;margin-left:-15px;font-size:8px;color:var(--text-muted);display:flex;align-items:center;justify-content:center;text-align:center;pointer-events:none;font-weight:700}#speed-indicator{position:absolute;top:-5px;left:50%;transform:translate(-50%);width:fit-content;white-space:nowrap;font-size:.8rem;color:var(--accent-color);text-shadow:0 0 4px black;background:#00000080;padding:1px 10px;border-radius:10px;font-weight:700;pointer-events:none}input[type=range]{-webkit-appearance:none;appearance:none;width:100%;background:transparent;margin:10px 0}input[type=range]::-webkit-slider-runnable-track{width:100%;height:4px;background:#fff3;border-radius:2px}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;height:16px;width:16px;border-radius:50%;background:var(--accent-color);margin-top:-6px;cursor:pointer;box-shadow:0 0 10px #4cc9f080}.debug-controls{display:flex;flex-direction:column;gap:8px;max-height:60vh;overflow-y:auto;padding-right:2px;scrollbar-width:none;-ms-overflow-style:none}.debug-controls::-webkit-scrollbar{display:none}.debug-group-title{font-size:.7rem;color:var(--text-muted);margin-top:4px;padding-top:6px;border-top:1px solid rgba(255,255,255,.08);text-transform:uppercase;letter-spacing:.5px}.debug-row{display:grid;grid-template-columns:1fr 65px;gap:6px;align-items:center}.debug-row .debug-label{font-size:.72rem;color:var(--text-main);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.debug-row .debug-value{font-family:Inter,monospace;font-size:.72rem;color:var(--accent-color);text-align:right;font-weight:600}.debug-row .debug-slider{grid-column:1 / span 2;margin:4px 0 0;height:14px}.debug-row select{grid-column:1 / span 2;font-size:.75rem;padding:4px 8px;height:28px}button{background:#ffffff1a;border:1px solid var(--glass-border);color:#fff;padding:8px 16px;border-radius:20px;cursor:pointer;font-weight:500;transition:all .2s;font-family:inherit}button:hover{background:var(--accent-color);border-color:var(--accent-color);color:#000}button#sp-close{background:transparent;border:none;color:var(--text-muted);font-size:1.5rem;padding:0;line-height:1}button#sp-close:hover{color:#fff}.filter-row{display:flex;align-items:center;padding:8px 0;border-bottom:1px solid rgba(255,255,255,.05)}.filter-row:last-child{border-bottom:none}.filter-row input[type=checkbox]{accent-color:var(--accent-color);margin-right:10px;cursor:pointer}.filter-row label{margin-bottom:0;cursor:pointer;color:var(--text-main)}.info-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;font-size:.85rem}.info-item{display:flex;flex-direction:column}.info-label{color:var(--text-muted);font-size:.75rem;margin-bottom:2px}.info-value{font-family:Courier New,monospace;color:var(--accent-color);font-weight:600}#current-time{font-family:Courier New,monospace;color:var(--accent-color);text-align:right;font-size:.9rem;margin-top:8px}#sat-count{color:var(--accent-color);font-weight:700}.number-input-container{display:flex;align-items:center;justify-content:start;gap:4px}.number-input-container input[type=number]::-webkit-inner-spin-button,.number-input-container input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.number-input-container input[type=number]{appearance:textfield;-moz-appearance:textfield}.number-adjust-btn{width:18px;height:18px;border-radius:50%;border:1px solid var(--accent-color);background:#4cc9f01a;color:var(--accent-color);display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:14px;line-height:1;padding:0;transition:all .2s;-webkit-user-select:none;user-select:none}.number-adjust-btn:hover{background:var(--accent-color);color:#000}.number-adjust-btn:active{transform:scale(.9)}#right-toolbar{position:absolute;top:50%;right:20px;transform:translateY(-50%);display:flex;flex-direction:column;gap:12px;z-index:15}.toolbar-btn:hover{background:#ffffff26;color:var(--text-main);transform:scale(1.05)}.toolbar-btn.active{background:#4cc9f033;color:var(--accent-color);border-color:var(--accent-color)}.toolbar-btn .material-icons{font-size:24px}
