/* Production presentation only. Qualified Canary assets and models stay unchanged. */
body { overflow: auto; }
.broadcast-shell {
  width: 100%; height: auto; min-height: 100svh;
  grid-template-rows: auto auto minmax(min-content, 1fr) auto auto auto auto;
  padding: 1rem 1.6rem; gap: .65rem;
}
.broadcast-header { gap: 1.25rem; }
.broadcast-header h1 { font-size: clamp(2.4rem, 3.2vw, 3.5rem); line-height: 1.04; }
.subtitle { line-height: 1.35; }
.header-status { overflow: visible; min-width: 0; flex-shrink: 1; }
.display-pulse, .snapshot-stamp { min-width: 0; padding: .6rem .8rem; }
.snapshot-stamp time, .snapshot-id { white-space: normal; overflow-wrap: anywhere; line-height: 1.35; }
.broadcast-stage { min-height: 25rem; align-items: stretch; }
.focus-viewport { min-width: 0; }
.focus-card {
  min-height: min-content; height: auto; overflow: visible;
  padding: 1.15rem 1.4rem; gap: .25rem;
}
.focus-card > * { flex-shrink: 0; }
/* Keep the decorative ring inside its card; content remains fully visible. */
.focus-card::after { top: 0; right: 0; width: 100%; height: 100%; box-shadow: none; }
.focus-heading { margin-top: .4rem; padding-top: .35rem; gap: .75rem; }
.focus-heading > div { min-width: 0; }
.focus-heading h2 { font-size: clamp(2.2rem, 2.8vw, 3.2rem); line-height: 1.06; }
.focus-location { margin-bottom: .35rem; }
.focus-code { font-size: clamp(2.1rem, 3.4vw, 3.7rem); line-height: 1; }
.focus-summary { margin-top: .45rem; font-size: 1rem; line-height: 1.35; }
.focus-coverage { margin-top: .25rem; font-size: .9rem; line-height: 1.35; overflow-wrap: anywhere; }
.focus-metrics { margin-top: .65rem; }
.focus-metric { padding: .6rem .7rem; }
.focus-metric__value { font-size: clamp(1.8rem, 2.35vw, 2.8rem); line-height: 1.1; overflow-wrap: anywhere; }
.focus-metric__label { margin-top: .35rem; font-size: .82rem; line-height: 1.35; overflow-wrap: anywhere; }
.focus-meta { margin-top: auto; padding-top: .65rem; flex-wrap: wrap; gap: .6rem 1rem; }
.focus-meta__item { flex: 1 1 9rem; gap: .3rem; }
.focus-meta__item--source { max-width: none; flex: 1.4 1 12rem; }
.focus-meta__item strong {
  overflow: visible; white-space: normal; text-overflow: clip;
  font-size: .9rem; line-height: 1.4; overflow-wrap: anywhere;
}
.world-context { min-height: 25rem; height: auto; }
.world-map-frame { min-height: 18rem; }
.node-rail { height: auto; min-height: 7rem; overflow: visible; padding: .65rem .85rem; }
.node-rail__viewport { overflow: visible; min-height: 0; }
.node-rail__track {
  display: grid; grid-template-columns: repeat(3, minmax(0, 1fr));
  grid-auto-flow: row; grid-auto-columns: auto !important;
  width: 100%; height: auto; transform: none !important;
}
.node-rail__item { width: auto !important; min-width: 0; min-height: 0; height: auto; overflow: visible; }
.node-rail__name, .node-rail__metrics, .node-rail__freshness { white-space: normal; overflow-wrap: anywhere; line-height: 1.35; overflow: visible; text-overflow: clip; }
.overlay-section { min-height: 0; }
.overlay-card { align-content: start; gap: .2rem .65rem; }
.overlay-card__identity { display: block; line-height: 1.35; }
.overlay-card__status { max-width: 13rem; overflow-wrap: anywhere; line-height: 1.35; }
.overlay-card__detail, .overlay-card__asof { font-size: .75rem; line-height: 1.35; overflow-wrap: anywhere; }
.production-calibration { grid-column: 1 / 3; font-size: .75rem; line-height: 1.35; color: var(--ink); }
.broadcast-footer { min-width: 0; gap: .6rem; }
.production-links {
  display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap;
  gap: .55rem 1rem; padding: .55rem 0 0; border-top: 1px solid var(--line);
}
.production-links__primary, .production-links__secondary { display: flex; align-items: center; flex-wrap: wrap; gap: .45rem 1.1rem; }
.production-links a { color: #cbd4ee; font-size: .85rem; line-height: 1.5; text-decoration-thickness: 1px; text-underline-offset: .25rem; }
.production-links a:hover { color: var(--ink); }
.production-links a:focus-visible { outline: 2px solid var(--focus); outline-offset: 4px; border-radius: .15rem; }
.production-links__secondary { color: var(--ink-muted); font-size: .74rem; }
.production-links__secondary a { color: var(--ink-muted); font-size: .8rem; }

@media (max-width: 1000px) {
  .broadcast-shell { padding: 1rem 1.1rem; grid-template-rows: repeat(7, auto); }
  .broadcast-header, .broadcast-footer { align-items: stretch; flex-direction: column; gap: .9rem; }
  .header-status { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
  .broadcast-stage { grid-template-columns: 1fr; min-height: 0; }
  .focus-card { min-height: 0; }
  .world-context { min-height: 20rem; }
  .world-map-frame { min-height: 16rem; }
  .node-rail { grid-template-columns: 1fr; }
  .node-rail__header { flex-direction: row; align-items: center; }
  .overlay-section { grid-template-columns: 1fr; }
  .overlay-section__header > p:last-child { display: block; }
  .accent-disclosure { max-width: none; text-align: left; }
}

@media (max-width: 600px) {
  .broadcast-shell { padding: .85rem .9rem; gap: .8rem; }
  .test-state-banner { align-items: flex-start; flex-direction: column; gap: .35rem; height: auto; padding: .55rem .65rem; }
  .broadcast-header h1 { font-size: 2.35rem; }
  .header-status { grid-template-columns: minmax(0, 1fr); }
  .display-pulse, .snapshot-stamp { padding: .65rem .8rem; }
  .snapshot-stamp { border-left: 0; border-top: 1px solid var(--line); }
  .focus-card { padding: 1rem; }
  .focus-heading { align-items: flex-start; flex-wrap: wrap; }
  .focus-heading h2 { font-size: 2.1rem; }
  .focus-code { font-size: 2.3rem; }
  .focus-metrics { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .focus-metrics[data-count="1"] { grid-template-columns: minmax(0, 1fr); }
  .focus-metric { padding: .7rem .55rem; }
  .focus-metric:nth-child(odd) { padding-left: 0; border-left: 0; }
  .focus-metric:nth-child(n+3) { border-top: 1px solid var(--line); }
  .focus-metric__value { font-size: 2.15rem; line-height: 1.15; }
  .focus-meta__item, .focus-meta__item--source { flex: 1 1 100%; text-align: left; }
  .focus-meta__item strong { font-size: .9rem; }
  .world-context { min-height: 17rem; }
  .world-context__header { flex-wrap: wrap; }
  .world-map-frame { min-height: 12rem; }
  .node-rail__track, .overlay-grid { grid-template-columns: minmax(0, 1fr); }
  .node-rail__item { padding: .7rem .8rem; }
  .node-rail__name { font-size: 1rem; }
  .node-rail__metrics, .node-rail__freshness { font-size: .8rem; }
  .overlay-card { padding: .75rem; grid-template-columns: minmax(0, 1fr); }
  .overlay-card h3, .overlay-card__identity, .overlay-card__status,
  .overlay-card__detail, .overlay-card__asof, .production-calibration { grid-column: 1; grid-row: auto; }
  .overlay-card__status { max-width: none; }
  .production-links, .production-links__secondary { align-items: flex-start; }
  .production-links { flex-direction: column; gap: .85rem; }
}
