/* IGW Reference 0.1.6 hub stylesheet, 2026-09-12.
   Hosted and pinned with SHA-384. Until today this sheet was inlined in the
   page-footer block of all four hubs - /vehicles and /spaceports carried it
   byte-identical at 13,795 bytes each, /organizations and /recovery carried
   subsets - so the same rules were delivered four times, uncached, and any
   edit meant rewriting four page-footer blocks by hand. One file, cached
   across the four routes, replaces them.
   The feed-hiding rule takes the !important /organizations had; nothing else
   differs from the /vehicles copy, and the extra rules match no element on
   the two hubs that had subsets. Source of truth
   runtimes/igwreference-0.1.6.css. */
/* IGW Reference 0.1.4 page styles. Reviewable copy with commentary:
   runtimes/igwreference-0.1.4.css.

   2026-09-05: the hero pads 48px at the top on a phone (design review §3.5),
   where it took the desktop's 132 under a 71px nav; the filter buttons are
   44px (access audit D16).
   2026-09-04: the hub H1 is weight 600 and takes the site's phone display
   ramp, clamp(38px, 11.6vw, 68px). It was 500 - the site's only second H1
   weight - on a ramp of its own whose 42px floor is not a step on the scale,
   and at 50.7px the final word of three hub headlines was wide enough that
   the browser broke it and left the full stop alone on the last line. The
   wrap properties below stop any break inside a word, so the stop can never
   start a line whatever the headline is. The section headings take the .04em
   word space the site's own h2 took on 2026-09-04. */
.igw2-page[data-igw-hub] .igw2-explore-hero { min-height: 0 !important; padding-top: 132px; padding-bottom: 56px; }
.igw2-page[data-igw-hub] .igw2-explore-copy { transform: none; text-shadow: none; }
.igw2-page[data-igw-hub] h1.igw2-display { font-size: 68px; line-height: .98; letter-spacing: -.02em; font-weight: 600; margin: 18px 0 22px; max-width: 14ch; }
.igw2-page[data-igw-hub] .igw2-lede { font-size: 21px; line-height: 1.4; max-width: 46ch; }
@media (min-width: 992px) {
  .igw2-page[data-igw-hub-globe="true"] .igw2-explore-hero { grid-template-columns: minmax(0, 1fr) minmax(0, 1.28fr); column-gap: 4vw; align-items: center; }
  .igw2-page[data-igw-hub-globe="true"] .igw2-explore-globe { min-height: 0 !important; aspect-ratio: 1 / 1; transform: none; }
  .igw2-page[data-igw-hub-globe="none"] .igw2-explore-hero { grid-template-columns: minmax(0, 1fr); padding-bottom: 40px; }
}
@media (max-width: 991px) {
  .igw2-page[data-igw-hub-globe="true"] .igw2-explore-globe { min-height: 0 !important; aspect-ratio: 1 / 1; transform: none; }
}
@media (max-width: 767px) {
  .igw2-page[data-igw-hub] .igw2-explore-hero { padding-top: 48px; }
  .igw2-page[data-igw-hub] h1.igw2-display { font-size: clamp(38px, 11.6vw, 68px); line-height: .92; letter-spacing: -.035em; max-width: 100%; overflow-wrap: normal; word-break: normal; hyphens: none; }
  .igw2-page[data-igw-hub-globe="true"] .igw2-explore-globe { width: 100vw; margin-left: calc(50% - 50vw); margin-right: calc(50% - 50vw); border-radius: 0; border-left: 0; border-right: 0; box-shadow: none; }
  .igw2-page[data-igw-hub-globe="true"] .igw2-explore-hero { padding-bottom: 0; }
  .igw2-page[data-igw-hub-globe="true"] .igw2-3d-host { touch-action: pan-y; }
}
[data-igw-reference] { --ref-hair: rgba(255,255,255,.10); --ref-edge: rgba(255,255,255,.14); --ref-edge-i: rgba(255,255,255,.36); --ref-edge-h: rgba(255,255,255,.60); --ref-accent: #7DB8EA; --ref-accent-h: #A3CDF2; --ref-accent-fill: rgba(125,184,234,.12); --ref-muted: #9fa7af; --ref-cap: #8A94A0; --ref-text: #f5f5f5; --ref-surface: #0b0d0f; --ref-raised: #12161a; --ref-ground: var(--_igw-2-0---color--background, #050505); display: block; padding: 0 0 24px; color: var(--ref-text); }
[data-igw-reference-slot] { --ref-hair: rgba(255,255,255,.10); --ref-edge: rgba(255,255,255,.14); --ref-edge-i: rgba(255,255,255,.36); --ref-edge-h: rgba(255,255,255,.60); --ref-accent: #7DB8EA; --ref-accent-h: #A3CDF2; --ref-accent-fill: rgba(125,184,234,.12); --ref-muted: #9fa7af; --ref-cap: #8A94A0; --ref-text: #f5f5f5; --ref-surface: #0b0d0f; --ref-raised: #12161a; display: block; color: var(--ref-text); }
[data-igw-reference], [data-igw-reference] *, [data-igw-reference-slot], [data-igw-reference-slot] * { box-sizing: border-box; }
[data-igw-reference] > [data-igw-snapshot-feed], [data-igw-snapshot-feed][aria-hidden="true"] { display: none !important; }
.igwref-asof { font-size: 12px; color: var(--ref-cap); margin: 0 0 8px; font-variant-numeric: tabular-nums; }
.igwref-h2 { font-family: var(--_igw-2-0---font--display), "Clashdisplay Variable", sans-serif; font-size: 38px; font-weight: 500; letter-spacing: -.01em; word-spacing: .04em; line-height: 1.05; color: var(--ref-text); margin: 0; }
.igwref-h3 { font-family: var(--_igw-2-0---font--body), "Plus Jakarta Sans", sans-serif; font-size: 21px; font-weight: 500; letter-spacing: -.01em; line-height: 1.25; color: var(--ref-text); margin: 0; }
.igwref-count, .igwref-tile-l, .igwref-table th, .igwref-chip, .igwref-pad-h span, .igwref-field-l, .igwref-film-k { font-size: 11px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; line-height: 1; }
.igwref-count { color: var(--ref-accent); }
.igwref-as-of, .igwref-sub, .igwref-tile-n, .igwref-note, .igwref-foot, .igwref-globe-note, .igwref-status, .igwref-film-l, .igwref-film-w { font-size: 12px; line-height: 1.45; color: var(--ref-cap); }
.igwref-copy { font-size: 16px; line-height: 1.55; color: var(--ref-muted); margin: 10px 0 0; max-width: 68ch; }
.igwref-empty { font-size: 16px; color: var(--ref-muted); margin: 12px 0 0; }
.igwref-t, .igwref-num, .igwref-tile-v { font-variant-numeric: tabular-nums; }
.igwref-t { color: #dbe6f2; }
.igwref-name { color: var(--ref-text); font-weight: 600; font-size: 16px; line-height: 1.3; }
.igwref-src { color: var(--ref-accent); text-decoration: none; border-bottom: 1px solid rgba(125,184,234,.45); display: inline-flex; align-items: center; min-height: 24px; }
.igwref-src:hover, .igwref-src:focus-visible { color: var(--ref-accent-h); border-bottom-color: var(--ref-accent-h); }
.igwref-src:focus-visible { outline: 2px solid var(--ref-accent); outline-offset: 2px; }
.igwref-section { padding: 44px 0 8px; border-top: 1px solid var(--ref-edge); margin-top: 28px; }
.igwref-asof + .igwref-section { border-top: 0; margin-top: 0; padding-top: 12px; }
.igwref-section-slot { border-top: 0; margin-top: 0; padding-top: 8px; }
.igwref-head, .igwref-subhead, .igwref-site-head { display: flex; align-items: baseline; justify-content: space-between; gap: 20px; flex-wrap: wrap; margin-bottom: 8px; }
.igwref-subhead { margin-top: 28px; }
.igwref-meta { display: flex; gap: 16px; align-items: baseline; flex-wrap: wrap; }
.igwref-note, .igwref-foot { margin: 8px 0 0; max-width: 80ch; line-height: 1.6; }
.igwref-foot { margin-top: 14px; }
.igwref-strip { display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: 12px; margin-top: 18px; }
.igwref-tile { background: var(--ref-surface); border: 1px solid var(--ref-edge); border-radius: 2px; padding: 18px 20px 16px; min-width: 0; }
.igwref-tile-wide { grid-column: span 2; }
.igwref-tile-l { color: var(--ref-cap); }
.igwref-tile-v { font-family: var(--_igw-2-0---font--display), "Clashdisplay Variable", sans-serif; font-size: 38px; font-weight: 500; letter-spacing: -.01em; color: var(--ref-text); line-height: 1.05; margin-top: 10px; overflow-wrap: anywhere; }
.igwref-tile-wide .igwref-tile-v { font-family: var(--_igw-2-0---font--body), "Plus Jakarta Sans", sans-serif; font-size: 28px; letter-spacing: -.01em; }
.igwref-tile-n { margin-top: 6px; }
.igwref-tw { overflow-x: auto; border: 1px solid var(--ref-edge); border-radius: 0; margin-top: 18px; background: var(--ref-surface); }
.igwref-table { border-collapse: collapse; width: 100%; min-width: 860px; font-size: 12px; }
.igwref-tw-narrow .igwref-table { min-width: 560px; }
.igwref-table th { color: var(--ref-cap); text-align: left; padding: 11px 16px; border-bottom: 1px solid var(--ref-edge); background: var(--ref-raised); white-space: nowrap; }
.igwref-table td { padding: 12px 16px; border-bottom: 1px solid var(--ref-hair); vertical-align: top; color: #b6c2d0; font-size: 12px; line-height: 1.45; }
.igwref-table tr:last-child td { border-bottom: 0; }
.igwref-when, .igwref-num { white-space: nowrap; }
.igwref-wrap { white-space: normal; min-width: 200px; max-width: 46ch; }
.igwref-links { display: flex; flex-direction: column; gap: 2px; align-items: flex-start; white-space: nowrap; }
.igwref-table .igwref-sub { margin-top: 2px; }
.igwref-status { margin: 8px 0 0; }
.igwref-chip { display: inline-block; padding: 4px 8px; border-radius: 2px; border: 1px solid #2a3341; color: var(--ref-muted); white-space: nowrap; line-height: 1.1; vertical-align: middle; }
.igwref-chip-good { border-color: #1e7a55; color: #4fbf8b; }
.igwref-chip-bad  { border-color: #7a2f2f; color: #e08a8a; }
.igwref-chip-warn { border-color: #7a5c1e; color: #e0b45a; }
.igwref-chip-live { border-color: #7a2f2f; color: #ff8f8f; }
.igwref-controls { display: flex; flex-wrap: wrap; gap: 12px 20px; align-items: flex-end; margin-top: 22px; }
.igwref-chips { display: flex; flex-wrap: wrap; gap: 6px; }
.igwref-btn { min-height: 44px; padding: 0 14px; background: transparent; border: 1px solid var(--ref-edge-i); border-radius: 2px; color: var(--ref-muted); font: inherit; font-size: 12px; font-weight: 600; letter-spacing: .02em; cursor: pointer; font-variant-numeric: tabular-nums; }
.igwref-btn:hover { border-color: var(--ref-edge-h); color: var(--ref-text); background: rgba(255,255,255,.06); }
.igwref-btn[aria-pressed="true"] { background: var(--ref-accent-fill); border-color: var(--ref-accent); color: var(--ref-text); }
.igwref-btn:focus-visible { outline: 2px solid var(--ref-accent); outline-offset: 2px; }
.igwref-btn[disabled] { border-color: var(--ref-edge); color: var(--ref-cap); cursor: default; }
.igwref-btn-row { margin-top: 6px; min-height: 28px; padding: 0 10px; font-size: 11px; }
.igwref-field { display: flex; flex-direction: column; gap: 6px; }
.igwref-field-l { color: var(--ref-cap); }
.igwref-input, .igwref-select { min-height: 36px; padding: 0 12px; background: var(--ref-surface); border: 1px solid var(--ref-edge-i); border-radius: 2px; color: var(--ref-text); font: inherit; font-size: 12px; min-width: 220px; }
.igwref-input::placeholder { color: var(--ref-cap); }
.igwref-input:focus, .igwref-select:focus { outline: none; border-color: var(--ref-accent); box-shadow: 0 0 0 3px rgba(125,184,234,.25); }
.igwref-select { padding-right: 32px; appearance: none; -webkit-appearance: none; background-image: linear-gradient(45deg, transparent 50%, #9fa7af 50%), linear-gradient(135deg, #9fa7af 50%, transparent 50%); background-position: calc(100% - 16px) 15px, calc(100% - 11px) 15px; background-size: 5px 5px; background-repeat: no-repeat; }
.igwref-sites { list-style: none; margin: 18px 0 0; padding: 0; display: grid; gap: 12px; }
.igwref-site { background: var(--ref-surface); border: 1px solid var(--ref-edge); border-radius: 4px; padding: 18px 20px 14px; }
.igwref-site-head { margin-bottom: 10px; }
.igwref-pads { display: grid; gap: 0; }
.igwref-pad { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, .9fr) minmax(0, 1.1fr) minmax(0, 1.1fr) minmax(0, .95fr); gap: 14px; padding: 12px 0; border-top: 1px solid var(--ref-hair); font-size: 12px; color: #b6c2d0; align-items: start; }
.igwref-pad-h { padding: 4px 0 8px; border-top: 0; }
.igwref-pad-h span { color: var(--ref-cap); }
.igwref-pad .igwref-sub { margin-top: 2px; }
.igwref-pad-act { display: flex; flex-direction: column; gap: 8px; align-items: flex-start; }
.igwref-globe-note { margin: 12px 0 0; padding-top: 10px; border-top: 1px solid var(--ref-hair); font-variant-numeric: tabular-nums; min-height: 12px; }
.igwref-globe-note:empty { display: none; }
.igwref-list { list-style: none; margin: 16px 0 0; padding: 0; display: grid; gap: 12px; }
.igwref-list li { border-left: 2px solid var(--ref-edge); padding-left: 14px; }
.igwref-list .igwref-t { font-size: 16px; margin-top: 3px; }
.igwref-coverage { margin-top: 8px; }
.igwref-films { display: grid; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap: 12px; margin-top: 14px; }
.igwref-film { position: relative; display: block; text-decoration: none; background: var(--ref-surface); border: 1px solid var(--ref-edge); border-radius: 4px; padding: 16px 44px 16px 18px; transition: border-color .15s ease-out, background-color .15s ease-out; }
.igwref-film:hover, .igwref-film:focus-visible { border-color: var(--ref-edge-i); background: var(--ref-raised); }
.igwref-film:hover .igwref-arrow { color: var(--ref-accent); }
.igwref-film:focus-visible { outline: 2px solid var(--ref-accent); outline-offset: 2px; }
.igwref-film-k { display: block; color: var(--ref-cap); margin-bottom: 8px; }
.igwref-film-t { display: block; font-size: 16px; font-weight: 600; color: var(--ref-text); line-height: 1.3; }
.igwref-film-l { display: block; margin-top: 6px; }
.igwref-film-w { display: inline-flex; align-items: center; min-height: 24px; margin-top: 8px; color: var(--ref-accent); }
.igwref-arrow { position: absolute; right: 16px; top: 14px; font-size: 20px; line-height: 1; color: var(--ref-text); }
.igw2-section[data-igw-module^="reference-"] { padding-top: 48px; padding-bottom: 72px; }
.igw2-section[data-igw-module="igw-records"] .igw2-section-head { margin-bottom: 28px; }
@media (max-width: 991px) {
  .igwref-tile-wide { grid-column: span 2; }
}
@media (max-width: 767px) {
  .igwref-h2 { font-size: 28px; }
  .igwref-section { padding-top: 32px; margin-top: 24px; }
  .igwref-tile-wide { grid-column: span 1; }
  .igwref-strip { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .igwref-tile { padding: 14px 14px 12px; }
  .igwref-tile-v { font-size: 28px; }
  .igwref-tile-wide .igwref-tile-v { font-size: 21px; }
  .igwref-pad { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 10px 12px; }
  .igwref-pad-h { display: none; }
  .igwref-pad-act { grid-column: 1 / -1; flex-direction: row; flex-wrap: wrap; gap: 8px 16px; align-items: center; }
  .igwref-input, .igwref-select { min-width: 0; width: 100%; }
  .igwref-field { flex: 1 1 100%; }
  .igwref-site { padding: 14px 14px 10px; }
}
@media (prefers-reduced-motion: reduce) {
  [data-igw-reference] * { transition: none !important; }
}
