@font-face{font-family:Manrope;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/manrope-cyrillic-400-normal-BMzJvInZ.woff2)format("woff2"),url(/assets/manrope-cyrillic-400-normal-Dvx59UGC.woff)format("woff")}@font-face{font-family:Manrope;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/manrope-cyrillic-500-normal-B1OEZity.woff2)format("woff2"),url(/assets/manrope-cyrillic-500-normal-CNwnNrRC.woff)format("woff")}@font-face{font-family:Manrope;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/manrope-cyrillic-600-normal-DvRl3Mj-.woff2)format("woff2"),url(/assets/manrope-cyrillic-600-normal-It4mZcQk.woff)format("woff")}@font-face{font-family:Manrope;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/manrope-cyrillic-700-normal-Dw_fZAg2.woff2)format("woff2"),url(/assets/manrope-cyrillic-700-normal-7JNVKxyl.woff)format("woff")}@font-face{font-family:Manrope;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/manrope-latin-400-normal-PaqtzbVb.woff2)format("woff2"),url(/assets/manrope-latin-400-normal-8tf8FM3T.woff)format("woff")}@font-face{font-family:Manrope;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/manrope-latin-500-normal-BYYD-dBL.woff2)format("woff2"),url(/assets/manrope-latin-500-normal-DMZssgOp.woff)format("woff")}@font-face{font-family:Manrope;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/manrope-latin-600-normal-4f0koTD-.woff2)format("woff2"),url(/assets/manrope-latin-600-normal-BqgrALkZ.woff)format("woff")}@font-face{font-family:Manrope;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/manrope-latin-700-normal-BZp_XxE4.woff2)format("woff2"),url(/assets/manrope-latin-700-normal-DGRFkw-m.woff)format("woff")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-latin-400-normal-DMJ8VG8y.woff2)format("woff2"),url(/assets/ibm-plex-mono-latin-400-normal-CvHOgSBP.woff)format("woff")}.select-trigger{color:#e5eae9;text-align:left;width:100%;min-width:0;font:inherit;cursor:pointer;background:#0f0f0f;border:1px solid #b5ccd52b;border-radius:.4rem;justify-content:space-between;align-items:center;gap:.7rem;padding:.65rem .75rem;display:flex}.select-trigger>span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.select-trigger>svg{color:#9baeb6;flex-shrink:0;width:1rem;height:1rem;transition:transform .18s}.select-trigger[aria-expanded=true]>svg{transform:rotate(180deg)}.select-trigger:hover:not(:disabled),.select-trigger[aria-expanded=true]{background:#151515;border-color:#bdd7d65c}.select-menu{z-index:200;color:#e4e9e8;scrollbar-width:thin;scrollbar-color:#405962 transparent;background:#0e0e0e;border:1px solid #a6c0c63b;border-radius:.55rem;outline:none;padding:.35rem;font:400 .85rem/1.4 Manrope,sans-serif;animation:.14s ease-out menu-enter;position:fixed;overflow:auto;box-shadow:0 12px 45px #0008}.select-option{cursor:pointer;border-radius:.3rem;justify-content:space-between;align-items:center;gap:1rem;min-height:2.5rem;padding:.55rem .7rem;display:flex}.select-option.focused{background:#b7d9ce16}.select-option[aria-selected=true]{color:#bfe4d4}.select-option[aria-disabled=true]{color:#72828a;cursor:default}.select-option svg{flex-shrink:0}@keyframes menu-enter{0%{opacity:0;transform:translateY(-3px)}to{opacity:1;transform:none}}.number-field{background:#0e0e0e;border:1px solid #b5ccd52b;border-radius:.35rem;align-items:center;width:100%;min-width:0;transition:border-color .15s,background .15s;display:flex;overflow:hidden}.number-field:focus-within{outline-offset:2px;background:#141414;border-color:#0000;outline:2px solid #c4dace}.number-field input[type=number]{appearance:textfield;width:100%;min-width:0;font:inherit;color:inherit;flex:1 1 0;padding:.55rem .6rem;box-shadow:none!important;background:0 0!important;border:0!important;outline:none!important}.number-field input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.number-field input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.number-unit{color:#9eafb5;pointer-events:none;flex-shrink:0;padding-right:.2rem}.number-steppers{border-left:1px solid #b5ccd512;flex-direction:column;flex:0 0 1.3rem;justify-content:center;align-self:stretch;display:flex}.number-steppers button{color:#9eaeb5;cursor:pointer;flex:1;justify-content:center;align-items:center;min-height:0;line-height:1;background:0 0!important;border:0!important;border-radius:0!important;padding:0!important;display:flex!important}.number-steppers button:hover:not(:disabled){color:#eef7f0;background:#c2dace1c!important}.number-steppers button:disabled{opacity:.25}.number-steppers svg{width:.75rem!important;height:.75rem!important}@media (prefers-reduced-motion:reduce){.select-menu{animation:none}.select-trigger>svg{transition:none}}:root{color:#e8ecec;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;--bg:#0b0b0b;--panel:#0f0f0f;--line:#1b1b1b;--muted:#9aa6ae;--amber:#e9b560;--green:#7bd3b0;--red:#e4958d;background:#0b0b0b;font-family:Manrope,sans-serif;font-size:.8125rem;font-weight:400}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,a,input,select,summary,textarea{-webkit-tap-highlight-color:transparent}button,.button{cursor:pointer;border:1px solid var(--line);color:#d5dde1;background:#121212;border-radius:.375rem;justify-content:center;align-items:center;gap:.5rem;padding:.5625rem .75rem;font-size:.75rem;font-weight:600;line-height:1.4;transition:background .15s,border-color .15s,color .15s;display:inline-flex}button:hover,.button:hover{background:#1b1b1b;border-color:#48535b}button:disabled,.disabled{opacity:.45;cursor:not-allowed}button:disabled:hover{border-color:var(--line);background:#121212}button:focus-visible,a:focus-visible,summary:focus-visible,[role=button]:focus-visible{outline:2px solid var(--amber);outline-offset:.25rem}input:focus,select:focus,textarea:focus{outline:1px solid var(--amber);border-color:var(--amber)}button svg{flex-shrink:0}button.primary{background:var(--amber);color:#211c13;border-color:var(--amber)}button.primary:hover{background:#f4c681}button.primary:disabled{background:var(--amber)}h1,h2,h3,p{margin:0}h1{letter-spacing:-1.1px;font-size:1.8125rem;font-weight:600;line-height:1.3}h1>span{color:var(--amber)}h2{letter-spacing:-.25px;font-size:1rem;font-weight:600}h3{font-size:.75rem;font-weight:600}p{line-height:1.8}small{font-size:.625rem}a{color:inherit;text-decoration:none}.mono{font-family:IBM Plex Mono,monospace;font-weight:400}.eyebrow{letter-spacing:1.6px;color:var(--muted);font-size:.5625rem;font-weight:600}.muted{color:var(--muted)}.amber{color:var(--amber)}.green{color:var(--green)}.red{color:var(--red)}.panel{border:1px solid var(--line);background:var(--panel);border-radius:.5625rem;overflow:hidden}.spin{animation:1.1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.topbar{border-bottom:1px solid var(--line);background:#0d0d0d;justify-content:space-between;align-items:center;gap:1.5rem;height:4.8125rem;padding:0 1.75rem;display:flex}.brand{flex-shrink:0;align-items:center;gap:.75rem;display:flex}.brand img{width:2.4375rem;height:2.4375rem}.brand>div{flex-direction:column;gap:.25rem;display:flex}.brand-name{letter-spacing:.25rem;font-size:1.125rem;font-weight:700}.brand-description{color:var(--muted);letter-spacing:.25px;font-size:.5625rem}.topbar nav{align-self:stretch;gap:1.5625rem;display:flex}.topbar nav button{color:var(--muted);background:0 0;border:0;border-radius:0;padding:0 .1875rem;position:relative}.topbar nav button.active{color:#f0dfbf}.topbar nav button.active:after{content:"";background:var(--amber);height:2px;position:absolute;bottom:-1px;left:0;right:0}.topbar nav button span{border:1px solid var(--line);border-radius:.25rem;padding:1px .3125rem;font-family:IBM Plex Mono,monospace;font-size:.625rem}.topbar-right{align-items:center;gap:1.375rem;display:flex}.local-status{color:#a7b5ba;align-items:center;gap:.4375rem;font-size:.625rem;display:flex}.local-status i,.live-time i{background:var(--green);border-radius:50%;width:.3125rem;height:.3125rem;display:inline-block;box-shadow:0 0 .5rem #7bd3b030}.help-button{color:var(--muted);background:0 0;border:0;padding:.25rem}.workspace{grid-template-columns:18.375rem minmax(0,1fr);max-width:118.75rem;margin:0 auto;display:grid}.workspace>div:first-child{border-right:1px solid var(--line);background:#0d0d0d;min-width:0}.editor{flex-direction:column;max-height:100vh;display:flex;position:sticky;top:0}.editor-top{justify-content:space-between;align-items:center;padding:1.4375rem 1.3125rem 1.125rem;display:flex}.version-tag{color:#7a8b98;border:1px solid var(--line);border-radius:.1875rem;padding:2px .3125rem;font-size:.625rem}.editor-body{scrollbar-width:thin;scrollbar-color:#232323 transparent;padding:0 1.3125rem .75rem;overflow-y:auto}.field{color:#aab5bd;flex-direction:column;gap:.4375rem;font-size:.625rem;display:flex}input:not([type=range]):not([type=checkbox]):not([type=file]),select,textarea{color:#e1e7ea;background:#131313;border:1px solid #212121;border-radius:.3125rem;width:100%;min-height:2.1875rem;padding:.4375rem .5625rem;font-size:.6875rem;transition:border-color .15s}select{cursor:pointer;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;padding-right:1.25rem}input[type=number]{font-family:IBM Plex Mono,monospace}input[type=number]::-webkit-inner-spin-button{opacity:.4}input[type=file]{opacity:0;width:1px;height:1px;position:absolute;overflow:hidden}.file-actions{gap:.5rem;margin-top:.5625rem;display:flex}.file-actions>.button{flex:1;font-size:.625rem}.file-actions>button{padding:.4375rem .625rem}.subtle{background:0 0}.title-field{margin-top:1rem}.editor-section{border-top:1px solid var(--line);margin-top:1.1875rem;padding-top:1.125rem}.section-label{justify-content:space-between;align-items:center;margin-bottom:.75rem;display:flex}.section-label>.mono{color:#9caab3;font-size:.625rem}.section-label>.muted{font-size:.5625rem}.stage-buttons{grid-template-columns:repeat(3,1fr);gap:.375rem;display:grid}.stage-buttons button{background:#121212;flex-direction:column;align-items:flex-start;gap:.25rem;padding:.625rem .5rem}.stage-buttons button>span{color:#b1bcc3;font-family:IBM Plex Mono,monospace;font-size:.875rem}.stage-buttons small{color:#9aa7b0;white-space:nowrap;font-size:.5rem}.stage-buttons button.active{background:#332c22;border-color:#af894c}.stage-buttons button.active span{color:#f4c879}.stage-buttons button.active small{color:#d2b586}.plane-table-head,.plane-row{grid-template-columns:.9fr 1fr 1fr;align-items:center;gap:.5625rem;display:grid}.plane-table-head{color:#8e9ca7;margin-bottom:.5rem;font-size:.5625rem}.plane-table-head small{color:#637783}.plane-row{margin:.375rem 0}.plane-row>span{align-items:center;gap:.5rem;font-family:IBM Plex Mono,monospace;font-size:.6875rem;display:flex}.plane-row input{min-width:0}.plane-color{border-radius:50%;width:.3125rem;height:.3125rem;display:block}.p0{background:#e9b560}.p1{background:#75b9ba}.p2{background:#9f9bcf}.field-hint{color:#8f9ca7;margin-top:.625rem;font-size:.5625rem;line-height:1.7}summary{cursor:pointer;list-style:none}summary::-webkit-details-marker{display:none}.editor-section>summary{color:#d4dde3;justify-content:space-between;align-items:center;display:flex}.editor-section>summary>svg{color:#8d9da8;transition:transform .2s}.editor-section[open]>summary>svg{transform:rotate(180deg)}.editor-section[open]>summary{margin-bottom:.875rem}.field-grid{grid-template-columns:1fr 1fr;gap:.625rem;margin-top:.625rem;display:grid}.field-grid input{min-width:0}.counter{color:#b5c1c9;background:#1c1c1c;border-radius:.1875rem;margin-left:.3125rem;padding:2px .3125rem;font-family:IBM Plex Mono,monospace;font-size:.5625rem}.failure-form{grid-template-columns:1fr 1fr;gap:.625rem;display:grid}.failure-form .field-grid{grid-column:1/-1;margin:0}.add-failure{color:#b6c4cc;background:0 0;border-style:dashed;grid-column:1/-1;padding:.4375rem;font-size:.625rem}.outage-list{scrollbar-width:thin;max-height:11.875rem;margin-top:.625rem;overflow-y:auto}.outage-list>div{align-items:center;gap:.5rem;padding:.25rem 0;font-size:.625rem;display:flex}.outage-list b{font-family:IBM Plex Mono,monospace;font-weight:400}.outage-list span:not(.failure-dot){color:#9eabb4;margin-left:auto}.failure-dot{background:#de9081;border-radius:50%;width:.25rem;height:.25rem}.outage-list button{color:#95a4ad;background:0 0;border:0;padding:.25rem}.ground-row{border-bottom:1px solid #1a1a1a;justify-content:space-between;gap:.5rem;padding:.5rem 0;font-size:.625rem;display:flex}.ground-row small{color:var(--muted);margin-top:.1875rem;font-size:.5625rem;display:block}.ground-row .mono{color:#a5b5be;font-size:.5625rem}.text-button{color:#94a4af;background:0 0;border:0;margin-top:1.125rem;padding:0;font-size:.625rem}.editor-bottom{border-top:1px solid var(--line);background:#101010;margin-top:auto;padding:1rem 1.3125rem}.run-context{color:var(--muted);justify-content:space-between;margin-bottom:.6875rem;font-size:.5625rem;display:flex}.run-button{width:100%;height:2.4375rem;font-size:.6875rem}.reset-button{color:#97a6af;background:0 0;border:0;width:100%;padding:.6875rem 0 0;font-size:.5625rem}.main-content{min-width:0;padding:1.875rem 2rem 1.25rem}.workspace-heading{justify-content:space-between;align-items:center;gap:1.25rem;margin-bottom:1.5rem;display:flex}.breadcrumb{letter-spacing:1.3px;margin-bottom:.625rem;font-size:.5rem}.breadcrumb span{color:#586875;margin:0 .5rem}.workspace-heading p{color:#9aa9b3;margin-top:.5rem;font-size:.6875rem}.workspace-actions{flex-shrink:0;align-items:center;gap:.5rem;display:flex}.workspace-actions button{white-space:nowrap;padding:.5rem .625rem;font-size:.625rem}.workspace-actions button:last-child{color:#e1c18a;background:#27251f;border-color:#776341}.network-heading{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:1rem;padding:1.0625rem 1.375rem;display:flex}.network-heading .eyebrow{letter-spacing:1.4px;font-size:.5rem}.network-heading h2{margin-top:.375rem;font-size:.875rem}.network-stats{color:#95a5af;align-items:center;gap:1.4375rem;font-size:.625rem;display:flex}.network-stats b{color:#e0e6e9;margin-right:.25rem;font-family:IBM Plex Mono,monospace;font-size:.875rem;font-weight:400}.live-time{color:#d5e2e7;white-space:nowrap;background:#0d0d0d;border:1px solid #1f1f1f;border-radius:.25rem;align-items:center;gap:.4375rem;padding:.375rem .5625rem;font-size:.6875rem;display:flex}.map-shell{background:radial-gradient(#141414 0%,#0e0e0e 63% 100%);min-height:21.875rem;position:relative}.map-toolbar{z-index:1;align-items:center;gap:1.0625rem;display:flex;position:absolute;top:1.125rem;left:1.25rem}.segmented{background:#121212;border:1px solid #232323;border-radius:.3125rem;padding:.1875rem;display:flex}.segmented button{color:#92a5b2;background:0 0;border:0;border-radius:.1875rem;gap:.3125rem;padding:.3125rem .5rem;font-size:.5625rem}.segmented button.active{color:#e1e9ed;background:#202020}.check{color:#9fb0bc;cursor:pointer;align-items:center;gap:.3125rem;font-size:.5625rem;display:flex}.check input{accent-color:var(--amber);width:.75rem;height:.75rem}.map-coordinate{color:#93a5b4;text-align:right;letter-spacing:1px;font-size:.5625rem;position:absolute;top:1.375rem;right:1.25rem}.map-coordinate span{color:#6e8494;letter-spacing:1.4px;margin-top:.3125rem;font-size:.4375rem;display:block}.network-map{touch-action:pan-y;cursor:grab;width:100%;height:clamp(21.25rem,32vw,33.75rem);display:block}.network-map:active{cursor:grabbing}.network-map text{paint-order:stroke;stroke:#111;stroke-width:2px;stroke-linejoin:round;-webkit-user-select:none;user-select:none;font-family:IBM Plex Mono,monospace}.map-node{cursor:pointer}.map-node:hover{filter:brightness(1.5)}.map-node:focus{filter:brightness(1.7);outline:none}.map-loading{color:#b6c5ce;pointer-events:none;white-space:nowrap;background:#111111e8;border:1px solid #3f515d;border-radius:.375rem;padding:.75rem 1.125rem;font-size:.6875rem;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.map-footer{pointer-events:none;justify-content:space-between;align-items:center;display:flex;position:absolute;bottom:1rem;left:1.25rem;right:1.25rem}.plane-legend{flex-wrap:wrap;align-items:center;gap:1.0625rem;display:flex}.plane-legend span{color:#adbac3;align-items:center;gap:.375rem;font-family:IBM Plex Mono,monospace;font-size:.5rem;display:flex}.plane-legend i{border-radius:50%;width:.3125rem;height:.3125rem}.plane-legend .ground-dot{background:#7ad5b3;border-radius:0;transform:rotate(45deg)}.map-controls{pointer-events:auto;gap:.25rem;display:flex}.map-controls button{color:#b2c2cd;background:#161616;border-color:#242424;padding:.3125rem}.hidden-route{color:#ddc697;white-space:nowrap;background:#191919;border-color:#6a6449;padding:.3125rem .5625rem;font-size:.5rem;position:absolute;bottom:1rem;left:50%;transform:translate(-50%)}.client-selector{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:#111;align-items:center;gap:1.125rem;padding:.75rem 1.375rem;display:flex}.client-selector>span{color:#96a7b4;font-size:.5625rem}.client-selector>div{flex-wrap:wrap;gap:.4375rem;display:flex}.client-selector button{background:#161616;border-color:#232323;gap:.625rem;padding:.375rem .6875rem;font-family:IBM Plex Mono,monospace;font-size:.625rem}.client-selector button small{color:#9aacb9;font-size:.5rem}.client-selector button.active{color:#9bd9bb;background:#1c1c1c;border-color:#4d7b67}.client-selector button.active small{color:#91b3a4}.client-selector .client-location{margin-left:auto}.route-panel{padding:1.0625rem 1.375rem .9375rem}.route-heading{justify-content:space-between;align-items:center;gap:.75rem;display:flex}.route-heading .eyebrow{font-size:.5rem}.status-pill{color:#90cfaf;background:#1b1b1b;border-radius:.25rem;align-items:center;gap:.375rem;padding:.25rem .4375rem;font-size:.5625rem;display:flex}.status-pill i{background:currentColor;border-radius:50%;width:.25rem;height:.25rem}.status-pill.warn{color:#dbad83;background:#352c26}.route-chain{flex-wrap:wrap;gap:.3125rem;margin-top:.9375rem;display:flex}.route-chain>span{color:#596d7b;align-items:center;gap:.3125rem;display:flex}.route-chain button{color:#e0bf88;background:#171717;border-color:#62533b;padding:.375rem .625rem;font-family:IBM Plex Mono,monospace;font-size:.625rem}.route-chain button.ground{color:#98cbb7;background:#191919;border-color:#3c6456}.route-chain button.selected{border-color:var(--amber);color:#ffdc9e;background:#403728}.route-details{color:#8f9ea8;gap:1.1875rem;margin-top:.625rem;font-size:.5625rem;display:flex}.route-details b{color:#bdcad1;font-weight:500}.no-route{color:#aab6bf;min-height:1.5625rem;margin:.8125rem 0 2px;font-size:.625rem}.visible-satellites{color:#899ba8;flex-wrap:wrap;align-items:center;gap:.375rem;margin-top:.75rem;font-size:.5625rem;display:flex}.visible-satellites button{color:#b8c5ce;background:0 0;border-color:#222;gap:.4375rem;padding:.1875rem .375rem;font-family:IBM Plex Mono,monospace;font-size:.5625rem}.visible-satellites button small{color:#8297a6;font-size:.5rem}.selected-satellite{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:.75rem;margin-top:.75rem;padding-top:.75rem;display:flex}.selected-satellite>div{color:#b2c0c9;align-items:center;gap:.5rem;font-size:.625rem;display:flex}.selected-satellite b{color:var(--amber);font-weight:500}.selected-satellite small{color:#8b9eaa;font-size:.5rem}.selected-satellite button{color:#e8ad91;background:#302724;border-color:#694d43;padding:.375rem .5625rem;font-size:.5625rem}.timeline{margin-top:1rem;padding:1.125rem 1.375rem 1rem}.timeline-heading{justify-content:space-between;align-items:center;gap:.625rem;display:flex}.timeline-heading>div:first-child{align-items:center;gap:1rem;display:flex}.timeline-heading .eyebrow{font-size:.5rem}.timeline-step{color:#8195a3;font-size:.5625rem}.playback{align-items:center;gap:.25rem;display:flex}.playback button{color:#b4c5cf;background:0 0;border:0;padding:.3125rem}.playback button:nth-child(2){color:#ead7b2;background:#1e1e1e;border:1px solid #45525c}.playback>.mono{color:#deceb4;margin-left:.5rem;font-size:.6875rem}.playback small{color:#8396a4;font-size:.5625rem}input[type=range]{appearance:none;width:100%;height:.1875rem;accent-color:var(--amber);cursor:pointer;background:#3d4e59;border-radius:2px;margin:1.375rem 0 .8125rem;display:block}input[type=range]::-webkit-slider-thumb{appearance:none;background:#e8bc78;border:1px solid #f3d19e;border-radius:2px;width:.5rem;height:.9375rem;box-shadow:0 0 0 .25rem #e8bc7815}input[type=range]::-moz-range-thumb{background:#e8bc78;border:1px solid #f3d19e;border-radius:2px;width:.5rem;height:.9375rem}.time-ticks{color:#8b9dab;justify-content:space-between;font-size:.5rem;display:flex}.availability-heading{color:#8c9fac;justify-content:space-between;align-items:center;margin:1rem 0 .5625rem;font-size:.5rem;display:flex}.availability-heading>span:last-child{align-items:center;gap:.3125rem;display:flex}.status-square{border-radius:1px;width:.3125rem;height:.3125rem;margin-left:.4375rem;display:inline-block}.status-square.connected{background:#5bad93}.status-square.interrupted{background:#9e726c}.availability-row{border-radius:.25rem;align-items:center;gap:1rem;margin-top:.375rem;display:flex}.availability-row>button{color:#a7b9c4;background:0 0;border:0;justify-content:space-between;gap:.625rem;min-width:6.125rem;padding:0;font-family:IBM Plex Mono,monospace;font-size:.5625rem}.availability-row>button>span{color:#8c9eaa;font-size:.5rem}.availability-row.selected>button{color:#f5d59d}.availability-row svg{cursor:crosshair;opacity:.85;border-radius:2px;width:100%;height:.875rem;display:block}.availability-row.selected svg{opacity:1;outline-offset:2px;outline:1px solid #566b71}.results-heading{justify-content:space-between;align-items:center;gap:.75rem;margin:1.5rem 0 .75rem;display:flex}.results-heading h2{font-size:.8125rem}.results-heading h2 span{color:#8d9eaa;margin-left:.375rem;font-family:IBM Plex Mono,monospace;font-size:.6875rem}.results-heading button{color:#afbec8;background:0 0;border:0;padding:0;font-size:.5625rem}.metrics-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:.75rem;display:grid}.metric{border:1px solid var(--line);background:#101010;border-radius:.4375rem;flex-direction:column;align-items:flex-start;gap:.6875rem;min-width:0;padding:1.0625rem 1.0625rem .9375rem;display:flex}.metric>span{color:#a6b4be;align-items:center;gap:.3125rem;font-size:.5625rem;display:flex}.metric strong{letter-spacing:-1px;color:#e0e7ea;white-space:nowrap;font-family:IBM Plex Mono,monospace;font-size:1.625rem;font-weight:400}.metric strong.duration-value{font-size:1.4375rem}.metric strong em{color:#7c929f;font-size:.9375rem;font-style:normal}.metric small{color:#8c9fab;font-size:.5rem;line-height:1.6}.metric.success{background:#141414;border-color:#385c4d}.metric.success strong,.metric.success svg{color:#9adaaf}.metric.target-miss{background:#27251f;border-color:#685136}.metric.target-miss strong{color:#ebc488}.diagnostics{margin-top:.875rem}.diagnostics>summary{color:#aebdc7;justify-content:space-between;align-items:center;gap:.75rem;padding:.875rem 1.0625rem;font-size:.625rem;display:flex}.diagnostics>summary:before{content:"+";color:var(--amber);margin-right:0}.diagnostics[open]>summary:before{content:"−"}.diagnostics>summary>span{color:#7e949f;margin-left:auto;font-size:.5rem}.diagnostics-content{grid-template-columns:1fr 1fr;gap:1.5625rem;padding:0 1.125rem 1.125rem;display:grid}.reason-row{border-bottom:1px solid var(--line);color:#a7b7c0;justify-content:space-between;gap:.75rem;padding:.625rem 0;font-size:.625rem;display:flex}.reason-row b{color:#dbbcb4;white-space:nowrap;font-family:IBM Plex Mono,monospace;font-size:.625rem;font-weight:400}.interval-table{scrollbar-width:thin;max-height:13.75rem;overflow:auto}.interval-table table{font-size:.5625rem}.interval-table th,.interval-table td{padding:.4375rem .5rem}.workspace-footer{color:#7e94a1;justify-content:space-between;align-items:center;gap:.75rem;margin-top:1.0625rem;font-size:.5rem;display:flex}.workspace-footer span{align-items:center;gap:.375rem;display:flex}.workspace-footer button{color:#8ea3b0;background:0 0;border:0;padding:0;font-size:.5rem}.dirty-banner{color:#d7bd8e;background:#302a20;border:1px solid #705b38;border-radius:.4375rem;justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:1rem;padding:.75rem 1rem;font-size:.625rem;display:flex}.dirty-banner b{font-weight:600}.dirty-banner button{color:#f4d18f;white-space:nowrap;background:#483920;border-color:#7a6035;font-size:.5625rem}.compare-main{max-width:81.25rem;margin:auto;padding:2.5rem 2.5rem 3.75rem}.compare-intro h1{margin-top:.75rem}.compare-intro p{color:var(--muted);margin-top:.625rem;font-size:.75rem}.compare-selectors{grid-template-columns:1fr 1fr;gap:1.375rem;margin-top:1.75rem;display:grid}.compare-selectors>label{border:1px solid var(--line);background:#121212;border-radius:.5rem;flex-direction:column;gap:.875rem;padding:1.25rem;display:flex}.compare-selectors select{padding:.75rem;font-size:.875rem}.compare-selectors button{color:#afc1cd;background:0 0;border:0;align-self:flex-start;padding:0;font-size:.625rem}.compare-context{color:#98c4ad;align-items:center;gap:.5625rem;margin:1.5rem 0 .9375rem;font-size:.6875rem;display:flex}.compare-context span{color:#9bafb9;margin-left:auto;font-size:.625rem}.panel-title{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:.75rem;padding:1.1875rem 1.375rem;display:flex}.panel-title h2{font-size:.875rem}.panel-title>span{color:#899fac;font-size:.625rem}.table-scroll{overflow:auto}table{border-collapse:collapse;text-align:left;width:100%;font-size:.6875rem}th{color:#96aab6;white-space:nowrap;background:#141414;font-size:.5625rem;font-weight:500}th,td{border-bottom:1px solid var(--line);padding:1rem 1.25rem}td{color:#c6d3da;line-height:1.6}tbody tr:last-child td{border-bottom:0}td>b{color:#e6cfaa;font-family:IBM Plex Mono,monospace;font-weight:400}td>small{color:#8ea6b2;max-width:11.25rem;margin-top:.3125rem;font-size:.5625rem;display:block}td .mono{font-size:.625rem}.compare-bar{background:#1d1d1d;border-radius:2px;min-width:6.25rem;max-width:12.5rem;height:.25rem;margin-bottom:.3125rem}.compare-bar i{background:#839aaa;border-radius:2px;height:100%;display:block}.compare-bar.b i{background:var(--amber)}.recommendation{background:#141414;border-color:#4c5544;margin-top:1.375rem;padding:1.5rem}.recommendation .eyebrow{color:#acbb94}.recommendation h2{color:#e0dfc6;margin-top:.75rem;font-size:1.25rem}.recommendation p{color:#b9c4b4;margin-top:.8125rem;font-size:.75rem}.recommendation b{color:#f0ddac}.recommendation small{color:#96a68f;margin-top:1.125rem;font-size:.625rem;line-height:1.8;display:block}.client-conclusions{border-top:1px solid #252525;margin-top:1.125rem;padding-top:.1875rem}.parameter-changes{margin-top:1.375rem}.parameter-changes td{overflow-wrap:anywhere;max-width:25rem;font-size:.625rem}.parameter-changes pre{max-height:15.625rem;font-size:.5625rem;overflow:auto}.parameter-changes>p{padding:1.25rem}.incompatible{background:#302b23;border-color:#726044;align-items:flex-start;gap:1rem;margin-top:1.5rem;padding:1.5rem;display:flex}.incompatible>svg{color:var(--amber);flex-shrink:0}.incompatible h2{color:#f3d39e}.incompatible p{color:#c8b89b;margin-top:.625rem;font-size:.75rem}.conditions-diff{border-top:1px solid #564733;margin-top:1rem;padding-top:.3125rem}.compare-empty{text-align:center;flex-direction:column;align-items:center;gap:1.375rem;max-width:46.875rem;margin:2.5rem auto;padding:4.375rem 1.875rem;display:flex}.compare-empty>svg{color:var(--amber)}.compare-empty h2{font-size:1.5625rem}.compare-empty p{color:#9caeba;max-width:32.5rem}.compare-empty>.mono{color:#738c9c;font-size:.625rem}.inline-loading{color:#a8bdc8;justify-content:center;align-items:center;gap:.75rem;padding:2.1875rem;font-size:.75rem;display:flex}.error-box{color:#e5a99b;background:#3d2b26;border:1px solid #84544a;border-radius:.5rem;margin:1.25rem 0;padding:1.25rem}.toast{z-index:100;color:#cde4d8;background:#1d1d1d;border:1px solid #566e65;border-radius:.5rem;align-items:flex-start;gap:.9375rem;max-width:min(36.25rem,100vw - 2rem);padding:1.0625rem 1.0625rem 1.0625rem 1.25rem;font-size:.75rem;line-height:1.7;display:flex;position:fixed;bottom:1.5rem;right:1.5rem;box-shadow:0 .75rem 3.125rem #0008}.toast.error{color:#f1c6b6;background:#3d2925;border-color:#99624f}.toast>span{white-space:pre-wrap;overflow-wrap:anywhere;max-height:50vh;overflow:auto}.toast button{color:inherit;background:0 0;border:0;padding:2px}.modal-backdrop{z-index:50;-webkit-backdrop-filter:blur(.4375rem);backdrop-filter:blur(.4375rem);background:#060606bc;justify-content:center;align-items:center;padding:1.5rem;display:flex;position:fixed;inset:0}.modal{background:#131313;border:1px solid #455660;border-radius:.75rem;width:min(100%,30.625rem);max-height:90vh;padding:1.6875rem;overflow:auto;box-shadow:0 1.5rem 6.25rem #0009}.modal-heading{justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1.125rem;display:flex}.modal-heading h2{font-size:1.25rem}.modal-heading button{background:0 0;border:0;padding:.3125rem}.modal>p{color:#a4b7c3;margin-bottom:1.125rem;font-size:.75rem}.modal .field{margin-bottom:1.25rem;font-size:.6875rem}.modal .field input{padding:.625rem;font-size:.8125rem}.modal>.primary{padding:.6875rem 1.125rem}.json-modal{width:min(56.25rem,100%)}.json-modal textarea{resize:vertical;white-space:pre;height:52vh;margin-bottom:1rem;font-family:IBM Plex Mono,monospace;font-size:.6875rem;line-height:1.65;display:block}.library-modal{width:min(38.75rem,100%)}.variant-row{text-align:left;background:#191919;justify-content:flex-start;gap:.875rem;width:100%;margin-top:.625rem;padding:.9375rem;display:flex}.variant-row>span{flex:1}.variant-row small{color:#879fab;margin-top:.375rem;font-size:.5625rem;display:block}.help-modal{width:min(46.25rem,100%)}.help-modal>p{font-size:.75rem}.help-modal b{color:#e1d3b6;font-weight:600}.boot,.boot-error{flex-direction:column;justify-content:center;align-items:center;gap:1.5625rem;min-height:100vh;padding:1.875rem;display:flex}.boot>p,.boot-error p{color:var(--muted)}.boot>svg{color:var(--amber)}@media (width>=1700px){.main-content{padding:2.25rem 2.8125rem}.workspace{grid-template-columns:19.375rem minmax(0,1fr)}.editor-body{padding-left:1.5625rem;padding-right:1.5625rem}h1{font-size:2.125rem}.workspace-heading p{font-size:.75rem}.metric strong{font-size:1.875rem}.network-map{height:33.125rem}.route-chain button{font-size:.6875rem}}@media (width<=1250px){.main-content{padding:1.5625rem 1.375rem}.workspace{grid-template-columns:16.75rem minmax(0,1fr)}.editor-top,.editor-bottom,.editor-body{padding-left:1.0625rem;padding-right:1.0625rem}.workspace-heading{flex-direction:column;align-items:flex-start;gap:.9375rem}.workspace-actions{align-self:flex-end;margin-top:-2px}.workspace-heading h1{font-size:1.75rem}.metric{padding:.875rem .6875rem}.metric strong{font-size:1.4375rem}.metric strong.duration-value{font-size:1.1875rem}.network-stats{gap:.75rem}.topbar{padding:0 1.25rem}.topbar nav{gap:.9375rem}.brand-description{font-size:.5rem}.hidden-route{bottom:3.125rem}.map-toolbar{gap:.5rem}.route-details{gap:.75rem}.selected-satellite small{display:none}}@media (width<=950px){.workspace{grid-template-columns:15.625rem minmax(0,1fr)}.main-content{padding:1.375rem 1rem}.brand-description{display:none}.brand-name{font-size:.9375rem}.brand img{width:2.0625rem;height:2.0625rem}.local-status{display:none}.topbar,.topbar nav{gap:.75rem}.topbar nav button{font-size:.6875rem}.workspace-heading h1{font-size:1.5rem}.workspace-heading p{font-size:.625rem}.network-heading{flex-direction:column;align-items:flex-start;gap:.625rem;padding:.9375rem}.network-stats{justify-content:space-between;width:100%}.map-coordinate{display:none}.network-map{height:20.9375rem}.map-shell{min-height:20.9375rem}.metrics-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.metric strong{font-size:1.6875rem}.metric strong.duration-value{font-size:1.5rem}.client-selector{flex-wrap:wrap;gap:.625rem;padding:.75rem .9375rem}.client-selector .client-location{display:none}.route-panel{padding:.9375rem}.route-heading{flex-wrap:wrap;gap:.5rem}.route-chain button{padding:.3125rem .4375rem}.timeline{padding:.9375rem}.timeline-heading{flex-wrap:wrap}.timeline-heading>div:first-child{gap:.5rem}.playback>.mono{font-size:.625rem}.playback small{font-size:.5rem}.route-details{flex-wrap:wrap;gap:.4375rem}.diagnostics>summary>span{display:none}.diagnostics-content{grid-template-columns:1fr}.workspace-footer{flex-wrap:wrap}.plane-legend{gap:.5625rem}.plane-legend span{font-size:.4375rem}.plane-legend span:last-child{display:none}.map-footer{left:.9375rem;right:.9375rem}.map-toolbar{left:.9375rem}.compare-main{padding:1.875rem 1.375rem}.compare-context{flex-wrap:wrap}.compare-context span{width:100%;margin:0}}@media (width<=700px){.topbar{flex-wrap:wrap;gap:.9375rem;height:auto;min-height:4.5rem;padding:.9375rem 1rem 0}.brand{gap:.5rem}.brand-name{letter-spacing:.1875rem;font-size:.9375rem}.topbar-right{order:1;margin-left:auto}.topbar nav{order:2;justify-content:center;gap:2.1875rem;width:100%;height:2.375rem}.topbar nav button{font-size:.6875rem}.workspace{flex-direction:column;display:flex}.workspace>div:first-child{border-right:0;border-bottom:1px solid var(--line)}.editor{max-height:none;position:static}.editor-top{padding:1.0625rem 1.125rem .8125rem}.editor-body{max-height:23.75rem;padding:0 1.125rem 1rem}.editor-bottom{padding:.875rem 1.125rem}.editor-body .editor-section{margin-top:1.0625rem}.editor-body .plane-table{max-width:31.25rem}.stage-buttons button{align-items:center;gap:.25rem;padding:.625rem}.stage-buttons small{font-size:.5625rem}.field-grid{gap:.75rem}.editor-body input:not([type=file]),.editor-body select{min-height:2.375rem;font-size:.75rem}.run-context{font-size:.625rem}.run-button{height:2.6875rem;font-size:.75rem}.reset-button{font-size:.625rem}.main-content{padding:1.5625rem .875rem 1.375rem}.workspace-heading{gap:1rem;margin-bottom:1.1875rem}.workspace-heading h1{max-width:21.875rem;font-size:1.6875rem}.workspace-heading p{font-size:.6875rem}.workspace-actions{align-self:flex-start;margin:0}.workspace-actions button{font-size:.6875rem}.breadcrumb{font-size:.4375rem}.network-map{height:21.875rem}.network-heading{padding:1rem}.network-heading h2{font-size:.9375rem}.map-toolbar{top:.8125rem;left:.75rem}.map-shell{min-height:21.875rem}.segmented button{font-size:.625rem}.check{font-size:.5625rem}.client-selector{gap:.625rem;padding:.75rem}.client-selector>span:first-child{width:100%;font-size:.625rem}.client-selector button{padding:.4375rem .75rem;font-size:.6875rem}.client-selector button small{font-size:.5625rem}.route-panel{padding:1rem .75rem}.route-heading .eyebrow{font-size:.5rem}.route-chain button{padding:.375rem .5625rem;font-size:.625rem}.route-details,.status-pill{font-size:.5625rem}.visible-satellites{font-size:.625rem}.selected-satellite{flex-wrap:wrap}.timeline{padding:1rem .75rem}.timeline-heading{gap:.875rem}.timeline-heading>div:first-child{justify-content:space-between;width:100%}.playback{width:100%}.playback>.mono{margin-left:auto}.playback button{padding:.4375rem}.time-ticks{font-size:.5rem}.availability-row{gap:.625rem}.availability-row>button{min-width:5.3125rem}.availability-heading{font-size:.5rem}.availability-row svg{height:1.0625rem}.metrics-grid{gap:.5625rem}.metric{gap:.625rem;padding:1rem .75rem}.metric strong{font-size:1.625rem}.metric strong.duration-value{font-size:1.25rem}.metric>span{font-size:.5625rem}.metric small{font-size:.5rem}.results-heading{align-items:flex-start}.results-heading h2{font-size:.75rem}.results-heading button{text-align:right;max-width:7.1875rem;font-size:.5625rem}.dirty-banner{flex-direction:column;align-items:flex-start;font-size:.6875rem}.compare-main{padding:1.6875rem .9375rem}.compare-selectors{grid-template-columns:1fr;gap:.8125rem}.compare-selectors>label{padding:1rem}.compare-intro h1{font-size:1.8125rem}.compare-intro p{font-size:.6875rem}.recommendation{padding:1.25rem}.recommendation h2{font-size:1.1875rem}.recommendation p{font-size:.6875rem}.panel-title{padding:.9375rem}.panel-title span{font-size:.5rem}.incompatible{gap:.75rem;padding:1.125rem}.incompatible p{font-size:.6875rem}.modal-backdrop{padding:.75rem}.modal{max-height:92vh;padding:1.375rem}.modal-heading h2{font-size:1.125rem}.toast{padding:.875rem;font-size:.6875rem;bottom:.75rem;right:.75rem}.compare-empty{margin:.9375rem auto;padding:2.5rem 1.25rem}.compare-empty h2{font-size:1.375rem}}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}.spin{animation:none}}:root{--bg:#000;--panel:#0c0c0c;--line:#ffffff16;--muted:#9da7af;--amber:#e4e2d6;--green:#a8d9c6;background:var(--bg);font-size:max(10px,min(.956938vw,1.70032dvh))}.observatory-app{isolation:isolate;color:#ecedef;background:#000;height:100dvh;min-height:0;font-family:Manrope,sans-serif;font-size:1rem;position:relative;overflow:hidden}.observatory-app button,.observatory-app input,.observatory-app select{font-family:inherit}.observatory-app svg.lucide{width:1.1rem;height:1.1rem}.observatory-app button{border-radius:.3rem}.observatory-app button.primary{color:#0c0c0c;background:#e4e2d6;border:1px solid #f4f2e177}.observatory-app button.primary:hover{background:#f7f5e9}.observatory-app input:focus-visible,.observatory-app button:focus-visible,.observatory-app select:focus-visible{outline-offset:3px;outline:2px solid #cfdfeb}.observatory-app .topbar{z-index:30;background:0 0;border:0;gap:2rem;height:4.4rem;padding:0 2rem;position:absolute;inset:0 0 auto}.observatory-app .brand{gap:.8rem}.observatory-app .brand img{background:0 0;width:2.3rem;height:2.3rem}.observatory-app .brand-name{letter-spacing:.36rem;font-size:1.15rem;font-weight:400}.observatory-app .brand-description{display:none}.observatory-app .topbar nav{align-self:flex-start;gap:2.1rem;height:3.2rem;position:absolute;left:50%;transform:translate(-50%)}.observatory-app .topbar nav button{color:#b0bac7;background:0 0;border:0;border-radius:0;padding:.4rem 0 0;font-size:1rem;font-weight:400}.observatory-app .topbar nav button svg,.observatory-app .topbar nav button span{display:none}.observatory-app .topbar nav button.active{color:#fff}.observatory-app .topbar nav button.active:after{background:#f5f3e5;height:2px;bottom:0}.observatory-app .topbar-right{gap:.5rem;margin-left:auto}.observatory-app .save-project{background:#ffffff08;border:1px solid #e8e9e84d;border-radius:.4rem;gap:.65rem;padding:.6rem .9rem;font-size:.82rem;font-weight:500;box-shadow:inset 0 0 12px #ffffff04}.observatory-app .topbar-right .library-button,.observatory-app .topbar-right .help-button{color:#74828e;background:0 0;border:0;padding:.45rem;position:fixed;bottom:1.15rem}.observatory-app .library-button{left:23rem}.observatory-app .help-button{left:25.3rem}.observatory{height:100%;min-height:0;position:absolute;inset:0;overflow:hidden}.earth-stage,.earth-canvas,.earth-labels{position:absolute;inset:0}.earth-stage{background:#000}.earth-canvas canvas{touch-action:none;width:100%;height:100%;display:block}.earth-labels{pointer-events:none;overflow:hidden}.earth-labels button{pointer-events:auto;white-space:nowrap;color:#f2f5f4;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#080808c9;border:1px solid #cfddd977;border-radius:.35rem;align-items:center;gap:.35rem;margin:.3rem 0 0 .6rem;padding:.42rem .65rem;font-size:.8rem;font-weight:500;line-height:1.2;display:flex;position:absolute;top:0;left:0;box-shadow:0 2px 8px #0007}.earth-labels button[hidden]{display:none!important}.earth-labels .earth-marker:not(.ground):not(.highlighted){-webkit-backdrop-filter:none;backdrop-filter:none;background:#0e0e0e;border:1px solid #d4dfeb77;border-radius:50%;width:.8rem;height:.8rem;margin:-.4rem 0 0 -.4rem;padding:0;box-shadow:0 0 0 .18rem #07070799}.earth-labels .earth-marker:not(.ground):not(.highlighted) i{background:#a9bdcc;border-radius:50%;width:.18rem;height:.18rem;margin:auto}.earth-labels .earth-marker.highlighted:not(.current){box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;text-shadow:0 1px 5px #000;background:0 0;border:0;margin:.45rem 0 0 .6rem;padding:.15rem;font-size:.85rem}.earth-labels .earth-marker.current{background:#090909e8;border-color:#a9d4c0;margin:-2rem 0 0 .15rem;font-size:.9rem}.earth-marker small{color:#b4e1ca;font-size:.8rem}.earth-marker small:before{content:"·";padding-right:.3rem}.earth-marker.offline{color:#dba5a0}.earth-labels .route-annotation{background:#0a0a0ad9;border-color:#e1e5d080;margin:3rem 0 0 1rem;font-size:.83rem}.earth-labels .geo-label{letter-spacing:.16rem;color:#c2cbd17d;white-space:nowrap;pointer-events:none;text-shadow:0 2px 4px #000;transform-origin:50%;font-size:.72rem;position:absolute}.earth-labels .geo-label[hidden]{display:none}.earth-loading button{font-size:.8rem}.observatory-title{pointer-events:none;max-width:36rem;position:absolute;top:6.2rem;left:2.4rem}.observatory-kicker{display:none}.observatory-title h1{letter-spacing:-.055rem;max-width:none;margin:0 0 .65rem;font-size:2.125rem;font-weight:400;line-height:1.22}.observatory-title p{color:#b7bec7;align-items:center;gap:.65rem;font-size:1.2rem;line-height:1.4;display:flex}.observatory-title p i{background:#a7b4be;border-radius:50%;width:.2rem;height:.2rem}.calculation-state{color:#c6cbc9;align-items:center;gap:.5rem;margin-top:.85rem;font-size:.86rem;display:flex}.calculation-state>i{background:#a1e0be;border-radius:50%;width:.42rem;height:.42rem;box-shadow:0 0 .7rem #9adfbb33}.calculation-state>i.pending{background:#dcc58e}.calculation-state .network-stats{opacity:0;background:0 0;border:0;padding:0;font-size:.7rem;transition:opacity .2s;position:static}.observatory-title:hover .network-stats{opacity:.6}.compact-inspector{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:linear-gradient(120deg,#0c0c0ce8,#0e0e0ebd);border:1px solid #b6d0e714;border-radius:.4rem;width:19rem;height:26.75rem;padding:1.125rem;position:absolute;top:14.375rem;left:1.9rem;box-shadow:0 1.5rem 4rem #0003}.inspector-heading{justify-content:space-between;align-items:flex-start;height:2.2rem;display:flex}.inspector-heading h2{letter-spacing:-.02rem;font-size:1.03rem;font-weight:500;line-height:1.5}.inspector-heading button{color:#86929c;opacity:0;background:0 0;border:0;padding:.1rem}.compact-inspector:hover .inspector-heading button,.inspector-heading button:focus-visible{opacity:1}.compact-stage{color:#a7afb8;justify-content:space-between;align-items:center;height:3rem;font-size:.85rem;display:flex}.compact-stage>div{background:#0002;border:1px solid #ffffff16;border-radius:.3rem;height:2.1rem;padding:.08rem;display:flex}.compact-stage button{color:#b8c0c6;background:0 0;border:0;border-radius:.22rem;min-width:3.25rem;padding:0 .8rem;font-size:.82rem;font-weight:400;position:relative}.compact-stage button+button:before{content:"";background:#ffffff20;width:1px;height:.65rem;position:absolute;left:0}.compact-stage button.active{color:#0e0e0e;background:#e6e4d8;box-shadow:0 0 1rem #ece8d020}.compact-stage button.active:before{display:none}.compact-condition{color:#b2b9c2;border-bottom:1px solid #c3d2dc12;justify-content:space-between;align-items:center;height:3.25rem;font-size:.87rem;display:flex}.compact-condition b{color:#f0f2f2;font-size:.94rem;font-weight:500}.compact-planes{scrollbar-width:thin;scrollbar-color:#495964 transparent;max-height:8.25rem;margin-top:.6rem;overflow:auto}.compact-plane-head,.compact-plane{grid-template-columns:1.1fr 1fr 1fr;align-items:center;gap:.6rem;display:grid}.compact-plane-head{color:#8d98a5;height:1.6rem;font-size:.69rem}.compact-plane{color:#d7dee1;border-bottom:1px solid #b5cbd31c;height:2.1rem;font-size:.85rem}.compact-plane:last-child{border-bottom:0}.compact-plane label{align-items:center;min-width:0;display:flex;position:relative}.observatory-app .compact-plane input:not([type=range]):not([type=checkbox]):not([type=file]){width:3rem;min-width:0;height:1.85rem;box-shadow:none;font:inherit;text-align:left;appearance:textfield;color:#d7dee1;background:0 0;border:0;border-radius:.15rem;padding:.2rem .05rem}.compact-plane input::-webkit-inner-spin-button{display:none}.compact-plane input:hover{background:#ffffff08!important}.compact-plane label i{color:#cbd2d5;pointer-events:none;font-size:.8rem;font-style:normal;position:absolute;left:1.8rem}.compact-run{justify-content:center;gap:.6rem;width:calc(100% - 2.25rem);height:2.5rem;font-size:.87rem;font-weight:600;position:absolute;bottom:1.125rem;left:1.125rem;right:1.125rem;box-shadow:0 .2rem 1rem #e5e0c905}.compact-run svg:last-child,.inspector-more{display:none}.observatory-dock{z-index:12;-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);background:linear-gradient(100deg,#0a0a0ada,#121212ad 36%,#080808de 69%);border-top:1px solid #d6e9f526;grid-template-columns:9rem 3.7rem minmax(12rem,1fr) minmax(18rem,1fr) 24.6rem;align-items:start;column-gap:1.1rem;height:12.75rem;padding:1.5rem 1.9rem 4.5rem;display:grid;position:absolute;bottom:0;left:0;right:0}.dock-clock{display:contents}.dock-clock>span{color:#a1aab2;grid-area:1/1;margin-top:.5rem;font-size:.85rem;line-height:1.3}.dock-clock>div{display:contents}.dock-clock .live-time{letter-spacing:-.04rem;color:#f6f7f5;white-space:nowrap;background:0 0;border:0;grid-area:1/1;margin-top:2.1rem;padding:0;font-family:Manrope,sans-serif;font-size:1.6rem;font-weight:400;line-height:1.5;position:static}.dock-clock button{color:#f5f3e1;background:#ddd9ba06;border:1px solid #e9e9d8b0;border-radius:50%;grid-area:1/2;width:3rem;height:3rem;margin-top:1.35rem;padding:0}.dock-clock button svg{width:1.15rem;height:1.15rem}.dock-scrubber{grid-area:1/3;margin-left:2.1rem;margin-right:2.3rem;padding-top:2.5rem;position:relative}.dock-scrubber>div:first-child{pointer-events:none;justify-content:space-between;align-items:center;display:flex;position:absolute;top:2.05rem;left:-2.45rem;right:-1.7rem}.dock-scrubber>div:first-child span{display:none}.dock-scrubber button{pointer-events:auto;color:#8fa1af;background:0 0;border:0;padding:.1rem}.dock-scrubber input[type=range]{appearance:none;accent-color:#dfded0;background:#8396a86b;border:0;border-radius:0;width:100%;height:2px;margin:0}.dock-scrubber input::-webkit-slider-thumb{appearance:none;background:#eee9cd;border:1px solid #f3efdc;border-radius:.2rem;width:.45rem;height:1.1rem;box-shadow:0 0 .6rem #fff2}.dock-scrubber input::-moz-range-thumb{background:#eee9cd;border:1px solid #f3efdc;border-radius:.2rem;width:.45rem;height:1.1rem}.dock-ticks{color:#a1aab3;justify-content:space-between;margin-top:1.5rem;font-family:IBM Plex Mono,monospace;font-size:.7rem;display:flex}.dock-tracks{border-left:1px solid #ffffff18;grid-area:1/4;min-height:5rem;padding-left:1.5rem;position:relative}.dock-tracks>span{color:#8e9aa3;margin-bottom:.7rem;font-size:.78rem;line-height:1.3;display:block}.dock-tracks>div{opacity:.8;align-items:center;gap:1rem;height:1.35rem;display:flex}.dock-tracks>div.selected{opacity:1}.dock-tracks button{color:#cdd4d7;background:0 0;border:0;justify-content:flex-start;width:1.8rem;padding:0;font-size:.8rem;font-weight:400}.dock-tracks svg{cursor:pointer;border-radius:.18rem;flex:1;min-width:0;height:.42rem}.observatory .dock-metrics{background:0 0;border:0;border-left:1px solid #d6e4e51f;grid-area:1/5;grid-template-columns:1.25fr 1fr .95fr;gap:1.3rem;min-width:0;margin:0 0 0 1rem;padding:1.4rem 0 .2rem 2rem;display:grid}.dock-metrics>div{flex-direction:column;gap:.75rem;display:flex}.dock-metrics span{color:#a3acb2;white-space:nowrap;font-size:.79rem}.dock-metrics strong{letter-spacing:-.03rem;color:#f4f4ed;white-space:nowrap;font-size:1.6rem;font-weight:400;line-height:1.3}.dock-metrics small{display:none}.dock-metrics strong.below-target{color:#deded0}.observatory-footer{z-index:14;pointer-events:none;letter-spacing:.14rem;color:#87929d;justify-content:space-between;font-size:.58rem;font-weight:500;display:flex;position:absolute;bottom:1.45rem;left:1.9rem;right:1.9rem}.scene-context{z-index:15;color:#8d9aa7;align-items:center;gap:1rem;display:flex;position:absolute;bottom:1.15rem;left:31%}.scene-context .client-selector{background:0 0;border:0;align-items:center;gap:.4rem;padding:0;display:flex}.client-selector>span{display:none}.scene-context .client-selector select{color:#93a6b1;background:0 0;border:0;width:6.5rem;min-width:0;padding:.25rem;font-size:.68rem;line-height:1.4}.scene-context .context-status,.scene-context .mini-route{display:none}.analysis-trigger{color:#99a9b5;background:0 0;border:0;gap:.4rem;padding:.35rem;font-size:.65rem;font-weight:400}.analysis-trigger svg.lucide{width:.8rem;height:.8rem}.scene-tools{z-index:8;opacity:.35;align-items:center;gap:.25rem;transition:opacity .2s;display:flex;position:absolute;bottom:14rem;right:1.8rem}.scene-tools:hover,.scene-tools:focus-within{opacity:1}.scene-tools button{color:#c2d4df;background:#09090977;border:1px solid #ffffff10;padding:.35rem}.scene-tools svg.lucide{width:.9rem;height:.9rem}.scene-view,.rotate-buttons{gap:.2rem;display:flex}.scene-tools .active{background:#ffffff0c}.scene-layers{opacity:.5;align-items:center;gap:.8rem;font-size:.65rem;display:flex;position:absolute;bottom:14rem;left:2rem}.scene-layers label{color:#b1c3cc;align-items:center;gap:.35rem;display:flex}.scene-layers input{accent-color:#c0d7ce;width:.65rem;height:.65rem;margin:0}.scene-credit{display:none}.dirty-banner{z-index:11;background:#0e0e0eed;border:1px solid #d8e4d933;border-radius:.4rem;align-items:center;gap:1rem;padding:.75rem 1rem;font-size:.8rem;display:flex;position:absolute;bottom:14rem;left:50%;transform:translate(-50%)}.dirty-banner button{padding:.3rem .5rem;font-size:.75rem}.satellite-popover{z-index:10;-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);background:#0b0b0be8;border:1px solid #c2d9e126;border-radius:.4rem;width:13rem;padding:1rem;position:absolute;top:7rem;right:2rem}.satellite-popover>div{justify-content:space-between;align-items:center;display:flex}.satellite-popover .eyebrow{font-size:.6rem}.satellite-popover h2{margin:.6rem 0;font-size:1.7rem}.satellite-popover p{color:#bed4c8;align-items:center;gap:.4rem;font-size:.75rem;display:flex}.satellite-popover p i{background:#b3dbc4;border-radius:50%;width:.3rem;height:.3rem}.satellite-popover button{background:0 0;border:0;padding:.3rem 0;font-size:.7rem}.satellite-popover>button{margin-top:.8rem}.flat-map .map-shell{background:0 0;border:0;height:auto;position:absolute;inset:5rem 0 13rem 22rem}.flat-map .network-map{width:100%;height:100%;max-height:none}.observatory-sheet{color:#e3e8eb;background:#0d0d0d;border:0;border-left:1px solid #ffffff24;width:32rem;max-width:100vw;height:100dvh;max-height:100dvh;margin:0;padding:0;font-size:1rem;position:fixed;inset:0 0 0 auto;overflow:hidden;box-shadow:-3rem 0 10rem #0005}.observatory-sheet::backdrop{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#04040477}.sheet-surface{height:100%;overflow:auto}.sheet-heading{z-index:5;border-bottom:1px solid var(--line);background:#0d0d0df5;justify-content:space-between;align-items:center;padding:1.5rem;font-size:1rem;display:flex;position:sticky;top:0}.sheet-heading button{background:0 0;border:0;padding:.3rem}.configuration-sheet .editor{background:0 0;border:0;width:auto;max-height:none;position:static;overflow:visible}.observatory-sheet .editor-top{padding:1.5rem}.observatory-sheet .editor-body{padding:0 1.5rem 1rem}.observatory-sheet .field{gap:.45rem;font-size:.75rem}.observatory-sheet input:not([type=range]):not([type=checkbox]):not([type=file]),.observatory-sheet select{background:#ffffff05;border-color:#ffffff18;min-height:2.5rem;padding:.6rem .7rem;font-size:.8rem}.observatory-sheet .editor-section{padding:1.25rem 0}.observatory-sheet .editor-section h3,.observatory-sheet summary{font-size:.85rem}.observatory-sheet .editor-bottom{padding:1rem 1.5rem}.observatory-sheet button{font-size:.75rem}.observatory-sheet .stage-buttons span{font-size:1rem}.observatory-sheet .stage-buttons small{font-size:.65rem}.observatory-sheet .stage-buttons button.active{background:#c3d6cd18;border-color:#c0d3c477}.observatory-sheet .stage-buttons button.active span{color:#e3ede6}.observatory-sheet .stage-buttons button.active small{color:#b2c5ba}.analysis-sheet{width:47rem}.analysis-content{padding:1.5rem}.analysis-title{justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1.5rem;display:flex}.analysis-title h2{font-size:1.4rem}.analysis-title h2 span{color:var(--muted);font-size:.9rem}.analysis-model{color:var(--muted);margin-top:1rem;font-size:.8rem}.observatory-app .compare-main{height:100%;padding:6.5rem 3rem 3rem;overflow:auto}.observatory-app .compare-container{max-width:85rem}.observatory-app .recommendation{background:#101010;border-color:#c9e1d421}.observatory-app .recommendation h2,.observatory-app .recommendation b{color:#d4e5dc}.observatory-app .modal-backdrop{z-index:50}.observatory-app .toast{z-index:100}.observatory-app option{color:#dae5eb;background:#111}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (width<=1099px),(height<=620px){:root{font-size:14px}.observatory-app{height:auto;min-height:100dvh;overflow:visible}.observatory-app .topbar{height:5rem;padding:0 1.5rem;position:relative}.observatory-app .topbar nav{gap:1.2rem;height:3.5rem}.observatory-app .topbar nav button{font-size:.85rem}.observatory-app .brand-name{letter-spacing:.2rem;font-size:.95rem}.observatory-app .brand img{width:1.9rem;height:1.9rem}.observatory-app .save-project{gap:0;padding:.55rem;font-size:0}.observatory-app .topbar-right .library-button,.observatory-app .topbar-right .help-button{padding:.35rem;position:static}.observatory{grid-template-columns:20rem 1fr;gap:1.5rem;height:auto;min-height:70rem;padding:38rem 1.5rem 0;display:grid;position:relative;inset:auto}.earth-stage{height:38rem;bottom:auto}.earth-canvas,.earth-labels{inset:6rem 0 0}.observatory-title{max-width:90%;top:1rem;left:1.5rem}.observatory-title h1{font-size:1.8rem}.observatory-title p{font-size:1rem}.calculation-state{margin-top:.5rem;font-size:.8rem}.compact-inspector{width:100%;height:26.75rem;position:relative;top:auto;left:auto}.scene-context{background:#0b0b0b;flex-wrap:wrap;grid-area:1/2;justify-content:center;align-self:start;padding:1rem;position:relative;bottom:auto;left:auto}.scene-context .client-selector select{width:10rem;font-size:.85rem}.analysis-trigger{font-size:.8rem}.observatory-dock{-webkit-backdrop-filter:none;backdrop-filter:none;background:0 0;grid-column:1/-1;grid-template-columns:8rem 3rem 1fr 1fr;gap:1rem;height:auto;min-height:12rem;padding:1.5rem 0 3.5rem;position:relative}.dock-tracks{grid-column:4;padding-left:1rem}.observatory .dock-metrics{border-left:0;border-top:1px solid var(--line);grid-area:2/1/auto/-1;grid-template-columns:1fr 1fr 1fr;max-width:none;margin:1rem 0 0;padding:1rem 0 0}.dock-metrics strong{font-size:1.4rem}.observatory-footer{grid-column:1/-1;padding:0 0 1.5rem;font-size:.5rem;position:relative;bottom:auto;left:auto;right:auto}.scene-layers{font-size:.75rem;bottom:1.2rem;left:1.5rem}.scene-layers input{width:.8rem;height:.8rem}.scene-tools{opacity:.7;bottom:1rem;right:1rem}.scene-tools button{padding:.5rem}.scene-tools svg.lucide{width:1rem;height:1rem}.dirty-banner{grid-column:1/-1;position:relative;bottom:auto;left:auto;transform:none}.satellite-popover{top:10rem;right:1.5rem}.flat-map .map-shell{top:8rem;bottom:3rem;left:0}.observatory-sheet{font-size:1rem}}@media (width<=650px){.observatory-app .topbar{align-items:flex-start;height:7.5rem;padding-top:1rem}.observatory-app .topbar nav{justify-content:center;gap:2rem;width:100%;height:2.5rem;top:4rem}.observatory{grid-template-columns:1fr;gap:1rem;min-height:0;padding-top:35rem}.earth-stage{height:35rem}.earth-canvas,.earth-labels{inset:8rem 0 3rem}.observatory-title h1{font-size:1.8rem}.observatory-title p{font-size:.93rem}.compact-inspector{grid-row:2;width:100%;height:26.75rem}.scene-context{background:0 0;grid-area:1/1;justify-content:space-between;padding:.4rem 0}.scene-tools{flex-direction:column;bottom:3rem;right:.7rem}.scene-view,.rotate-buttons{flex-direction:column}.scene-layers{font-size:.75rem;bottom:.65rem}.scene-tools button{padding:.4rem}.earth-labels .earth-marker.ground:not(.current):not(.highlighted){display:none}.earth-labels .earth-marker.current{font-size:.8rem}.earth-marker small{font-size:.68rem}.earth-labels .route-annotation{margin:2rem 0 0 -3rem;font-size:.7rem}.dock-scrubber{grid-column:3;margin-left:1.1rem;margin-right:1rem}.observatory-dock{grid-template-columns:8rem 3rem 1fr;row-gap:1.4rem;padding-top:1.5rem;padding-bottom:1rem}.dock-tracks{border:0;grid-area:2/1/auto/-1;padding:0}.dock-tracks>div{height:1.6rem}.observatory .dock-metrics{grid-row:3;gap:1rem;margin:0}.dock-metrics span{font-size:.75rem}.dock-metrics strong{font-size:1.4rem}.observatory-footer span:last-child{display:none}.satellite-popover{width:11rem;top:10rem;right:4rem}.analysis-title{align-items:flex-start}.analysis-title button{max-width:10rem}.earth-loading{width:65%;top:45%;left:50%}.observatory-app .compare-main{padding:2rem 1rem}}@media (prefers-reduced-motion:reduce){.observatory-app *{scroll-behavior:auto!important;transition:none!important}}.observatory-app .brand svg.brand-orbit{stroke-width:1.3px;color:#eeefe8;width:2.4rem;height:2.4rem;transform:rotate(-35deg)}.dock-metrics strong{font-size:1.5rem}.observatory .dock-metrics{grid-template-columns:1.2fr 1fr .9fr;gap:1.15rem;padding-left:2.3rem}.dock-tracks svg{background:#435656}.compact-plane label i{left:1.3rem}.compact-plane:nth-child(4) label i{left:1.7rem}.observatory-title h1{letter-spacing:-.04rem;font-size:2.25rem}.observatory-title p{font-size:1.25rem}.compact-plane label i,.compact-plane:nth-child(4) label i{font-size:inherit;position:static}.compact-plane label{gap:.03rem}@media (width<=1099px),(height<=620px){.observatory-title h1{font-size:1.8rem}.observatory-title p{font-size:1rem}}.earth-labels .route-annotation{margin:6.5rem 0 0 1rem}.earth-labels .earth-marker.ground:not(.highlighted):not(.current){display:none}.earth-labels .geo-label{color:#bdc8cd99}@media (width<=650px){.earth-labels .route-annotation{margin:3rem 0 0 -3rem}}@media (width>=1100px) and (height>=621px){.observatory-dock{background:linear-gradient(100deg,#080808ed,#131313c9 30%,#070707f2 73%);grid-template-columns:8.4rem 3.7rem minmax(12rem,30.6fr) minmax(18rem,26.8fr) 26.8rem}.dock-scrubber{margin-left:2.35rem}.observatory .dock-metrics{margin-left:0;padding-left:1.9rem}}.inspector-heading h2{font-size:1.18rem}.compact-stage,.compact-condition{font-size:.94rem}.calculation-state{white-space:nowrap}.calculation-state .network-stats{display:none}@media (width<=1099px),(height<=620px){.observatory{grid-template-columns:minmax(18rem,1fr) minmax(18rem,1fr)}.scene-context{background:0 0;grid-area:1/1/auto/-1;justify-content:space-between;padding:0}.compact-inspector{grid-area:2/1}.observatory-dock{grid-area:2/2;grid-template-columns:8rem 3rem 1fr;align-self:start;gap:1.5rem .75rem;padding:1.5rem 0}.dock-tracks{border:0;grid-area:2/1/auto/-1;padding:0}.observatory .dock-metrics{grid-area:3/1/auto/-1;gap:1rem}.dock-scrubber{margin-left:1rem;margin-right:1rem}.observatory-footer{grid-row:3}.earth-labels .geo-label{font-size:.6rem}}@media (width<=650px){.observatory{grid-template-columns:1fr}.observatory-dock{grid-area:3/1}.observatory-footer{grid-row:4}.earth-labels .geo-label{display:none}.earth-labels .earth-marker:not(.ground):not(.highlighted){width:.45rem;height:.45rem;box-shadow:none;margin:-.225rem 0 0 -.225rem}.compact-stage,.compact-condition{font-size:.94rem}.calculation-state{white-space:nowrap}}.observatory-app.comparing .topbar-right .library-button,.observatory-app.comparing .topbar-right .help-button{position:static;inset:auto}.observatory-app .topbar{grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:1.6rem;display:grid}.observatory-app .topbar nav{place-self:center;gap:1.65rem;height:3.4rem;position:static;transform:none}.observatory-app .topbar-right{align-items:center;gap:.5rem;min-width:0;display:flex}.observatory-app .topbar-right .library-button,.observatory-app .topbar-right .help-button{color:#a1afb7;opacity:1;flex-shrink:0;padding:.55rem;position:static;inset:auto}.header-scene-actions{align-items:center;gap:.7rem;display:flex}.header-scene-actions .client-selector{width:7.5rem;min-width:0}.header-scene-actions .select-trigger{background:#090909d9;padding:.5rem .6rem;font-size:.8rem}.observatory-app .analysis-trigger{white-space:nowrap;background:0 0;border:0;gap:.45rem;padding:.5rem .2rem;font-size:.78rem}.observatory-app .save-project{white-space:nowrap}.compact-inspector{height:auto;min-height:26rem;padding:1.2rem;transition:opacity .3s,transform .4s cubic-bezier(.2,.7,.2,1);top:6.7rem;left:1.9rem;transform:translate(0)}.inspector-toggle{z-index:15;color:#a9b9bf;background:0 0;border:0;width:1.65rem;height:1.65rem;padding:.2rem;transition:left .4s cubic-bezier(.2,.7,.2,1),background .2s;position:absolute;top:7.65rem;left:18.45rem}.inspector-toggle:hover{color:#eef5f0;background:#b6d1cb16}.inspector-collapsed .inspector-toggle{background:#0c0c0ce6;border:1px solid #b6d0e72b;width:2.4rem;height:2.4rem;top:6.7rem;left:1.9rem}.inspector-collapsed .compact-inspector{opacity:0;pointer-events:none;visibility:hidden;transition:opacity .25s,transform .4s,visibility 0s .4s;transform:translate(calc(-100% - 2rem))}.compact-planes{max-height:none;margin:.9rem 0 1.4rem;overflow:visible}.compact-plane-head,.compact-plane{grid-template-columns:3.8rem minmax(0,1fr) minmax(0,1fr);gap:.6rem}.compact-plane-head{height:1.8rem}.compact-plane{height:2.7rem}.compact-plane .number-field{background:#08080870;border:1px solid #b5ccd523;border-radius:.3rem;gap:0;height:2.05rem}.observatory-app .compact-plane .number-field input[type=number]{text-align:left;border-radius:0;width:100%;height:100%;padding:.35rem .4rem;font-size:.83rem}.compact-plane .number-unit{font-size:.85rem}.compact-plane .number-steppers{flex-basis:1rem}.compact-run{white-space:nowrap;width:100%;height:2.6rem;margin-top:.4rem;font-size:.82rem;position:static;inset:auto}.compact-run svg:last-child{display:block}.observatory-dock{align-items:start;height:8rem;padding:1.2rem 1.9rem}.dock-clock>span{margin-top:.25rem;font-size:.75rem}.dock-clock .live-time{font-variant-numeric:tabular-nums;margin-top:1.5rem}.dock-clock button{margin-top:1.3rem}.dock-clock .live-button{color:#a4c9b8;background:0 0;border:0;border-radius:0;grid-area:1/1;justify-self:start;gap:.4rem;width:auto;height:auto;margin-top:4.2rem;padding:.1rem 0;font-size:.68rem}.dock-clock .live-button svg{width:.75rem;height:.75rem}.dock-ticks{margin-top:1.2rem;font-size:.65rem}.scene-tools,.scene-layers{bottom:9.2rem}.dirty-banner{bottom:9.3rem}.satellite-popover{top:6.7rem}.earth-canvas,.earth-labels{opacity:0;transition:opacity .8s}.earth-canvas[data-ready=true],.earth-labels[data-ready=true]{opacity:1}.earth-loading{z-index:80;color:#9caeb8;text-align:center;background:#000;flex-direction:column;justify-content:center;align-items:center;gap:1.4rem;padding:2rem;font-size:.8rem;display:flex;position:fixed;width:auto!important;inset:0!important;transform:none!important}.observatory-app .earth-loading svg.loading-orbit{stroke-width:.65px;color:#c9dcd7;width:5rem;height:5rem;animation:8s linear infinite orbital-loading}.loader-brand{letter-spacing:.45rem;color:#e1e7e5;margin-left:.45rem;font-size:1rem}.loading-progress{gap:.3rem;width:9rem;margin-top:.3rem;display:flex}.loading-progress>span{background:#1a1a1a;flex:1;height:2px;transition:background .3s}.loading-progress>span.complete{background:#bedccd}.earth-loading.failed{z-index:20;background:#050505ed}.earth-loading.failed .loading-orbit{color:#929da6;animation:none}.earth-loading.failed button{color:#0c0c0c;background:#dfe6dc;margin-top:.5rem;padding:.7rem 1.2rem}@keyframes orbital-loading{to{transform:rotate(360deg)}}@media (width>=1100px) and (height>=621px){.observatory-dock{grid-template-columns:8.4rem 3.7rem minmax(12rem,30.6fr) minmax(18rem,26.8fr) 26.8rem}}@media (width<=1099px),(height<=620px){.observatory-app .topbar{grid-template-columns:auto 1fr;gap:.65rem 1rem;height:auto;min-height:8rem;padding:1rem 1.5rem;position:relative}.observatory-app .topbar nav{grid-area:1/2;justify-self:end;gap:1.5rem;height:2.5rem}.observatory-app .topbar-right{grid-area:2/1/auto/-1;justify-self:end;gap:.7rem;margin-left:0}.observatory-app .save-project{gap:.5rem;padding:.55rem .75rem;font-size:.75rem}.observatory-app .analysis-trigger{font-size:.8rem}.header-scene-actions{gap:1rem}.header-scene-actions .client-selector{width:8rem}.observatory{grid-template-columns:minmax(18rem,1fr) minmax(18rem,1fr);gap:1.5rem;min-height:0;padding:34rem 1.5rem 1.5rem;overflow:visible}.earth-stage{height:33rem}.earth-canvas,.earth-labels{inset:0}.compact-inspector{grid-area:1/1;align-self:start;width:100%;min-height:26rem;top:auto;left:auto}.inspector-toggle{top:35rem;left:auto;right:calc(50% + 2.7rem)}.inspector-collapsed .inspector-toggle{top:1rem;left:1.5rem;right:auto}.inspector-collapsed .compact-inspector{display:none}.observatory-dock{grid-area:1/2;grid-template-columns:8rem 3rem 1fr;gap:1.5rem .75rem;height:auto;min-height:0;padding:1rem 0;position:relative}.inspector-collapsed .observatory-dock{grid-column:1/-1}.dock-tracks{border:0;grid-area:2/1/auto/-1;padding:0}.observatory .dock-metrics{grid-area:3/1/auto/-1;gap:1rem;margin:0;padding:1rem 0 0}.dock-scrubber{min-height:6rem;margin-left:1rem;margin-right:1rem}.scene-tools,.scene-layers{bottom:1rem}.dirty-banner{grid-row:2;bottom:auto}.earth-loading{font-size:.85rem}}@media (width<=650px){.observatory-app .topbar{grid-template-columns:1fr auto;gap:.6rem;min-height:10.5rem;padding:1rem}.observatory-app .brand-name{font-size:.9rem}.observatory-app .brand svg.brand-orbit{width:1.9rem;height:1.9rem}.observatory-app .topbar nav{grid-area:2/1/auto/-1;justify-self:center;gap:2rem;width:auto;height:2.5rem;top:auto;left:auto}.observatory-app .topbar-right{display:contents}.observatory-app .topbar-right .library-button{grid-area:1/2;justify-self:end;margin-right:5.4rem}.observatory-app .topbar-right .help-button{grid-area:1/2;justify-self:end;margin-right:2.8rem}.observatory-app .save-project{grid-area:1/2;justify-self:end;gap:0;padding:.55rem;font-size:0}.header-scene-actions{grid-area:3/1/auto/-1;justify-content:space-between;width:100%}.observatory{grid-template-columns:1fr;gap:1rem;padding:31rem 1rem 1rem}.earth-stage{height:30rem}.earth-canvas,.earth-labels{inset:0 0 2rem}.compact-inspector{grid-area:1/1;min-height:26rem}.inspector-toggle{top:32rem;left:auto;right:2.2rem}.inspector-collapsed .inspector-toggle{top:1rem;left:1rem;right:auto}.observatory-dock{grid-area:2/1}.scene-tools{bottom:2.5rem}.scene-layers{bottom:.5rem}.dock-clock .live-button{margin-top:4.4rem}.dirty-banner{grid-row:3}.observatory-app.comparing .topbar{min-height:7rem}}@media (prefers-reduced-motion:reduce){.earth-loading .loading-orbit{animation:none}.earth-canvas,.earth-labels,.compact-inspector{transition:none}}.header-scene-actions .client-selector{background:0 0;border:0;flex:none;gap:0;padding:0;display:block}.header-scene-actions .client-selector .select-trigger{justify-content:space-between;width:100%;min-width:0;margin:0}.number-field .number-steppers{align-items:stretch;gap:0;display:flex}.plane-row>.number-field{gap:0;display:flex}@media (width<=650px){.dock-scrubber>div:first-child{left:-1.3rem;right:-1rem}}@media (width>=1100px) and (height>=621px){.observatory-app .topbar nav{position:absolute;left:50%;transform:translate(-50%)}.observatory-app .topbar-right{grid-column:3}}.extended-planes .compact-planes{max-height:10rem;overflow:auto}.playback-rate{z-index:1;grid-area:1/2;place-self:start center;margin-top:4.65rem}.observatory-app .playback-rate .select-trigger{font-variant-numeric:tabular-nums;border-color:#ffffff26;gap:.25rem;width:4.7rem;min-height:1.65rem;padding:.15rem .35rem;font-size:.75rem}.dock-tracks svg{overflow:visible}.cosmos-stars{pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.observatory-dock{background:#080808ed;border-top-color:#ffffff1f}.compact-inspector{background:#0d0d0deb;border-color:#ffffff18}.observatory-sheet,.sheet-surface{background-color:#0c0c0c}.date-control{z-index:5;grid-area:1/1;place-self:start;margin-top:.1rem;position:relative}.observatory-app .date-trigger{color:#b4b4b4;background:0 0;border:0;border-radius:.25rem;gap:.45rem;width:auto;height:auto;margin:0;padding:.2rem 0;font-size:.75rem}.observatory-app .date-trigger:hover{color:#f3f0e4}.observatory-app .date-trigger svg{width:.85rem;height:.85rem}.calendar-popover{color:#e2e2df;background:#101010;border:1px solid #ffffff26;border-radius:.7rem;width:21rem;padding:.9rem;position:absolute;bottom:calc(100% + 1rem);left:0;box-shadow:0 16px 60px #000b}.calendar-title,.calendar-month{align-items:center;gap:.4rem;margin-bottom:.8rem;display:flex}.calendar-title{justify-content:space-between;font-size:.8rem}.observatory-app .calendar-popover button{color:#c9c9c6;background:0 0;border:1px solid #0000;border-radius:.35rem;width:auto;min-width:1.5rem;height:2rem;margin:0;padding:.3rem}.observatory-app .calendar-popover button:hover{background:#ffffff0e;border-color:#ffffff20}.observatory-app .calendar-popover .select-trigger{flex:1;justify-content:space-between;font-size:.85rem}.calendar-month .number-field{flex-shrink:0;width:5.2rem}.calendar-month .number-field input{width:2.5rem;font-size:.85rem}.observatory-app .calendar-month .number-steppers button{width:1rem;min-width:0;height:.8rem;padding:0}.calendar-days{grid-template-columns:repeat(7,1fr);gap:.2rem;display:grid}.calendar-days>span{color:#7e7e7e;text-align:center;padding:.3rem;font-size:.7rem}.observatory-app .calendar-days button{height:2.1rem;font-size:.85rem}.observatory-app .calendar-days button[aria-pressed=true]{color:#141414;background:#e5e2d5}.calendar-popover p{color:#999;margin:.8rem 0 0;font-size:.65rem}.flat-map .map-shell{background:#080909d9;border:1px solid #ffffff13;border-radius:.75rem;padding:1.5rem;transition:left .4s;inset:6.5rem 2rem 10rem 23rem}.inspector-collapsed .flat-map .map-shell{left:5rem}.flat-map .network-map{padding:1.5rem 0 2rem}.map-node:not(.chosen) text{opacity:.3;transition:opacity .15s}.map-node:hover text,.map-node:focus text{opacity:1}.network-map text{paint-order:stroke;stroke:#050505;stroke-width:2px;stroke-linejoin:round;font-family:Manrope,sans-serif}@media (width<=1099px),(height<=620px){.flat-map .map-shell,.inspector-collapsed .flat-map .map-shell{padding:.5rem;inset:.5rem 1rem 3rem}.calendar-popover{bottom:calc(100% + .5rem)}}@media (width<=650px){.calendar-popover{width:min(22rem,100vw - 2rem)}.flat-map .map-shell{overflow:hidden}}@media (prefers-reduced-motion:reduce){.flat-map .map-shell{transition:none}}.dock-clock>.date-control{display:block}.observatory-app .calendar-popover button{grid-area:auto}@media (width<=1099px),(height<=620px){.flat-map .map-toolbar{padding-left:2.5rem}}
