/* Shared structure. Colours, radii and shadows come from the theme file's tokens. */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.55 var(--font);font-variant-numeric:tabular-nums}
.page-root{background:var(--bg);color:var(--ink);font:16px/1.55 var(--font);font-variant-numeric:tabular-nums;min-height:100vh}
body::before{content:"";position:fixed;inset:0 0 auto;height:env(safe-area-inset-top,0px);z-index:10;background:var(--bar-bg)}
a{color:var(--link);text-decoration-thickness:1px;text-underline-offset:2px}
a:hover{color:var(--link-hover)}
:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:4px}
h1,h2,h3{text-wrap:balance;line-height:1.2;margin:0}
h1{font-size:clamp(1.55rem,1.1rem + 2vw,2.35rem);letter-spacing:-.015em;font-weight:750}
h2{font-size:1.2rem;font-weight:700;letter-spacing:-.005em}
p{margin:0}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip{position:absolute;left:-9999px}.skip:focus{left:16px;top:8px;z-index:50;background:var(--surface);padding:8px 12px}
.wrap{max-width:1120px;margin:0 auto;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}

/* Header */
.topbar{position:sticky;top:env(safe-area-inset-top,0px);z-index:20;background:var(--bar-bg);color:var(--bar-ink);border-bottom:1px solid var(--bar-line);backdrop-filter:saturate(1.4) blur(10px)}
.topbar-in{display:flex;align-items:center;gap:12px;padding-block:10px}
.brand{display:flex;align-items:center;gap:8px;color:inherit;text-decoration:none;font-weight:750;letter-spacing:-.01em;white-space:nowrap}
.brand:hover{color:inherit}
.brand-mark{width:22px;height:22px;fill:none;stroke:var(--accent);stroke-width:2.2;stroke-linecap:round}
.search{position:relative;flex:1;min-width:0;max-width:440px;margin-left:auto}
.search input{width:100%;height:38px;border-radius:var(--r-pill);border:1px solid var(--input-line);background:var(--input-bg);color:var(--bar-ink);padding:0 14px;font:inherit;font-size:.92rem}
.search input::placeholder{color:var(--bar-muted)}
.search-results{position:absolute;top:44px;left:0;right:0;margin:0;padding:6px;list-style:none;background:var(--surface);color:var(--ink);border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow-pop);max-height:60vh;overflow:auto}
.search-results a{display:flex;justify-content:space-between;gap:8px;padding:8px 10px;border-radius:8px;color:inherit;text-decoration:none}
.search-results a:hover,.search-results a[aria-selected="true"]{background:var(--surface-2)}
.search-results small{color:var(--muted)}
.theme-btn{flex:none;width:38px;height:38px;border-radius:var(--r-pill);border:1px solid var(--input-line);background:var(--input-bg);color:var(--bar-ink);display:grid;place-items:center;cursor:pointer;transition:background .15s}
.theme-btn svg{width:18px;height:18px;fill:currentColor}
@media (max-width:520px){.brand span{display:none}}

/* Hero */
.hero{padding-block:20px 8px}
.crumbs ol{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 12px;padding:0;list-style:none;font-size:.85rem;color:var(--muted)}
.crumbs li+li::before{content:"/";margin-right:6px;opacity:.6}
.crumbs a{color:inherit}
.dek{margin-top:8px;color:var(--ink-2);font-size:1rem}
.dates{margin-top:4px;color:var(--muted);font-size:.85rem}
.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--stat-gap);margin-top:20px}
@media (max-width:760px){.stats{grid-template-columns:repeat(2,minmax(0,1fr))}}
.stat{display:flex;flex-direction:column;gap:2px;min-width:0}
.stat-label{font-size:.78rem;font-weight:600;letter-spacing:.03em;text-transform:uppercase;color:var(--stat-label)}
.stat-value{font-size:clamp(1.6rem,1.2rem + 1.6vw,2.4rem);font-weight:750;letter-spacing:-.02em;line-height:1.1;font-family:var(--font-num)}
.stat-sub{font-size:.8rem;color:var(--stat-sub)}

/* Layout */
.layout{display:grid;gap:24px;padding-block:16px 48px;grid-template-columns:minmax(0,1fr)}
.main{display:flex;flex-direction:column;gap:var(--section-gap);min-width:0}
.side{min-width:0}
.pair{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));gap:var(--section-gap)}
.block{display:flex;flex-direction:column;gap:12px;min-width:0}
.note{color:var(--muted);font-size:.86rem;margin-top:-6px}
.summary{display:flex;flex-direction:column;gap:8px;font-size:1.02rem;max-width:72ch}
.more{font-size:.9rem}

/* Verdict */
.verdict{display:flex;flex-direction:column;gap:12px}
.eyebrow{font-size:.75rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--accent-text)}
.verdict-line{font-size:1.1rem;font-weight:650;line-height:1.4;text-wrap:pretty}
.facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:0}
.facts div{display:flex;flex-direction:column;gap:2px;padding:10px 12px;border-radius:var(--r-sm);background:var(--surface-2);min-width:0}
.facts dt{font-size:.74rem;color:var(--muted);font-weight:600}
.facts dd{margin:0;display:flex;flex-direction:column}
.facts b{font-size:1.02rem}
.facts span{font-size:.82rem;color:var(--ink-2)}
.basis{font-size:.8rem;color:var(--muted)}

/* Tables */
.tbl{overflow-x:auto;-webkit-overflow-scrolling:touch;border:1px solid var(--line);border-radius:var(--r-sm);background:var(--surface)}
table{border-collapse:collapse;width:100%;font-size:.92rem;min-width:520px}
th,td{padding:10px 12px;text-align:left;border-bottom:1px solid var(--line);white-space:nowrap}
thead th{font-size:.75rem;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);font-weight:650;background:var(--surface-2)}
tbody tr:last-child>*{border-bottom:0}
tbody tr{transition:background .12s}
tbody tr:hover{background:var(--row-hover)}
tbody th{font-weight:600}
.num{text-align:right}
tr.limited{color:var(--muted)}
tr.base{color:var(--ink-2)}
.delta.neg{color:var(--poor-text)}.delta.pos{color:var(--good-text)}
details.data summary{cursor:pointer;color:var(--link);font-size:.9rem;width:max-content}
details.data[open] summary{margin-bottom:10px}

/* Badges */
.badge{display:inline-flex;align-items:center;gap:6px;padding:2px 9px 2px 7px;border-radius:var(--r-pill);font-weight:650;font-size:.88rem;background:var(--b-bg);color:var(--ink)}
.badge i{width:8px;height:8px;border-radius:50%;background:var(--b-dot)}
.badge.good{--b-bg:var(--good-soft);--b-dot:var(--good)}
.badge.fair{--b-bg:var(--fair-soft);--b-dot:var(--fair)}
.badge.poor{--b-bg:var(--poor-soft);--b-dot:var(--poor)}
.badge.fair i{border-radius:2px;transform:rotate(45deg) scale(.85)}
.badge.poor i{border-radius:1px}
.legend{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;font-size:.82rem;color:var(--muted)}
.legend .badge{font-size:.78rem}

/* Chips */
.links{display:flex;flex-wrap:wrap;gap:8px}
.chip{display:inline-block;padding:6px 12px;border-radius:var(--r-pill);border:1px solid var(--line);background:var(--surface);color:var(--ink);text-decoration:none;font-size:.9rem;transition:border-color .15s,background .15s}
.chip:hover{border-color:var(--accent);color:var(--ink);background:var(--surface-2)}

/* Ad slots: only rendered when ads are enabled. Never inside tables. */
.ad-slot{display:flex;flex-direction:column;gap:4px;min-height:120px}
.ad-label{font-size:.7rem;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}

/* Charts */
.chart{margin:0}
.cc,.lc{padding:8px 0 0}
.cc-plot,.lc-plot{position:relative;height:190px;margin-left:36px;margin-top:14px}
.cc-grid,.lc-grid,.lc-ref{position:absolute;left:0;right:0;height:0;border-top:1px solid var(--grid)}
.cc-grid em,.lc-grid em{position:absolute;right:100%;margin-right:6px;transform:translateY(-50%);font-style:normal;font-size:.7rem;color:var(--muted)}
.cc-cols{position:absolute;inset:0;display:grid;grid-template-columns:repeat(var(--n),minmax(0,1fr));gap:2px;align-items:end}
.cc-col{height:100%;display:flex;align-items:flex-end;justify-content:center;position:relative;cursor:default}
.cc-bar{position:relative;width:min(26px,78%);background:var(--bar);border-radius:4px 4px 0 0;transition:filter .15s}
.cc-col:hover .cc-bar{filter:brightness(1.12)}
.cc-col.best .cc-bar{background:var(--accent)}
.cc-col.worst .cc-bar{background:var(--poor)}
.cc-col.limited .cc-bar{background:repeating-linear-gradient(135deg,var(--bar-limited) 0 3px,transparent 3px 6px)}
.cc-cap{position:absolute;bottom:100%;left:50%;transform:translateX(-50%);margin-bottom:3px;font-size:.72rem;font-weight:700;color:var(--ink);white-space:nowrap}
.cc-x,.lc-x{display:grid;grid-template-columns:repeat(var(--n),minmax(0,1fr));margin-left:36px;margin-top:6px;font-size:.7rem;color:var(--muted);text-align:center}
.cc-x span,.lc-x span{white-space:nowrap;overflow:visible;display:flex;justify-content:center}
.lc-plot svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.lc-line{fill:none;stroke:var(--accent);stroke-width:2;vector-effect:non-scaling-stroke;stroke-linejoin:round;stroke-linecap:round}
.lc-area{fill:var(--accent);fill-opacity:.1;stroke:none}
.lc-ref{border-top-color:var(--muted);opacity:.7}
.lc-ref em{position:absolute;right:0;top:-1.5em;font-style:normal;font-size:.7rem;color:var(--muted);background:var(--surface);padding:0 4px;border-radius:3px}
.lc-end{position:absolute;width:10px;height:10px;margin:0 0 -5px -5px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 2px var(--surface)}
.lc-end b{position:absolute;right:8px;bottom:8px;font-size:.75rem;color:var(--ink)}
.lc-hit{position:absolute;top:0;bottom:0}
.lc-hit i{position:absolute;left:50%;width:8px;height:8px;margin:0 0 -4px -4px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 2px var(--surface);opacity:0;transition:opacity .12s}
.lc-hit:hover{background:linear-gradient(var(--grid),var(--grid)) center/1px 100% no-repeat}
.lc-hit:hover i{opacity:1}
.br{display:flex;flex-direction:column;gap:10px}
.br-row{display:grid;grid-template-columns:minmax(0,11rem) minmax(0,1fr) 3.6rem;align-items:center;gap:12px}
.br-label{font-size:.9rem;display:flex;flex-direction:column;line-height:1.25}
.br-label small{color:var(--muted);font-size:.75rem}
.br-track{height:12px;background:var(--track);border-radius:0 6px 6px 0;overflow:hidden}
.br-bar{display:block;height:100%;background:var(--bar);border-radius:0 6px 6px 0}
.br-row.good .br-bar{background:var(--good)}.br-row.fair .br-bar{background:var(--fair)}.br-row.poor .br-bar{background:var(--poor)}
.br-val{text-align:right;font-weight:650;font-size:.9rem}
@media (max-width:480px){.br-row{grid-template-columns:minmax(0,8rem) minmax(0,1fr) 3.4rem;gap:8px}}

/* Tooltip */
.tip{position:fixed;z-index:60;pointer-events:none;background:var(--tip-bg);color:var(--tip-ink);font-size:.8rem;padding:6px 9px;border-radius:8px;box-shadow:var(--shadow-pop);max-width:240px}

/* Footer */
.foot{border-top:1px solid var(--line);background:var(--surface);color:var(--ink-2);font-size:.86rem}
.foot-in{display:flex;flex-direction:column;gap:8px;padding-block:24px 32px}
.foot-nav{display:flex;flex-wrap:wrap;gap:6px 16px}
.foot-nav a{color:var(--ink-2)}
@media (prefers-reduced-motion:reduce){*{transition:none!important}}

/* Multi-series: legend + series colours (s1 = accent, s2 = second series) */
.lg{display:flex;flex-wrap:wrap;gap:6px 16px;font-size:.85rem;color:var(--ink-2);margin-bottom:4px}
.lg-item{display:inline-flex;align-items:center;gap:6px}
.lg-key{width:14px;height:4px;border-radius:2px;background:var(--accent)}
.lg-key.s2,.pb-bar.s2,.lc-end.s2{background:var(--series-2)}
.lc-line.s2{stroke:var(--series-2)}
.pb{display:flex;flex-direction:column;gap:14px}
.pb-row{display:grid;grid-template-columns:minmax(0,10rem) minmax(0,1fr);gap:12px;align-items:center}
.pb-label{font-size:.9rem}
.pb-bars{display:flex;flex-direction:column;gap:4px}
.pb-line{display:flex;align-items:center;gap:8px}
.pb-line b{font-size:.82rem;font-weight:650;white-space:nowrap}
.pb-bar{display:block;height:10px;min-width:2px;border-radius:0 5px 5px 0;background:var(--accent)}
@media (max-width:480px){.pb-row{grid-template-columns:minmax(0,1fr)}}

/* Main nav (second header row) */
.mainnav{display:flex;gap:4px;overflow-x:auto;padding-block:0 8px;scrollbar-width:none}
.mainnav::-webkit-scrollbar{display:none}
.mainnav a{flex:none;padding:5px 12px;border-radius:var(--r-pill);color:var(--bar-ink);text-decoration:none;font-size:.88rem;font-weight:550;transition:background .15s}
.mainnav a:hover{background:var(--input-bg);color:var(--bar-ink)}

/* Page bits */
.notice{margin-top:12px;padding:10px 14px;border-radius:var(--r-sm);background:var(--fair-soft);color:var(--ink);font-size:.92rem;max-width:72ch}
caption.cap{caption-side:top;text-align:left;padding:10px 12px;font-weight:650;font-size:.9rem;background:var(--surface-2);border-bottom:1px solid var(--line)}
.rowsub{display:block;font-weight:400;font-size:.78rem;color:var(--muted);white-space:normal}
td.win{font-weight:750}
.wrap-cell{white-space:normal;min-width:16rem}
.cols{columns:3 14rem;column-gap:24px;margin:0;padding:0;list-style:none}
.cols li{break-inside:avoid;padding:3px 0;font-size:.92rem}
.cols small{color:var(--muted)}
h3.state{font-size:1rem;margin-top:8px;scroll-margin-top:120px}
.block.compact{gap:6px}
.prose{max-width:760px}
.prose h2{margin-top:12px}
.prose p,.prose li{max-width:70ch}
.prose ul{margin:0;padding-left:1.2rem;display:flex;flex-direction:column;gap:6px}
.prose code{font-size:.85em;background:var(--surface-2);padding:1px 5px;border-radius:4px}
.prose.main{gap:14px}
.email{font-size:1.15rem;user-select:all}
.home-hero h1{font-size:clamp(1.8rem,1.2rem + 2.6vw,2.8rem)}

/* Compare hero */
.vs{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:12px;align-items:stretch;margin-top:20px}
.vs-side{display:flex;flex-direction:column;gap:4px;padding:16px 18px;border-radius:var(--r);background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow);color:var(--ink);text-decoration:none;min-width:0;transition:border-color .15s}
.vs-side:hover{border-color:var(--accent);color:var(--ink)}
.vs-name{display:flex;align-items:center;gap:8px;font-weight:650}
.vs-value{font-size:clamp(1.8rem,1.3rem + 2vw,2.6rem);font-weight:750;letter-spacing:-.02em;line-height:1.1}
.vs-mid{align-self:center;font-weight:750;color:var(--muted);text-transform:uppercase;font-size:.85rem}
@media (max-width:520px){.vs{grid-template-columns:minmax(0,1fr)}.vs-mid{justify-self:center}}
/* Design A: "Clear Sky". Airy cards on a cool sky-grey ground, one aviation-blue accent.
   Single column; the "best time to fly" verdict sits right under the hero. */
:root{
  --font:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
  --font-num:var(--font);
  --bg:#f3f6fa;--surface:#ffffff;--surface-2:#eef2f8;--row-hover:#f6f8fc;
  --ink:#0f1729;--ink-2:#3b4659;--muted:#5d6a7e;--line:#dfe5ee;--grid:#e5eaf1;--track:#eef2f8;
  --accent:#2563eb;--accent-text:#1d4ed8;--accent-soft:#e7efff;--link:#1d4ed8;--link-hover:#1e3a8a;
  --bar:#a9c3f5;--bar-limited:#a9c3f5;--series-2:#e0672f;
  --good:#16a34a;--fair:#d99a00;--poor:#dc3d3d;
  --good-soft:#dcf4e4;--fair-soft:#fbefd0;--poor-soft:#fbe2e2;--good-text:#157a3a;--poor-text:#b42323;
  --bar-bg:rgb(255 255 255 / .88);--bar-ink:#0f1729;--bar-muted:#6b778a;--bar-line:#e3e8f0;
  --input-bg:#f1f4f9;--input-line:#dfe5ee;
  --stat-label:#5d6a7e;--stat-sub:#6b778a;
  --tip-bg:#0f1729;--tip-ink:#f4f7fb;
  --shadow:0 1px 2px rgb(15 23 41 / .05),0 4px 16px rgb(15 23 41 / .05);
  --shadow-pop:0 8px 30px rgb(15 23 41 / .16);
  --r-sm:12px;--r:18px;--r-pill:999px;--stat-gap:12px;--section-gap:20px;
}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){
  --bg:#0a101d;--surface:#121a2b;--surface-2:#1a2438;--row-hover:#172034;
  --ink:#e8edf6;--ink-2:#b8c2d4;--muted:#8d99ad;--line:#243049;--grid:#202b42;--track:#1a2438;
  --accent:#6b9dff;--accent-text:#8fb3ff;--accent-soft:#17264a;--link:#8fb3ff;--link-hover:#c0d4ff;
  --bar:#34558f;--bar-limited:#4a6aa6;--series-2:#f08a52;
  --good:#2fb866;--fair:#e0a81c;--poor:#ec5b5b;
  --good-soft:#123522;--fair-soft:#3a2f0e;--poor-soft:#3e1819;--good-text:#62d394;--poor-text:#ff8e8e;
  --bar-bg:rgb(13 20 34 / .88);--bar-ink:#e8edf6;--bar-muted:#8d99ad;--bar-line:#1d2740;
  --input-bg:#18213a;--input-line:#27334d;
  --stat-label:#8d99ad;--stat-sub:#8d99ad;
  --tip-bg:#e8edf6;--tip-ink:#0f1729;
  --shadow:0 1px 2px rgb(0 0 0 / .3);--shadow-pop:0 8px 30px rgb(0 0 0 / .5);
  color-scheme:dark}}
:root[data-theme="dark"]{
  --bg:#0a101d;--surface:#121a2b;--surface-2:#1a2438;--row-hover:#172034;
  --ink:#e8edf6;--ink-2:#b8c2d4;--muted:#8d99ad;--line:#243049;--grid:#202b42;--track:#1a2438;
  --accent:#6b9dff;--accent-text:#8fb3ff;--accent-soft:#17264a;--link:#8fb3ff;--link-hover:#c0d4ff;
  --bar:#34558f;--bar-limited:#4a6aa6;--series-2:#f08a52;
  --good:#2fb866;--fair:#e0a81c;--poor:#ec5b5b;
  --good-soft:#123522;--fair-soft:#3a2f0e;--poor-soft:#3e1819;--good-text:#62d394;--poor-text:#ff8e8e;
  --bar-bg:rgb(13 20 34 / .88);--bar-ink:#e8edf6;--bar-muted:#8d99ad;--bar-line:#1d2740;
  --input-bg:#18213a;--input-line:#27334d;
  --stat-label:#8d99ad;--stat-sub:#8d99ad;
  --tip-bg:#e8edf6;--tip-ink:#0f1729;
  --shadow:0 1px 2px rgb(0 0 0 / .3);--shadow-pop:0 8px 30px rgb(0 0 0 / .5);
  color-scheme:dark}

.d-a .wrap{max-width:1040px}
.d-a .stat{background:var(--surface);border-radius:var(--r);box-shadow:var(--shadow);padding:16px 18px;border:1px solid var(--line)}
.d-a .stat.hero-main .stat-value{color:var(--accent-text)}
.d-a .layout{grid-template-areas:"side" "main"}
.d-a .side{grid-area:side}.d-a .main{grid-area:main}
.d-a .verdict{background:var(--accent-soft);border-radius:var(--r);padding:20px 22px}
.d-a .verdict .facts{grid-template-columns:repeat(auto-fit,minmax(min(100%,150px),1fr))}
.d-a .verdict .facts div{background:var(--surface)}
.d-a .block{background:var(--surface);border-radius:var(--r);box-shadow:var(--shadow);padding:20px 22px;border:1px solid var(--line)}
.d-a .summary{padding:0 4px}
@media (max-width:520px){.d-a .block,.d-a .verdict{padding:16px}}
