.mission-shell { max-width: 1460px; }
.mission-brief { max-width: 900px; margin: 50px auto; padding: 44px; border: 1px solid #587064; border-radius: 16px; background: linear-gradient(145deg,#1f3331,#17272d); }
.mission-brief > p:not(.eyebrow) { color: #d0dcdd; font-size: 18px; line-height: 1.75; }
.mission-brief dl { display: grid; grid-template-columns: repeat(3,1fr); gap: 12px; margin: 30px 0; }
.mission-brief dl div { padding: 16px; background: #102126; border: 1px solid #40565b; border-radius: 8px; }
.mission-brief dt { color: #aebfc3; font-size: 13px; }
.mission-brief dd { margin: 6px 0 0; font-weight: 650; }
.mission-brief .primary-button { max-width: 300px; }
.mission-status { display: grid; grid-template-columns: repeat(5,1fr); gap: 10px; margin-bottom: 22px; }
.mission-status div { padding: 13px 15px; background: #17272c; border: 1px solid #41545a; border-radius: 8px; }
.mission-status span { display: block; color: #aebfc4; font: 11px var(--mono); text-transform: uppercase; }
.mission-status strong { display: block; margin-top: 5px; font-size: 18px; color: #e9f0df; }
.mission-layout { display: grid; grid-template-columns: minmax(420px,1.15fr) minmax(370px,.85fr); gap: 28px; align-items: start; }
.mission-map { background: #10201e; border: 1px solid #455b50; border-radius: 12px; overflow: hidden; }
.display-heading { display:flex;justify-content:space-between;padding:15px 18px;border-bottom:1px solid #31473e;color:#cfe0bc }.display-heading h2{font:13px var(--mono);margin:0}
.mission-map svg { display: block; width: 100%; }
.terrain { fill: #142925; }
.river { fill: none; stroke: #315e68; stroke-width: 18; opacity: .72; }
.weather-band { fill: #d8d5bd; fill-opacity: .17; stroke: #e6dca0; stroke-width: 2; stroke-dasharray: 7 6; }
.airport { fill: #d5e99a; stroke: #0d1918; stroke-width: 3; }
.mission-map text { fill: #d9e3db; font: 13px var(--mono); }
.mission-map .map-note { font-size: 11px; }
.mission-map .river-note { fill: #82b4c3; }
.mission-map .weather-note-map { fill: #f0dda7; }
.route { fill: none; stroke-width: 5; stroke-dasharray: 11 8; opacity: .22; }
.route.direct { stroke: #efc084; }.route.river-route{stroke:#9dbded}.route.south-route{stroke:#d5e99a}.route.selected{opacity:1;filter:drop-shadow(0 0 5px currentColor)}
.airspace .shelf { fill: #cc8ece; fill-opacity: .05; stroke: #dc9ccd; stroke-width: 2; }
.airspace .core { fill: #cc8ece; fill-opacity: .13; stroke: #efb7e1; stroke-width: 2; }
.airspace .metro-airport { fill: none; stroke: #f2d9ec; stroke-width: 4; }
.mission-map .airspace-title { fill: #efb7e1; font-size: 15px; font-weight: 700; }
.mission-map .airspace-label { fill: #e7bbdd; font-size: 10px; }
.mission-map .core-label { fill: #f4d9ed; font-size: 9px; }
.mission-map .route-alt { font-size: 10px; font-weight: 700; paint-order: stroke; stroke: #10201e; stroke-width: 4px; }
.mission-map .direct-alt { fill: #efc084; }
.mission-map .river-alt { fill: #9dbded; }
.mission-map .south-alt { fill: #d5e99a; }
#plane circle { fill: #d5e99a; opacity: .1; }
#plane use { fill: #fff; stroke: #10201e; stroke-width: .8; paint-order: stroke; }
.map-legend { display: flex; flex-wrap: wrap; gap: 8px 18px; padding: 13px 18px 0; border-top: 1px solid #2f463e; color: #bdccca; font-size: 12px; }
.map-legend span { display: inline-flex; align-items: center; gap: 7px; }
.map-legend i { display: inline-block; width: 17px; height: 12px; border-radius: 50%; }
.legend-core { background: rgb(204 142 206 / .26); border: 1px solid #efb7e1; }
.legend-shelf { background: rgb(204 142 206 / .07); border: 1px solid #dc9ccd; }
.legend-weather { background: rgb(216 213 189 / .17); border: 1px dashed #e6dca0; border-radius: 2px !important; }
#map-caption { padding: 10px 18px 18px; color: #d1dcda; margin: 0; line-height: 1.55; }
.mission-decision { padding: 10px 2px; }
.mission-decision h2 { font: 600 34px/1.2 var(--heading); margin: 8px 0 15px; }
#mission-situation { color: #d0dbdd; font-size: 17px; line-height: 1.75; }
.mission-facts { display: grid; gap: 8px; margin: 20px 0; }
.mission-fact { display:flex;justify-content:space-between;gap:16px;padding:11px 13px;background:#1a2c31;border:1px solid #40565d;border-radius:7px }.mission-fact span{color:#b9c8cb}.mission-fact strong{text-align:right}
.mission-options { display: grid; gap: 11px; }
.mission-option { text-align: left; padding: 16px; border: 1px solid #50636a; border-radius: 8px; background: #1a2b31; color: var(--text); }
.mission-option:hover { border-color: var(--lime); background: #23373a; }
.mission-option strong,.mission-option small { display: block; }.mission-option strong{font-size:17px}.mission-option small{margin-top:7px;color:#bccbce;line-height:1.5}
.mission-option.selected { border-color: var(--lime); background: #293c31; }
.mission-option:disabled:not(.selected) { opacity: .55; }
.mission-feedback { margin-top: 18px; padding: 18px; border: 1px solid #667c59; border-radius: 9px; background: #24352b; }
.mission-feedback h3 { font-size: 22px; margin: 6px 0 9px; }
.mission-feedback p { color: #d3ddcf; line-height: 1.65; }
.mission-debrief { max-width: 850px; margin: 40px auto; padding: 38px; border: 1px solid #587064; border-radius: 14px; background: #18292d; }
.mission-debrief h2 { font: 600 36px var(--heading); }.mission-debrief>p{font-size:18px;line-height:1.7;color:#cedadc}
.route-log-row { display:grid;grid-template-columns:38px 1fr;gap:13px;padding:15px 0;border-top:1px solid #3f5356}.route-log-row span{color:var(--lime);font:13px var(--mono)}.route-log-row p{margin:4px 0;color:#bdcbce}
.mission-actions { display:flex;gap:10px;flex-wrap:wrap;margin-top:24px;align-items:center }.mission-actions .primary-button{width:auto;margin:0}.mission-actions .quiet-button{text-decoration:none}
@media(max-width:900px){.mission-layout{grid-template-columns:1fr}.mission-decision{order:-1}.mission-status{grid-template-columns:repeat(2,1fr)}.mission-status div:last-child{grid-column:1/-1}.mission-brief dl{grid-template-columns:1fr}.mission-brief{padding:28px;margin:20px auto}}
@media(max-width:430px){.mission-status{grid-template-columns:1fr 1fr}.mission-status strong{font-size:15px}.mission-brief{padding:22px}.mission-map svg{min-height:310px}.mission-actions{align-items:stretch;flex-direction:column}.mission-actions>*{width:100%!important}}
@media print{.topbar,.mission-actions{display:none!important}.mission-debrief{display:block!important;border:0;background:white;color:#111}.mission-debrief p,.route-log-row p{color:#222!important}}
