:root{--bg: #05080f;--panel: rgba(10, 16, 28, .86);--panel-border: rgba(90, 140, 200, .25);--text: #cfe0f0;--text-dim: #7e93ab;--accent: #4fc3f7}*{box-sizing:border-box}html,body{margin:0;height:100%;overflow:hidden;background:var(--bg);font-family:SF Mono,Menlo,Consolas,monospace;color:var(--text)}#scene{position:fixed;top:0;right:0;bottom:0;left:0;display:block}#groundOverlay{position:fixed;top:0;right:0;bottom:0;left:0;display:none;pointer-events:none;z-index:1}#groundOverlay.open{display:block}.sky-horizon{position:absolute;left:50%;top:50%;width:min(72vw,72vh);height:min(72vw,72vh);transform:translate(-50%,-50%);border:1px solid rgba(120,180,220,.32);border-radius:50%;box-shadow:inset 0 0 60px #1e5a8214}.sky-horizon:before,.sky-horizon:after{content:"";position:absolute;background:#78b4dc29}.sky-horizon:before{left:50%;top:0;width:1px;height:100%}.sky-horizon:after{left:0;top:50%;width:100%;height:1px}.sky-horizon>span{position:absolute;color:#7eacc7;font-size:10px;letter-spacing:1px}.sky-north{left:50%;top:-18px;transform:translate(-50%)}.sky-east{right:-16px;top:50%;transform:translateY(-50%)}.sky-south{left:50%;bottom:-18px;transform:translate(-50%)}.sky-west{left:-16px;top:50%;transform:translateY(-50%)}.sky-zenith{left:50%;top:50%;transform:translate(-50%,-50%)}.ground-satellite{position:absolute;transform:translate(-50%,-50%);pointer-events:auto;border:1px solid rgba(79,195,247,.65);border-radius:4px;padding:3px 5px;background:#050c16d1;color:#dff5ff;font:inherit;font-size:8px;white-space:nowrap;cursor:pointer;box-shadow:0 0 8px #4fc3f73d}.panel{position:fixed;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:var(--panel);border:1px solid var(--panel-border);border-radius:10px;padding:14px;font-size:12px;line-height:1.5}#hud{top:16px;left:16px;width:248px;max-height:calc(100vh - 92px);overflow-y:auto}#hud h1{font-size:14px;margin:0 0 2px;letter-spacing:2px;color:#fff}#hud .sub{color:var(--text-dim);font-size:10px;margin-bottom:10px}.sect{margin-top:12px;border-top:1px solid rgba(255,255,255,.07);padding-top:10px}.sect h2{font-size:10px;letter-spacing:1.5px;color:var(--text-dim);margin:0 0 8px;text-transform:uppercase}.cat{display:flex;align-items:center;gap:8px;padding:3px 0;cursor:pointer;-webkit-user-select:none;user-select:none}.cat input{accent-color:var(--accent);margin:0;cursor:pointer}.cat .dot{width:9px;height:9px;border-radius:50%;flex:none;box-shadow:0 0 6px currentColor}.cat .nm{flex:1}.cat .ct{color:var(--text-dim);font-size:10px}.togglerow{display:flex;align-items:center;gap:8px;padding:3px 0;cursor:pointer;-webkit-user-select:none;user-select:none}.togglerow input{accent-color:var(--accent);margin:0;cursor:pointer}.speeds{display:flex;gap:4px}.speeds button{flex:1;background:#5078aa1f;color:var(--text-dim);border:1px solid rgba(90,140,200,.25);border-radius:5px;padding:4px 0;font:inherit;font-size:11px;cursor:pointer}.speeds button.on{background:#4fc3f738;color:#fff;border-color:var(--accent)}.data-source{color:var(--text-dim);font-size:10px;margin-bottom:7px}.refresh-data{width:100%;background:#5078aa1f;color:var(--text);border:1px solid rgba(90,140,200,.25);border-radius:5px;padding:5px 8px;font:inherit;font-size:10px;cursor:pointer}.refresh-data:hover{border-color:var(--accent);color:#fff}.refresh-data:disabled{opacity:.45;cursor:wait}.station-select{width:100%;background:#0c1524;color:var(--text);border:1px solid var(--panel-border);border-radius:5px;padding:5px 7px;font:inherit;font-size:10px;margin-bottom:6px}.mode-buttons,.detail-actions{display:flex;gap:5px}.mode-buttons button,.detail-actions button{flex:1;background:#5078aa1f;color:var(--text-dim);border:1px solid var(--panel-border);border-radius:5px;padding:5px 6px;font:inherit;font-size:10px;cursor:pointer}.mode-buttons button.on,.detail-actions button.on{background:#4fc3f738;color:#fff;border-color:var(--accent)}.mode-buttons button:disabled,.detail-actions button:disabled{opacity:.4;cursor:default}.mission-label{color:var(--text-dim);font-size:9px;letter-spacing:1px;margin:9px 0 4px;text-transform:uppercase}.mission-empty{color:var(--text-dim);font-size:9px;padding:3px 0}.overhead-item{width:100%;height:23px;display:flex;align-items:center;gap:6px;background:transparent;color:var(--text);border:0;padding:2px 0;font:inherit;font-size:9px;cursor:pointer;text-align:left}.overhead-item:hover{color:#fff}.overhead-item span{flex:1;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.overhead-item b{color:var(--accent);font-weight:400}.detail-actions{margin-top:10px}#clock{position:fixed;left:16px;bottom:16px;padding:8px 14px;font-size:12px}#clock .utc{color:#fff}#clock .spd{color:var(--accent);margin-left:8px}#status{position:fixed;bottom:16px;left:50%;transform:translate(-50%);padding:8px 18px;font-size:11px;color:var(--text-dim);white-space:nowrap;transition:opacity .6s}#legend{position:fixed;right:16px;bottom:16px;padding:8px 12px;font-size:10px;color:var(--text-dim);display:none;align-items:center;gap:8px}#legend .bar{width:110px;height:8px;border-radius:4px;background:linear-gradient(90deg,#1428a000,#1b3fae,#00b4d8,#ffd60a,#ff3b1f)}#detail{top:16px;right:16px;width:300px;max-height:calc(100vh - 32px);overflow-y:auto;display:none}#detail.open{display:block}#detail .top{display:flex;justify-content:space-between;align-items:flex-start;gap:8px}#detail h3{margin:0;font-size:14px;color:#fff;word-break:break-word}#detail .chip{display:inline-block;font-size:9px;letter-spacing:1px;padding:2px 8px;border-radius:10px;margin-top:5px;text-transform:uppercase;border:1px solid currentColor}#detail .close{background:none;border:none;color:var(--text-dim);font-size:16px;cursor:pointer;padding:0 2px;line-height:1}#detail table{width:100%;border-collapse:collapse;margin-top:10px}#detail td{padding:4px 0;vertical-align:top;border-bottom:1px solid rgba(255,255,255,.05)}#detail td:first-child{color:var(--text-dim);width:46%;padding-right:8px}#detail td:last-child{color:#eaf4ff;text-align:right}#detail .note{margin-top:10px;font-size:10px;color:var(--text-dim)}#detail .note .sw{display:inline-block;width:14px;height:3px;vertical-align:middle;margin-right:5px;border-radius:2px}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-thumb{background:#78a0d24d;border-radius:3px}::-webkit-scrollbar-track{background:transparent}
