@import"https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=Manrope:wght@400;500;600;700;800&display=swap";:root{font-family:Manrope,sans-serif;color:#e7f2ff;background:#050b14;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-optical-sizing:auto;font-weight:400}*{box-sizing:border-box}html,body,#app{width:100%;height:100%;margin:0}body{min-width:360px;overflow:hidden}.app-frame,#view-root{width:100%;height:100%}#view-root{display:grid}.app-shell{height:100%;display:grid;grid-template-rows:82px minmax(0,1fr) 38px;background:#050b14}.auth-screen{display:grid;place-items:center;height:100%;background:radial-gradient(ellipse at 50% 38%,#101e2d,#060c15 70%)}.auth-card{width:min(340px,calc(100% - 40px));display:grid;gap:10px;padding:30px 28px 26px;border:1px solid #203246;border-radius:14px;background:#0a1420ef;box-shadow:0 18px 50px #0008;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.auth-eyebrow{color:#708ba3;font-size:9px;letter-spacing:.12em;margin-bottom:2px}.auth-title{margin:0 0 10px;font-size:20px;font-weight:700;letter-spacing:-.03em;color:#e9f3fc}.auth-field-label{color:#698198;font:8px DM Mono,monospace;letter-spacing:.08em;text-transform:uppercase;margin-top:6px}.auth-card input{min-height:36px;padding:0 11px;border:1px solid #31506a;border-radius:7px;background:#102437;color:#d7e9f5;font:13px DM Mono,monospace;outline:none;transition:border-color .15s,box-shadow .15s}.auth-card input:focus{border-color:#56d8ef;box-shadow:0 0 0 3px #56d8ef22}.auth-submit{margin-top:14px;min-height:38px;border:1px solid #31506a;border-radius:7px;background:#123a52;color:#72e4bd;font:600 12px DM Mono,monospace;letter-spacing:.06em;cursor:pointer;transition:background .15s,border-color .15s,opacity .15s}.auth-submit:hover:not(:disabled){border-color:#56d8ef;background:#15354a}.auth-submit:disabled{opacity:.6;cursor:progress}.auth-error{margin:6px 0 0;padding:9px 11px;border:1px solid #7c2a31;border-radius:7px;background:#2a1117;color:#ffb0a8;font-size:12px;line-height:1.45}.catalog-screen{height:100%;display:grid;grid-template-rows:auto minmax(0,1fr);gap:0;background:#050b14;overflow:hidden}.catalog-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding:26px 30px 14px;border-bottom:1px solid #182535;background:#08111d}.catalog-head h2{margin:0;font-size:17px;font-weight:700;letter-spacing:-.02em;color:#e9f3fc}.catalog-hint{margin:6px 0 0;color:#698198;font:10px DM Mono,monospace;letter-spacing:.05em}.catalog-status{margin:14px 30px 0;padding:9px 12px;border:1px solid #31506a;border-radius:7px;background:#102437;color:#9fd8ef;font:11px DM Mono,monospace}.catalog-loading .catalog-status{border-color:#56d8ef}.catalog-table-wrap{min-height:0;overflow:auto;padding:16px 30px 30px}.catalog-table{width:100%;max-width:1100px;margin:0 auto;border-collapse:collapse}.catalog-table th{text-align:left;padding:8px 12px;border-bottom:1px solid #1c2b3a;color:#6f8ca8;font:9px DM Mono,monospace;letter-spacing:.1em;text-transform:uppercase}.catalog-row{cursor:pointer;transition:background .12s}.catalog-row:nth-child(odd){background:#0a142088}.catalog-row:hover,.catalog-row:focus-visible{background:#12283d;outline:none}.catalog-row:hover .catalog-name-text,.catalog-row:focus-visible .catalog-name-text{color:#7fe8ff}.catalog-row td{padding:11px 12px;border-bottom:1px solid #142230;font-size:13px;color:#d5e4f0;vertical-align:baseline}.catalog-num{width:44px;text-align:right;font:11px DM Mono,monospace;color:#4d657c}.catalog-name{display:flex;flex-direction:column;gap:3px}.catalog-name-text{color:#e9f3fc;font-weight:600;transition:color .12s}.catalog-code{color:#62788c;font:9px DM Mono,monospace;letter-spacing:.08em}.catalog-date{white-space:nowrap;font:11px DM Mono,monospace;color:#a9c0d2}.catalog-size{white-space:nowrap;font:11px DM Mono,monospace;color:#82e0b8;text-align:right}.catalog-table th:last-child{text-align:right}.catalog-empty{padding:30px 12px;text-align:center;color:#62788c;font-size:13px}.catalog-row.is-loading{background:#12283d;cursor:progress}.catalog-row.is-loading .catalog-size{text-align:right}.row-spinner{display:inline-block;vertical-align:middle;width:14px;height:14px;border:2px solid #2b4c66;border-top-color:#56d8ef;border-radius:50%;animation:row-spin .8s linear infinite}@keyframes row-spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.row-spinner{animation-duration:2.4s}}.topbar-actions{display:flex;align-items:center;gap:10px}.ghost-button{min-height:32px;padding:0 13px;border:1px solid #31506a;border-radius:7px;background:#102437;color:#9fd8ef;font:600 11px DM Mono,monospace;cursor:pointer;transition:background .15s,border-color .15s}.ghost-button:hover{border-color:#56d8ef;background:#15354a}.ghost-button.danger{color:#ffb0a8;border-color:#7c2a31;background:#2a1117}.ghost-button.danger:hover{border-color:#c8282e;background:#3a181e}.scene-subtitle{margin:4px 0 0;color:#62788c;font:10px DM Mono,monospace;letter-spacing:.04em}.topbar{z-index:2;display:flex;align-items:center;gap:38px;padding:0 30px;border-bottom:1px solid #182535;background:#08111d}.brand{display:flex;align-items:center;gap:10px;width:170px;color:#f3f8ff;text-decoration:none;font-size:20px;font-weight:800;letter-spacing:-1px}.brand-mark{display:grid;width:31px;height:31px;place-items:center;border:1px solid #48d7f2;border-radius:9px;color:#65e8ff;font-size:16px}.scene-title{flex:1}.eyebrow,.panel-label,.data-list span,.live-indicator,.statusbar,.scene-caption{font-family:DM Mono,monospace;letter-spacing:.1em}.eyebrow{color:#6f8ca8;font-size:9px}h1{margin:3px 0 0;color:#e9f3fc;font-size:15px;font-weight:600}.live-indicator{display:flex;align-items:center;gap:9px;color:#82a0b8;font-size:9px}.live-indicator span,.caption-dot{width:7px;height:7px;border-radius:50%;background:#46e6b1;box-shadow:0 0 11px #46e6b188}.scene-layout{position:relative;min-height:0;overflow:hidden;background:radial-gradient(ellipse at 64% 50%,#101e2d,#060c15 65%)}.globe{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;touch-action:none;cursor:grab}.globe:active{cursor:grabbing}.mission-panel{position:absolute;z-index:1;top:30px;left:30px;width:266px;padding:21px;border:1px solid #203246;border-radius:12px;background:#0a1420ef;box-shadow:0 18px 50px #0005;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.panel-label{color:#708ba3;font-size:9px}.satellite-icon{display:grid;width:42px;height:42px;margin-top:20px;place-items:center;border:1px solid #285775;border-radius:12px;background:#0d2637;color:#66e2ff;font-size:22px}.mission-panel h2{margin:13px 0 2px;font-size:18px;letter-spacing:-.04em}.satellite-type{margin:0;color:#7891a9;font-size:11px}.data-list{display:grid;gap:14px;margin-top:24px;padding:19px 0;border-top:1px solid #1c2b3a;border-bottom:1px solid #1c2b3a}.data-list div{display:flex;justify-content:space-between;align-items:center;gap:8px}.data-list span{color:#698198;font-size:8px}.data-list strong{color:#d5e4f0;font-size:10px;font-weight:600}.legend{display:flex;align-items:center;gap:9px;margin-top:17px;color:#abc0d1;font-size:10px}.legend-line{width:20px;height:2px;background:#c8282e;box-shadow:0 0 8px #c8282e}.station-legend,.coverage-legend{width:8px;height:8px;border-radius:50%;background:#ffd54a;box-shadow:0 0 8px #ffd54a}.coverage-legend{border-radius:2px;background:#3cd66f;box-shadow:0 0 8px #3cd66f}.scene-stats{gap:12px}.playback-controls{display:grid;gap:10px;margin-top:16px}.playback-controls button{width:100%;min-height:34px;border:1px solid #31506a;border-radius:6px;background:#102437;color:#72e4bd;font:600 10px DM Mono,monospace;cursor:pointer;transition:background .15s,border-color .15s,opacity .15s}.playback-controls button[aria-pressed=true]{color:#ffb0a8}.playback-controls button:hover{border-color:#56d8ef;background:#15354a}.speed-control,.loop-control{display:grid;gap:6px;color:#698198;font:8px DM Mono,monospace;letter-spacing:.06em}.loop-control label{display:flex;align-items:center;gap:8px;min-height:24px;color:#d7e9f5;font:10px DM Mono,monospace;cursor:pointer}.loop-control input[type=radio]{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:13px;height:13px;margin:0;border:1px solid #31506a;border-radius:50%;background:#102437;cursor:pointer;transition:border-color .15s,box-shadow .15s}.loop-control input[type=radio]:checked{border-color:#56d8ef;box-shadow:inset 0 0 0 3px #56d8ef}.speed-control select{width:100%;min-height:32px;padding:0 8px;border:1px solid #31506a;border-radius:6px;background:#102437;color:#d7e9f5;font:10px DM Mono,monospace}.panel-hint{margin:18px 0 0;color:#61778c;font-size:9px;line-height:1.6}.map-attribution{position:absolute;z-index:1;right:26px;bottom:48px;padding:5px 7px;border-radius:4px;background:#07111dcc;color:#9bb0c2;font:9px DM Mono,monospace}.map-attribution a{color:#b9d7eb;text-decoration:underline}.scene-caption{position:absolute;right:26px;bottom:23px;display:flex;align-items:center;gap:9px;color:#9bb0c2;font-size:9px}.caption-dot{width:6px;height:6px;background:#54c4ff;box-shadow:0 0 9px #54c4ff}.statusbar{display:flex;align-items:center;justify-content:space-between;padding:0 30px;border-top:1px solid #182535;color:#657d92;font-size:8px}.statusbar span:first-child{color:#55ceaa}@media(max-width:700px){.app-shell{grid-template-rows:70px minmax(0,1fr) 34px}.topbar{gap:12px;padding:0 16px}.brand{width:auto;font-size:17px}.brand-mark{width:27px;height:27px}.scene-title{padding-left:8px}h1{font-size:12px}.live-indicator{font-size:0}.mission-panel{top:16px;left:16px;width:min(250px,calc(100% - 32px));padding:16px}.satellite-icon{margin-top:13px}.data-list{gap:10px;margin-top:17px;padding:14px 0}.panel-hint{display:none}.statusbar{padding:0 12px;font-size:7px}.statusbar span:last-child{display:none}.catalog-head{padding:18px 16px 12px}.catalog-status{margin:12px 16px 0}.catalog-table-wrap{padding:12px 16px 20px}.catalog-date{display:none}.catalog-table thead tr th:nth-child(3){display:none}.topbar-actions{gap:6px}}
