/* GENERATED by tools/make_site_surfaces.py — do not hand-edit.
   Lifted from a real render of site/data/example_payload_v5.json through
   render_tem_payload_html, the same function that serves a brief, and scoped under
   `.act2__panel` and `.act3__map`. Regenerate rather than patch; the gate
   diffs this against a fresh
   render and goes red when it drifts. */
.act2__panel *, .act3__map * { box-sizing: border-box; }
.act2__panel html, .act3__map html { scroll-padding-top: calc(var(--stick-h, 192px) + 10px); scroll-behavior: smooth; }
@media (prefers-reduced-motion: reduce) {
.act2__panel html, .act3__map html { scroll-behavior: auto; }
}
.act2__panel .v4-stack, .act3__map .v4-stack {
            display: grid;
            gap: 24px;
            /* ⛔ A GRID ITEM DOES NOT SHRINK BELOW ITS CONTENT UNLESS TOLD TO. `min-width: auto`
               is the default, so the route map's SVG — the widest thing on the page — set the
               width of every section on the page, and the whole brief scrolled sideways on a
               phone: **504px of document in a 390px viewport, measured on `main`**. It has been
               true since the map landed and no test could see it, because nothing in this gate
               opens a viewport. Found by the Stage-2 render pass; the shell is the fix, not the
               map. */
        }
.act2__panel .v4-stack > *, .act3__map .v4-stack > * { min-width: 0; }
.act2__panel .v4-section svg, .act3__map .v4-section svg, .act2__panel .v4-section img, .act3__map .v4-section img { max-width: 100%; }
.act2__panel .v4-ann-row, .act3__map .v4-ann-row { display: flex; align-items: center; gap: 8px; flex-wrap: wrap;
            padding: 0 0 8px; }
.act2__panel .v4-ann, .act3__map .v4-ann { display: inline-flex; align-items: baseline; gap: 6px;
            border: 1px solid var(--line); border-radius: 3px; padding: 3px 9px;
            color: var(--faint); }
.act2__panel .v4-ann-n, .act3__map .v4-ann-n { font-family: var(--mono); font-size: 15px; font-variant-numeric: tabular-nums;
            color: inherit; }
.act2__panel .v4-ann-lbl, .act3__map .v4-ann-lbl { font-size: 10px; letter-spacing: .08em; text-transform: uppercase; }
.act2__panel .v4-ann-lit .v4-ann-n, .act3__map .v4-ann-lit .v4-ann-n { color: var(--ink); }
.act2__panel .v4-ann-lit[data-rank="critical"], .act3__map .v4-ann-lit[data-rank="critical"] { border-color: var(--critical-text); color: var(--critical-text); }
.act2__panel .v4-ann-lit[data-rank="high"], .act3__map .v4-ann-lit[data-rank="high"] { border-color: var(--high-text); color: var(--high-text); }
.act2__panel .v4-ann-lit[data-rank="caution"], .act3__map .v4-ann-lit[data-rank="caution"] { border-color: var(--medium-text); color: var(--medium-text); }
.act2__panel .v4-ann-lit[data-rank="assessed"], .act3__map .v4-ann-lit[data-rank="assessed"] { border-color: rgba(var(--ink-rgb), .45); color: var(--ink); }
.act2__panel .v4-ann-say, .act3__map .v4-ann-say { font-size: 12px; color: var(--faint); margin-left: auto; }
@media (max-width: 620px) {
.act2__panel .v4-ann-say, .act3__map .v4-ann-say { display: none; }
}
.act2__panel .v4-stickytop, .act3__map .v4-stickytop {
            position: sticky;
            top: 0;
            z-index: 100;
            margin: 0 calc(-1 * var(--gutter));   /* bleed to the shell's edges, whatever they are */
            padding: 0 var(--gutter);
            /* THE GLARESHIELD. It is the one surface that belongs to the BEZEL rather than to a
               display — it sits above them and carries the flight's identity — so it takes
               `--panel` and stays flat. The blur went with the rest of the glass. */
            background: var(--page-bg);
            border-bottom: 1px solid var(--line);
        }
.act2__panel .v4-topbar, .act3__map .v4-topbar {
            display: flex;
            align-items: center;
            gap: 14px;
            padding: 10px 0;
            font-family: var(--sans);
        }
@media print {
.act2__panel .v4-stickytop, .act3__map .v4-stickytop { position: static; background: none; backdrop-filter: none;
                             border-bottom: 0; }
}
.act2__panel .v4-topbar-flight, .act3__map .v4-topbar-flight {
            /* ⛔ IT IS AN `<h1>`, AND THE ONLY ONE. Stage 5 measured the served brief with ZERO
               headings of rank 1 — a nineteen-airport document whose outline began at `<h2>`, so
               a screen reader's heading list opened on "Non-fatal warnings" and the flight the
               document is ABOUT was a `<span>`. The tag carries the outline; this rule carries
               the look, so nothing moves: a UA `<h1>` is 2em with 0.67em block margins, and both
               are overridden here. */
            margin: 0;
            font-size: 17px;
            font-weight: 700;
            color: var(--ink);
            letter-spacing: .01em;
        }
.act2__panel .v4-topbar-route, .act3__map .v4-topbar-route {
            font-size: 15px;
            color: var(--ink);
            opacity: .72;
        }
.act2__panel .v4-topbar-divider, .act3__map .v4-topbar-divider {
            width: 1px;
            height: 18px;
            background: var(--line);
            flex-shrink: 0;
        }
.act2__panel .v4-topbar-label, .act3__map .v4-topbar-label {
            font-size: 10px;
            text-transform: uppercase;
            letter-spacing: .13em;
            color: var(--accent);
            flex-shrink: 0;
        }
.act2__panel .v4-topbar-value, .act3__map .v4-topbar-value {
            font-size: 13px;
            font-weight: 600;
            color: var(--ink);
        }
.act2__panel .v4-section, .act3__map .v4-section, .act2__panel .v4-warning-strip, .act3__map .v4-warning-strip {
            background: var(--display);
            border: 1px solid var(--line);
            border-radius: 3px;
            box-shadow: inset 0 1px 0 var(--rim);
        }
.act2__panel .v4-section-kicker, .act3__map .v4-section-kicker {
            /* ⛔ NOT AN EYEBROW. It was uppercase, tracked to .18em, coloured `--accent`, and sat
               above EVERY heading — which the direction names as the commonest tell of a
               generated page, and colouring it made it louder than the data beneath it. It is a
               run-in PLACARD now: small, quiet, on the same line as the heading, which is where a
               label on an instrument actually sits. */
            display: inline; margin: 0 10px 0 0;
            font-family: var(--sans); font-size: 10px; font-weight: 400;
            letter-spacing: .08em; text-transform: uppercase; color: var(--faint);
        }
.act2__panel .v4-section h2, .act3__map .v4-section h2 { margin: 0; }
.act2__panel .v4-section, .act3__map .v4-section { padding: 24px; }
.act2__panel .v4-section-heading, .act3__map .v4-section-heading { margin-bottom: 14px; }
.act2__panel .v4-section p, .act3__map .v4-section p, .act2__panel .v4-prose-block, .act3__map .v4-prose-block, .act2__panel .v4-section-ai, .act3__map .v4-section-ai { max-width: 76ch; }
.act2__panel .v4-section h2, .act3__map .v4-section h2 { font-size: 20px; font-weight: 700; line-height: 1.25;
                          letter-spacing: .01em; display: inline; }
.act2__panel .taf-applicable, .act3__map .taf-applicable {
            background: rgba(var(--accent-rgb), 0.10);
            border-radius: 3px;
            padding: 0 2px;
            font-weight: 700;
        }
@media (max-width: 820px) {
.act2__panel .v4-topbar, .act3__map .v4-topbar { margin: 0 -14px; gap: 10px; }
.act2__panel .v4-topbar-route, .act3__map .v4-topbar-route { display: none; }
}
.act2__panel .v4-hdr, .act3__map .v4-hdr { padding: 2px 0 10px; }
.act2__panel .v4-hdr-id, .act3__map .v4-hdr-id { display: flex; align-items: baseline; gap: 10px; flex-wrap: wrap; }
.act2__panel .v4-hdr-icao, .act3__map .v4-hdr-icao { font-family: var(--mono); font-size: 17px; font-weight: 600; letter-spacing: .01em; }
.act2__panel .v4-hdr-name, .act3__map .v4-hdr-name { font-family: var(--serif); font-size: 21px; font-weight: 400;
               letter-spacing: -.005em; }
.act2__panel .v4-hdr-role, .act3__map .v4-hdr-role { font-size: 11px; letter-spacing: .08em; text-transform: uppercase;
               color: var(--faint); margin-left: auto; }
.act2__panel .v4-hdr-ops, .act3__map .v4-hdr-ops { display: flex; gap: 18px; flex-wrap: wrap; align-items: baseline; margin-top: 5px; }
.act2__panel .v4-hdr-pos, .act3__map .v4-hdr-pos, .act2__panel .v4-hdr-val, .act3__map .v4-hdr-val { font-family: var(--mono); font-size: 13px;
                           font-variant-numeric: tabular-nums; }
.act2__panel .v4-hdr-f, .act3__map .v4-hdr-f { display: inline-flex; gap: 6px; align-items: baseline; }
.act2__panel .v4-placard, .act3__map .v4-placard { font-size: 10px; letter-spacing: .08em; text-transform: uppercase;
              color: var(--faint); }
.act2__panel .v4-hdr-win, .act3__map .v4-hdr-win { display: flex; gap: 10px; align-items: baseline; flex-wrap: wrap; margin-top: 4px; }
.act2__panel .v4-hdr-how, .act3__map .v4-hdr-how { font-size: 12px; color: var(--faint); }
.act2__panel .v4-hdr-verdicts, .act3__map .v4-hdr-verdicts { display: grid; gap: 3px; margin-top: 8px; }
.act2__panel .v4-verdict, .act3__map .v4-verdict { display: flex; align-items: center; gap: 7px; font-size: 13px;
              background: none !important; }
.act2__panel .v4-verdict .v4-card-bdot, .act3__map .v4-verdict .v4-card-bdot { flex: none; }
.act2__panel .v4-verdict.v4-badge-critical, .act3__map .v4-verdict.v4-badge-critical { color: var(--critical-text); }
.act2__panel .v4-verdict.v4-badge-high, .act3__map .v4-verdict.v4-badge-high { color: var(--high-text); }
.act2__panel .v4-verdict.v4-badge-caution, .act3__map .v4-verdict.v4-badge-caution { color: var(--medium-text); }
.act2__panel .v4-verdict.v4-badge-clear, .act3__map .v4-verdict.v4-badge-clear { color: var(--ink); }
.act2__panel .v4-verdict-more, .act3__map .v4-verdict-more { font-size: 12px; color: var(--faint); }
.act2__panel .v4-ctl, .act3__map .v4-ctl { display: flex; gap: 14px; align-items: center; flex-wrap: wrap;
          padding: 8px 0; margin-top: 6px;
          border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.act2__panel .v4-ctl-phase, .act3__map .v4-ctl-phase { display: inline-flex; border: 1px solid var(--line); border-radius: 3px;
                overflow: hidden; }
.act2__panel .v4-ctl-seg, .act3__map .v4-ctl-seg { font-size: 10px; letter-spacing: .08em; padding: 3px 9px; }
.act2__panel .v4-ctl-on, .act3__map .v4-ctl-on { background: rgba(var(--ink-rgb), .07); font-weight: 600; }
.act2__panel .v4-ctl-rwy, .act3__map .v4-ctl-rwy { display: inline-flex; gap: 7px; align-items: baseline; }
.act2__panel .v4-ctl-des, .act3__map .v4-ctl-des { font-family: var(--mono); font-size: 19px; font-weight: 600;
              font-variant-numeric: tabular-nums; }
.act2__panel .v4-ctl-other, .act3__map .v4-ctl-other { font-family: var(--mono); font-size: 12px; color: var(--faint); }
.act2__panel .v4-tab-strip, .act3__map .v4-tab-strip { display: flex; gap: 20px; border-bottom: 1px solid var(--line); margin-top: 10px;
  overflow-x: auto; scrollbar-width: none; -ms-overflow-style: none; }
.act2__panel .v4-tab-strip::-webkit-scrollbar, .act3__map .v4-tab-strip::-webkit-scrollbar { display: none; }
.act2__panel .v4-tab, .act3__map .v4-tab { flex: none; white-space: nowrap; }
@media (max-width: 430px) {
.act2__panel .v4-tab-strip, .act3__map .v4-tab-strip { gap: 14px; }
}
.act2__panel .v4-tab, .act3__map .v4-tab { appearance: none; background: none; border: 0; font: inherit; cursor: pointer;
          color: var(--faint); padding: 9px 0 7px; display: inline-flex; gap: 6px;
          align-items: center; border-bottom: 2px solid transparent; margin-bottom: -1px; }
.act2__panel .v4-tab-active, .act3__map .v4-tab-active { color: var(--ink); border-bottom-color: var(--ink); font-weight: 600; }
.act2__panel .v4-tab-dot, .act3__map .v4-tab-dot { width: 7px; height: 7px; border-radius: 50%; flex: none; }
.act2__panel .v4-tab-panel, .act3__map .v4-tab-panel { padding-top: 4px; }
.act2__panel .v4-apt-card:not([data-tabs="on"]) .v4-tab-strip, .act3__map .v4-apt-card:not([data-tabs="on"]) .v4-tab-strip { display: none; }
.act2__panel .v4-apt-card[data-tabs="on"] .v4-tab-panel, .act3__map .v4-apt-card[data-tabs="on"] .v4-tab-panel { display: none; }
.act2__panel .v4-apt-card[data-tabs="on"] .v4-tab-panel.v4-panel-active, .act3__map .v4-apt-card[data-tabs="on"] .v4-tab-panel.v4-panel-active { display: block; }
.act2__panel .v4-rwy-planned, .act3__map .v4-rwy-planned { font-size: 10px; letter-spacing: .08em; text-transform: uppercase;
                  border: 1px solid var(--accent); color: var(--accent);
                  border-radius: 3px; padding: 0 5px; }
.act2__panel .v4-apt-card:not([data-tabs="on"]) .v4-ntm-bar, .act3__map .v4-apt-card:not([data-tabs="on"]) .v4-ntm-bar { display: none; }
@media print {
.act2__panel details::details-content, .act3__map details::details-content { content-visibility: visible !important; }
.act2__panel .v4-tab-strip, .act3__map .v4-tab-strip { display: none !important; }
.act2__panel .v4-apt-card[data-tabs="on"] .v4-tab-panel, .act3__map .v4-apt-card[data-tabs="on"] .v4-tab-panel, .act2__panel .v4-tab-panel, .act3__map .v4-tab-panel { display: block !important; }
.act2__panel .v4-tab-panel::before, .act3__map .v4-tab-panel::before { content: attr(data-panel); display: block; font-size: 10px;
    letter-spacing: .08em; text-transform: uppercase; color: var(--faint);
    margin: 10px 0 2px; }
}
.act2__panel .v4-apt-card, .act3__map .v4-apt-card { border: 1px solid var(--line); border-radius: 3px; background: var(--display);
  box-shadow: inset 0 1px 0 var(--rim);
  margin-bottom: 10px; overflow: hidden; }
.act2__panel .v4-apt-summary, .act3__map .v4-apt-summary { display: flex; align-items: center; gap: 12px; padding: 12px 14px;
  cursor: pointer; list-style: none; user-select: none; flex-wrap: wrap; }
.act2__panel .v4-apt-summary::-webkit-details-marker, .act3__map .v4-apt-summary::-webkit-details-marker { display: none; }
.act2__panel .v4-apt-summary::before, .act3__map .v4-apt-summary::before { content: "\203A"; font-size: 16px; color: var(--faint);
  transition: transform .15s; display: inline-block; width: 14px; flex: none; }
.act2__panel .v4-apt-card[open] > .v4-apt-summary::before, .act3__map .v4-apt-card[open] > .v4-apt-summary::before { transform: rotate(90deg); }
.act2__panel .v4-apt-card[open] > .v4-apt-summary .v4-card-role, .act3__map .v4-apt-card[open] > .v4-apt-summary .v4-card-role, .act2__panel .v4-apt-card[open] > .v4-apt-summary .v4-card-window, .act3__map .v4-apt-card[open] > .v4-apt-summary .v4-card-window {{ display: none; }}
.act2__panel .v4-apt-summary:hover, .act3__map .v4-apt-summary:hover { background: rgba(var(--ink-rgb),0.03); }
.act2__panel .v4-card-icao, .act3__map .v4-card-icao { font-family: var(--mono); font-weight: 600; font-size: 17px;
  letter-spacing: .01em; color: var(--ink); flex: none; min-width: 56px; }
.act2__panel .v4-card-role, .act3__map .v4-card-role { font-size: 10px; text-transform: uppercase; letter-spacing: .06em;
  color: var(--faint); flex: none; }
.act2__panel .v4-card-rowmain, .act3__map .v4-card-rowmain { flex: 0 1 auto; min-width: 0; margin-right: auto; }
.act2__panel .v4-card-window, .act3__map .v4-card-window { display: inline-flex; align-items: center; gap: 4px; font-size: 11px;
  font-variant-numeric: tabular-nums; color: var(--faint);
  background: rgba(var(--ink-rgb),0.05); padding: 2px 8px; border-radius: 6px; white-space: nowrap; }
.act2__panel .v4-card-rowsig, .act3__map .v4-card-rowsig { display: flex; align-items: center; gap: 8px; flex-wrap: wrap;
  justify-content: flex-end; min-width: 0; margin-left: auto; }
.act2__panel .v4-card-badge, .act3__map .v4-card-badge { display: inline-flex; align-items: center; gap: 5px; font-size: 11px;
  font-weight: 600; padding: 3px 9px; border-radius: 6px; white-space: nowrap; }
.act2__panel .v4-card-bdot, .act3__map .v4-card-bdot { width: 7px; height: 7px; border-radius: 50%; }
.act2__panel .v4-badge-critical, .act3__map .v4-badge-critical { background: rgba(var(--critical-rgb),0.12); color: var(--critical-text); }
.act2__panel .v4-badge-critical .v4-card-bdot, .act3__map .v4-badge-critical .v4-card-bdot { background: var(--critical); }
.act2__panel .v4-badge-high, .act3__map .v4-badge-high { background: rgba(var(--high-rgb),0.12); color: var(--high-text); }
.act2__panel .v4-badge-high .v4-card-bdot, .act3__map .v4-badge-high .v4-card-bdot { background: var(--high); }
.act2__panel .v4-badge-caution, .act3__map .v4-badge-caution { background: rgba(var(--medium-rgb),0.14); color: var(--medium-text); }
.act2__panel .v4-badge-caution .v4-card-bdot, .act3__map .v4-badge-caution .v4-card-bdot { background: var(--medium); }
.act2__panel .v4-badge-clear, .act3__map .v4-badge-clear { background: rgba(var(--low-rgb),0.12); color: var(--low-text); }
.act2__panel .v4-badge-clear .v4-card-bdot, .act3__map .v4-badge-clear .v4-card-bdot { background: var(--low); }
.act2__panel .v4-card-more, .act3__map .v4-card-more { font-size: 11px; color: var(--faint); }
.act2__panel .v4-apt-body, .act3__map .v4-apt-body { padding: 0 14px 14px 40px; }
.act2__panel .v4-card-block, .act3__map .v4-card-block { margin-top: 12px; }
.act2__panel .v4-card-blocklabel, .act3__map .v4-card-blocklabel { font-size: 10px; text-transform: uppercase; letter-spacing: .07em;
  color: var(--faint); margin-bottom: 7px; display: flex; align-items: center; gap: 7px; }
.act2__panel .v4-card-factlist, .act3__map .v4-card-factlist { border: 1px solid var(--line); border-radius: 3px; overflow: hidden;
  background: none; }
.act2__panel .v4-card-fitem, .act3__map .v4-card-fitem { display: flex; gap: 10px; padding: 8px 12px; border-bottom: 1px solid var(--line);
  font-size: 12px; }
.act2__panel .v4-card-fitem:last-child, .act3__map .v4-card-fitem:last-child { border-bottom: none; }
.act2__panel .v4-card-ftype, .act3__map .v4-card-ftype { flex: none; min-width: 54px; color: var(--faint); font-size: 10px;
  text-transform: uppercase; letter-spacing: .05em; padding-top: 2px; }
.act2__panel .v4-card-ftext, .act3__map .v4-card-ftext { flex: 1; font-family: var(--mono);
  color: var(--ink); white-space: pre-wrap; word-break: break-word; }
.act2__panel .v4-card-fvalid, .act3__map .v4-card-fvalid { flex: none; color: var(--accent); font-size: 10px; white-space: nowrap;
  padding-top: 2px; }
.act2__panel .v4-card-muted, .act3__map .v4-card-muted { color: var(--faint); }
.act2__panel .v4-card-assess, .act3__map .v4-card-assess { border: 1px solid var(--line); border-radius: 9px; padding: 11px 13px;
  background: none; }
.act2__panel .v4-card-athreat, .act3__map .v4-card-athreat { font-size: 13px; margin-bottom: 8px; color: var(--ink); }
.act2__panel .v4-card-athreat:last-child, .act3__map .v4-card-athreat:last-child { margin-bottom: 0; }
.act2__panel .v4-apt-card .v4-card-flag.v4-flag-caution, .act3__map .v4-apt-card .v4-card-flag.v4-flag-caution { display: none; }
.act2__panel .v4-apt-card.v4-clear-apt, .act3__map .v4-apt-card.v4-clear-apt { display: none; }
.act2__panel .v4-deck, .act3__map .v4-deck { display: grid; grid-template-columns: minmax(0, 1fr); gap: 20px; margin-top: 20px;
  align-items: start; }
.act2__panel .v4-bay, .act3__map .v4-bay { min-width: 0; }
.act2__panel .v4-bay-roles, .act3__map .v4-bay-roles { display: none; grid-template-columns: repeat(5, 1fr); gap: 4px;
  padding-bottom: 10px; }
.act2__panel .v4-bay-live .v4-bay-roles, .act3__map .v4-bay-live .v4-bay-roles { display: grid; }
.act2__panel .v4-bay-role, .act3__map .v4-bay-role {
  font: inherit; font-family: var(--sans); font-size: 10px; letter-spacing: .06em;
  background: none; border: 1px solid var(--line); border-radius: 3px; color: var(--muted);
  padding: 4px 2px; cursor: pointer; text-align: center;
  transition: color .15s ease, border-color .15s ease;
}
.act2__panel .v4-bay-role:hover, .act3__map .v4-bay-role:hover { color: var(--ink); border-color: var(--accent); }
.act2__panel .v4-bay-role:focus-visible, .act3__map .v4-bay-role:focus-visible { outline: 2px solid var(--signal); outline-offset: 2px; }
.act2__panel .v4-bay-role[aria-pressed="true"], .act3__map .v4-bay-role[aria-pressed="true"] { color: var(--ink); border-color: var(--ink); }
.act2__panel .v4-bay-group, .act3__map .v4-bay-group {
  font-family: var(--sans); font-size: 9px; letter-spacing: .1em; text-transform: uppercase;
  color: var(--faint); padding: 10px 0 4px 2px;
}
.act2__panel .v4-bay-rack, .act3__map .v4-bay-rack { display: grid; gap: 4px; }
.act2__panel .v4-strip, .act3__map .v4-strip {
  display: flex; align-items: flex-start; gap: 8px;
  padding: 7px 9px 7px 8px;
  background: var(--display); border: 1px solid var(--line); border-radius: 3px;
  border-left: 2px solid var(--line);          /* the holder */
  color: var(--ink); text-decoration: none;
  transition: transform .15s cubic-bezier(.16,1,.3,1), border-color .15s ease;
}
.act2__panel .v4-strip:hover, .act3__map .v4-strip:hover { border-color: rgba(var(--ink-rgb), .34); }
.act2__panel .v4-strip:focus-visible, .act3__map .v4-strip:focus-visible { outline: 2px solid var(--signal); outline-offset: 2px; }
.act2__panel .v4-strip-glyph, .act3__map .v4-strip-glyph {
  font-family: var(--mono); font-size: 9px; letter-spacing: .04em; color: var(--muted);
  border: 1px solid var(--line); border-radius: 2px; padding: 1px 3px; flex: none; margin-top: 1px;
}
.act2__panel .v4-strip-body, .act3__map .v4-strip-body { min-width: 0; flex: 1 1 auto; }
.act2__panel .v4-strip-l1, .act3__map .v4-strip-l1 { display: flex; align-items: baseline; gap: 8px; }
.act2__panel .v4-strip-icao, .act3__map .v4-strip-icao {
  font-family: var(--mono); font-size: 14px; letter-spacing: .02em; color: var(--ink);
}
.act2__panel .v4-strip-win, .act3__map .v4-strip-win {
  font-family: var(--mono); font-size: 10px; font-variant-numeric: tabular-nums;
  color: var(--faint); margin-left: auto; white-space: nowrap;
}
.act2__panel .v4-strip-sub, .act3__map .v4-strip-sub { display: block; font-family: var(--sans); font-size: 10px; color: var(--faint); }
.act2__panel .v4-strip-flight .v4-strip-l1, .act3__map .v4-strip-flight .v4-strip-l1 { font-family: var(--sans); font-size: 13px; }
.act2__panel .v4-strip-title, .act3__map .v4-strip-title { color: var(--ink); text-decoration: none; }
.act2__panel .v4-strip-title:hover, .act3__map .v4-strip-title:hover { color: var(--accent); }
.act2__panel .v4-strip-sub, .act3__map .v4-strip-sub { display: flex; flex-wrap: wrap; gap: 2px 9px; }
.act2__panel .v4-strip-jump, .act3__map .v4-strip-jump { color: var(--faint); text-decoration: none; white-space: nowrap; }
.act2__panel .v4-strip-jump:hover, .act3__map .v4-strip-jump:hover { color: var(--accent); }
.act2__panel .v4-strip-title:focus-visible, .act3__map .v4-strip-title:focus-visible, .act2__panel .v4-strip-jump:focus-visible, .act3__map .v4-strip-jump:focus-visible {
  outline: 2px solid var(--signal); outline-offset: 2px;
}
.act2__panel .v4-strip .v4-hdr-verdicts, .act3__map .v4-strip .v4-hdr-verdicts { gap: 1px; margin-top: 3px; }
.act2__panel .v4-strip .v4-verdict, .act3__map .v4-strip .v4-verdict { font-size: 11px; gap: 6px; }
.act2__panel .v4-strip .v4-verdict .v4-card-bdot, .act3__map .v4-strip .v4-verdict .v4-card-bdot { width: 6px; height: 6px; }
.act2__panel .v4-strip .v4-verdict-more, .act3__map .v4-strip .v4-verdict-more { display: none; }
.act2__panel .v4-strip-marked, .act3__map .v4-strip-marked { border-left-color: var(--signal); transform: translateX(4px); }
.act2__panel .v4-strip[aria-current="page"], .act3__map .v4-strip[aria-current="page"] { border-left-color: var(--signal); }
@media (min-width: 960px) {
.act2__panel .v4-deck, .act3__map .v4-deck { grid-template-columns: 244px minmax(0, 1fr); gap: 24px; }
.act2__panel .v4-bay, .act3__map .v4-bay {
    position: sticky; top: calc(var(--stick-h, 192px) + 10px);
    max-height: calc(100vh - var(--stick-h, 192px) - 28px);
    display: flex; flex-direction: column;
  }
.act2__panel .v4-bay-rack, .act3__map .v4-bay-rack { overflow-y: auto; overscroll-behavior: contain; min-height: 0; }
}
@media (max-width: 959px) {
.act2__panel .v4-bay-live .v4-bay-roles, .act3__map .v4-bay-live .v4-bay-roles { display: flex; flex-wrap: wrap; gap: 6px; }
.act2__panel .v4-bay-role, .act3__map .v4-bay-role { padding: 4px 10px; }
.act2__panel .v4-bay-rack, .act3__map .v4-bay-rack {
    display: flex; gap: 6px; overflow-x: auto; overscroll-behavior-x: contain;
    padding-bottom: 4px; scroll-snap-type: x proximity;
  }
.act2__panel .v4-bay-rack > .v4-strip, .act3__map .v4-bay-rack > .v4-strip { flex: 0 0 auto; width: 172px; scroll-snap-align: start; }
.act2__panel .v4-bay-rack > .v4-bay-group, .act3__map .v4-bay-rack > .v4-bay-group { display: none; }
.act2__panel .v4-strip-marked, .act3__map .v4-strip-marked { transform: translateY(-3px); }
.act2__panel .v4-strip-win, .act3__map .v4-strip-win { margin-left: 0; }
.act2__panel .v4-strip-flight, .act3__map .v4-strip-flight { width: 150px; }
}
.act2__panel .v4-bay-state:empty, .act3__map .v4-bay-state:empty { display: none; }
.act2__panel .v4-bay-state, .act3__map .v4-bay-state { margin: 8px 0 0; font-family: var(--sans); font-size: 11px; color: var(--muted); }
.act2__panel .v4-bay-state b, .act3__map .v4-bay-state b { font-weight: 400; color: var(--ink); }
.act2__panel /* ⛔ OFFSTAGE IS A SCREEN-ONLY IDEA, .act3__map /* ⛔ OFFSTAGE IS A SCREEN-ONLY IDEA, .act2__panel AND IT IS SCOPED TO `@media screen` RATHER THAN UNDONE IN
   `@media print`. Narrowing the view must never narrow the DOCUMENT: the brief is printed, .act3__map AND IT IS SCOPED TO `@media screen` RATHER THAN UNDONE IN
   `@media print`. Narrowing the view must never narrow the DOCUMENT: the brief is printed, .act2__panel stored
   and re-served, .act3__map stored
   and re-served, .act2__panel and a page hidden by a reader's click an hour ago must not be missing from the
   paper. Written as an override — `@media print, .act3__map and a page hidden by a reader's click an hour ago must not be missing from the
   paper. Written as an override — `@media print { .v4-offstage { display: revert } }
.act2__panel ` — the
   property would hold only as long as nobody added a more specific rule; written this way the
   print stylesheet never learns the class exists at all. This is the ancestor-chain trap closed by
   construction: there is no ancestor chain to restore. */
@media screen, .act3__map ` — the
   property would hold only as long as nobody added a more specific rule; written this way the
   print stylesheet never learns the class exists at all. This is the ancestor-chain trap closed by
   construction: there is no ancestor chain to restore. */
@media screen {
  .v4-offstage { display: none !important; }
}
@media (prefers-reduced-motion: reduce) {
.act2__panel .v4-strip, .act3__map .v4-strip { transition: none; }
}
@media print {
.act2__panel .v4-bay, .act3__map .v4-bay { display: none !important; }
.act2__panel .v4-deck, .act3__map .v4-deck { display: block; }
}
.act2__panel .v4-map-frame, .act3__map .v4-map-frame { border: 1px solid var(--line); border-radius: 3px; overflow: hidden;
  background: none; position: relative; }
.act2__panel .v4-map-svg polyline, .act3__map .v4-map-svg polyline, .act2__panel .v4-map-svg polygon, .act3__map .v4-map-svg polygon, .act2__panel .v4-map-svg circle, .act3__map .v4-map-svg circle, .act2__panel .v4-map-svg line, .act3__map .v4-map-svg line {
  vector-effect: non-scaling-stroke; }
.act2__panel .v4-map-svg, .act3__map .v4-map-svg { --v4-map-k: 1; }
.act2__panel .v4-map-interactive .v4-map-svg, .act3__map .v4-map-interactive .v4-map-svg { cursor: grab; touch-action: none; }
.act2__panel .v4-map-interactive .v4-map-svg.v4-map-grabbing, .act3__map .v4-map-interactive .v4-map-svg.v4-map-grabbing { cursor: grabbing; }
.act2__panel .v4-map-zoom, .act3__map .v4-map-zoom { position: absolute; top: 8px; right: 8px; display: flex; flex-direction: column;
  gap: 4px; }
.act2__panel .v4-map-zoom button, .act3__map .v4-map-zoom button { width: 26px; height: 26px; padding: 0; line-height: 1; font-size: 14px;
  border: 1px solid var(--line); border-radius: 6px; background: var(--panel);
  color: var(--muted); cursor: pointer; font-family: inherit; }
.act2__panel .v4-map-zoom button:hover, .act3__map .v4-map-zoom button:hover { border-color: var(--accent); color: var(--accent); }
@media print {
.act2__panel .v4-map-zoom, .act3__map .v4-map-zoom { display: none !important; }
}
.act2__panel .v4-map-svg, .act3__map .v4-map-svg { display: block; width: 100%; height: auto; }
.act2__panel .v4-map-border, .act3__map .v4-map-border { fill: none; stroke: rgba(var(--ink-rgb),0.28); stroke-width: 0.8;
  stroke-linejoin: round; stroke-linecap: round; }
.act2__panel .v4-map-grid, .act3__map .v4-map-grid { stroke: rgba(var(--ink-rgb),0.10); stroke-width: 1; }
.act2__panel .v4-map-grid-label, .act3__map .v4-map-grid-label { fill: rgba(var(--ink-rgb),0.35); font-size: calc(11px / var(--v4-map-k));
  font-family: var(--sans); }
.act2__panel .v4-map-route, .act3__map .v4-map-route { fill: none; stroke: var(--accent); stroke-width: 2.2; stroke-linejoin: round;
  stroke-linecap: round; }
.act2__panel .v4-map-sigmet, .act3__map .v4-map-sigmet { fill: rgba(var(--high-rgb),0.13); stroke: var(--high); stroke-width: 1.4; }
.act2__panel .v4-map-sigmet-high, .act3__map .v4-map-sigmet-high { fill: rgba(var(--high-rgb),0.13); stroke: var(--high); stroke-width: 1.4; }
.act2__panel .v4-map-sigmet-medium, .act3__map .v4-map-sigmet-medium { fill: rgba(var(--medium-rgb),0.11); stroke: var(--medium);
  stroke-width: 1.3; }
.act2__panel .v4-map-sigmet-ref, .act3__map .v4-map-sigmet-ref { fill: rgba(var(--ink-rgb),0.05);
  stroke-dasharray: 5 4; stroke-opacity: .55; }
.act2__panel .v4-map-shear path, .act3__map .v4-map-shear path { fill: none; stroke: var(--medium); stroke-width: 1.8;
  stroke-linecap: round; }
.act2__panel .v4-map-key-shear, .act3__map .v4-map-key-shear { border-top-color: var(--medium-text); }
.act2__panel .v4-map-apt, .act3__map .v4-map-apt { fill: var(--paper); stroke: var(--accent); stroke-width: 2; }
.act2__panel .v4-map-apt-alt, .act3__map .v4-map-apt-alt { stroke: rgba(var(--ink-rgb),0.45); }
.act2__panel .v4-map-apt-takeoff_alternate, .act3__map .v4-map-apt-takeoff_alternate, .act2__panel .v4-map-apt-enroute_alternate, .act3__map .v4-map-apt-enroute_alternate, .act2__panel .v4-map-apt-enroute_station, .act3__map .v4-map-apt-enroute_station, .act2__panel .v4-map-apt-etops_suitable, .act3__map .v4-map-apt-etops_suitable {
  stroke: rgba(var(--ink-rgb),0.35); stroke-width: 1.5; }
.act2__panel .v4-map-pin, .act3__map .v4-map-pin { cursor: pointer; }
.act2__panel .v4-map-svg line.v4-map-bdot, .act3__map .v4-map-svg line.v4-map-bdot { vector-effect: none; }
.act2__panel .v4-map-bdot, .act3__map .v4-map-bdot { stroke-linecap: round; stroke-width: 5.5; }
.act2__panel .v4-map-bdot-sm, .act3__map .v4-map-bdot-sm { stroke-width: 4; }
.act2__panel .v4-map-bdot-critical, .act3__map .v4-map-bdot-critical { stroke: var(--critical); }
.act2__panel .v4-map-bdot-high, .act3__map .v4-map-bdot-high { stroke: var(--high); }
.act2__panel .v4-map-bdot-caution, .act3__map .v4-map-bdot-caution { stroke: var(--medium); }
.act2__panel .v4-map-bdot-clear, .act3__map .v4-map-bdot-clear { stroke: var(--low); }
.act2__panel .v4-map-bdot-unknown.v4-map-bdot-sm, .act3__map .v4-map-bdot-unknown.v4-map-bdot-sm { stroke-width: 2.5; }
.act2__panel .v4-map-pin:hover .v4-map-bdot, .act3__map .v4-map-pin:hover .v4-map-bdot { stroke-width: 7.5; }
.act2__panel .v4-map-pin:hover .v4-map-bdot-sm, .act3__map .v4-map-pin:hover .v4-map-bdot-sm { stroke-width: 6; }
.act2__panel .v4-map-pin:hover .v4-map-apt, .act3__map .v4-map-pin:hover .v4-map-apt { stroke-width: 3; }
.act2__panel .v4-map-pin:hover .v4-map-apt-label, .act3__map .v4-map-pin:hover .v4-map-apt-label { text-decoration: underline; }
.act2__panel .v4-map-apt-label, .act3__map .v4-map-apt-label { fill: var(--ink); font-size: calc(13px / var(--v4-map-k)); font-weight: 700; text-anchor: middle;
  font-family: var(--sans); }
.act2__panel .v4-map-apt-label-sm, .act3__map .v4-map-apt-label-sm { font-size: calc(10px / var(--v4-map-k)); font-weight: 600;
  fill: rgba(var(--ink-rgb),0.7); }
.act2__panel .v4-map-key-bdot, .act3__map .v4-map-key-bdot { width: 7px; height: 7px; border-radius: 50%; display: inline-block;
  vertical-align: middle; margin-right: 3px; }
.act2__panel .v4-map-key-bdot-clear, .act3__map .v4-map-key-bdot-clear { background: var(--low); }
.act2__panel .v4-map-key-bdot-high, .act3__map .v4-map-key-bdot-high { background: var(--high); margin-right: 6px; }
.act2__panel .v4-map-key-bdot-unknown, .act3__map .v4-map-key-bdot-unknown { background: none; border: 2px solid rgba(var(--ink-rgb),0.30); }
.act2__panel .v4-map-legend, .act3__map .v4-map-legend { display: flex; flex-wrap: wrap; gap: 14px; margin-top: 10px; font-size: 11px;
  color: var(--muted); }
.act2__panel .v4-map-key, .act3__map .v4-map-key { display: inline-flex; align-items: center; gap: 6px; }
.act2__panel .v4-map-key i, .act3__map .v4-map-key i { width: 16px; height: 0; display: inline-block; border-top-width: 3px;
  border-top-style: solid; }
.act2__panel .v4-map-key-route, .act3__map .v4-map-key-route { border-top-color: var(--accent); }
.act2__panel .v4-map-key-sigmet-critical, .act3__map .v4-map-key-sigmet-critical { border-top-color: var(--critical-text); }
.act2__panel .v4-map-key-sigmet, .act3__map .v4-map-key-sigmet { border-top-color: var(--high-text); }
.act2__panel .v4-map-key-sigmet-medium, .act3__map .v4-map-key-sigmet-medium { border-top-color: var(--medium-text); }
.act2__panel .v4-map-key-sigmet-ref, .act3__map .v4-map-key-sigmet-ref { border-top-color: var(--faint); border-top-style: dashed; }
.act2__panel .v4-map-unmapped, .act3__map .v4-map-unmapped { margin-top: 12px; font-size: 12px; color: var(--muted);
  border-left: 3px solid rgba(var(--ink-rgb),0.2); padding-left: 11px; }
.act2__panel .v4-map-unmapped-head, .act3__map .v4-map-unmapped-head { font-size: 10px; text-transform: uppercase; letter-spacing: .06em;
  color: var(--faint); margin-bottom: 4px; }
.act2__panel .v4-map-unmapped ul, .act3__map .v4-map-unmapped ul { margin: 0; padding-left: 16px; }
.act2__panel .v4-map-note, .act3__map .v4-map-note { margin-top: 10px; font-size: 11px; color: var(--faint); }
@media print {
.act2__panel .v4-map-frame, .act3__map .v4-map-frame { break-inside: avoid; }
}
