/* Aviator — extends applications.css; every colour follows the site theme. */
body[data-app=aviator]{--av-cl-tint:rgba(126,196,112,.22);--av-cl-line:rgba(66,140,58,.85);--av-cl-edge:#3f7a3a;--av-ch-tint:rgba(225,120,165,.16);--av-ch-line:rgba(190,70,120,.8);--av-ch-edge:#a8406f;--av-obs:#a33c86;--av-cloud:#5d6d82;--av-ground:#b49c74;--av-below:#eef1f5;--av-above:#6b7590}
html[data-theme=dark] body[data-app=aviator]{--av-cl-tint:rgba(126,196,112,.16);--av-cl-line:rgba(150,220,140,.75);--av-cl-edge:#a6dd9a;--av-ch-tint:rgba(225,120,165,.14);--av-ch-line:rgba(240,150,190,.75);--av-ch-edge:#f0a2c6;--av-obs:#e07ac0;--av-cloud:#d9dee6;--av-ground:#5d4f37;--av-below:#dfe4ec;--av-above:#59627a}
body[data-app=aviator] [data-status=good]{--av-status:var(--green)}
body[data-app=aviator] [data-status=caution]{--av-status:var(--amber)}
body[data-app=aviator] [data-status=significant]{--av-status:var(--red)}
body[data-app=aviator] [data-status=nodata]{--av-status:var(--text3)}
/* the site-wide section{padding} is for landing pages, not working surfaces */
.av-head,.av-simple,.av-cards,.av-analysis{padding:0}
.av-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* controls */
.av-form .control-title{margin-bottom:18px}
.av-row{display:flex;gap:8px;align-items:flex-end}
.av-row>.app-field{flex:1;min-width:0}
.av-swap{width:100%;justify-content:center;margin:-8px 0 18px}
.av-nudge{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:-10px 0 20px}
.av-nudge .btn{justify-content:center}
.av-seg{display:inline-flex;flex-wrap:wrap;border:1px solid var(--line3);border-radius:3px;overflow:hidden;background:var(--bg2)}
.av-seg button{min-height:44px;padding:8px 12px;background:transparent;color:var(--text2);border:0;border-right:1px solid var(--line2);font:500 .8rem var(--sans);cursor:pointer}
.av-seg button:last-child{border-right:0}
.av-seg button[aria-pressed=true]{background:var(--accent);color:var(--on-accent)}
.av-form fieldset{border:0;margin:0 0 20px;padding:0;min-width:0}
.av-form legend{font-size:.875rem;color:var(--text2);margin-bottom:8px}
.av-form fieldset .av-seg{width:100%}
.av-form fieldset .av-seg button{flex:1 1 33%}
.av-form fieldset .app-field{margin:10px 0 0}
#draft-notice{font-size:.8rem;line-height:1.6;color:var(--text2);margin:-6px 0 16px}
#draft-notice:empty{display:none}
.av-sample-settings{border-top:1px solid var(--line2);margin-top:6px}

/* toolbar, route heading */
.av-toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px;margin-bottom:18px}
.av-units{font:.75rem var(--mono);color:var(--text2)}
.app-page .av-route-line{font:400 clamp(1.8rem,3.4vw,2.6rem)/1.12 var(--serif);margin:0;overflow-wrap:anywhere}
.av-arrow{color:var(--accent);margin:0 .15em}
.av-metrics{grid-template-columns:repeat(4,minmax(0,1fr));margin-top:14px}
.av-kb-meta{display:none}
.av-kb-bar{display:none;gap:10px;margin:12px 0}

/* status pill and provenance badge */
.av-pill{display:inline-flex;align-items:center;gap:5px;padding:4px 8px;border-radius:2px;font:500 .68rem var(--mono);letter-spacing:.06em;text-transform:uppercase;white-space:nowrap;color:var(--av-status);background:color-mix(in srgb,var(--av-status) 13%,transparent)}
.av-pv{display:inline-block;font:600 .58rem/1 var(--mono);padding:2px 3px;border-radius:2px;margin-left:3px;vertical-align:2px;cursor:help;color:var(--text2);background:var(--bg3)}
.av-pv[data-pv=m]{color:var(--accent);background:var(--accent-dim)}
.av-pv[data-pv=d]{color:var(--syn-str);background:color-mix(in srgb,var(--syn-str) 12%,transparent)}
.av-pv[data-pv=i]{color:var(--syn-num);background:color-mix(in srgb,var(--syn-num) 12%,transparent)}
.av-pv[data-pv=o]{color:var(--av-obs);background:color-mix(in srgb,var(--av-obs) 12%,transparent)}
.av-pv[data-pv=t]{color:var(--syn-bool);background:color-mix(in srgb,var(--syn-bool) 12%,transparent)}
.av-synth{font:500 .62rem var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--amber);margin-right:2px}

/* simple view: verdict, three columns, checks */
.av-simple{margin-top:18px}
.av-verdict{display:flex;align-items:center;gap:14px;flex-wrap:wrap;padding:16px 20px;background:var(--bg2);border:1px solid var(--line2);border-left:5px solid var(--av-status);border-radius:3px}
.av-verdict p{font:400 clamp(1.2rem,2.2vw,1.5rem)/1.35 var(--serif);color:var(--text);margin:0;flex:1;min-width:200px}
.av-scols,.av-checks{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:14px}
.av-scol,.av-chk,.av-card,.av-stop{background:var(--bg2);border:1px solid var(--line2);border-radius:3px;min-width:0}
.av-scol{padding:16px 18px}
.av-scol .lbl,.av-stop .lbl{font:500 .68rem var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--text2)}
.av-scol .nm{font:500 1.05rem/1.3 var(--sans);margin:4px 0 12px;display:flex;flex-wrap:wrap;gap:2px 8px;align-items:baseline;overflow-wrap:anywhere}
.av-scol .src{margin-left:auto;font:400 .7rem var(--mono);color:var(--text2)}
.av-scol .src.obs{color:var(--av-obs)}
.av-scol .kv{display:grid;grid-template-columns:76px minmax(0,1fr);gap:7px 10px;align-items:baseline}
.av-scol dt{font:500 .66rem var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--text2)}
.av-scol dd{font:400 1.15rem/1.25 var(--mono);letter-spacing:-.02em;color:var(--text);overflow-wrap:anywhere}
.av-scol dd small{font:400 .75rem var(--sans);color:var(--text2);letter-spacing:0}
body[data-app=aviator] dd.warn,body[data-app=aviator] td.warn,.av-rep .warn{color:var(--amber)}
body[data-app=aviator] dd.bad,body[data-app=aviator] td.bad{color:var(--red)}
.av-chk{border-top:3px solid var(--av-status);padding:14px 16px;font-size:.8rem}
.av-chk header,.av-card header{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:8px}
.av-chk h3,.av-card h3{font:500 .7rem var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--text2);margin:0}
.av-chk .kv{display:grid;grid-template-columns:auto minmax(0,1fr);gap:5px 12px;align-items:baseline}
.av-chk dt{color:var(--text2)}
.av-chk dt small{color:var(--text3)}
.av-chk dd{text-align:right;font:400 .78rem var(--mono);color:var(--text)}
.av-chk .why{font-size:.75rem;line-height:1.55;color:var(--text2);margin-top:10px}
.av-fresh,.av-note,.av-datanote{font-size:.8rem;line-height:1.65;color:var(--text2);margin-top:12px}
.av-datanote .stale{color:var(--amber)}
.av-fresh b,.av-datanote b{color:var(--text);font-weight:500}

/* full view: cards, strip */
.av-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.av-card{display:flex;flex-direction:column;gap:6px;border-top:3px solid var(--av-status);padding:16px 18px}
.av-headline{font:400 1.3rem/1.22 var(--serif);color:var(--text);margin:0}
.app-page .av-headline{color:var(--text)}
.av-lines,.av-obs{display:grid;gap:5px}
.av-line{display:flex;gap:8px;align-items:baseline;font-size:.78rem}
.av-line .k{flex:0 0 78px;color:var(--text2);font-size:.72rem}
.av-line .v{color:var(--text);font-family:var(--mono);font-size:.76rem;min-width:0;overflow-wrap:anywhere}
.av-line .v small{font-family:var(--sans);color:var(--text2)}
.av-obs{margin-top:4px;padding-top:8px;border-top:1px dashed var(--line3)}
.av-card details{margin-top:auto}
.app-page .av-card summary{min-height:36px;padding:8px 0 2px;font-size:.8rem}
.av-card ul{padding-left:18px;font-size:.78rem;line-height:1.55;color:var(--text2)}
.app-page .av-card .ok{font-size:.78rem;font-style:italic}
.av-full>.av-checks{margin-top:14px}
.av-strip{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr) auto minmax(0,1fr);gap:10px;margin-top:22px}
.av-stop{padding:14px 16px}
.av-stop h3{font:500 1rem/1.3 var(--sans);margin:4px 0 8px;display:flex;flex-wrap:wrap;gap:4px 8px;align-items:baseline;overflow-wrap:anywhere}
.av-stop .t{margin-left:auto;font:.75rem var(--mono);color:var(--text2)}
.av-stop .kv{display:grid;grid-template-columns:auto minmax(0,1fr);gap:4px 10px;font-size:.78rem}
.av-stop dt{font:500 .64rem var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--text2);padding-top:2px}
.av-stop dt.obs{color:var(--av-obs)}
.av-stop dd{font-family:var(--mono);font-size:.76rem;color:var(--text);overflow-wrap:anywhere}
.av-stop dd small{font-family:var(--sans);color:var(--text2)}
.av-link{align-self:center;color:var(--text3);font-size:1.3rem}

/* detailed analysis tabs */
.av-analysis{margin-top:34px}
.av-analysis>h2{font:400 1.85rem/1.2 var(--serif);margin:0 0 4px}
.av-analysis>p{font-size:.875rem}
.av-tabs{display:flex;flex-wrap:wrap;border-bottom:1px solid var(--line3);margin-top:14px}
.av-tabs [role=tab]{min-height:44px;padding:10px 14px;background:none;border:0;border-bottom:2px solid transparent;margin-bottom:-1px;color:var(--text2);font:500 .85rem var(--sans);cursor:pointer}
.av-tabs [role=tab]:hover{color:var(--text)}
.av-tabs [role=tab][aria-selected=true]{color:var(--text);border-bottom-color:var(--accent)}
.av-tabpanel{padding:20px 0 4px;min-width:0}
.av-tabpanel>.av-lead{font-size:.875rem;margin-bottom:12px;max-width:80ch}
.app-page .av-sub{font:500 .95rem/1.4 var(--sans);margin:22px 0 8px;color:var(--text)}
.av-tabpanel>.av-sub:first-child,.av-tabpanel>div:first-child>.av-rep:first-child{margin-top:0}
.av-table-wrap{overflow:auto;max-width:100%;border:1px solid var(--line2);background:var(--bg2);margin:8px 0}
.av-table-wrap table{width:100%;border-collapse:collapse;font-size:.75rem;white-space:nowrap}
.av-table-wrap th,.av-table-wrap td{padding:7px 10px;border-bottom:1px solid var(--line2);text-align:right;font-family:var(--mono);font-weight:400}
.av-table-wrap thead th{font:500 .68rem/1.3 var(--sans);color:var(--text2);white-space:normal;vertical-align:bottom}
.av-table-wrap th[scope=row],.av-table-wrap thead th:first-child{text-align:left;font-family:var(--sans);color:var(--text)}
.av-table-wrap td{color:var(--text2)}
.av-table-wrap tr.hl>*{background:var(--accent-dim);color:var(--text)}
.av-table-wrap tr.closed>*{color:var(--text3)}
.av-table-wrap tr:last-child>*{border-bottom:0}
.av-links{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
.av-rep{margin:0 0 18px;font-size:.8rem}
.av-rep .h{display:flex;flex-wrap:wrap;gap:4px 12px;align-items:baseline;color:var(--text2)}
.av-rep .h b{color:var(--text);font-weight:500}
.av-rep .st{font-size:.75rem}
.app-page .av-rep .dec{margin-top:6px;color:var(--text);line-height:1.6}
.av-raw{white-space:pre-wrap;overflow-wrap:anywhere;font:400 .75rem/1.6 var(--mono);background:var(--bg3);color:var(--text2);padding:8px 10px;border-radius:3px;margin-top:4px}
.app-page .av-rep .none{color:var(--text3);font-style:italic;margin-top:4px}
.av-tafg{overflow-x:auto;margin-top:8px}
.av-tafg table{border-collapse:separate;border-spacing:2px;font:.7rem var(--mono)}
.av-tafg th{color:var(--text2);font-weight:500;padding:2px 4px;white-space:nowrap;text-align:center}
.av-tafg tbody th{text-align:right;font-family:var(--sans)}
.av-tafg td{padding:5px 6px;border-radius:2px;text-align:center;white-space:nowrap;background:var(--bg3);min-width:48px;color:var(--text)}
.av-tafg td[data-band=good]{background:color-mix(in srgb,var(--green) 16%,var(--bg2))}
.av-tafg td[data-band=caution]{background:color-mix(in srgb,var(--amber) 26%,var(--bg2))}
.av-tafg td[data-band=significant]{background:color-mix(in srgb,var(--red) 26%,var(--bg2))}
.av-tafg td[data-band=nodata]{color:var(--text3)}
.av-tafg td.tempo{font-size:.64rem;color:var(--text2);background:repeating-linear-gradient(45deg,transparent 0 4px,color-mix(in srgb,var(--amber) 22%,transparent) 4px 6px)}
.av-tafg .mark{outline:2px solid var(--accent);outline-offset:-1px}
.av-tafg th.mark{color:var(--accent);outline:0}

/* cross section, tephigram, lookdown */
.av-ctl{display:flex;flex-wrap:wrap;align-items:center;gap:10px 18px;margin-bottom:12px}
.av-ctl label{font-size:.875rem;color:var(--text2)}
.av-ctl select{width:auto;min-height:44px}
.av-tp-grid{display:grid;grid-template-columns:minmax(0,640px) minmax(0,1fr);gap:28px;align-items:start;margin-top:22px}
.av-tp-grid .av-tp{max-width:640px}
.av-xs,.av-tp,.av-ld-stack{display:block;width:100%;height:auto;background:var(--bg2);border:1px solid var(--line2)}
.av-xs text,.av-tp text,.av-ld-stack text{font:10px var(--mono);fill:var(--text2)}
.av-tp text{font-size:11px}
.av-grid{stroke:var(--line2);stroke-width:1}
/* cloud after the Met Office cross-section chart: green low/medium, pink high, drawn outline */
.av-hatch.low rect{fill:var(--av-cl-tint)}.av-hatch.low line{stroke:var(--av-cl-line);stroke-width:1}
.av-hatch.high rect{fill:var(--av-ch-tint)}.av-hatch.high line{stroke:var(--av-ch-line);stroke-width:1}
.av-cl-edge{fill:none;stroke-width:3.2;stroke-linejoin:round}.av-cl-edge.low{stroke:var(--av-cl-edge)}.av-cl-edge.high{stroke:var(--av-ch-edge)}
.av-cl-paper{fill:var(--bg2)}
.av-legend i.av-sw{width:18px;height:11px;border:1.5px solid;border-radius:5px;vertical-align:-1px}
.av-sw.low{border-color:var(--av-cl-edge);background:repeating-linear-gradient(45deg,var(--av-cl-line) 0 1px,var(--av-cl-tint) 1px 4px)}
.av-sw.high{border-color:var(--av-ch-edge);background:repeating-linear-gradient(45deg,var(--av-ch-line) 0 1px,var(--av-ch-tint) 1px 4px)}
.av-standin{font-size:.78rem;color:var(--amber);margin-top:6px}
.av-xs-iso{fill:none;stroke:var(--red);stroke-width:.8;opacity:.5;stroke-dasharray:3 3}
.av-xs-iso.zero{stroke:var(--accent);stroke-width:2;opacity:1;stroke-dasharray:none}
.av-xs-ground{fill:var(--av-ground)}
path.av-barb{fill:var(--text);stroke:var(--text);stroke-width:1.1;stroke-linecap:round}
circle.av-barb{fill:none;stroke:var(--text);stroke-width:1.1}
.av-xs-lcl{fill:var(--green)}
.av-xs-cruise{stroke:var(--map-accent);stroke-width:2;stroke-dasharray:7 5}
.av-xs-pass{stroke:var(--text);stroke-width:1.2;stroke-dasharray:2 3}
.av-xs text.av-xs-label{fill:var(--text);font-weight:500}
/* journey: you, at the moment the slider chooses */
.av-xs-now line{stroke:var(--text);stroke-width:1.4;stroke-dasharray:2 3}
.av-xs-now circle{fill:var(--map-accent);stroke:var(--bg2);stroke-width:2}
.av-xs-moment{margin:12px 0 6px}
.av-xs-moment input{flex:1;min-width:200px;min-height:44px}
.av-xs-moment output{font:.85rem var(--mono);min-width:130px;text-align:right}
.app-page .av-xs-readout{font-size:.9rem;line-height:1.55;color:var(--text);margin:0 0 4px;max-width:92ch}
.av-legend{display:flex;flex-wrap:wrap;gap:4px 16px;font-size:.75rem;color:var(--text2);margin:8px 0 0;padding:0;list-style:none}
.av-legend i{display:inline-block;width:18px;height:0;border-top:2px solid;vertical-align:middle;margin-right:6px}
.av-tp-bar{fill:none;stroke:var(--text3);stroke-width:.6}.av-tp-bar.major{stroke-width:1.1}
.av-tp-iso{fill:none;stroke:var(--syn-num);stroke-width:.6;opacity:.55}.av-tp-iso.zero{stroke:var(--accent);opacity:1;stroke-width:1.6}
.av-tp-dry{fill:none;stroke:var(--syn-num);stroke-width:.6;opacity:.55}
.av-tp-sat{fill:none;stroke:var(--green);stroke-width:.7;stroke-dasharray:5 3;opacity:.7}
.av-tp-mix{fill:none;stroke:var(--amber);stroke-width:.7;stroke-dasharray:1.5 3;opacity:.8}
.av-tp-temp{fill:none;stroke:var(--red);stroke-width:2.6;stroke-linejoin:round}
.av-tp-dew{fill:none;stroke:var(--green);stroke-width:2.4;stroke-dasharray:7 4;stroke-linejoin:round}
.av-tp-parcel{fill:none;stroke:var(--text);stroke-width:1.5;stroke-dasharray:2 3}
.av-tp-buoyant{fill:var(--red);fill-opacity:.16}.av-tp-inhibited{fill:var(--accent);fill-opacity:.14}
.av-tp-cruise{fill:none;stroke:var(--map-accent);stroke-width:1.6;stroke-dasharray:7 5}
.av-tp-mark{fill:var(--bg2);stroke:var(--text);stroke-width:1.5}.av-tp-mark.fz{stroke:var(--accent)}.av-tp-mark.conv{stroke:var(--red)}
.av-tp text.av-tp-mk{fill:var(--text);font-weight:500}.av-tp text.av-tp-mk.cruise{fill:var(--map-accent)}
.av-tp text.av-tp-dl,.av-tp text.av-tp-tl{fill:var(--syn-num);font-size:9.5px}.av-tp text.av-tp-sl{fill:var(--green);font-size:9.5px}.av-tp text.av-tp-ml{fill:var(--amber);font-size:9px}
.av-tp text.av-tp-axis{font-size:10px;fill:var(--text2)}
.av-tp-cloud{fill:var(--av-cl-edge)}.av-tp-trop{fill:var(--text3);fill-opacity:.25}
.av-tp-frame{fill:none;stroke:var(--line3)}
.av-sw.buoyant{border-color:var(--red);background:color-mix(in srgb,var(--red) 16%,transparent)}.av-sw.inhibited{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 14%,transparent)}
.av-diag{display:grid;grid-template-columns:auto minmax(0,1fr);gap:6px 14px;font-size:.8rem;margin-top:14px}
.av-diag dt{color:var(--text2)}
.av-diag dd{color:var(--text);overflow-wrap:anywhere}
.av-summary{padding-left:18px;font-size:.85rem;line-height:1.6;color:var(--text2);margin:12px 0}
.av-ld-alt{display:flex;align-items:center;gap:10px;flex:1;min-width:240px}
.av-ld-alt input{flex:1;min-height:28px}
.av-ld-alt output{font:.85rem var(--mono);min-width:80px;text-align:right}
.app-page .av-ld-view{font:400 1.2rem/1.4 var(--serif);color:var(--text);margin:6px 0 12px}
.av-ld-grid{display:grid;grid-template-columns:minmax(0,1fr) 250px;gap:16px;align-items:start}
.av-map .weather-map{height:clamp(300px,46vh,460px)}
.av-map .map-panel{min-height:300px}
/* Looking down on muted ground so white cloud stands out (the map reads these from its own element) */
#ld-map{--map-land:#76826a;--map-ocean:#3f5a6a;--map-line:#5e6a58;--map-ink:#eef1ea;--map-accent:#ff9a5a}
html[data-theme=dark] #ld-map{--map-land:#3d4838;--map-ocean:#1b2a35;--map-line:#55614f;--map-ink:#d7ddd2;--map-accent:#ffad73}
.av-ld-terrain{fill:var(--av-ground);opacity:.4}
.av-ld-bar{stroke:var(--line3);stroke-width:1}
.av-ld-bar.below{fill:var(--av-below)}
.av-ld-bar.above{fill:var(--av-above)}
.av-ld-bar.obs{stroke:var(--av-obs);stroke-width:1.6}
.av-ld-you{stroke:var(--map-accent);stroke-width:2}
.av-ld-stack text.av-ld-you-label{fill:var(--map-accent);font-weight:600}
.av-meta{display:flex;flex-wrap:wrap;gap:4px 16px;font-size:.78rem;color:var(--text2);margin-top:8px}
.av-meta b{color:var(--text);font-weight:500}
.av-left td,.av-left thead th{text-align:left}
.av-hazards td:last-child{text-align:left;font-family:var(--sans);white-space:normal;min-width:16rem}

/* views: simple (default), full, kneeboard */
body[data-app=aviator]:not([data-aviator-view=full]) .av-full,body[data-aviator-view=full] .av-simple{display:none}
body[data-aviator-view=kneeboard] .av-kb-bar{display:flex}
body[data-aviator-view=kneeboard] .av-metrics{display:none}
body[data-aviator-view=kneeboard] .av-kb-meta{display:block;font:500 .85rem/1.5 var(--mono);margin-top:6px}
body[data-aviator-view=kneeboard] #results{--bg:#fff;--bg2:#fff;--bg3:#f1f1f1;--text:#111;--text2:#333;--text3:#666;--line:#999;--line2:#999;--line3:#111;--accent:#111;--accent-dim:#eee;--amber:#7a4f00;--red:#a8001c;--green:#111;--av-obs:#111;background:#fff;color:#111;padding:18px;border:1px solid #111}
body[data-aviator-view=kneeboard] .av-route-line{font:700 clamp(1.4rem,3vw,1.9rem)/1.2 var(--mono);letter-spacing:.01em}
body[data-aviator-view=kneeboard] .av-verdict{border:2px solid #111;border-left-width:10px}
body[data-aviator-view=kneeboard] .av-verdict p{font:600 1rem/1.4 var(--mono)}
body[data-aviator-view=kneeboard] .av-pill{color:#fff;background:#111}
body[data-aviator-view=kneeboard] .av-pill[data-status=caution]{background:#7a4f00}
body[data-aviator-view=kneeboard] .av-pill[data-status=significant]{background:#a8001c}
body[data-aviator-view=kneeboard] .av-scol,body[data-aviator-view=kneeboard] .av-chk{border:1.5px solid #111;border-radius:2px}
body[data-aviator-view=kneeboard] .av-chk{border-top-width:5px}
body[data-aviator-view=kneeboard] .av-scol .nm{border-bottom:1px solid #111;padding-bottom:6px}
body[data-aviator-view=kneeboard] .av-scol dd{font-weight:600;font-size:1.25rem}
body[data-aviator-view=kneeboard] .av-scol dd.warn{text-decoration:underline;text-decoration-thickness:3px;text-decoration-color:#7a4f00}
body[data-aviator-view=kneeboard] .av-pv{color:#111;background:#eee}
body[data-aviator-view=kneeboard] .av-kb-bar .btn{color:#111;border-color:#111}

@media(max-width:1180px){.av-tp-grid{grid-template-columns:1fr}}
@media(max-width:900px){.av-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.av-metrics .metric{border-bottom:1px solid var(--line2)}.av-metrics .metric:nth-child(2n){border-right:0}.av-metrics .metric:nth-last-child(-n+2){border-bottom:0}.av-scols,.av-checks{grid-template-columns:1fr}.av-ld-grid{grid-template-columns:1fr}.av-ld-grid .av-ld-stack{max-width:320px}}
@media(max-width:760px){body[data-app=aviator] .app-controls{display:none;grid-template-columns:1fr}body[data-app=aviator] .app-controls.open{display:block}.av-strip{grid-template-columns:1fr}.av-link{display:none}.av-tabs [role=tab]{padding:10px}.av-route-line{font-size:1.7rem}}
@media(max-width:540px){.av-cards{grid-template-columns:1fr}.av-views{width:100%}.av-views button{flex:1}}

@media print{
  body[data-app=aviator]{background:#fff!important;color:#000!important;font-size:9pt}
  body[data-app=aviator]>*:not(main),body[data-app=aviator] main>*:not(#workspace),body[data-app=aviator] #workspace>*:not(#app-main),body[data-app=aviator] #app-main>*:not(#results){display:none!important}
  body[data-app=aviator] main{padding:0!important;margin:0!important;max-width:none!important}
  body[data-app=aviator] #workspace{display:block!important}
  body[data-app=aviator] #results{--bg:#fff;--bg2:#fff;--bg3:#f3f3f3;--text:#000;--text2:#222;--text3:#555;--line:#999;--line2:#999;--line3:#000;--accent:#000;--accent-dim:#eee;--av-obs:#000;padding:0;border:0}
  .av-kb-bar,.av-tabs,.av-ctl,.av-map,.av-ld-grid,.av-toolbar,.av-card details,.av-sat-actions{display:none!important}
  .av-card,.av-chk,.av-scol,.av-stop,.av-table-wrap tr{break-inside:avoid}
  .av-table-wrap{overflow:visible}
  .av-cards{grid-template-columns:repeat(2,minmax(0,1fr))}
  /* a kneeboard is one A5 sheet: keep the three columns and print the status colours */
  body[data-app=aviator] #results{print-color-adjust:exact;-webkit-print-color-adjust:exact}
  body[data-app=aviator] .av-scols,body[data-app=aviator] .av-checks{grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;margin-top:5px}
  body[data-app=aviator] .av-scol,body[data-app=aviator] .av-chk{padding:6px 8px;font-size:7pt}
  body[data-app=aviator] .av-scol .nm{font-size:9pt;margin:2px 0 5px}
  body[data-app=aviator] .av-scol .kv{grid-template-columns:auto minmax(0,1fr);gap:2px 6px}
  body[data-app=aviator] .av-scol dt{font-size:6pt}
  body[data-app=aviator] .av-scol dd{font-size:10.5pt}
  body[data-app=aviator] .av-scol dd small,body[data-app=aviator] .av-chk .why{font-size:6.5pt}
  body[data-app=aviator] .av-verdict{padding:5px 8px}
  body[data-app=aviator] .av-verdict p{font-size:9.5pt}
  body[data-app=aviator] .av-route-line{font-size:15pt}
  body[data-app=aviator] .av-kb-meta{font-size:7.5pt}
  body[data-app=aviator] .av-fresh{font-size:6.5pt;margin-top:4px}
  body[data-app=aviator] .av-chk dt,body[data-app=aviator] .av-chk dd{font-size:7pt}
  body[data-app=aviator] .av-chk h3,body[data-app=aviator] .av-pill{font-size:6pt}
  body[data-app=aviator] .av-pill{padding:2px 5px}
  body[data-app=aviator] .av-chk header{margin-bottom:3px}
  body[data-app=aviator] .av-chk .why{margin-top:4px}
}

/* runway & crosswind (the home page's live Aviator, in the briefing) */
.av-rwys{margin-top:14px}
.av-rwys>.av-sub{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 12px}
.av-rwy-limit{font:400 .78rem var(--mono);color:var(--text2);letter-spacing:0;text-transform:none}
.av-rwy-limit b{color:var(--text);font-weight:500}
.av-rwy-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:10px}
.av-rwy{background:var(--bg2);border:1px solid var(--line2);border-top:3px solid var(--av-status);border-radius:3px;padding:14px 16px;min-width:0}
.av-rwy .lbl{font:500 .68rem var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--text2)}
.av-rwy .nm{font:500 1.05rem/1.3 var(--sans);margin:4px 0 10px;overflow-wrap:anywhere}
.av-rwy-body{display:grid;grid-template-columns:150px minmax(0,1fr);gap:16px;align-items:center}
.av-rd{width:150px;height:150px;display:block}
.rd-ring{fill:var(--bg);stroke:var(--line3)}
.rd-tick{stroke:var(--line3)}
.rd-tick.major{stroke:var(--text3)}
.rd-lab{font:13px var(--mono);fill:var(--text3)}
.rd-lab.n{fill:var(--text);font-weight:600}
.rd-rwy{fill:var(--bg3);stroke:var(--line3)}
.rd-centre{stroke:var(--text3);stroke-dasharray:5 5}
.rd-num{font:600 11px var(--mono);fill:var(--text3)}
.rd-num.on{fill:var(--accent)}
.rd-arrow{stroke:var(--accent);stroke-width:3;stroke-linecap:round;stroke-linejoin:round;fill:none}
.rd-dot{fill:var(--accent)}
.av-rd-rwy{font:400 .8rem var(--mono);color:var(--text2)}
.av-rd-rwy b{font-size:1rem;color:var(--text);font-weight:500}
.av-rd-big{display:flex;align-items:baseline;gap:8px;margin:2px 0}
.av-rd-big b{font:300 3rem/1 var(--serif);color:var(--text);font-variant-numeric:tabular-nums}
.av-rd-big small{font:.7rem var(--mono);color:var(--text3);letter-spacing:.04em}
.av-rd-sub{font-size:.82rem;line-height:1.5;color:var(--text2);margin:0}
.av-rd-verdict{display:flex;flex-wrap:wrap;align-items:center;gap:8px;font-size:.82rem;color:var(--text);margin:8px 0 0}
.av-rd-src{font:.7rem var(--mono);color:var(--text2);margin:8px 0 0}
.av-xc-wrap{margin-top:14px;background:var(--bg2);border:1px solid var(--line2);border-radius:3px;padding:12px 14px 6px}
.av-xc{display:block;width:100%;height:auto}
.xc-grid{stroke:var(--line)}
.xc-day{stroke:var(--line2)}
.xc-ylab,.xc-xlab,.xc-mklab{font:10px var(--mono);fill:var(--text3)}
.xc-xlab.day{fill:var(--text2);font-weight:600}
.xc-line{fill:none;stroke:var(--accent);stroke-width:2;stroke-linejoin:round;stroke-linecap:round}
.xc-line.dep{stroke:var(--text2);stroke-dasharray:6 4}
.xc-gust{fill:none;stroke:var(--text3);stroke-width:1.2;stroke-dasharray:2 3}
.xc-over{fill:var(--red)}
.xc-limit{stroke:var(--red);stroke-width:1.5;stroke-dasharray:6 5}
.xc-limlab{font:600 10px var(--mono);fill:var(--red)}
.xc-mark{stroke:var(--text);stroke-width:1.2}
.xc-mklab{fill:var(--text);font-weight:600}
.av-xw-help{margin:-12px 0 18px}
@media(max-width:900px){.av-rwy-grid{grid-template-columns:1fr}}
@media(max-width:540px){.av-rwy-body{grid-template-columns:120px minmax(0,1fr);gap:12px}.av-rd{width:120px;height:120px}}

/* wind map (the home page's live Aviator map, on this route) */
.av-windmap{position:relative;margin-top:14px;height:clamp(300px,42vh,440px);border:1px solid var(--line2);border-radius:3px;overflow:hidden;background:var(--av-sea,#d6e1ea)}
.av-wm{position:absolute;inset:0}
.av-wm-tag,.av-wm-legend{position:absolute;z-index:3;left:12px;padding:6px 11px;border-radius:99px;background:var(--glass);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);box-shadow:inset 0 0 0 1px var(--line2);font:.64rem var(--mono);letter-spacing:.04em;color:var(--text2);margin:0}
.av-wm-tag{top:12px;max-width:calc(100% - 24px)}
.av-wm-tag b{color:var(--text);font-weight:500}
.av-wm-legend{bottom:12px;display:flex;align-items:center;gap:8px;font-size:.6rem}
.av-wm-legend i{display:block;width:120px;height:6px;border-radius:3px}
.av-wm-note{position:absolute;z-index:3;right:12px;bottom:12px;max-width:min(360px,calc(100% - 24px));padding:8px 12px;border-radius:8px;background:var(--glass);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);box-shadow:inset 0 0 0 1px var(--line2);font-size:.78rem;line-height:1.5;color:var(--text2)}
.av-wm-note .btn{margin-top:6px}
.av-wm-pin{margin:-8px 0 0 -8px;display:flex;align-items:center;gap:8px}
.av-wm-pin i{width:16px;height:16px;border-radius:50%;flex:none;background:var(--accent);box-shadow:0 0 0 3px var(--bg2),0 0 0 4px var(--accent)}
.av-wm-pin span{padding:5px 9px;border-radius:8px;background:var(--glass2);box-shadow:inset 0 0 0 1px var(--line2),0 4px 14px rgba(0,0,0,.12);font:.62rem/1.35 var(--mono);color:var(--text2);white-space:nowrap}
.av-wm-pin span b{display:block;color:var(--text);font-size:.7rem;font-weight:500}
.av-wm-pin--arr i{background:var(--bg2);box-shadow:0 0 0 3px var(--accent)}
.av-wm-plane{margin:-13px 0 0 -13px;width:26px;height:26px;display:grid;place-items:center;color:var(--accent);filter:drop-shadow(0 2px 6px rgba(0,0,0,.25))}
.av-wm-plane svg{width:26px;height:26px;fill:var(--bg2)}
body[data-aviator-view=kneeboard] .av-windmap{display:none}
@media(max-width:760px){.av-windmap{height:clamp(240px,50vw,320px)}.av-wm-legend{display:none}}
@media print{.av-windmap{display:none!important}}
