:root{font:16px system-ui;color:#172a35;background:#edf1ef;--ink:#142c36;--muted:#4e6570;--green:#d4f57f;--line:#d5e0db;--white:#fff}
*{box-sizing:border-box}
body{margin:0}
header{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:16px max(18px,calc((100vw - 1260px)/2));background:var(--ink);color:white}
.brand{display:flex;align-items:center;gap:12px}.brand strong{font-size:1.15rem}.brand small{display:block;color:#b8ccc9;font-size:.63rem;letter-spacing:.12em;margin-top:3px}.logo{display:grid;place-items:center;background:var(--green);color:var(--ink);border-radius:12px;width:43px;height:43px;font-size:1.45rem}
nav,.actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}button{font:inherit;font-size:.85rem;font-weight:650;border:1px solid var(--line);color:var(--ink);background:#f4f7f5;padding:9px 13px;border-radius:9px;cursor:pointer}button:hover{border-color:#648077}button:disabled{opacity:.55;cursor:wait}button[aria-pressed=true],.primary{background:var(--green);border-color:#a9cd65}nav button[aria-pressed=false]{background:transparent;color:white;border-color:#4c6569}
main{max-width:1296px;margin:auto;padding:0 18px 24px}.intro{padding:33px 0 19px}.eyebrow{letter-spacing:.15em;font-size:.7rem;font-weight:750;color:#3b6559}h1{margin:7px 0;font-size:clamp(2rem,5vw,3.25rem);letter-spacing:-.06em}p{margin:.55em 0}.intro p,.muted,small,.status{color:var(--muted)}h2{font-size:1.12rem;margin:0 0 5px}.planner{display:grid;grid-template-columns:320px minmax(0,1fr);gap:14px;margin-bottom:14px}.panel{background:white;border:1px solid var(--line);border-radius:16px;padding:16px;margin-bottom:14px;min-width:0}.planner .panel{margin:0}.map-panel{padding:0;overflow:hidden}.bar{display:flex;align-items:center;justify-content:space-between;gap:12px}.map-panel .bar{padding:13px 15px}#map{height:410px;background:#dce8df;z-index:0}.legend{display:flex;gap:16px;flex-wrap:wrap;padding:9px 15px;color:var(--muted);font-size:.76rem}.legend span:first-child{color:#126747}.legend span:nth-child(2){color:#935910}.legend span:nth-child(3){color:#1f61a0}
form{display:grid;gap:8px;margin-top:12px}.grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}label{display:grid;gap:4px;font-size:.77rem;font-weight:700}input,select{width:100%;min-width:0;border:1px solid var(--line);border-radius:7px;background:#f7faf8;padding:8px;color:var(--ink);font:inherit;font-size:.88rem}.quiet{background:transparent;text-align:left;border:0;padding:3px 0;color:#315e4e}.status{font-size:.82rem}.status:empty{display:none}.row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;border-top:1px solid var(--line);padding:10px 0}.row small{display:block;margin-top:4px}.row:first-child{margin-top:8px}.tag{font-size:.72rem;font-weight:750;color:#34634d;text-transform:uppercase;letter-spacing:.08em}.next{background:#edf6db;border:1px solid #c8dda1;border-radius:12px;margin:9px 0;padding:12px}.done{color:#3c6750}.warning{border-left:3px solid #b37931;background:#fff6e8;padding:8px 10px;font-size:.85rem}.inline{display:flex;gap:7px;align-items:center;margin:7px 0;flex-wrap:wrap}.inline input{width:86px}.checkline{display:flex;align-items:center;gap:8px}.checkline input{width:auto}.phase{border-top:1px solid var(--line);padding:9px 0}.phase summary{font-weight:700;cursor:pointer}.check-item{margin:8px 0}.check-item details{margin-left:24px;font-size:.8rem;color:var(--muted)}footer{max-width:1296px;margin:auto;padding:0 18px 24px;color:var(--muted);font-size:.7rem;letter-spacing:.08em}footer span{float:right}[hidden]{display:none!important}
@media(max-width:760px){.planner{grid-template-columns:1fr}#map{height:330px}.bar{align-items:flex-start}.brand small{display:none}}
.lookup{position:relative;min-width:0}
.lookup-results{position:absolute;z-index:500;top:calc(100% + 3px);left:0;right:0;max-height:245px;overflow:auto;list-style:none;background:#fff;border:1px solid var(--line);border-radius:8px;box-shadow:0 6px 18px #142c3626;margin:0;padding:4px}
.lookup-results li{cursor:pointer;padding:7px 9px;border-radius:5px;font-size:.82rem}
.lookup-results li:hover,.lookup-results li[aria-selected=true]{background:#edf6db}
.lookup-results small{display:block;margin-top:2px}
.vor-search{max-width:410px;margin-top:12px}
.vor-search .lookup-results{top:49px}
.airspace-tools{display:flex;align-items:center;gap:8px 13px;flex-wrap:wrap;border-top:1px solid var(--line);padding:8px 15px;font-size:.78rem}
.airspace-tools label{display:flex;align-items:center;gap:4px;cursor:pointer}
.airspace-tools input{width:auto;margin:0;accent-color:currentColor}
.airspace-ctr{color:#933652}.airspace-tma{color:#325898}
.airspace-tools small{margin-left:auto}
.airspace-popup{min-width:205px}
.airspace-popup>div{border-top:1px solid var(--line);margin-top:6px;padding-top:6px}
.airspace-popup small{display:block}
.airspace-popup>.airspace-vfr-restricted{background:#fff1f2;color:#991b1b;border:1px solid #fecdd3;border-radius:6px;padding:6px 8px}
.airspace-vfr-restricted small:last-of-type{color:inherit}
.airspace-vfr-restricted small:first-of-type+small{font-weight:700;color:inherit}
.airspace-vfr-summary{background:#f2f6fa;border-radius:6px;padding:7px 8px;margin-top:6px}
.airspace-vfr-summary small{margin-top:3px}
.airspace-vfr-summary .airspace-vfr-ban{color:#991b1b;font-weight:700}
.route-airspace{margin-top:12px;padding:10px 12px;border:1px solid var(--line);border-radius:9px;background:#f8faf9}
.route-airspace summary{cursor:pointer;font-weight:700}
.route-airspace-row{border-top:1px solid var(--line);padding:8px 0}
.route-airspace-row small{display:block}
.route-airspace-row details{margin-top:4px;font-size:.85rem}
.saved-navs{margin-top:12px;border-top:1px solid var(--line);padding-top:9px}
.saved-navs summary{cursor:pointer;font-size:.9rem;font-weight:700}
#saved-nav-list{font-size:.82rem;color:var(--muted);margin-top:8px}
.saved-nav-row{border-top:1px solid var(--line);padding:8px 0;overflow-wrap:anywhere}
.saved-nav-row small{display:block;margin:3px 0 5px}
#terrain-chart svg{display:block;width:100%;max-height:280px;background:#f4f7f5;border-radius:8px;margin:8px 0}
#terrain-chart text{font:11px system-ui;fill:var(--muted)}
#terrain-chart path,#terrain-chart line{fill:none;stroke-width:2}
.terrain-ground{stroke:#385d42}.terrain-level-0{stroke:#225f94}.terrain-level-1{stroke:#a51c30;stroke-dasharray:5 4}
.terrain-floor{stroke:#624292;stroke-dasharray:6 3}.terrain-danger{stroke:#a51c30}
.terrain-legend{display:flex;flex-wrap:wrap;gap:7px 18px;list-style:none;margin:10px 0 0;padding:8px 10px;border:1px solid var(--line);border-radius:8px;background:#fff;font-size:.8rem;color:var(--ink)}
.terrain-legend li{display:flex;align-items:center;gap:7px}
.terrain-legend li>span{display:inline-block;flex:0 0 21px;border-top:3px solid var(--swatch)}
.terrain-legend .key-ground{--swatch:#385d42}.terrain-legend .key-altitude{--swatch:#225f94}
.terrain-legend .key-margin,.terrain-legend .key-danger{--swatch:#a51c30}
.terrain-legend .key-tma{--swatch:#624292}
.terrain-legend .key-margin>span,.terrain-legend .key-tma>span{border-top-style:dashed}
#terrain-chart .terrain-label{font-weight:700;paint-order:stroke;stroke:#f4f7f5;stroke-width:4px;stroke-linejoin:round}
#terrain-chart .terrain-label-0{fill:#225f94}#terrain-chart .terrain-label-1{fill:#a51c30}
.terrain-caption{font-size:.8rem;color:var(--muted);margin:4px 0 10px}
.terrain-leg{display:flex;align-items:center;flex-wrap:wrap;gap:5px 12px;border-top:1px solid var(--line);padding:7px 0}
.terrain-leg small{flex:1;min-width:190px}.terrain-risk strong,.terrain-risk small{color:#a51c30}
.terrain-legend .key-danger>span{flex-basis:8px;height:8px;border:0;border-radius:50%;background:var(--swatch);margin:0 6px 0 7px}
.terrain-legend .key-step{--swatch:#738292}
.terrain-legend .key-step>span{border-top-width:1px}
#terrain-chart .terrain-step-divider{stroke:#738292;stroke-width:1;opacity:.45;vector-effect:non-scaling-stroke}
#terrain-chart .terrain-step-number{font-weight:700}

#profile-dialog{width:min(460px,calc(100% - 32px));color:var(--ink);border:1px solid var(--line);border-radius:12px;padding:20px}
#profile-dialog::backdrop{background:#142c3680}
#profile-dialog textarea{width:100%;resize:vertical;border:1px solid var(--line);border-radius:7px;background:#f7faf8;padding:8px;color:var(--ink);font:inherit;font-size:.88rem}
.report-tools{display:flex;flex-wrap:wrap;gap:8px 12px;align-items:center}
.airport-field{display:grid;gap:4px}
.airport-field-heading{display:flex;flex-wrap:wrap;justify-content:space-between;gap:4px 8px;align-items:center}
.vac-shortcut{font-size:.75rem;font-weight:650;color:#315e4e;text-underline-offset:2px}
.report-tools{padding:8px 15px;border-top:1px solid var(--line)}
.report-tools label{display:flex;align-items:center;gap:4px;cursor:pointer}
.report-tools input{width:auto}
.report-marker{background:#f1eaff;border:1px solid #604291;border-radius:5px;color:#41246a;text-align:center;font:bold 11px/18px system-ui}
