/* Air Show in a Box: shared styles. Scoped under .asb so nothing leaks into the rest of the site. */
.asb { --bg:#040d1f; --panel:#0a1632; --panel2:#0d1c3f; --line:rgba(74,158,255,.16); --text:#e2eaf4; --muted:#8a9bb0; --accent:#4a9eff; --gold:#c9a227; --green:#3fb98a; --red:#e0705f;
  max-width:1200px; margin:0 auto; padding:164px 1.5rem 4rem; color:var(--text); font-family:'Inter',-apple-system,sans-serif; line-height:1.55; }
.asb * { box-sizing:border-box; }
.asb h1 { font-family:'Rajdhani',sans-serif; font-weight:700; font-size:clamp(2rem,4.5vw,3rem); line-height:1.05; margin:0 0 .5rem; letter-spacing:.5px; color:var(--text); }
.asb h2 { font-family:'Rajdhani',sans-serif; font-weight:700; font-size:1.6rem; margin:0 0 .4rem; color:var(--text); }
.asb h3 { font-family:'Rajdhani',sans-serif; font-weight:600; font-size:1.15rem; margin:1.2rem 0 .4rem; color:#c8d4e0; letter-spacing:.3px; }
.asb p { margin:0 0 .8rem; }
.asb a { color:var(--accent); }
.asb ul, .asb ol { margin:.2rem 0 .8rem; padding-left:1.2rem; } .asb li { margin:.3rem 0; }
.asb .eyebrow { font-family:'Rajdhani',sans-serif; font-weight:600; letter-spacing:3px; text-transform:uppercase; font-size:.85rem; color:var(--gold); margin-bottom:.4rem; }
.asb .lede { color:#c8d4e0; max-width:70ch; font-size:1.05rem; }
.asb .note { color:var(--muted); font-size:.86rem; }
.asb section.block { margin:2.4rem 0 0; scroll-margin-top:150px; }
.asb [hidden] { display:none !important; }

/* suite navigation: sticky step bar */
.asb #asb-chrome { display:contents; }
/* fixed, not sticky: the site sets overflow-x:hidden on html and body, which disables sticky */
.asb .suite { position:fixed; top:64px; left:0; right:0; z-index:900; display:flex; gap:.45rem; align-items:stretch; margin:0; padding:.55rem max(1rem, calc((100vw - 1200px) / 2 + 1.5rem)); background:rgba(8,18,44,.97); backdrop-filter:blur(10px); border-bottom:1px solid rgba(74,158,255,.4); box-shadow:0 10px 28px rgba(0,0,0,.45); }
.asb .suite-label { display:flex; align-items:center; padding:0 .7rem 0 .5rem; font:700 .78rem 'Rajdhani',sans-serif; letter-spacing:2.5px; text-transform:uppercase; color:var(--gold); white-space:nowrap; border-right:1px solid var(--line); margin-right:.2rem; }
.asb .suite a { flex:1 1 0; min-width:0; text-decoration:none; color:var(--text); padding:.6rem .75rem; border-radius:9px; font-size:.92rem; font-weight:600; line-height:1.2; display:flex; gap:.6rem; align-items:center; background:var(--panel2); border:1px solid var(--line); transition:background .15s, border-color .15s; }
.asb .suite a b { font:700 .95rem 'Rajdhani',sans-serif; color:#04122b; background:var(--gold); width:1.6rem; height:1.6rem; border-radius:50%; display:inline-flex; align-items:center; justify-content:center; flex:none; }
.asb .suite a.done b { background:var(--green); }
.asb .suite a:hover { background:rgba(74,158,255,.18); border-color:var(--accent); }
.asb .suite a[aria-current="page"] { background:var(--accent); border-color:var(--accent); color:#04122b; } .asb .suite a[aria-current="page"] b { background:#04122b; color:var(--accent); }
.asb .stepnav { display:flex; justify-content:space-between; gap:1rem; margin:2.6rem 0 0; flex-wrap:wrap; }
.asb .stepnav a { text-decoration:none; border-radius:12px; padding:1rem 1.3rem; display:flex; flex-direction:column; gap:.15rem; border:1px solid var(--line); background:var(--panel); color:var(--text); }
.asb .stepnav a small { font-size:.78rem; color:var(--muted); letter-spacing:.3px; } .asb .stepnav a span { font:700 1.35rem 'Rajdhani',sans-serif; }
.asb .stepnav a.next { background:var(--accent); border-color:var(--accent); color:#04122b; margin-left:auto; text-align:right; flex:1 1 320px; max-width:520px; } .asb .stepnav a.next small { color:#0b2a55; font-weight:600; }
.asb .stepnav a.next:hover { filter:brightness(1.08); } .asb .stepnav a.prev:hover { border-color:var(--accent); }
@media (max-width:860px){ .asb .suite { overflow-x:auto; padding:.45rem .8rem; scrollbar-width:none; } .asb .suite-label { display:none; } .asb .suite a { flex:0 0 auto; padding:.5rem .7rem; font-size:.85rem; } .asb .suite a:not([aria-current="page"]) span { display:none; } .asb .suite a[aria-current="page"] { flex:1 0 auto; } }
.asb .showbar { display:flex; gap:.4rem 1.2rem; flex-wrap:wrap; align-items:center; color:var(--muted); font-size:.85rem; margin:-.9rem 0 1.4rem; }
.asb .showbar b { color:var(--text); font-weight:600; }

/* tiles, cards */
.asb .tiles { display:grid; grid-template-columns:repeat(auto-fit,minmax(170px,1fr)); gap:.8rem; margin:1.4rem 0; }
.asb .tile { background:var(--panel); border:1px solid var(--line); border-radius:10px; padding:.9rem 1rem; }
.asb .tile b { display:block; font-family:'Rajdhani',sans-serif; font-size:1.9rem; line-height:1.1; font-weight:700; font-variant-numeric:tabular-nums; }
.asb .tile span { color:var(--muted); font-size:.82rem; }
.asb .cards { display:grid; grid-template-columns:repeat(auto-fit,minmax(260px,1fr)); gap:.9rem; }
.asb .card { background:var(--panel); border:1px solid var(--line); border-radius:12px; padding:1.1rem 1.2rem; display:flex; flex-direction:column; }
.asb a.card { text-decoration:none; color:var(--text); transition:border-color .15s, transform .15s; } .asb a.card:hover { border-color:var(--accent); transform:translateY(-2px); }
.asb .card .num { font-family:'Rajdhani',sans-serif; font-weight:700; color:var(--gold); font-size:.9rem; letter-spacing:2px; }
.asb .card h3 { margin:.2rem 0 .3rem; color:var(--text); font-size:1.3rem; } .asb .card p { color:#b8c6d6; font-size:.92rem; margin:0; }
.asb .why { background:linear-gradient(180deg,rgba(201,162,39,.09),rgba(201,162,39,.03)); border:1px solid rgba(201,162,39,.3); border-radius:10px; padding:1rem 1.2rem; margin:1rem 0 1.4rem; }
.asb .why h3 { margin-top:0; color:var(--gold); } .asb .why > :last-child { margin-bottom:0; }
.asb .fact-box { background:var(--panel); border:1px solid var(--line); border-left:3px solid var(--accent); border-radius:8px; padding:.8rem 1rem; margin:.7rem 0; }
.asb .fact-box.flag { border-left-color:var(--red); } .asb .fact-box.ok { border-left-color:var(--green); } .asb .fact-box.info { border-left-color:var(--gold); }
.asb .fact-box > :last-child { margin-bottom:0; }

/* citations */
.asb .cite { display:inline-block; font-size:.74rem; font-weight:600; letter-spacing:.2px; color:#9fc8ff; background:rgba(74,158,255,.1); border:1px solid rgba(74,158,255,.28); border-radius:5px; padding:.05rem .4rem; text-decoration:none; white-space:nowrap; vertical-align:baseline; margin:0 .1rem; }
.asb a.cite:hover { background:rgba(74,158,255,.22); color:#fff; }

/* controls */
.asb .tabs { display:flex; gap:.4rem; border-bottom:1px solid var(--line); margin:1.4rem 0 1rem; flex-wrap:wrap; }
.asb .tab { background:none; border:none; color:var(--muted); font:600 1rem 'Rajdhani',sans-serif; letter-spacing:1px; text-transform:uppercase; padding:.7rem 1rem; cursor:pointer; border-bottom:3px solid transparent; }
.asb .tab[aria-selected="true"] { color:var(--text); border-bottom-color:var(--accent); }
.asb .tab:focus-visible, .asb button:focus-visible, .asb input:focus-visible, .asb select:focus-visible, .asb textarea:focus-visible, .asb tr:focus-visible, .asb a:focus-visible, .asb summary:focus-visible { outline:2px solid var(--gold); outline-offset:2px; }
.asb .bar { display:flex; gap:.6rem; flex-wrap:wrap; align-items:center; margin-bottom:.9rem; }
.asb input[type=search], .asb input[type=number], .asb input[type=text], .asb input[type=date], .asb select, .asb textarea { background:var(--panel); color:var(--text); border:1px solid var(--line); border-radius:8px; padding:.6rem .8rem; font:inherit; min-width:0; width:100%; color-scheme:dark; }
.asb textarea { min-height:5.5rem; resize:vertical; line-height:1.45; }
.asb .bar input[type=search] { flex:1 1 240px; width:auto; }
.asb label, .asb .lab { display:block; font-size:.82rem; color:#b8c6d6; margin-bottom:.25rem; font-weight:500; }
.asb .hint { display:block; font-size:.78rem; color:var(--muted); margin-top:.25rem; font-weight:400; }
.asb .grid2 { display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:.9rem; align-items:start; }
.asb .field { margin-bottom:.9rem; }
.asb .checks { display:grid; gap:.35rem; } .asb .checks label, .asb label.inline { display:flex; gap:.55rem; align-items:flex-start; font-size:.92rem; color:var(--text); font-weight:400; cursor:pointer; }
.asb input[type=checkbox], .asb input[type=radio] { accent-color:var(--accent); width:1.05rem; height:1.05rem; margin-top:.2rem; flex:none; }
.asb .chip { background:var(--panel); color:#c8d4e0; border:1px solid var(--line); border-radius:999px; padding:.4rem .85rem; font:500 .85rem 'Inter',sans-serif; cursor:pointer; }
.asb .chip[aria-pressed="true"] { background:var(--accent); color:#04122b; border-color:var(--accent); font-weight:600; }
.asb .btn2 { background:var(--accent); color:#04122b; border:none; border-radius:8px; padding:.6rem 1.1rem; font:600 .92rem 'Inter',sans-serif; cursor:pointer; text-decoration:none; display:inline-block; }
.asb .btn2.ghost { background:var(--panel2); color:var(--text); border:1px solid var(--line); }
.asb .close { background:var(--panel2); border:1px solid var(--line); color:var(--text); border-radius:8px; padding:.4rem .8rem; cursor:pointer; font:inherit; }

/* tables */
.asb .tablewrap { overflow-x:auto; border:1px solid var(--line); border-radius:10px; }
.asb table { width:100%; border-collapse:collapse; font-size:.9rem; }
.asb th { text-align:left; font:600 .78rem 'Inter',sans-serif; text-transform:uppercase; letter-spacing:.8px; color:var(--muted); padding:.65rem .8rem; background:var(--panel); white-space:nowrap; position:sticky; top:0; }
.asb th button { all:unset; cursor:pointer; } .asb th button:hover { color:var(--text); }
.asb td { padding:.6rem .8rem; border-top:1px solid var(--line); vertical-align:top; }
.asb td.num, .asb th.num { text-align:right; font-variant-numeric:tabular-nums; white-space:nowrap; }
.asb tbody tr.pick { cursor:pointer; } .asb tbody tr.pick:hover { background:rgba(74,158,255,.07); }
.asb .tag { display:inline-block; border-radius:6px; padding:.15rem .55rem; font-size:.76rem; font-weight:600; white-space:nowrap; }
.asb .tag.one, .asb .tag.late { background:rgba(224,112,95,.16); color:#f0a092; } .asb .tag.few, .asb .tag.soon { background:rgba(201,162,39,.16); color:#e2c25a; }
.asb .tag.multi, .asb .tag.good { background:rgba(63,185,138,.16); color:#7fd6b1; } .asb .tag.ltd { background:rgba(138,155,176,.16); color:#b3c0d0; }
.asb .tag.apf { background:rgba(74,158,255,.16); color:#9fc8ff; } .asb .tag.naf { background:rgba(201,162,39,.16); color:#e2c25a; } .asb .tag.prv { background:rgba(138,155,176,.16); color:#b3c0d0; }
.asb .mix { display:flex; height:10px; width:120px; border-radius:5px; overflow:hidden; background:var(--panel2); }
.asb .mix i { display:block; height:100%; } .asb .mix .a { background:var(--red); } .asb .mix .b { background:var(--gold); } .asb .mix .c { background:var(--green); }
.asb .legend { display:flex; gap:1rem; flex-wrap:wrap; color:var(--muted); font-size:.8rem; margin:.5rem 0 1rem; }
.asb .legend i { display:inline-block; width:10px; height:10px; border-radius:2px; margin-right:.35rem; }

/* detail, facts, range */
.asb .detail { background:var(--panel); border:1px solid var(--line); border-radius:12px; padding:1.2rem 1.3rem; margin:1rem 0 1.5rem; scroll-margin-top:150px; }
.asb .detail .head { display:flex; justify-content:space-between; gap:1rem; align-items:flex-start; flex-wrap:wrap; }
.asb .facts { display:grid; grid-template-columns:repeat(auto-fit,minmax(150px,1fr)); gap:.6rem; margin:.8rem 0; }
.asb .fact { background:var(--panel2); border-radius:8px; padding:.6rem .8rem; } .asb .fact b { display:block; font-size:1.1rem; font-variant-numeric:tabular-nums; } .asb .fact span { color:var(--muted); font-size:.78rem; }
.asb .range { position:relative; height:46px; margin:1rem 0 1.6rem; }
.asb .range .track { position:absolute; left:0; right:0; top:18px; height:8px; background:var(--panel2); border-radius:4px; }
.asb .range .iqr { position:absolute; top:18px; height:8px; background:var(--accent); opacity:.55; border-radius:4px; }
.asb .range .med { position:absolute; top:12px; width:3px; height:20px; background:var(--text); }
.asb .range .you { position:absolute; top:4px; width:0; height:0; border-left:8px solid transparent; border-right:8px solid transparent; border-top:12px solid var(--gold); transform:translateX(-8px); }
.asb .range .lab { position:absolute; top:32px; font-size:.75rem; color:var(--muted); transform:translateX(-50%); white-space:nowrap; }

/* generated documents */
.asb .out { background:#f7f8fa; color:#111; border-radius:8px; padding:1.4rem 1.6rem; white-space:pre-wrap; font:400 .9rem/1.55 'Inter',sans-serif; border:1px solid #cfd6e0; max-height:560px; overflow:auto; }
.asb .out.small { background:var(--panel2); color:var(--text); border:none; border-left:3px solid var(--gold); padding:.8rem 1rem; max-height:none; }
.asb .outbar { display:flex; gap:.5rem; flex-wrap:wrap; margin:.7rem 0 1.2rem; align-items:center; }

/* steps */
.asb .step { background:var(--panel); border:1px solid var(--line); border-radius:12px; padding:1.2rem 1.3rem; margin:0 0 1rem; scroll-margin-top:150px; }
.asb .step > h2 { display:flex; gap:.7rem; align-items:baseline; } .asb .step > h2 .n { font-size:1rem; color:var(--gold); letter-spacing:2px; white-space:nowrap; }
.asb details { border:1px solid var(--line); border-radius:10px; background:var(--panel); margin:.5rem 0; }
.asb details > summary { cursor:pointer; padding:.75rem 1rem; list-style:none; display:flex; gap:.8rem; align-items:center; flex-wrap:wrap; } .asb details > summary::-webkit-details-marker { display:none; }
.asb details > summary::before { content:'+'; font:700 1.1rem 'Rajdhani',sans-serif; color:var(--accent); width:1ch; } .asb details[open] > summary::before { content:'\2212'; }
.asb details > .body { padding:0 1rem 1rem 1rem; border-top:1px solid var(--line); }
.asb .req-head { flex:1 1 220px; font-weight:600; } .asb .req-meta { color:var(--muted); font-size:.82rem; display:flex; gap:.5rem 1rem; flex-wrap:wrap; align-items:center; }
.asb .kv { display:grid; grid-template-columns:minmax(120px,170px) 1fr; gap:.35rem 1rem; font-size:.92rem; margin:.8rem 0; } .asb .kv dt { color:var(--muted); } .asb .kv dd { margin:0; }
.asb .ex { border-left:2px solid var(--line); padding:.1rem 0 .1rem .8rem; margin:.6rem 0; font-size:.88rem; } .asb .ex .src { color:var(--muted); font-size:.78rem; display:block; margin-top:.15rem; }
.asb .method { border-top:1px solid var(--line); margin-top:2.5rem; padding-top:1.2rem; color:var(--muted); font-size:.88rem; }
.asb .tl-row.past td { opacity:.92; } .asb .tl-date { white-space:nowrap; font-variant-numeric:tabular-nums; }

@media (max-width:640px){ .asb .hide-sm { display:none; } .asb .mix { width:70px; } .asb .kv { grid-template-columns:1fr; gap:0 0; } .asb .kv dt { margin-top:.5rem; } .asb { padding-left:1rem; padding-right:1rem; } }
@media (prefers-reduced-motion:no-preference){ .asb .detail { animation:asbin .18s ease-out; } @keyframes asbin { from { opacity:0; transform:translateY(6px);} } }
@media print { .asb { padding-top:0 !important; } .navbar, .footer, .asb .suite, .asb .stepnav, .asb .showbar, .asb .noprint, .asb .why { display:none !important; } body { background:#fff !important; } .asb { padding:0; color:#000; } .asb .out { max-height:none; border:none; padding:0; } .asb .step { border:none; padding:0; background:none; } .asb h1, .asb h2, .asb h3 { color:#000; } .asb .printhide { display:none !important; } }
