@import "https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@400;500;600;700&family=DM+Mono:wght@400;500&family=Inter:wght@400;500;600;700&display=swap";:root{color:#f5f4f0;font-synthesis:none;text-rendering:optimizelegibility;--bg:#080a0f;--panel:#11141bd6;--panel-strong:#11141b;--line:#ffffff17;--muted:#858996;--soft:#b9bcc5;--orange:#ff7a32;--orange-light:#ffb06d;--red:#ff4e45;--cyan:#73d6d0;--purple:#a992ff;--mono:"DM Mono", monospace;--condensed:"Barlow Condensed", sans-serif;background:#080a0f;font-family:Inter,sans-serif}*{box-sizing:border-box}body{background:var(--bg);min-width:320px;min-height:100vh;margin:0}button{font:inherit;color:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer;border:0}.app-shell{background:radial-gradient(circle at 72% -10%,#db431526,#0000 34%),radial-gradient(circle at 10% 80%,#37346521,#0000 30%),#080a0f;min-height:100vh;overflow:hidden}.topbar{border-bottom:1px solid var(--line);z-index:5;background:#090b10e6;justify-content:space-between;align-items:center;height:68px;padding:0 24px;display:flex;position:relative;box-shadow:0 10px 34px #0000002e}.brand,.top-actions,.mission-status,.toolbar-group,.data-source,.map-quality{align-items:center;display:flex}.brand{gap:12px}.brand-mark{width:34px;height:34px;color:var(--orange);background:#ff7a3217;border:1px solid #ff7a3280;place-items:center;display:grid;box-shadow:0 0 24px #ff601e2b}.brand-name{font:700 18px/1 var(--condensed);letter-spacing:.16em}.brand-name span{color:var(--orange)}.brand-sub,.side-label,.eyebrow,.metric-label,.section-title,.route-selector-label,.chart-label,.provenance-title,.map-legend,.map-footer,.bottom-status{font-family:var(--mono)}.brand-sub{color:#686d7a;letter-spacing:.16em;margin-top:5px;font-size:8px}.mission-status{color:#a0a4b0;font:10px var(--mono);letter-spacing:.08em;gap:9px}.status-dot,.tiny-dot{background:#6ee6a1;border-radius:50%;width:7px;height:7px;display:inline-block;box-shadow:0 0 10px #6ee6a1}.status-divider{background:var(--line);width:1px;height:16px;margin:0 7px}.top-actions{gap:14px}.icon-button{border:1px solid var(--line);width:34px;height:34px;color:var(--muted);background:0 0;place-items:center;transition:all .2s;display:grid}.icon-button:hover{color:var(--orange);border-color:#ff7a3280;transform:rotate(15deg)}.avatar{color:#fff6eb;width:30px;height:30px;font:600 11px var(--mono);background:linear-gradient(135deg,#f07836,#893221);border-radius:50%;place-items:center;display:grid;box-shadow:0 0 18px #f078364d}.workspace{grid-template-columns:224px minmax(0,1fr) 348px;min-height:calc(100vh - 105px);display:grid}.sidebar{border-right:1px solid var(--line);background:#0a0c12bf;flex-direction:column;padding:28px 14px 18px;display:flex}.side-label{color:#696e7b;letter-spacing:.15em;padding:0 12px 12px;font-size:9px}.sidebar nav{gap:4px;display:grid}.nav-item{color:#969aa6;text-align:left;background:0 0;border:1px solid #0000;align-items:center;gap:11px;padding:11px 12px;font-size:12px;transition:all .2s;display:flex}.nav-item svg{color:#6f7481}.nav-item:hover{color:#fff;background:#ffffff09}.nav-item.active{color:#fff;box-shadow:inset 2px 0 var(--orange);background:linear-gradient(90deg,#ff7a3229,#ff7a3208);border-color:#ff7a322e}.nav-item.active svg{color:var(--orange)}.nav-chevron{color:var(--orange);margin-left:auto;font-size:20px;line-height:10px}.sidebar-divider{background:var(--line);height:1px;margin:26px 12px}.mission-card{background:linear-gradient(135deg,#ffffff0f,#ffffff04);border:1px solid #ffffff17;margin:0 5px;padding:15px;box-shadow:0 14px 36px #0003}.mission-card-title{color:var(--orange-light);font:10px var(--mono);letter-spacing:.04em}.tiny-dot{vertical-align:1px;width:5px;height:5px;margin-right:7px}.mission-card-region{color:#f4f4f1;font:600 17px var(--condensed);letter-spacing:.02em;margin:9px 0 20px}.mission-card-row{color:#747987;font:9px var(--mono);letter-spacing:.05em;justify-content:space-between;align-items:center;display:flex}.mission-card-row strong{color:#e6e7e6;font-weight:500}.mission-card-row.dim{margin-top:12px}.pill{color:#75dfa4;background:#4ad6891a;border:1px solid #4ad68933;padding:3px 7px;font-size:8px}.mission-progress{background:#252933;height:2px;margin:8px 0 0}.mission-progress span{background:var(--orange);width:39%;height:100%;box-shadow:0 0 8px var(--orange);display:block}.sidebar-footer{color:#737885;font:9px var(--mono);letter-spacing:.06em;margin-top:auto;padding:15px 12px 0}.sidebar-footer .status-dot{width:5px;height:5px;margin-right:7px}.sidebar-footer small{color:#4f535e;margin-top:9px;font-size:8px;display:block}.main-content{min-width:0;padding:31px 24px 28px}.page-heading{justify-content:space-between;align-items:end;gap:20px;margin-bottom:20px;display:flex}.eyebrow{color:var(--orange);letter-spacing:.13em;margin-bottom:9px;font-size:9px}h1{color:#f7f7f4;font:600 36px/1 var(--condensed);letter-spacing:.01em;margin:0}.live-tag{vertical-align:7px;color:#6be0a0;font:9px var(--mono);letter-spacing:.06em;background:#6be0a014;border:1px solid #6be0a033;align-items:center;gap:4px;margin-left:8px;padding:4px 6px;display:inline-flex}.page-heading p{color:#7c818e;margin:8px 0 0;font-size:12px}.outline-btn{border:1px solid var(--line);color:#b4b7c0;font:10px var(--mono);letter-spacing:.03em;white-space:nowrap;background:#ffffff06;align-items:center;gap:8px;padding:10px 13px;transition:all .2s;display:flex}.outline-btn:hover{color:var(--orange-light);background:#ff7a3212;border-color:#ff7a3280}.map-panel{background:#11141bad;border:1px solid #ffffff1a;box-shadow:0 25px 60px #00000047}.map-toolbar{border-bottom:1px solid var(--line);background:#14171fd1;justify-content:space-between;align-items:center;min-height:48px;padding:0 13px;display:flex}.toolbar-group{gap:5px}.map-tool{color:#717683;font:10px var(--mono);background:0 0;align-items:center;gap:7px;padding:7px 9px;transition:all .2s;display:flex}.map-tool:hover,.map-tool.active{color:#e8e9e7;background:#ffffff0f}.map-tool.active svg{color:var(--orange)}.map-tool.muted{color:#555a67}.map-tool small{color:#6a6e7b;border:1px solid #343844;padding:2px 4px;font-size:7px}.map-coordinates{color:#8b8f9b;font:10px var(--mono);letter-spacing:.02em}.map-coordinates span{color:#c2c4cb}.map-stage{isolation:isolate;background:radial-gradient(#3c2e2a,#17171b 70%);height:min(66vh,655px);min-height:440px;position:relative;overflow:hidden}.map-stage:before{content:"";z-index:1;pointer-events:none;mix-blend-mode:screen;background:linear-gradient(115deg,#ff7a321a,#0000 28%,#0c101a1a 72%,#00000057);position:absolute;inset:0}.map-stage:after{content:"";z-index:2;pointer-events:none;background:radial-gradient(#0000 45%,#04060aa8 100%);position:absolute;inset:0}.real-basemap{z-index:0}.map-grid{z-index:1;opacity:.22;background-image:linear-gradient(#ffffff12 1px,#0000 1px),linear-gradient(90deg,#ffffff12 1px,#0000 1px);background-size:54px 54px;position:absolute;inset:-20%;transform:rotate(-9deg);-webkit-mask-image:radial-gradient(#000 12%,#0000 70%);mask-image:radial-gradient(#000 12%,#0000 70%)}.crater{z-index:1;border:1px solid #ffb98138;border-radius:50%;position:absolute;box-shadow:inset 0 0 34px #00000059,0 0 22px #ff783c1a}.crater-a{width:360px;height:360px;top:12%;left:33%;transform:rotate(-18deg)scaleX(1.35)}.crater-b{opacity:.65;width:220px;height:180px;top:49%;left:-4%;transform:rotate(13deg)scaleX(1.55)}.terrain-ridge{z-index:1;filter:blur(.2px);border-top:1px solid #ffb88029;border-radius:50%;width:72%;height:15%;position:absolute;transform:rotate(-11deg)}.ridge-1{top:32%;left:6%}.ridge-2{top:64%;left:31%;transform:rotate(8deg)}.route-svg{z-index:3;width:100%;height:100%;position:absolute;inset:0;overflow:visible}.route-svg path{fill:none;stroke-linecap:round;stroke-linejoin:round}.route-glow{stroke:#ff7a3247;stroke-width:2.3px;filter:blur(7px)}.route-line{stroke:#ff914c;stroke-width:.55px;filter:drop-shadow(0 0 4px #ff7932e6)}.route-dash{stroke:#ffe2bd;stroke-width:.22px;stroke-dasharray:1 1.6;opacity:.9}.map-label{z-index:4;color:#ffefdfb8;font:10px var(--mono);letter-spacing:.11em;position:absolute}.label-north{font-size:12px;top:25px;right:25px}.label-north span{color:var(--orange);text-align:center;margin-top:2px;display:block}.label-region{top:26px;left:30px}.label-region small{color:#fff6;letter-spacing:.06em;margin-top:6px;font-size:8px;display:block}.scale{z-index:4;color:#aaa9aa;font:9px var(--mono);align-items:center;gap:6px;display:flex;position:absolute;bottom:23px;left:25px}.scale span{border-top:1px solid #dfc8b5;border-left:1px solid #dfc8b5;border-right:1px solid #dfc8b5;width:55px;height:4px}.marker,.science-marker{z-index:4;position:absolute;transform:translate(-50%,-50%)}.marker{color:var(--orange);filter:drop-shadow(0 0 8px #ff7a32e6)}.marker span{color:#ffcc9c;font:8px var(--mono);white-space:nowrap;background:#0b0d12db;border:1px solid #ff7a3259;padding:3px 5px;position:absolute;top:27px;left:50%;transform:translate(-50%)}.marker.target{color:#ffdb8a;filter:drop-shadow(0 0 8px #ffd370bf)}.marker.target span{color:#ffdda1;border-color:#ffd3704d}.science-marker{color:#ffe1a1;background:#5f3f149e;border:1px solid #ffde9780;border-radius:50%;place-items:center;width:19px;height:19px;font-size:13px;display:grid;box-shadow:0 0 13px #ffc65f59}.science-marker:after{content:"";border:1px solid #ffde9733;border-radius:50%;animation:2.5s infinite pulse;position:absolute;inset:-5px}.hazard-zone{z-index:2;background:repeating-linear-gradient(135deg,#ff47371a 0 4px,#0000 4px 8px);border:1px dashed #ff52468c;position:absolute;transform:rotate(-14deg)}.hz-1{width:120px;height:80px;top:17%;right:22%}.hz-2{width:155px;height:68px;bottom:17%;left:30%;transform:rotate(18deg)}.map-legend{z-index:5;color:#b7b9be;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#0b0d13d1;border:1px solid #ffffff1f;min-width:150px;padding:12px;font-size:9px;line-height:2;position:absolute;bottom:20px;right:18px}.legend-title{color:#f2f2ee;letter-spacing:.11em;margin-bottom:3px;font-size:8px}.map-legend b{float:right;color:#8f949f;font-weight:400}.legend-line,.legend-dot,.legend-zone{vertical-align:middle;margin-right:6px;display:inline-block}.legend-line{border-top:2px solid var(--orange);width:17px}.legend-dot{background:#7d5c2d;border:1px solid #ffe1a1;border-radius:50%;width:7px;height:7px}.legend-zone{border:1px dashed var(--red);background:#ff483a26;width:10px;height:10px}.zoom-controls{z-index:5;background:#0b0d12cc;border:1px solid #ffffff1f;display:grid;position:absolute;top:20px;left:20px}.zoom-controls button{color:#aeb1b7;width:28px;height:28px;font:19px var(--mono);background:0 0}.zoom-controls button+button{border-top:1px solid var(--line)}.zoom-controls button:hover{color:var(--orange);background:#ffffff0f}.map-footer{color:#6e737e;letter-spacing:.04em;justify-content:space-between;align-items:center;min-height:40px;padding:0 15px;font-size:8px;display:flex}.data-source,.map-quality{gap:8px}.data-source svg{color:var(--orange)}.map-footer strong{color:#a9adb5;font-weight:500}.footer-sep{color:#3b3f48}.map-quality .status-dot{width:5px;height:5px}.right-panel{border-left:1px solid var(--line);background:#0d0f15e0;min-width:0}.panel-tabs{border-bottom:1px solid var(--line);height:53px;display:flex}.tab{color:#666b77;font:10px var(--mono);letter-spacing:.08em;background:0 0;flex:1;position:relative}.tab.active{color:#f0f0eb}.tab.active:after{content:"";background:var(--orange);height:2px;box-shadow:0 0 8px var(--orange);position:absolute;bottom:-1px;left:22px;right:22px}.panel-scroll{max-height:calc(100vh - 158px);overflow:auto}.panel-scroll::-webkit-scrollbar{width:5px}.panel-scroll::-webkit-scrollbar-thumb{background:#2d3039}.panel-section{border-bottom:1px solid var(--line);padding:22px 20px}.section-title{color:#d2d4d4;letter-spacing:.08em;align-items:center;gap:8px;margin-bottom:18px;font-size:10px;display:flex}.section-title svg{color:var(--orange)}.section-title>svg:last-child{color:#666c77;margin-left:auto}.point-input{background:#ffffff07;border:1px solid #ffffff1a;align-items:center;gap:11px;min-height:58px;padding:10px;display:flex}.point-input>svg{color:#656b77;margin-left:auto}.point-icon{border:1px solid var(--orange);width:24px;height:24px;color:var(--orange);font:11px var(--mono);place-items:center;display:grid}.target-icon{color:#ffd78f;border-color:#c99b52}.point-input small,.point-input em{font:8px var(--mono);display:block}.point-input small{color:#777c87;letter-spacing:.07em;margin-bottom:4px}.point-input strong{color:#e7e7e3;font:500 13px var(--condensed);letter-spacing:.02em;display:block}.point-input em{color:#747985;margin-top:4px;font-style:normal}.connector{border-left:1px dashed #535862;width:1px;height:15px;margin-left:21px}.route-selector-label{color:#7e838e;letter-spacing:.1em;margin:20px 0 8px;font-size:8px}.route-options{grid-template-columns:repeat(3,1fr);gap:5px;display:grid}.route-options button{color:#777c88;min-height:57px;font:9px var(--mono);text-align:left;background:#ffffff06;border:1px solid #ffffff17;flex-direction:column;align-items:flex-start;gap:8px;padding:9px 8px;transition:all .2s;display:flex;position:relative}.route-options button svg{color:#777c88}.route-options button:hover,.route-options button.selected{color:#fff1e6;background:#ff7a3217;border-color:#ff7a327a}.route-options button.selected svg{color:var(--orange)}.route-options button i{background:var(--orange);width:5px;height:5px;box-shadow:0 0 7px var(--orange);position:absolute;top:6px;right:6px}.calculate-btn{color:#1a100b;width:100%;font:600 10px var(--mono);letter-spacing:.05em;background:linear-gradient(100deg,#ec6d2e,#ff9a4f);justify-content:center;align-items:center;gap:8px;margin-top:12px;padding:12px;transition:all .2s;display:flex;box-shadow:0 6px 22px #ea581933}.calculate-btn:hover{filter:brightness(1.08);transform:translateY(-1px);box-shadow:0 9px 27px #ea58195c}.spin{animation:1s linear infinite spin}.layer-count,.telemetry-live{color:#75dfa4;background:#75dfa412;border:1px solid #75dfa42e;margin-left:auto;padding:3px 5px;font-size:8px}.layer-row{text-align:left;background:0 0;align-items:center;gap:10px;width:100%;padding:8px 0;display:flex}.layer-row:hover .layer-copy strong{color:#fff}.layer-swatch{border-radius:2px;width:8px;height:8px;box-shadow:0 0 8px}.layer-swatch.orange{color:var(--orange);background:var(--orange)}.layer-swatch.purple{color:var(--purple);background:var(--purple)}.layer-swatch.yellow{color:#f4c85e;background:#f4c85e}.layer-swatch.red{color:var(--red);background:var(--red)}.layer-copy{flex:1;min-width:0}.layer-copy strong,.layer-copy small{display:block}.layer-copy strong{color:#c2c4c9;font:11px var(--condensed);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.layer-copy small{color:#6e737e;font:8px var(--mono);margin-top:3px}.toggle{background:#292c35;border-radius:8px;width:26px;height:14px;padding:2px;transition:all .2s}.toggle i{background:#737884;border-radius:50%;width:10px;height:10px;transition:all .2s;display:block}.toggle.on{background:#ff7a3252}.toggle.on i{background:var(--orange);box-shadow:0 0 7px var(--orange);margin-left:12px}.telemetry-live{color:var(--orange);background:#ff7a3212;border-color:#ff7a3233}.metric-grid{border:1px solid var(--line);background:var(--line);grid-template-columns:repeat(2,1fr);gap:1px;display:grid}.metric{background:#11141b;min-height:79px;padding:11px}.metric-icon{color:#767c88}.metric-icon svg{width:14px;height:14px}.metric-value{color:#f1f1ec;font:500 22px var(--condensed);margin-top:6px}.metric-value small{color:#858a95;font:10px var(--mono);margin-left:4px}.metric-label{color:#6f747f;letter-spacing:.05em;margin-top:4px;font-size:7px}.elevation-chart{border:1px solid var(--line);background:#ffffff05;margin-top:15px;padding:11px}.chart-label{color:#838892;justify-content:space-between;margin-bottom:9px;font-size:8px;display:flex}.chart-label span{color:var(--orange-light)}.elevation-chart svg{width:100%;height:56px;display:block}.provenance{background:linear-gradient(135deg,#73d6d012,#73d6d003);border:1px solid #73d6d02e;margin:16px 20px 22px;padding:14px}.provenance-title{color:var(--cyan);letter-spacing:.07em;align-items:center;gap:7px;font-size:9px;display:flex}.provenance-title svg{width:14px}.provenance p{color:#89919a;margin:10px 0 13px;font-size:10px;line-height:1.55}.provenance-links{flex-wrap:wrap;gap:8px;display:flex}.provenance-links a{color:#97cfcb;font:8px var(--mono);background:#73d6d00f;border:1px solid #73d6d029;padding:5px 7px}.provenance-links a:hover{background:#73d6d021}.bottom-status{border-top:1px solid var(--line);color:#686d77;letter-spacing:.06em;background:#090b10;justify-content:space-between;min-height:37px;padding:0 24px;font-size:8px;display:flex}.bottom-status>span{align-items:center;gap:8px;display:flex}.bottom-status .status-dot{width:5px;height:5px}.bottom-status b{color:#3e424b}@keyframes pulse{0%,to{opacity:.15;transform:scale(.9)}50%{opacity:.65;transform:scale(1.15)}}@keyframes spin{to{transform:rotate(360deg)}}@media (width<=1180px){.workspace{grid-template-columns:190px minmax(0,1fr) 310px}.sidebar{padding-left:8px;padding-right:8px}.main-content{padding-left:17px;padding-right:17px}.map-coordinates{display:none}}@media (width<=920px){.workspace{grid-template-columns:74px minmax(0,1fr)}.sidebar{align-items:center;padding:22px 8px 15px}.side-label,.nav-item:not(.active){font-size:0}.side-label{height:12px;padding:0}.nav-item{justify-content:center;padding:12px}.nav-item.active{font-size:0}.nav-item.active svg{margin:0}.nav-chevron,.mission-card,.sidebar-divider,.sidebar-footer{display:none}.right-panel{z-index:10;width:min(348px,92vw);position:fixed;inset:68px 0 37px auto;transform:translate(100%);box-shadow:-20px 0 50px #00000073}.right-panel:focus-within{transform:translate(0)}.main-content{padding:24px 18px}}@media (width<=620px){.topbar{height:60px;padding:0 14px}.mission-status,.brand-sub{display:none}.brand-name{font-size:16px}.workspace{grid-template-columns:1fr;min-height:calc(100vh - 97px)}.sidebar{display:none}.main-content{padding:20px 12px}.page-heading{flex-direction:column;align-items:flex-start;gap:14px}h1{font-size:32px}.outline-btn{justify-content:center;width:100%}.map-toolbar{padding:0 8px}.map-tool{padding:7px}.map-tool:not(.active){font-size:0}.map-tool:not(.active) svg{margin:0}.map-stage{min-height:420px}.map-legend{bottom:12px;right:12px}.data-source span:not(:first-of-type),.map-quality strong{display:none}.map-footer{padding:0 10px}.bottom-status{padding:0 12px}.bottom-status>span:not(:first-child){display:none}}.real-basemap{opacity:.34;filter:saturate(.72)contrast(1.08);mix-blend-mode:screen;background-position:50%;background-size:cover;position:absolute;inset:0}.provenance-links a{color:inherit;text-decoration:none}.nasa-map{touch-action:none;cursor:grab;background:#101318}.nasa-map:active{cursor:grabbing}.nasa-map:before,.nasa-map:after{display:none}.nasa-tiles{position:absolute;inset:0;overflow:hidden}.nasa-tiles img{-webkit-user-select:none;user-select:none;max-width:none}.nasa-map .route-svg,.nasa-map .marker,.nasa-map .science-marker{pointer-events:none}.nasa-map .label-region{background:#0b0d12cc;padding:6px;left:62px}.nasa-map .map-legend{min-width:190px;bottom:64px}.nasa-status{z-index:6;color:#eee;font:10px var(--mono);background:#0b0d12e8;padding:7px;position:absolute;bottom:28px;left:12px;right:12px}.nasa-status button{color:#17120f;background:#ff7a32;margin-left:10px;padding:5px}.nasa-attribution{z-index:6;color:#ccc;font:9px var(--mono);background:#0b0d12e8;padding:6px 10px;position:absolute;bottom:0;left:0;right:0}.nasa-attribution a{color:#ffb06d}.map-toolbar .nasa-layer-select{color:#eee;background:#14171f;border:1px solid #fff2;max-width:180px;font-size:10px}.hazard-canvas{z-index:2;pointer-events:none;position:absolute;inset:0}.nasa-map .draggable-marker{pointer-events:auto;cursor:move;touch-action:none}.coordinate-editor{border:1px solid var(--line);min-width:0;margin:12px 0;padding:10px}.coordinate-editor legend,.planner-label{color:var(--soft);font:11px var(--mono)}.coordinate-fields{gap:6px;display:flex}.coordinate-fields label{width:50%;color:var(--muted);font-size:10px}.coordinate-editor input,.planner-label select{color:#fff;border:1px solid var(--line);background:#151923;width:100%;margin:5px 0;padding:8px 5px}.coordinate-editor .outline-btn{white-space:normal;width:100%;margin-top:7px}.planner-label{margin:14px 0;display:block}.planner-label input{width:100%;accent-color:var(--orange);display:block}.planner-message,.terrain-point,.route-card{color:var(--soft);overflow-wrap:anywhere;font-size:11px;line-height:1.6}.terrain-point{border:1px solid var(--line);margin-top:14px;padding:12px}.terrain-point p{margin:4px 0}.route-card{border:1px solid var(--line);margin:10px 0;padding:12px}.route-card.selected{border-color:var(--orange)}.route-card>button:first-child{color:var(--orange-light);text-align:left;font:12px var(--mono);background:0 0;padding:0}.route-card dl{grid-template-columns:1fr 1fr;gap:6px;display:grid}.route-card dd{text-align:right;color:#fff;margin:0}.route-card .outline-btn{margin-top:10px}button:disabled{opacity:.45;cursor:not-allowed}.nasa-map .map-legend{pointer-events:none;max-width:260px;font-size:8px}@media (width<=920px){.right-panel{grid-column:2;width:auto;position:static;transform:none}.panel-scroll{max-height:none}}@media (width<=620px){.right-panel{grid-column:1}}
