:root{color-scheme:dark;--bg-0: #030b11;--panel: rgba(6, 20, 31, .84);--panel-strong: rgba(7, 24, 39, .94);--panel-border: rgba(116, 198, 255, .16);--text: #edf6ff;--muted: #8aa9c7;--accent: #55d5ff;--mint: #7cf0c3;--warm: #ffb66e;--danger: #ff7f7f;--shadow: 0 18px 56px rgba(0, 0, 0, .34);--radius-xl: 28px;--radius-lg: 16px;--radius-md: 12px;--font-ui: "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Segoe UI", sans-serif;--font-display: "Avenir Next", "Trebuchet MS", "PingFang SC", sans-serif}*{box-sizing:border-box}html,body,#root{min-height:100%}body{margin:0;overflow:hidden;color:var(--text);font-family:var(--font-ui);background:radial-gradient(circle at top left,rgba(0,173,239,.18),transparent 28%),radial-gradient(circle at top right,rgba(255,182,110,.12),transparent 24%),linear-gradient(180deg,#030b11,#07111a)}button,a,input,select,textarea{font:inherit}a{color:inherit;text-decoration:none}h1,h2,h3,p{margin:0}.eyebrow{display:inline-flex;letter-spacing:.12em;text-transform:uppercase;font-size:.64rem;color:var(--muted)}.app-shell{position:relative;min-height:100vh;padding:10px}.ambient-grid{position:absolute;top:0;right:0;bottom:0;left:0;background-image:linear-gradient(rgba(85,213,255,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(85,213,255,.05) 1px,transparent 1px);background-size:60px 60px;-webkit-mask-image:radial-gradient(circle at center,rgba(0,0,0,.8),transparent 78%);mask-image:radial-gradient(circle at center,rgba(0,0,0,.8),transparent 78%);pointer-events:none}.mission-layout{position:relative;min-height:calc(100vh - 20px)}.stage-shell{position:relative;height:calc(100vh - 20px);overflow:hidden;border-radius:var(--radius-xl);border:1px solid rgba(85,213,255,.14);background:linear-gradient(180deg,#040f18f7,#040e16ed);box-shadow:var(--shadow)}.mission-globe-shell{position:absolute;top:0;right:0;bottom:0;left:0}.mission-globe{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1}.station-overlay-layer{position:absolute;top:0;right:0;bottom:0;left:0;z-index:27;pointer-events:none}.station-overlay-svg{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;overflow:visible}.station-overlay-chip{position:absolute;height:24px;padding:4px 8px;border-radius:999px;border:1px solid rgba(137,197,255,.24);background:#040f18d6;color:var(--text);font-size:.7rem;line-height:15px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;box-shadow:0 8px 24px #0000003d;font:inherit;text-align:left;pointer-events:auto;-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer;transition:border-color .14s ease,background .14s ease,box-shadow .14s ease,transform .14s ease}.station-overlay-chip:hover{border-color:#b5e1ff70;background:#0a1c28eb}.station-overlay-chip:focus-visible{outline:1px solid rgba(255,255,255,.72);outline-offset:2px}.station-overlay-chip.satellite{border-color:#55d5ff47;background:#04121ee6}.station-overlay-chip.satellite.active{border-color:#81e7ff99;background:#061c29f5;box-shadow:0 10px 28px #00000047,inset 0 0 0 1px #81e7ff29}.station-overlay-chip.station.active{border-color:#ffffffa3;background:#12242ef5;box-shadow:0 10px 28px #00000047,inset 0 0 0 1px #ffffff24}.station-overlay-chip.right{text-align:left}.station-overlay-chip.left{text-align:right}.cesium-widget,.cesium-viewer,.cesium-viewer-cesiumWidgetContainer{position:absolute!important;top:0!important;right:0!important;bottom:0!important;left:0!important}.cesium-widget-credits,.cesium-viewer-toolbar,.cesium-viewer-bottom,.cesium-viewer-animationContainer,.cesium-viewer-timelineContainer,.cesium-performanceDisplay-defaultContainer{display:none!important}.panel-card,.mission-inset,.rail-card,.loading-panel{border-radius:var(--radius-lg);border:1px solid var(--panel-border);background:linear-gradient(180deg,#06121deb,#06141fe0);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.panel-card,.rail-card,.mission-inset{padding:10px}.top-overview{position:absolute;top:14px;left:50%;display:flex;justify-content:center;width:calc(100vw - 28px);transform:translate(-50%);z-index:28;padding:0;pointer-events:none}.top-clock{display:inline-flex;align-items:center;justify-content:center;flex-wrap:nowrap;gap:6px;width:max-content;max-width:100%;overflow-x:auto;overflow-y:hidden;padding:5px 6px;border-radius:999px;border:1px solid rgba(116,198,255,.14);background:#05111bbd;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);box-shadow:0 10px 30px #0000002e;pointer-events:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch}.top-clock::-webkit-scrollbar{display:none}.clock-pill{min-width:92px;padding:4px 8px;border-radius:999px;background:#040f18c2;border:1px solid rgba(116,198,255,.12);flex-shrink:0}.clock-pill span{display:block;font-size:.6rem;color:var(--muted)}.clock-pill strong{display:block;margin-top:2px;font-size:.74rem;line-height:1.2}.top-action-button{height:34px;padding:0 11px;border:1px solid rgba(124,240,195,.24);border-radius:999px;background:linear-gradient(180deg,#0b2230f5,#071825f0);color:var(--text);white-space:nowrap;flex-shrink:0;cursor:pointer;transition:transform .14s ease,border-color .14s ease,box-shadow .14s ease,background .14s ease}.top-action-button:hover{border-color:#7cf0c36b;background:linear-gradient(180deg,#0d2838fa,#081c2bf5);box-shadow:0 8px 24px #0003;transform:translateY(-1px)}.top-action-button.active{border-color:#55d5ff6b;background:linear-gradient(180deg,#072231fa,#051825f5);box-shadow:0 10px 28px #0000003d,inset 0 0 0 1px #55d5ff24}.top-action-button:active{transform:translateY(0)}.panel-toolbar{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px}.panel-toolbar strong{font-size:.82rem;font-weight:700}.panel-actions{display:flex;align-items:center;justify-content:flex-end;gap:6px;flex-wrap:wrap}.panel-actions span,.inset-note{font-size:.7rem;color:var(--muted)}.overview-grid{display:flex;flex-wrap:wrap;gap:6px}.overview-pill{min-width:96px;padding:6px 8px;border-radius:11px;background:#040f18e0;border:1px solid var(--panel-border)}.overview-pill.wide{min-width:146px}.overview-pill.alert{border-color:#ffb66e75}.overview-pill span{display:block;font-size:.64rem;color:var(--muted)}.overview-pill strong{display:block;margin-top:2px;font-size:.76rem;line-height:1.35;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.overview-link,.collapse-toggle,.control-button,.speed-chip{display:inline-flex;align-items:center;justify-content:center;border:1px solid rgba(116,198,255,.16);border-radius:999px;background:#081b2abd;color:inherit;cursor:pointer}.overview-link,.collapse-toggle{min-width:58px;padding:6px 10px}.left-panel{position:absolute;top:14px;left:14px;bottom:220px;width:162px;z-index:25}.left-panel.is-collapsed{width:110px;bottom:auto}.alert-card,.beam-panel-card{height:100%;min-height:0;overflow:hidden}.detail-card{min-height:0}.left-panel.is-collapsed .alert-card,.left-panel.is-collapsed .beam-panel-card{height:auto}.alert-list{display:grid;gap:6px;max-height:calc(100% - 34px);overflow:auto}.beam-panel-title{display:grid;gap:3px}.beam-panel-title span{font-size:.68rem;color:var(--muted);line-height:1.35}.beam-list{display:grid;gap:8px;max-height:calc(100% - 38px);overflow:auto}.alert-item,.timeline-item,.satellite-card,.beam-card{border:0;cursor:pointer;color:inherit;text-align:left;border-radius:11px;background:#081b2ab8;border:1px solid rgba(116,198,255,.1)}.alert-item{display:grid;gap:4px;padding:8px}.beam-card{display:grid;gap:7px;padding:8px;transition:transform .14s ease,box-shadow .14s ease,border-color .14s ease}.beam-card:hover{transform:translateY(-1px);box-shadow:0 10px 24px #0000002e}.beam-card.active{box-shadow:inset 0 0 0 1px #55d5ff2e,0 10px 24px #00000038}.alert-item.warning,.timeline-item.warning{border-color:#ffb66e59}.alert-item.critical,.timeline-item.critical{border-color:#ff7f7f6b}.alert-item p{color:var(--muted);font-size:.68rem;line-height:1.4}.alert-item-head{display:grid;gap:4px}.beam-card-head{display:grid;gap:6px}.beam-card-head strong{font-size:.72rem;line-height:1.4;text-align:left}.beam-type{display:inline-flex;width:fit-content;padding:2px 7px;border-radius:999px;border:1px solid rgba(116,198,255,.16);font-size:.6rem;letter-spacing:.03em;background:#06141f66}.alert-tag{display:inline-flex;width:fit-content;padding:2px 7px;border-radius:999px;font-size:.62rem;background:#ffb66e1f;color:var(--warm)}.beam-preview{height:74px;overflow:hidden;border-radius:12px;border:1px solid rgba(116,198,255,.12);background:#05111bc7}.beam-preview svg{display:block;width:100%;height:100%}.beam-card-foot{display:flex;justify-content:flex-end}.beam-card-foot span{font-size:.64rem;color:var(--muted)}.alert-empty,.timeline-empty{display:grid;gap:4px;padding:10px;border-radius:11px;background:#081b2a94;border:1px dashed rgba(116,198,255,.14)}.right-stack{position:absolute;top:14px;right:14px;z-index:25;display:flex;flex-direction:column;gap:8px;width:228px;max-height:calc(100% - 124px)}.mission-inset,.right-panel{width:100%}.right-panel{flex:1 1 auto;overflow:auto;min-height:0}.mission-inset.is-collapsed,.right-panel.is-collapsed{overflow:hidden}.detail-status-row,.detail-grid{display:grid;gap:6px}.detail-status-row{grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:8px}.detail-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.status-chip,.detail-metric,.metric-tile,.station-row{padding:7px;border-radius:10px;background:#081b2ac2;border:1px solid rgba(116,198,255,.08)}.status-chip.active{border-color:#7cf0c357}.status-chip span,.detail-metric span,.metric-tile span,.station-row span,.timeline-item span{display:block;font-size:.64rem;color:var(--muted)}.status-chip strong,.detail-metric strong,.metric-tile strong{display:block;margin-top:3px;font-size:.76rem;line-height:1.35}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:8px;margin-bottom:6px}.section-heading h3{font-size:.8rem}.station-list{display:grid;gap:6px}.station-row{display:flex;align-items:center;justify-content:space-between;gap:8px}.station-row-button{width:100%;color:inherit;font:inherit;text-align:left;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;transition:border-color .14s ease,transform .14s ease,background .14s ease,box-shadow .14s ease}.station-row-button:hover{border-color:#74c6ff42;background:#0a2436e6}.station-row-button.active{border-color:#7cf0c36b;background:#0a2c36eb;box-shadow:0 0 0 1px #7cf0c31f}.station-row-button:focus-visible{outline:1px solid rgba(124,240,195,.72);outline-offset:2px}.station-row b{font-size:.72rem}.inset-canvas{height:152px;overflow:hidden;border-radius:12px;border:1px solid rgba(116,198,255,.14);background:linear-gradient(180deg,#081c2be0,#081c2ba3),#0a1d2a}.inset-canvas svg{display:block;width:100%;height:100%}.bottom-dock{position:absolute;left:14px;right:14px;bottom:14px;z-index:26;display:grid;grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);gap:8px;align-items:end}.rail-card.compact{pointer-events:auto}.rail-tabs{display:flex;gap:4px;flex-wrap:wrap}.rail-tab{padding:3px 8px;font-size:.68rem;border:1px solid rgba(85,213,255,.25);border-radius:4px;background:#05111b99;color:var(--muted);cursor:pointer;transition:all .15s ease}.rail-tab:hover{background:#55d5ff1a;color:#55d5ffcc}.rail-tab.active{background:#55d5ff33;border-color:#55d5ff80;color:#55d5ff}.rail-tab-content{min-height:80px}.rail-placeholder{display:flex;align-items:center;justify-content:center;height:80px;color:var(--muted);font-size:.75rem}.rail-warning{margin-top:8px;padding:8px;background:#ffaa0026;border:1px solid rgba(255,170,0,.4);border-radius:4px;color:#ffaa00e6;font-size:.72rem;text-align:center}.rail-animation-start{margin-top:12px;display:flex;justify-content:center}.rail-animation-controls{margin-top:10px;padding:10px;background:#05111bcc;border:1px solid rgba(85,213,255,.3);border-radius:6px}.rail-animation-info{display:flex;justify-content:space-between;margin-bottom:6px;font-size:.7rem}.rail-animation-time{color:#55d5ffe6;font-weight:600}.rail-animation-segment{color:var(--muted)}.rail-animation-progress{height:4px;background:#55d5ff26;border-radius:2px;margin-bottom:8px;overflow:hidden}.rail-animation-progress-bar{height:100%;background:linear-gradient(90deg,#55d5ff99,#55d5ffe6);border-radius:2px;transition:width .1s linear}.rail-animation-buttons{display:flex;gap:6px;justify-content:center}.rail-btn{padding:4px 12px;font-size:.68rem;border:1px solid rgba(85,213,255,.35);border-radius:4px;background:#05111bb3;color:#55d5ffd9;cursor:pointer;transition:all .15s ease}.rail-btn:hover{background:#55d5ff26;border-color:#55d5ff99}.rail-btn-primary{background:#55d5ff33;border-color:#55d5ff80;color:#55d5ff;font-weight:600}.rail-btn-primary:hover{background:#55d5ff4d}.rail-btn-danger{border-color:#ff646466;color:#ff6464d9}.rail-btn-danger:hover{background:#ff646426;border-color:#ff646499}.rail-tab.disabled{opacity:.4;cursor:not-allowed}.satellite-card-row{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(92px,110px);gap:6px;overflow-x:auto}.satellite-card{display:grid;gap:6px;padding:8px;cursor:default}.satellite-card.narrow{min-height:108px}.satellite-card.active{border-color:#55d5ff6b;box-shadow:inset 0 0 0 1px #55d5ff29}.satellite-card.orbit-visible{border-color:#2f8cff61;box-shadow:inset 0 0 0 1px #2f8cff24}.satellite-card-select{width:100%;border:0;padding:0;background:transparent;color:inherit;text-align:left;cursor:pointer}.satellite-card-select:focus-visible,.satellite-orbit-toggle:focus-visible{outline:1px solid rgba(85,213,255,.72);outline-offset:2px}.satellite-card-head{display:flex;justify-content:space-between;gap:6px;margin-bottom:6px}.satellite-card-grid{display:grid;gap:4px}.satellite-card-head strong{font-size:.72rem;line-height:1.35;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.satellite-card-grid.single{grid-template-columns:1fr}.satellite-orbit-toggle{width:100%;padding:5px 8px;font-size:.62rem;line-height:1.2;border:1px solid rgba(47,140,255,.3);border-radius:7px;background:#0a1b2db8;color:#97ccffe6;cursor:pointer;transition:background .15s ease,border-color .15s ease,color .15s ease}.satellite-orbit-toggle:hover{background:#2f8cff24;border-color:#2f8cff8c}.satellite-orbit-toggle.active{background:#2f8cff33;border-color:#2f8cff9e;color:#e0effffa}.timeline-list{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px}.timeline-item{display:grid;gap:3px;padding:8px}.timeline-item strong{font-size:.72rem;line-height:1.35}.time-controls{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:5px}.control-button,.speed-chip{padding:6px 9px}.speed-chip.active{background:#55d5ff2e;border-color:#55d5ff66}.loading-shell{min-height:100vh;display:grid;place-items:center;padding:24px}.loading-panel{width:min(420px,100%);padding:24px}.loading-panel h1{font-family:var(--font-display);font-size:1.55rem}.loading-panel p{margin-top:8px;color:var(--muted);line-height:1.5}.loading-panel.error{border-color:#ff7f7f47}@media (max-width: 1280px){body{overflow:auto}.app-shell{padding:10px}.stage-shell{height:auto;min-height:calc(100vh - 20px);display:grid;gap:10px;padding:12px}.mission-globe{position:relative;min-height:640px;border-radius:18px;overflow:hidden}.top-overview,.left-panel,.right-stack,.bottom-dock{position:relative;top:auto;left:auto;right:auto;bottom:auto;width:auto;max-height:none}.right-stack,.bottom-dock,.timeline-list{grid-template-columns:1fr}.left-panel{width:auto}}@media (max-width: 860px){.top-overview{width:auto}.overview-grid,.detail-status-row,.detail-grid,.timeline-list{grid-template-columns:1fr}.bottom-dock{display:grid}}
