:root{font-family:Inter,"Segoe UI",Arial,sans-serif;color:#e8ece8;background:#0e1415;font-synthesis:none}*{box-sizing:border-box}body{margin:0;min-width:320px}button,select{font:inherit}button{cursor:pointer}svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.svg-defs{position:absolute;width:0;height:0;overflow:hidden}.shell{display:flex;min-height:100vh}.rail{width:78px;flex:none;background:#111718;border-right:1px solid #263033;display:flex;flex-direction:column;align-items:center;position:relative;z-index:5}.brand-mark{width:40px;height:40px;display:block;position:relative;margin-top:25px}.brand-orbit{position:absolute;width:33px;height:33px;border:2px solid #df8056;border-radius:50%;left:3px;top:3px;transform:rotate(-31deg)}.brand-orbit:after{content:"";position:absolute;width:46px;height:2px;background:#df8056;left:-7px;top:14px;transform:rotate(-29deg);border-radius:5px}.brand-core{position:absolute;width:8px;height:8px;background:#df8056;border-radius:50%;top:15px;left:16px}.rail-links{display:flex;flex-direction:column;gap:14px;margin-top:83px}.rail-button{border:0;background:transparent;color:#657173;width:44px;height:44px;border-radius:11px;display:grid;place-items:center;transition:.2s}.rail-button:hover,.rail-button.active{color:#e88b5c;background:#29302c}.rail-button.active:before{content:"";position:absolute;left:0;width:3px;height:30px;background:#e78352;border-radius:0 3px 3px 0}.rail-button svg{width:20px;height:20px}.rail-bottom{margin-top:auto;margin-bottom:22px;display:flex;flex-direction:column;align-items:center;gap:18px}.rail-signal{width:8px;height:8px;background:#8fc98e;border-radius:50%;box-shadow:0 0 0 5px #263d30}.rail-version{writing-mode:vertical-rl;transform:rotate(180deg);font-size:9px;letter-spacing:2px;color:#5b6767}.planner-panel{width:315px;flex:none;background:#171d1e;border-right:1px solid #2b3335;padding:30px 25px 0;display:flex;flex-direction:column;min-height:100vh;position:relative;z-index:4}.eyebrow,.section-kicker,.mini-kicker,.field-group label,.toggle-copy small,.mission-status,.map-tag,.map-coordinate,.map-scale,.map-legend,.planner-footer,.strip-id{font-size:10px;font-weight:700;letter-spacing:1.5px}.eyebrow{display:flex;align-items:center;gap:8px;color:#e1865c;white-space:nowrap}.eyebrow-line{width:13px;height:1px;background:#e1865c}.version{color:#6c7777;font-size:9px;margin-left:auto;letter-spacing:1px}.planner-top h1{font-size:30px;line-height:1.15;letter-spacing:-1.2px;font-weight:600;margin:28px 0 14px}.planner-top h1 em{font-style:normal;color:#df895f}.intro{color:#8f9997;font-size:12px;line-height:1.65;margin:0;max-width:250px}.panel-divider{height:1px;background:#303839;margin:31px 0 25px}.section-heading{display:flex;align-items:center;gap:12px;margin-bottom:24px}.section-heading span{font-size:11px;color:#df895f}.section-heading h2{font-size:15px;margin:0;font-weight:600}.field-group{margin-bottom:0}.field-group label{color:#85908f;display:block;margin-bottom:10px;font-size:9px}.select-shell{height:48px;border:1px solid #3b4444;background:#202829;border-radius:8px;display:flex;align-items:center;gap:11px;padding:0 12px;transition:.2s}.select-shell:focus-within{border-color:#d17d55;box-shadow:0 0 0 3px #d17d5524}.select-shell select{appearance:none;color:#e6e9e5;background:none;border:0;outline:0;flex:1;min-width:0;font-size:12px;font-weight:600}.select-shell option{background:#202829;color:#e6e9e5}.select-shell svg{width:15px;height:15px;transform:rotate(90deg);color:#88938f}.select-dot{width:9px;height:9px;border-radius:50%;flex:none}.start-dot{background:#df895f;box-shadow:0 0 0 4px #df895f21}.end-dot{border:2px solid #e6eae4}.swap-row{height:26px;display:flex;align-items:center;padding-left:16px}.route-connector{height:26px;border-left:1px dashed #6b736d}.swap-button{margin-left:auto;border:0;background:#293132;color:#b6bfba;width:25px;height:25px;border-radius:6px;font-size:15px;line-height:1}.swap-button:hover{background:#394342;color:white}.priority-group{margin-top:28px}.segmented{display:flex;background:#111819;border:1px solid #35403e;border-radius:8px;padding:3px;gap:2px}.segmented button{background:none;border:0;color:#87918e;border-radius:5px;padding:9px 6px;flex:1;font-size:10px;font-weight:600;white-space:nowrap}.segmented button.selected{background:#3a3b35;color:#f0b38c;box-shadow:0 1px 4px #0003}.toggle-row{display:flex;align-items:center;justify-content:space-between;margin:25px 0 26px;cursor:pointer}.toggle-copy{display:flex;flex-direction:column;gap:5px}.toggle-copy strong{font-size:12px;font-weight:600;color:#dee3de}.toggle-copy small{font-size:9px;letter-spacing:0;color:#84908d;font-weight:400}.switch{position:relative;display:inline-flex;width:34px;height:20px}.switch input{opacity:0;width:0;height:0}.slider{position:absolute;inset:0;background:#3b4644;border-radius:20px;transition:.2s}.slider:before{content:"";position:absolute;width:14px;height:14px;left:3px;top:3px;background:#d5dbd4;border-radius:50%;transition:.2s}.switch input:checked+.slider{background:#d97f52}.switch input:checked+.slider:before{transform:translateX(14px);background:white}.switch input:focus-visible+.slider{outline:2px solid white;outline-offset:2px}.primary-button{height:46px;background:#e18456;color:#1d201e;border:none;border-radius:7px;width:100%;display:flex;align-items:center;justify-content:space-between;padding:0 17px;font-size:12px;font-weight:800;transition:.2s}.primary-button:hover{background:#ef9b6d;transform:translateY(-1px)}.primary-button:disabled{opacity:.65;cursor:wait;transform:none}.primary-button svg{width:18px;height:18px;stroke-width:2}.panel-note{display:flex;gap:7px;color:#72807c;font-size:10px;line-height:1.5;margin:14px 0}.panel-note svg{flex:none;width:13px;height:13px}.planner-footer{margin-top:auto;border-top:1px solid #303839;height:63px;display:flex;align-items:center;gap:9px;color:#8a9690;font-size:9px}.mission-pulse{width:6px;height:6px;border-radius:50%;background:#94c692;box-shadow:0 0 9px #94c692}.footer-time{margin-left:auto;color:#66736e}.main-panel{min-width:0;flex:1;background:#101718}.topbar{height:72px;padding:0 34px;border-bottom:1px solid #263133;display:flex;align-items:center;justify-content:space-between}.breadcrumb{display:flex;align-items:center;gap:12px;color:#7e8988;font-size:10px;letter-spacing:1.3px;font-weight:700}.breadcrumb svg{width:12px;height:12px;color:#586664}.breadcrumb strong{color:#d3dbd5;font-weight:600;letter-spacing:.2px;text-transform:none;font-size:11px}.topbar-right{display:flex;align-items:center;gap:19px}.mission-status{display:flex;align-items:center;gap:8px;color:#9bb29e;font-size:9px}.mission-status span,.map-tag span{width:6px;height:6px;border-radius:50%;background:#92c68c;box-shadow:0 0 8px #85b983}.topbar-separator{height:22px;width:1px;background:#303b3b}.avatar{width:31px;height:31px;background:#37423e;border-radius:50%;display:grid;place-items:center;color:#dfe9de;font-weight:700;font-size:11px}.main-content{padding:36px 34px 30px;max-width:1660px;margin:auto}.mission-header{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:31px}.section-kicker{color:#df875e;font-size:10px}.mission-header h2{margin:12px 0 7px;font-size:27px;letter-spacing:-.7px;font-weight:600}.mission-header h2 span{color:#d88b67}.mission-header p{font-size:12px;color:#889592;margin:0}.mars-badge{display:flex;align-items:center;gap:11px;border:1px solid #3c3934;border-radius:8px;background:#24241f;padding:10px 14px;min-width:165px}.mars-badge-icon{width:28px;height:28px;border-radius:50%;background:#673c2f;color:#e59467;display:grid;place-items:center;font-size:20px}.mars-badge strong,.mars-badge small{display:block}.mars-badge strong{font-size:11px;letter-spacing:1.7px;color:#e9d5bd}.mars-badge small{font-size:8px;letter-spacing:.7px;color:#a88b79;margin-top:4px}.dashboard-grid{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:17px;align-items:stretch}.map-card,.summary-card,.alternatives-card,.conditions-card{background:#1a2222;border:1px solid #303939;border-radius:10px;overflow:hidden}.map-card{display:flex;flex-direction:column;min-width:0}.map-topline{height:77px;padding:0 21px;display:flex;align-items:center;justify-content:space-between;gap:10px}.map-title{display:flex;align-items:center;gap:10px}.map-title-icon{width:34px;height:34px;border-radius:8px;background:#303b38;color:#d69069;display:grid;place-items:center}.map-title-icon svg{width:18px;height:18px}.map-title h3{font-size:13px;margin:0 0 4px;font-weight:650}.map-title p{font-size:10px;color:#82908c;margin:0}.map-tag{display:flex;align-items:center;gap:8px;color:#a2b2a7;background:#26332d;border:1px solid #3b5142;border-radius:4px;padding:6px 8px;font-size:8px;white-space:nowrap}.map-stage{position:relative;min-height:510px;flex:1;background:#7e4d3d;overflow:hidden}.map-grid{position:absolute;inset:0;background:linear-gradient(#fff2 1px,transparent 1px),linear-gradient(90deg,#fff2 1px,transparent 1px);background-size:10% 10%;opacity:.09;pointer-events:none;z-index:1}.map-svg{display:block;width:100%;height:100%;position:absolute;inset:0;transform-origin:center;transition:transform .25s ease;stroke:none}.map-svg .network-line{stroke:#f1c09a;stroke-width:1.7;opacity:.22;stroke-dasharray:5 6;vector-effect:non-scaling-stroke}.map-svg .route-halo{fill:none;stroke:#271e1a;stroke-width:13;stroke-linecap:round;stroke-linejoin:round;opacity:.35;vector-effect:non-scaling-stroke}.map-svg .route-path{fill:none;stroke:#f9bd82;stroke-width:5;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 0 5px #ffbb81);vector-effect:non-scaling-stroke}.map-svg .route-path.fast{stroke:#f8c698}.map-svg .route-path.safe{stroke:#a7dbba;filter:drop-shadow(0 0 5px #a7dbba)}.map-svg .site-group{cursor:pointer}.map-svg .site-dot{fill:#e9b28b;stroke:#593b33;stroke-width:3}.map-svg .site-group:hover .site-dot{fill:#fff4dc;r:8}.map-svg .site-ring{fill:none;stroke:#fbd1ac;stroke-width:2;opacity:.55}.map-svg .site-group.endpoint .site-dot{fill:#e9f1df;stroke:#643e33;stroke-width:4}.map-svg .site-group.origin .site-dot{fill:#ef9a68}.map-svg .site-label{font-size:13px;font-weight:700;fill:#fff0dc;paint-order:stroke;stroke:#4d3029;stroke-width:3px;letter-spacing:.2px}.map-svg .site-label.secondary{font-size:11px;fill:#eac5a8;opacity:.8}.map-coordinate,.map-north,.map-controls,.map-scale,.map-legend{position:absolute;z-index:2}.map-coordinate{top:20px;left:19px;color:#f5d0b8;background:#382b27ad;padding:8px 10px;border-radius:4px;font-size:9px}.map-coordinate span{opacity:.5;margin:0 4px}.map-north{top:18px;right:20px;font-size:11px;font-weight:800;color:#f6d3b8;text-align:center;text-shadow:0 2px 4px #422}.map-north span{display:block;font-size:21px;line-height:20px}.map-controls{top:50%;right:15px;transform:translateY(-50%);display:flex;flex-direction:column;background:#312923dd;border:1px solid #d49b785b;border-radius:7px;overflow:hidden}.map-controls button{width:31px;height:32px;color:#f6d4bd;background:transparent;border:none;font-size:20px;border-bottom:1px solid #d49b785b;line-height:1}.map-controls button:last-child{border-bottom:none}.map-controls button:hover{background:#b6724d}.map-scale{bottom:58px;left:21px;color:#f2cfb3;display:flex;align-items:center;gap:7px;font-size:9px}.map-scale span{width:52px;height:6px;border-left:2px solid #f0cba9;border-right:2px solid #f0cba9;border-bottom:2px solid #f0cba9}.map-legend{bottom:12px;left:16px;display:flex;gap:16px;color:#f0d4c2;background:#392b27b8;border:1px solid #dca47e3b;border-radius:5px;padding:9px 11px;font-size:8px;letter-spacing:.4px}.map-legend span{display:flex;align-items:center;gap:6px;white-space:nowrap}.map-legend i{display:inline-block;flex:none}.legend-route{width:15px;height:3px;background:#ffd1a0;border-radius:4px}.legend-site{width:7px;height:7px;border-radius:50%;background:#ead2b9}.legend-risk{width:8px;height:8px;background:#a44235;border:2px solid #e49f79;border-radius:2px}.map-footer{height:48px;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:0 18px;color:#82918c;font-size:10px}.map-footer span,.map-footer button{display:flex;align-items:center;gap:7px}.map-footer svg{width:14px;height:14px}.map-footer button{border:0;background:transparent;color:#d99b75;font-size:10px;font-weight:650;white-space:nowrap}.map-footer button:hover{color:#fbc199}.insights-column{display:flex;flex-direction:column;gap:14px}.summary-card{padding:21px 18px}.card-heading{display:flex;justify-content:space-between;align-items:flex-start}.mini-kicker{font-size:9px;color:#cf8d67;letter-spacing:1.6px}.card-heading h3,.alt-heading h3{font-size:17px;line-height:1.2;margin:7px 0 0;letter-spacing:-.2px}.card-heading-icon{width:30px;height:30px;border:1px solid #604738;color:#d68c61;display:grid;place-items:center;border-radius:7px}.card-heading-icon svg{width:16px;height:16px}.route-place{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:24px 0 22px;color:#c8d0c7;font-size:10px;font-weight:650;white-space:nowrap}.route-line{flex:1;border-top:1px dashed #785d4c;position:relative;display:flex;justify-content:space-between}.route-line i{width:5px;height:5px;border-radius:50%;background:#df8b59;position:relative;top:-3px}.route-line i:last-child{background:#d8dcd4}.metric-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.metric{height:112px;border:1px solid #3a4542;background:#222c2a;border-radius:7px;padding:12px;display:flex;flex-direction:column;position:relative}.metric-icon{position:absolute;right:11px;top:11px;color:#bd8c6f}.metric-icon svg{width:15px;height:15px}.metric small{font-size:8px;font-weight:700;letter-spacing:1.1px;color:#8c9c94}.metric strong{font-size:23px;line-height:1.15;margin-top:13px;letter-spacing:-.7px;color:#f2ebe0}.metric>span:last-child{font-size:9px;color:#83918a;margin-top:2px}.risk-block{margin-top:23px}.risk-heading{display:flex;align-items:center;justify-content:space-between;font-size:9px;color:#a2afa5;font-weight:700;letter-spacing:1.2px}.risk-heading strong{font-size:11px;letter-spacing:0;color:#e3b17d}.risk-track{height:6px;background:#35403b;border-radius:10px;margin:11px 0 9px;overflow:hidden}.risk-track span{display:block;height:100%;width:0;background:linear-gradient(90deg,#90b889,#e4a75e,#e36d50);border-radius:10px;transition:width .4s}.risk-block p{color:#83948a;margin:0;font-size:9px;line-height:1.4}.alternatives-card{padding:19px 17px 9px;flex:1}.alt-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.alt-heading h3{font-size:14px;margin-top:5px}.alt-heading>span{font-size:11px;color:#b9c1b6;border:1px solid #4a5551;border-radius:4px;padding:4px 6px}.route-list{display:flex;flex-direction:column}.route-option{border:1px solid transparent;background:none;color:#d7ded6;border-radius:7px;width:100%;text-align:left;padding:11px 10px;display:block;margin:2px 0;transition:.2s}.route-option:hover{background:#283332}.route-option.active{border-color:#845e48;background:#342d27}.route-option-top{display:flex;align-items:center;justify-content:space-between;gap:8px}.route-option-name{display:flex;align-items:center;gap:8px;font-size:11px;font-weight:650}.route-option-indicator{display:block;width:8px;height:8px;border:2px solid #8e9e90;border-radius:50%}.route-option.active .route-option-indicator{border-color:#e58b58;background:#e58b58;box-shadow:0 0 0 3px #e58b5830}.route-option-tag{font-size:8px;font-weight:800;color:#d38a62;letter-spacing:1px}.route-option-detail{display:flex;gap:11px;margin:8px 0 0 16px;font-size:9px;color:#92a099}.route-option-detail .risk-high{color:#e6926d}.route-option-detail .risk-low{color:#a9cda5}.loading-state{font-size:11px;color:#82918b;padding:25px 10px}.conditions-card{padding:16px 17px;background:#222a28}.condition-title{display:flex;align-items:center;gap:10px}.condition-title>svg{color:#d7a66d;width:23px;height:23px}.condition-title div{display:flex;flex-direction:column;gap:3px}.condition-title div span{font-size:8px;color:#93a096;font-weight:700;letter-spacing:1px}.condition-title div strong{font-size:11px;font-weight:600}.condition-temp{margin-left:auto;font-size:18px;font-weight:650;color:#e8d7c3}.condition-bottom{display:flex;justify-content:space-between;border-top:1px solid #3d4742;margin-top:15px;padding-top:12px;color:#9ba99e;font-size:9px}.condition-bottom span{display:flex;align-items:center;gap:5px}.condition-bottom svg{width:13px;height:13px}.bottom-strip{margin-top:17px;border:1px solid #303b38;background:#1a2422;border-radius:8px;min-height:61px;display:flex;align-items:center;justify-content:space-between;gap:15px;padding:12px 17px}.bottom-strip>div{display:flex;align-items:center;gap:12px}.strip-icon{color:#dca273;font-size:24px;line-height:1}.bottom-strip>div>div{display:flex;flex-direction:column;gap:3px}.bottom-strip strong{font-size:10px;color:#d9e0d5}.bottom-strip>div>div span{font-size:9px;color:#88968d}.strip-id{color:#708078;white-space:nowrap;font-size:8px}.toast{position:fixed;bottom:22px;left:50%;transform:translate(-50%,15px);background:#e6a779;color:#1d2522;border-radius:8px;padding:10px 16px;font-size:12px;font-weight:650;box-shadow:0 10px 30px #0008;opacity:0;pointer-events:none;transition:.22s;z-index:10}.toast.show{opacity:1;transform:translate(-50%,0)}
@media(max-width:1260px){.planner-panel{width:284px;padding-left:20px;padding-right:20px}.dashboard-grid{grid-template-columns:minmax(0,1fr) 280px}.main-content{padding-left:24px;padding-right:24px}.map-stage{min-height:490px}}
@media(max-width:1080px){.dashboard-grid{grid-template-columns:1fr}.insights-column{display:grid;grid-template-columns:1fr 1fr;align-items:stretch}.summary-card{grid-row:span 2}.map-stage{height:470px;flex:none}.conditions-card{align-self:end}}
@media(max-width:760px){.shell{display:block}.rail{width:100%;height:57px;flex-direction:row;padding:0 16px;border-right:0;border-bottom:1px solid #263033}.brand-mark{margin:0;width:31px;height:31px;transform:scale(.75);transform-origin:center}.rail-links{flex-direction:row;margin:0 0 0 auto;gap:5px}.rail-button{width:40px;height:40px}.rail-button.active:before{left:auto;top:0;height:2px;width:25px}.rail-bottom{display:none}.planner-panel{width:100%;min-height:auto;padding:20px 20px 15px}.planner-top h1{font-size:24px;margin:13px 0 5px}.intro{max-width:none}.panel-divider{margin:18px 0 14px}.section-heading{margin-bottom:15px}.field-group{max-width:none}.priority-group{margin-top:18px}.toggle-row{margin:16px 0}.panel-note{margin:9px 0}.planner-footer{display:none}.topbar{display:none}.main-content{padding:24px 16px}.mission-header{margin-bottom:18px}.mission-header h2{font-size:23px}.mars-badge{display:none}.map-stage{height:430px;min-height:0}.insights-column{grid-template-columns:1fr 1fr}.summary-card{grid-row:auto}.conditions-card{align-self:stretch}.bottom-strip{align-items:flex-start}.strip-id{display:none}}
@media(max-width:600px){.mission-header h2{font-size:21px}.map-topline{height:66px;padding:0 14px}.map-tag{display:none}.map-stage{height:350px}.map-legend{gap:8px;left:7px;bottom:7px;padding:7px;font-size:7px}.map-scale{bottom:46px}.map-coordinate{font-size:8px;left:9px;top:9px}.map-north{right:10px;top:10px}.map-controls{right:9px}.map-footer{padding:0 11px;font-size:9px}.map-footer span{max-width:58%}.insights-column{display:flex}.summary-card{padding:17px}.metric{height:105px}.bottom-strip>div>div span{line-height:1.4}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
.waypoint-block{border-top:1px solid #3a4441;margin-top:20px;padding-top:15px}.waypoint-heading{display:flex;justify-content:space-between;color:#9ead9f;font-size:9px;font-weight:700;letter-spacing:1.2px}.waypoint-heading span{color:#c69272;font-size:8px}.waypoint-list{margin-top:10px;max-height:120px;overflow:auto;scrollbar-color:#5a645d transparent;scrollbar-width:thin}.waypoint{display:flex;align-items:center;gap:8px;min-height:24px;color:#b9c5b8;font-size:9px}.waypoint-number{color:#d38b62;font-size:8px}.waypoint-name{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.waypoint-detail{color:#829088;font-size:8px}.hidden-network{display:none}
.layer-controls{display:flex;align-items:center;gap:4px;background:#121a1a;border:1px solid #37413e;border-radius:7px;padding:3px}.layer-button{border:0;background:transparent;color:#8c9a91;border-radius:5px;padding:7px 8px;font-size:9px;font-weight:700;white-space:nowrap}.layer-button:hover{color:#e9d3bd}.layer-button.active{background:#3e3b31;color:#eeb58c}.layer-overlay{display:none;pointer-events:none}.layer-overlay.visible{display:block}.map-stage.emergency{box-shadow:inset 0 0 0 3px #d87358}.emergency-button{display:flex;align-items:center;gap:9px;width:100%;height:39px;margin-top:10px;padding:0 12px;background:#2d2927;border:1px solid #78513f;color:#e6a27e;border-radius:7px;font-size:11px;font-weight:700}.emergency-button:hover,.emergency-button.active{background:#56352e;border-color:#db7756;color:#ffe0c7}.emergency-button svg{width:14px;height:14px;margin-left:auto}.emergency-led{width:7px;height:7px;border-radius:50%;background:#d97955;box-shadow:0 0 0 3px #d9795530}.emergency-button.active .emergency-led{box-shadow:0 0 0 3px #d9795540,0 0 10px #f08d69}.select-shell select:disabled{opacity:.55;cursor:not-allowed}.footer-actions{display:flex;align-items:center;gap:14px}.footer-actions button{border:0;background:transparent;color:#d99b75;font-size:10px;font-weight:650;white-space:nowrap;display:flex;align-items:center;gap:6px}.footer-actions button:hover{color:#fbc199}.site-dialog{width:min(440px,calc(100vw - 28px));border:1px solid #5b6159;border-radius:12px;background:#192220;color:#e9eee7;padding:20px;box-shadow:0 30px 90px #000b}.site-dialog::backdrop{background:#071010bc;backdrop-filter:blur(3px)}.dialog-top{display:flex;align-items:center;justify-content:space-between}.dialog-top button{width:29px;height:29px;border:1px solid #4a5850;border-radius:6px;background:#29352f;color:#dce5d9;font-size:19px}.dialog-preview{height:132px;margin:16px 0;border:1px solid #744e3e;border-radius:7px;background:radial-gradient(ellipse at 65% 80%,#a4694d 0,#7d4d3c 45%,#53372f 100%);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;color:#f4d6b8;text-align:center}.dialog-preview span{font-size:9px;font-weight:700;letter-spacing:1.3px}.dialog-preview strong{font-size:12px;font-weight:600}.site-dialog h2{font-size:22px;margin:0 0 4px}.site-dialog>p{color:#9eaea3;font-size:11px;line-height:1.5;margin:0 0 16px}.site-dialog dl{margin:0;display:grid;gap:10px}.site-dialog dl div{display:flex;justify-content:space-between;gap:16px;border-top:1px solid #39443e;padding-top:10px}.site-dialog dt{font-size:9px;color:#9aa99b;font-weight:700;letter-spacing:1px;white-space:nowrap}.site-dialog dd{margin:0;font-size:10px;text-align:right}.site-dialog .dialog-disclaimer{border-top:1px solid #39443e;margin:16px 0 0;padding-top:12px;font-size:9px;color:#87968c}
@media(max-width:600px){.map-topline{height:auto;min-height:86px;flex-direction:column;align-items:stretch;justify-content:center;gap:7px;padding:9px 12px}.map-title p{display:none}.layer-controls{width:100%}.layer-button{flex:1}.map-footer{height:auto;min-height:55px;align-items:center}.footer-actions{gap:6px}.footer-actions button{font-size:9px}.map-footer>span{max-width:43%}}
.connection-button{display:flex;align-items:center;gap:9px;width:100%;height:36px;margin-top:10px;padding:0 12px;background:#26312d;border:1px solid #456653;color:#afd2b4;border-radius:7px;font-size:11px;font-weight:700}.connection-button:hover{background:#34453a;color:#d8f2d9}.connection-button.connected{border-color:#70a77a}.connection-button svg{width:14px;height:14px;margin-left:auto}.connection-led{width:7px;height:7px;border-radius:50%;background:#8abf94;box-shadow:0 0 0 3px #8abf9430}.mission-status:not(.connected) span{background:#ad9c7d;box-shadow:0 0 8px #ad9c7d}.map-toolbar{display:flex;align-items:center;gap:6px}.map-toolbar select{height:31px;max-width:126px;appearance:none;background:#202b29;color:#d3e3d5;border:1px solid #435149;border-radius:6px;padding:0 8px;font-size:9px;font-weight:700;cursor:pointer}.map-toolbar select:focus-visible,.connection-button:focus-visible,.slope-toggle:focus-visible{outline:2px solid #e5a57b;outline-offset:2px}.live-map{position:absolute;inset:0;overflow:hidden;background:#4e534b;z-index:1;cursor:grab;touch-action:none}.live-map[hidden]{display:none}.live-map.dragging{cursor:grabbing}.live-tile-layer{position:absolute;inset:0;overflow:hidden;pointer-events:none}.live-tile-layer img{position:absolute;width:256px;height:256px;max-width:none;object-fit:cover;image-rendering:auto}.live-tile-layer.slope-tiles{opacity:.8}.live-map-loading{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);background:#15201fdd;border:1px solid #6a796a;border-radius:7px;color:#f0f2ea;padding:10px 14px;font-size:10px;pointer-events:none;z-index:3;white-space:nowrap}.live-map-loading[hidden]{display:none}.terrain-readout{position:absolute;left:14px;bottom:15px;max-width:70%;padding:8px 10px;background:#17201fe8;border:1px solid #68806f;color:#dfede0;border-radius:6px;font-size:10px;line-height:1.4;z-index:3;cursor:default}.slope-toggle{position:absolute;right:14px;bottom:15px;padding:8px 10px;background:#1e2b25e8;color:#e1ecda;border:1px solid #709277;border-radius:6px;font-size:10px;font-weight:700;z-index:3}.slope-toggle.active{background:#497752}.slope-toggle[disabled]{opacity:.55;cursor:not-allowed}.map-stage.live{background:#2a3731}.map-stage.live .map-svg,.map-stage.live .map-grid,.map-stage.live .map-legend,.map-stage.live .map-scale{display:none}.map-stage.live .map-coordinate{background:#17201fe8;color:#d5ead7}.map-stage.live.emergency{box-shadow:none}.map-stage.live.emergency .live-map{box-shadow:inset 0 0 0 3px #d87358}.backend-dialog{width:min(420px,calc(100vw - 28px));border:1px solid #5b6159;border-radius:12px;background:#192220;color:#e9eee7;padding:20px;box-shadow:0 30px 90px #000b}.backend-dialog::backdrop{background:#071010bc;backdrop-filter:blur(3px)}.backend-dialog h2{font-size:21px;margin:15px 0 8px}.backend-dialog p{color:#a1b0a4;font-size:11px;line-height:1.55}.backend-dialog label{display:block;margin:18px 0 7px;font-size:9px;color:#b8cbb9;font-weight:700;letter-spacing:1px}.backend-dialog input{width:100%;height:41px;background:#24312b;color:#ebf1e8;border:1px solid #5b6c5d;border-radius:6px;padding:0 10px;outline:0;font-size:12px}.backend-dialog input:focus{border-color:#b8d0aa}.backend-dialog #backendMessage{min-height:17px;color:#dcb08a}.backend-dialog .primary-button{justify-content:center;margin-top:12px}
@media(max-width:1260px){.map-topline{height:auto;min-height:77px;flex-wrap:wrap;padding:12px 18px}.map-toolbar{margin-left:auto}}
@media(max-width:600px){.map-toolbar{margin-left:0;flex-direction:column;align-items:stretch}.map-toolbar select{max-width:none;width:100%}.terrain-readout{bottom:46px;max-width:calc(100% - 28px)}.slope-toggle{bottom:10px}.map-coordinate{max-width:calc(100% - 45px)}.map-footer>span{max-width:45%}}
.layer-controls[hidden],#inspectButton[hidden],.slope-legend[hidden]{display:none}.slope-legend{position:absolute;right:14px;bottom:53px;z-index:3;display:flex;gap:8px;flex-wrap:wrap;padding:6px 8px;background:#17201fe8;border:1px solid #68806f;border-radius:6px;color:#e0e9df;font-size:8px}.slope-legend span{display:flex;align-items:center;gap:4px}.slope-legend i{display:inline-block;width:8px;height:8px;border-radius:2px}.slope-green{background:#2ea043}.slope-yellow{background:#f0c828}.slope-orange{background:#f58c1e}.slope-red{background:#dc2828}@media(max-width:600px){.slope-legend{left:14px;right:auto;bottom:81px;max-width:calc(100% - 28px)}}

/* CLHM identity, using the existing terracotta and sage mission palette. */
.brand-mark{width:100%;height:62px;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:3px;text-decoration:none}
.brand-symbol{position:relative;display:block;width:40px;height:40px;flex:none}
.brand-label{color:#edaa80;font-size:10px;font-weight:800;letter-spacing:2px;line-height:1}
.rail-links{margin-top:61px}
.map-toolbar select{max-width:185px;min-width:144px}
.map-toolbar select option{background:#202b29;color:#e8ece8}
@media(max-width:760px){.brand-mark{width:auto;height:40px;margin:0;transform:none;flex-direction:row;gap:2px}.brand-symbol{transform:scale(.75);transform-origin:center}.brand-label{font-size:11px;letter-spacing:1.5px}.rail-links{margin-top:0}}
@media(max-width:600px){.map-toolbar select{max-width:none;width:100%}}

.live-map-loading{display:flex;flex-direction:column;align-items:center;gap:10px;max-width:min(280px,calc(100% - 32px));white-space:normal;text-align:center;line-height:1.5}
.live-map-loading button{border:1px solid #e7a678;border-radius:5px;background:#e18456;color:#202622;padding:7px 10px;font-size:10px;font-weight:800;pointer-events:auto}
.live-map-loading button:hover{background:#f3ab79}
.live-map-loading button[hidden]{display:none}
.source-details{margin-top:17px;border:1px solid #35413c;border-radius:8px;background:#1a2422;color:#bac8bb}
.source-details summary{display:flex;align-items:center;gap:12px;min-height:53px;padding:10px 17px;list-style:none;cursor:pointer}
.source-details summary::-webkit-details-marker{display:none}
.source-details summary:focus-visible{outline:2px solid #e5a57b;outline-offset:2px}
.source-kicker{color:#df9b72;font-size:9px;font-weight:800;letter-spacing:1.3px;white-space:nowrap}
.source-details summary strong{font-size:10px;font-weight:600;color:#d9e5d8}
.source-expand{margin-left:auto;color:#a5b5a7;font-size:9px;white-space:nowrap}
.source-details[open] .source-expand{color:#df9b72}
.source-content{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;border-top:1px solid #35413c;padding:15px 17px}
.source-content p{margin:0;font-size:10px;line-height:1.55}
.source-content a{color:#f0b58b;text-underline-offset:2px}
@media(max-width:760px){.source-details summary{flex-wrap:wrap;gap:5px 10px}.source-details summary strong{order:3;flex-basis:100%}.source-content{grid-template-columns:1fr;gap:10px}}
.profile-card{margin-top:18px;padding:20px 22px;background:#1b2423;border:1px solid #35413d;border-radius:12px;box-shadow:0 10px 30px #0002}
.profile-heading,.profile-layout,.profile-graph-heading,.profile-axis,.profile-legend{display:flex;align-items:center;justify-content:space-between}
.profile-heading{gap:14px;margin-bottom:19px}.profile-heading h3{margin:5px 0 0;font-size:17px;font-weight:650;color:#edf0e9}.profile-demo{padding:5px 8px;border-radius:4px;border:1px solid #8b684b;color:#e8ad7d;background:#46352b;font-size:9px;font-weight:800;letter-spacing:1.1px;white-space:nowrap}
.profile-layout{align-items:stretch;gap:28px}.profile-graph{min-width:0;flex:1.5;padding:14px 16px 11px;border:1px solid #384640;border-radius:8px;background:#15201e}.profile-graph-heading,.profile-axis{color:#9bab9f;font-size:9px;font-weight:700;letter-spacing:1px}.profile-graph-heading span:last-child{color:#d6e3d4;letter-spacing:0}.profile-graph svg{display:block;width:100%;height:auto;max-height:185px;margin:8px 0 1px;overflow:visible}.profile-grid-line{stroke:#40534b;stroke-width:1;stroke-dasharray:4 6}.profile-area{fill:#7ab48b;fill-opacity:.09;stroke:none}.profile-segment{stroke-width:4;stroke-linecap:round}.profile-segment.low{stroke:#85bf96}.profile-segment.mid{stroke:#e5b76d}.profile-segment.high{stroke:#eb7d64}.profile-point{fill:#e9f0df;stroke:#1b2922;stroke-width:2}.profile-legend{justify-content:flex-start;flex-wrap:wrap;gap:14px;margin-top:11px;color:#aebbb0;font-size:9px}.profile-legend span{display:flex;align-items:center;gap:5px}.profile-legend i{width:11px;height:3px;border-radius:5px}.profile-low{background:#85bf96}.profile-mid{background:#e5b76d}.profile-high{background:#eb7d64}
.profile-insight{flex:1;min-width:230px;display:flex;flex-direction:column}.profile-insight-label,.profile-critical>span{color:#e09a70;font-size:9px;font-weight:800;letter-spacing:1.2px}.profile-insight>p:first-of-type{margin:10px 0 15px;color:#e7ece3;font-size:14px;line-height:1.55;font-weight:600}.profile-critical{display:flex;flex-direction:column;gap:5px;border-left:2px solid #e28c64;padding:2px 0 2px 12px}.profile-critical strong{font-size:12px;color:#ecede5;font-weight:600}.profile-critical small{font-size:10px;color:#acbaae}.profile-note{margin:auto 0 0;padding-top:14px;color:#8fa196;font-size:10px;line-height:1.5}
@media(max-width:850px){.profile-layout{flex-direction:column;gap:16px}.profile-insight{min-width:0}.profile-note{margin-top:0}}
@media(max-width:600px){.profile-card{padding:16px}.profile-graph{padding:12px}.profile-heading h3{font-size:16px}}
