/* C3 presentation adapter. C1 tokens are the shared source of visual values.
   Every rule is scoped to the plugin; [hidden] remains managed by the existing stylesheet. */
.ascc-heats-live-root.nmg-competition {
    --ascc-heats-live-ink: var(--nmg-text-primary);
    --ascc-heats-live-muted: var(--nmg-text-secondary);
    --ascc-heats-live-line: var(--nmg-border-normal);
    --ascc-heats-live-surface: var(--nmg-bg-surface);
    --ascc-heats-live-soft: var(--nmg-bg-elevated);
    --ascc-heats-live-deep: var(--nmg-bg-emphasis);
    --ascc-heats-live-sea: var(--nmg-state-live-ink);
    --ascc-heats-live-live: var(--nmg-state-live-ink);
    --ascc-heats-live-warning: var(--nmg-state-warning-ink);
    color: var(--nmg-text-primary); background: var(--nmg-bg-app);
    font: 400 1rem/1.35 var(--nmg-font); max-width: none; border-radius: 0; box-shadow: none;
    padding: var(--nmg-space-4); overflow: clip;
}
.ascc-heats-live-root.nmg-competition :is(h1,h2,h3,h4,p) { font-family: inherit; color: inherit; text-transform: none; letter-spacing: normal; margin: 0; }
.ascc-heats-live-root.nmg-competition :is(button,select,summary,a) { font-family: inherit; }
.ascc-heats-live-root.nmg-competition :is(a,button,select,summary):focus-visible { outline: 3px solid var(--nmg-focus); outline-offset: 2px; }
.ascc-heats-live-root.nmg-competition a { color: var(--nmg-text-primary); }
/* Legacy view-live is shared by the panel and a link. Reset the panel only. */
.ascc-heats-live-root.nmg-competition .ascc-heats-live-view.ascc-heats-live-view-live { display: block; padding: 0; margin: 0; background: transparent; color: var(--nmg-text-primary); font-weight: 400; text-decoration: none; min-height: 0; }
.ascc-heats-live-root.nmg-competition .ascc-heats-live-header { padding: var(--nmg-space-2) 0; background: transparent; color: var(--nmg-text-primary); }
.ascc-heats-live-root.nmg-competition .ascc-heats-live-title { font-size: var(--nmg-type-round); line-height: 1.25; }
.ascc-heats-live-root.nmg-competition :is(.ascc-heats-live-eyebrow,.ascc-heats-live-location) { font-size: var(--nmg-type-label); color: var(--nmg-text-secondary); }
.ascc-heats-live-root.nmg-competition .ascc-heats-live-state { padding: var(--nmg-space-1) var(--nmg-space-2); min-height: 0; border-radius: var(--nmg-radius-small); background: var(--nmg-state-neutral-bg); color: var(--nmg-state-neutral-ink); font-size: var(--nmg-type-label); }
.ascc-heats-live-root.nmg-competition .ascc-heats-live-state-live { background: var(--nmg-state-live-bg); color: var(--nmg-state-live-ink); }
.ascc-heats-live-root.nmg-competition .ascc-heats-live-state-stale { background: var(--nmg-state-warning-bg); color: var(--nmg-state-warning-ink); }
.ascc-heats-live-root.nmg-competition :is(.ascc-heats-live-navigation,.ascc-heats-live-nav) { background: var(--nmg-bg-surface); box-shadow: none; border-radius: var(--nmg-radius-small); }
.ascc-heats-live-root.nmg-competition :is(.ascc-heats-live-nav-link,.ascc-heats-live-navigation a) { min-height: 44px; font-size: var(--nmg-type-label); border-radius: var(--nmg-radius-small); background: var(--nmg-bg-surface); color: var(--nmg-text-primary); }
.ascc-heats-live-root.nmg-competition :is(.ascc-heats-live-nav-link,.ascc-heats-live-navigation a)[aria-current="page"] { background: var(--nmg-bg-emphasis); color: var(--nmg-text-inverse); }
.ascc-heats-live-root.nmg-competition :is(.ascc-heats-live-live-section,.ascc-heats-live-heats-section,.ascc-heats-live-preparation) { padding: var(--nmg-space-3) 0; }
.ascc-heats-live-root.nmg-competition .ascc-heats-live-section-title { font-size: var(--nmg-type-round); margin-bottom: var(--nmg-space-2); }
.ascc-heats-live-root.nmg-competition .ascc-heats-live-live-card { border: 1px solid var(--nmg-border-normal); border-top: 4px solid var(--nmg-state-live-ink); border-radius: var(--nmg-radius-medium); box-shadow: none; background: var(--nmg-bg-surface); margin: 0 0 var(--nmg-space-4); overflow: hidden; }
.ascc-heats-live-root.nmg-competition .ascc-heats-live-live-head { display: grid; grid-template-columns: minmax(0,1fr) minmax(260px,30%); align-items: center; padding: var(--nmg-space-3) var(--nmg-space-4); background: var(--nmg-bg-surface); color: var(--nmg-text-primary); gap: var(--nmg-space-4); }
.ascc-heats-live-root.nmg-competition .ascc-heats-live-live-meta { color: var(--nmg-text-secondary); font-size: var(--nmg-type-label); }
.ascc-heats-live-root.nmg-competition .ascc-heats-live-live-name { font-size: var(--nmg-type-title); line-height: 1.15; }
.ascc-heats-live-root.nmg-competition .ascc-heats-live-clock { display: flex; flex-direction: column; background: var(--nmg-bg-emphasis); color: var(--nmg-text-inverse); border: 2px solid var(--nmg-bg-emphasis); border-radius: var(--nmg-radius-medium); padding: var(--nmg-space-2); min-width: 0; text-align: center; box-shadow: none; }
.ascc-heats-live-root.nmg-competition .ascc-heats-live-clock-value { font-size: var(--nmg-type-clock); line-height: 1; font-weight: 800; font-variant-numeric: tabular-nums; letter-spacing: -.03em; }
.ascc-heats-live-root.nmg-competition .ascc-heats-live-clock-label { font-size: var(--nmg-type-label); color: inherit; }
.ascc-heats-live-root.nmg-competition .ascc-heats-live-clock-final-five { background: var(--nmg-state-warning-bg); color: var(--nmg-state-warning-ink); border-color: var(--nmg-state-warning-ink); animation: none; }
.ascc-heats-live-root.nmg-competition .ascc-heats-live-clock-interrupted { background: var(--nmg-state-paused-bg); color: var(--nmg-state-paused-ink); border-color: var(--nmg-state-paused-ink); }
.ascc-heats-live-root.nmg-competition .ascc-heats-live-clock-final { background: var(--nmg-state-finished-bg); color: var(--nmg-state-finished-ink); border-color: var(--nmg-border-normal); }
.ascc-heats-live-root.nmg-competition .ascc-heats-live-live-bar { background: var(--nmg-bg-surface); color: var(--nmg-text-primary); box-shadow: none; border-radius: var(--nmg-radius-small); margin: var(--nmg-space-2) 0; }
.ascc-heats-live-root.nmg-competition .ascc-heats-live-live-bar-clock { display: flex; flex-direction: row; align-items: center; gap: var(--nmg-space-3); background: transparent; color: var(--nmg-text-primary); border: 0; padding: 0; }
.ascc-heats-live-root.nmg-competition .ascc-heats-live-live-bar-clock .ascc-heats-live-clock-value { font-size: var(--nmg-type-heat); }
.ascc-heats-live-root.nmg-competition .ascc-heats-live-live-bar-dot { background: var(--nmg-state-live-ink); box-shadow: none; animation: none; }
.ascc-heats-live-root.nmg-competition .ascc-heats-live-athletes { display: grid; grid-template-columns: 1fr; gap: 0; padding: 0; }
.ascc-heats-live-root.nmg-competition .ascc-heats-live-athlete { display: grid; grid-template-columns: minmax(0,1.6fr) minmax(0,1.4fr) minmax(0,1fr); gap: var(--nmg-space-4); align-items: center; border: 0; border-top: 1px solid var(--nmg-border-divider); border-radius: 0; background: var(--nmg-bg-surface); padding: var(--nmg-space-3) var(--nmg-space-4); box-shadow: none; }
.ascc-heats-live-root.nmg-competition .ascc-heats-live-athlete-top { display: grid; grid-template-columns: 3.2em minmax(0,1fr) auto; gap: var(--nmg-space-2); align-items: center; }
.ascc-heats-live-root.nmg-competition .ascc-heats-live-rank { font-size: var(--nmg-type-round); background: transparent; color: var(--nmg-text-primary); padding: 0; min-width: 0; width: auto; height: auto; border: 0; }
.ascc-heats-live-root.nmg-competition .ascc-heats-live-person { min-width: 0; width: 100%; container-type: inline-size; }
.ascc-heats-live-root.nmg-competition .ascc-heats-live-person-content { display: grid; grid-template-columns: max-content minmax(0,1fr) auto; gap: var(--nmg-space-2); align-items: center; }
.ascc-heats-live-root.nmg-competition :is(.ascc-heats-live-athlete-name,.ascc-heats-live-result-name,.ascc-heats-live-participant-name) { font-size: var(--nmg-type-athlete); line-height: 1.2; font-weight: 700; overflow-wrap: anywhere; color: var(--nmg-text-primary); }
.ascc-heats-live-root.nmg-competition .ascc-heats-live-lycra { display: inline-flex; gap: var(--nmg-space-2); align-items: center; font-size: inherit; font-weight: inherit; color: inherit; white-space: normal; }
.ascc-heats-live-root.nmg-competition .ascc-heats-live-lycra-swatch { width: 1em; height: 1em; flex: 0 0 1em; border: 2px solid var(--nmg-border-strong); border-radius: 50%; background: var(--ascc-heats-live-lycra-color); box-shadow: none; }
.ascc-heats-live-root.nmg-competition .ascc-heats-live-person-marker .ascc-heats-live-lycra-name { display: none; }
.ascc-heats-live-root.nmg-competition .ascc-heats-live-person-caption { display: inline-flex; gap: var(--nmg-space-1); align-items: center; justify-self: start; padding: var(--nmg-space-1) var(--nmg-space-2); border: 1px solid var(--nmg-border-normal); border-radius: var(--nmg-radius-small); background: var(--nmg-bg-elevated); color: var(--nmg-text-secondary); font-size: var(--nmg-type-label); font-weight: 500; }
.ascc-heats-live-root.nmg-competition .ascc-heats-live-person-caption .ascc-heats-live-lycra-swatch { display: none; }
@container (max-width: 600px) {
    .ascc-heats-live-root.nmg-competition .ascc-heats-live-person-content { grid-template-columns: max-content minmax(0,1fr); }
    .ascc-heats-live-root.nmg-competition .ascc-heats-live-person-caption { grid-column: 2; }
}
.ascc-heats-live-root.nmg-competition .ascc-heats-live-person-compact .ascc-heats-live-person-content { grid-template-columns: max-content minmax(0,1fr); row-gap: 0; align-items: baseline; }
.ascc-heats-live-root.nmg-competition .ascc-heats-live-person-compact .ascc-heats-live-person-caption { grid-column: 2; padding: 0; border: 0; background: transparent; font-weight: 400; }
.ascc-heats-live-root.nmg-competition .ascc-heats-live-score-grid { display: grid; grid-template-columns: 1fr 1fr; gap: var(--nmg-space-4); margin: 0; padding: 0; border: 0; }
.ascc-heats-live-root.nmg-competition .ascc-heats-live-total { order: 2; background: transparent; padding: 0; }
.ascc-heats-live-root.nmg-competition .ascc-heats-live-total-value { font-size: var(--nmg-type-display); line-height: 1.05; margin: 0; color: var(--nmg-text-primary); font-variant-numeric: tabular-nums; }
.ascc-heats-live-root.nmg-competition .ascc-heats-live-best-two { padding: 0; background: transparent; }
.ascc-heats-live-root.nmg-competition .ascc-heats-live-best-two-value { font-size: var(--nmg-type-score); font-variant-numeric: tabular-nums; }
.ascc-heats-live-root.nmg-competition .ascc-heats-live-metric-label { font-size: var(--nmg-type-label); color: var(--nmg-text-secondary); }
.ascc-heats-live-root.nmg-competition .ascc-heats-live-situation { padding: 0; margin: 0; min-height: 0; border: 0; background: transparent; font-size: var(--nmg-type-label); }
.ascc-heats-live-root.nmg-competition .ascc-heats-live-metric-value { font-size: var(--nmg-type-label); color: var(--nmg-text-primary); }
.ascc-heats-live-root.nmg-competition :is(.ascc-heats-live-qualification,.ascc-heats-live-needs,.ascc-heats-live-win-by) { color: var(--nmg-text-primary); background: transparent; padding: 0; border-radius: 0; }
.ascc-heats-live-root.nmg-competition .ascc-heats-live-best-two-value { color: var(--nmg-text-primary); }
.ascc-heats-live-root.nmg-competition .ascc-heats-live-waves { background: var(--nmg-bg-elevated); border-radius: 0; }
.ascc-heats-live-root.nmg-competition .ascc-heats-live-category-panel { display: flex; gap: var(--nmg-space-4); overflow-x: auto; align-items: start; padding: var(--nmg-space-2) 0; }
.ascc-heats-live-root.nmg-competition .ascc-heats-live-category-title { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
.ascc-heats-live-root.nmg-competition .ascc-heats-live-round { flex: 1 0 320px; min-width: 0; margin: 0; border: 1px solid var(--nmg-border-normal); border-radius: 0; background: var(--nmg-bg-surface); }
.ascc-heats-live-root.nmg-competition .ascc-heats-live-round-summary { color: var(--nmg-text-inverse); background: var(--nmg-bg-emphasis); font-size: var(--nmg-type-heat); padding: var(--nmg-space-3); min-height: 44px; }
.ascc-heats-live-root.nmg-competition .ascc-heats-live-round-summary span { color: var(--nmg-text-inverse); }
.ascc-heats-live-root.nmg-competition .ascc-heats-live-heat-list { display: grid; grid-template-columns: 1fr; gap: var(--nmg-space-3); padding: var(--nmg-space-2); }
.ascc-heats-live-root.nmg-competition .ascc-heats-live-heat-card { box-shadow: none; background: var(--nmg-bg-surface); border: 1px solid var(--nmg-border-normal); border-radius: var(--nmg-radius-small); margin: 0; overflow: hidden; }
.ascc-heats-live-root.nmg-competition .ascc-heats-live-heat-head { background: var(--nmg-bg-elevated); padding: var(--nmg-space-3); color: var(--nmg-text-primary); }
.ascc-heats-live-root.nmg-competition .ascc-heats-live-heat-title { font-size: var(--nmg-type-heat); }
.ascc-heats-live-root.nmg-competition .ascc-heats-live-heat-state { font-size: var(--nmg-type-label); background: var(--nmg-state-neutral-bg); color: var(--nmg-state-neutral-ink); border-radius: var(--nmg-radius-small); }
.ascc-heats-live-root.nmg-competition .ascc-heats-live-heat-state-live { background: var(--nmg-state-live-bg); color: var(--nmg-state-live-ink); }
.ascc-heats-live-root.nmg-competition .ascc-heats-live-heat-state-future { background: var(--nmg-state-ready-bg); color: var(--nmg-state-ready-ink); }
.ascc-heats-live-root.nmg-competition .ascc-heats-live-result-row { display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: start; gap: var(--nmg-space-1) var(--nmg-space-2); padding: var(--nmg-space-3); border-top: 1px solid var(--nmg-border-divider); background: transparent; }
.ascc-heats-live-root.nmg-competition .ascc-heats-live-result-athlete { grid-column: 1; grid-row: 1; }
.ascc-heats-live-root.nmg-competition .ascc-heats-live-placement { grid-column: 2; grid-row: 1; display: grid; grid-template-columns: 2.5ch 9ch; gap: var(--nmg-space-2); align-items: baseline; font-size: var(--nmg-type-label); }
.ascc-heats-live-root.nmg-competition .ascc-heats-live-result-rank { text-align: right; font-size: inherit; font-weight: 600; }
.ascc-heats-live-root.nmg-competition .ascc-heats-live-result-qualification { white-space: nowrap; color: var(--nmg-state-live-ink); }
.ascc-heats-live-root.nmg-competition .ascc-heats-live-result-score { display: block; grid-column: 1 / -1; text-align: left; font-size: var(--nmg-type-label); }
.ascc-heats-live-root.nmg-competition .ascc-heats-live-result-score summary { cursor: pointer; color: var(--nmg-text-secondary); }
.ascc-heats-live-root.nmg-competition .ascc-heats-live-result-score { padding: var(--nmg-space-2) var(--nmg-space-3); border-top: 1px solid var(--nmg-border-divider); background: var(--nmg-bg-elevated); }
.ascc-heats-live-root.nmg-competition .ascc-heats-live-result-score summary { min-height: 44px; align-content: center; }
.ascc-heats-live-root.nmg-competition .ascc-heats-live-score-detail { display: grid; gap: var(--nmg-space-1); padding-block: var(--nmg-space-2); }
.ascc-heats-live-root.nmg-competition .ascc-heats-live-result-score strong { font-size: var(--nmg-type-score); }
.ascc-heats-live-root.nmg-competition :is(.ascc-heats-live-results,.ascc-heats-live-participants) { padding: 0; }
.ascc-heats-live-root.nmg-competition .ascc-heats-live-participant { display: block; padding: var(--nmg-space-3); border-top: 1px solid var(--nmg-border-divider); }
.ascc-heats-live-root.nmg-competition :is(.ascc-heats-live-preparation-note,.ascc-heats-live-preparation-context) { font-size: var(--nmg-type-label); color: var(--nmg-text-secondary); margin-bottom: var(--nmg-space-2); }
.ascc-heats-live-root.nmg-competition .ascc-heats-live-preparation-grid { display: grid; grid-template-columns: repeat(auto-fit,minmax(min(100%,320px),1fr)); gap: var(--nmg-space-4); }
.ascc-heats-live-root.nmg-competition .ascc-heats-live-preparation-context { padding: var(--nmg-space-3); }
.ascc-heats-live-root.nmg-competition :is(.ascc-heats-live-sponsors,.ascc-heats-live-announcements) { background: var(--nmg-bg-surface); border-radius: var(--nmg-radius-small); padding: var(--nmg-space-3); box-shadow: none; }
.ascc-heats-live-root.nmg-competition :is(.ascc-heats-live-classification-section,.ascc-heats-live-ranking-section,.ascc-heats-live-schedule-section) { background: var(--nmg-bg-surface); color: var(--nmg-text-primary); font-size: var(--nmg-type-label); border-radius: var(--nmg-radius-small); box-shadow: none; }
.ascc-heats-live-root.nmg-competition table { font: inherit; color: inherit; border-color: var(--nmg-border-normal); }
.ascc-heats-live-root.nmg-competition select { font: inherit; min-height: 44px; color: var(--nmg-text-primary); background: var(--nmg-bg-surface); border: 1px solid var(--nmg-border-normal); border-radius: var(--nmg-radius-small); }
/* Basic foundations only: retain classification/ranking/schedule structures and controls. */
.ascc-heats-live-root.nmg-competition :is(.ascc-heats-live-classification-entry,.ascc-heats-live-ranking-standing,.ascc-heats-live-schedule-day,.ascc-heats-live-classification-message,.ascc-heats-live-ranking-message,.ascc-heats-live-schedule-message) { border-radius: var(--nmg-radius-small); background: var(--nmg-bg-surface); border-color: var(--nmg-border-normal); }
.ascc-heats-live-root.nmg-competition :is(.ascc-heats-live-classification-athlete,.ascc-heats-live-ranking-athlete strong,.ascc-heats-live-schedule-heat) { font-size: var(--nmg-type-athlete); }
.ascc-heats-live-root.nmg-competition :is(.ascc-heats-live-classification-detail,.ascc-heats-live-classification-tie,.ascc-heats-live-ranking-athlete span,.ascc-heats-live-ranking-total span,.ascc-heats-live-ranking-contributions,.ascc-heats-live-ranking-filter,.ascc-heats-live-classification-filter,.ascc-heats-live-schedule-context,.ascc-heats-live-schedule-time,.ascc-heats-live-schedule-state) { font-size: var(--nmg-type-label); color: var(--nmg-text-secondary); }
.ascc-heats-live-root.nmg-competition :is(.ascc-heats-live-classification-position,.ascc-heats-live-ranking-position,.ascc-heats-live-ranking-total strong) { font-size: var(--nmg-type-score); font-variant-numeric: tabular-nums; }
.ascc-heats-live-root.nmg-competition :is(.ascc-heats-live-classification-notice,.ascc-heats-live-ranking-notice,.ascc-heats-live-schedule-notice,.ascc-heats-live-classification-status-ready) { background: var(--nmg-state-warning-bg); color: var(--nmg-state-warning-ink); border-color: var(--nmg-state-warning-ink); border-radius: var(--nmg-radius-small); }
.ascc-heats-live-root.nmg-competition :is(.ascc-heats-live-classification-status-official,.ascc-heats-live-schedule-entry-current .ascc-heats-live-schedule-state) { background: var(--nmg-state-live-bg); color: var(--nmg-state-live-ink); }
.ascc-heats-live-root.nmg-competition .ascc-heats-live-classification-status-incomplete { background: var(--nmg-state-neutral-bg); color: var(--nmg-state-neutral-ink); }
.ascc-heats-live-root.nmg-competition .ascc-heats-live-classification-status { font-size: var(--nmg-type-label); border-radius: var(--nmg-radius-small); }
.ascc-heats-live-root.nmg-competition .ascc-heats-live-schedule-entry-next .ascc-heats-live-schedule-state { background: var(--nmg-state-ready-bg); color: var(--nmg-state-ready-ink); }
.ascc-heats-live-root.nmg-competition .ascc-heats-live-schedule-entry-next .ascc-heats-live-schedule-marker { background: var(--nmg-state-ready-ink); }
.ascc-heats-live-root.nmg-competition .ascc-heats-live-schedule-day-header span { color: var(--nmg-text-inverse); font-size: var(--nmg-type-label); }
.ascc-heats-live-root.nmg-competition .ascc-heats-live-ranking-counted { color: var(--nmg-state-live-ink); }
.ascc-heats-live-root.nmg-competition .ascc-heats-live-ranking-discarded { color: var(--nmg-text-muted); }
.ascc-heats-live-root.nmg-competition[data-scale="tv"] .ascc-heats-live-round { flex-basis: 480px; }
.ascc-heats-live-root.nmg-competition[data-scale="tv"] .ascc-heats-live-athlete { padding-block: var(--nmg-space-2); }
.ascc-heats-live-root.nmg-competition .ascc-heats-live-section-title-live::before { background: var(--nmg-state-live-ink); box-shadow: none; }
@media(max-width:1000px) {
    .ascc-heats-live-root.nmg-competition .ascc-heats-live-athlete { grid-template-columns: minmax(0,1.5fr) minmax(0,1fr); }
    .ascc-heats-live-root.nmg-competition .ascc-heats-live-athlete-top { grid-column: 1 / -1; }
}
@media(max-width:600px) {
    .ascc-heats-live-root.nmg-competition { padding: var(--nmg-space-3); }
    .ascc-heats-live-root.nmg-competition .ascc-heats-live-live-head { grid-template-columns: 1fr; }
    .ascc-heats-live-root.nmg-competition .ascc-heats-live-athlete { grid-template-columns: minmax(0,1fr); }
    .ascc-heats-live-root.nmg-competition .ascc-heats-live-score-grid { grid-template-columns: 1fr 1fr; }
}
/* Mobile live hierarchy: one identity chip, compact rows, readable score and clock. */
.ascc-heats-live-root.nmg-competition .ascc-heats-live-mobile-identity { display:flex; flex-wrap:wrap; align-items:center; gap:4px 8px; min-width:0; }
.ascc-heats-live-root.nmg-competition .ascc-heats-live-color-chip { display:inline-block; background:var(--ascc-chip-color); color:#102b3a; border:2px solid #64748b; border-radius:4px; padding:2px 5px; font-size:11px; line-height:1.2; font-weight:800; text-transform:uppercase; }
.ascc-heats-live-root.nmg-competition .ascc-heats-live-color-chip:is([data-color="black"],[data-color="blue"],[data-color="red"]) { color:white; }
.ascc-heats-live-root.nmg-competition .ascc-heats-live-sequence-preview { min-width:0; background:var(--nmg-bg-surface); border:1px solid var(--nmg-border-normal); border-radius:6px; align-self:start; }
.ascc-heats-live-root.nmg-competition .ascc-heats-live-sequence-preview > summary { cursor:pointer; padding:12px; min-height:44px; font-size:16px; font-weight:700; }
.ascc-heats-live-root.nmg-competition .ascc-heats-live-sequence-preview .ascc-heats-live-schedule-section { padding:12px; }
@media(min-width:1100px) {
 .ascc-heats-live-root.nmg-competition .ascc-heats-live-view.ascc-heats-live-view-live { display:grid; grid-template-columns:minmax(0,3fr) minmax(250px,1fr); gap:16px; }
 .ascc-heats-live-root.nmg-competition .ascc-heats-live-view-live > :not(.ascc-heats-live-live-section):not(.ascc-heats-live-sequence-preview) { grid-column:1 / -1; }
 .ascc-heats-live-root.nmg-competition .ascc-heats-live-live-card .ascc-heats-live-athlete { grid-template-columns:minmax(0,1.2fr) minmax(0,1fr); gap:8px; }
 .ascc-heats-live-root.nmg-competition .ascc-heats-live-live-card .ascc-heats-live-athlete-top { grid-column:1 / -1; }
}
@media(max-width:600px) {
 .ascc-heats-live-root.nmg-competition { padding:6px; }
 .ascc-heats-live-root.nmg-competition .ascc-heats-live-header { padding:6px 0; }
 .ascc-heats-live-root.nmg-competition .ascc-heats-live-title { font-size:18px; }
 .ascc-heats-live-root.nmg-competition .ascc-heats-live-eyebrow,
 .ascc-heats-live-root.nmg-competition .ascc-heats-live-location { display:none; }
 .ascc-heats-live-root.nmg-competition .ascc-heats-live-updated { flex-basis:auto; margin-left:auto; font-size:11px; }
 .ascc-heats-live-root.nmg-competition .ascc-heats-live-navigation-scroll { margin:0; }
 .ascc-heats-live-root.nmg-competition .ascc-heats-live-live-section { padding:6px 0; }
 .ascc-heats-live-root.nmg-competition .ascc-heats-live-section-title-live { font-size:14px; margin-bottom:4px; }
 .ascc-heats-live-root.nmg-competition .ascc-heats-live-live-head { grid-template-columns:minmax(0,1fr) 104px; gap:8px; padding:8px; }
 .ascc-heats-live-root.nmg-competition .ascc-heats-live-live-name { font-size:18px; }
 .ascc-heats-live-root.nmg-competition .ascc-heats-live-live-meta { font-size:12px; }
 .ascc-heats-live-root.nmg-competition .ascc-heats-live-clock { padding:6px; }
 .ascc-heats-live-root.nmg-competition .ascc-heats-live-clock-value { font-size:30px; }
 .ascc-heats-live-root.nmg-competition .ascc-heats-live-clock-label { font-size:11px; }
 .ascc-heats-live-root.nmg-competition .ascc-heats-live-athlete { padding:8px; gap:4px; grid-template-columns:1fr; }
 .ascc-heats-live-root.nmg-competition .ascc-heats-live-athlete-top { grid-template-columns:24px minmax(0,1fr) auto; gap:4px; }
 .ascc-heats-live-root.nmg-competition .ascc-heats-live-athlete-name { font-size:15px; }
 .ascc-heats-live-root.nmg-competition .ascc-heats-live-rank { font-size:17px; }
 .ascc-heats-live-root.nmg-competition .ascc-heats-live-score-grid { display:flex; gap:16px; padding:0 0 0 28px; align-items:baseline; }
 .ascc-heats-live-root.nmg-competition .ascc-heats-live-total,
 .ascc-heats-live-root.nmg-competition .ascc-heats-live-best-two { display:flex; align-items:baseline; gap:5px; }
 .ascc-heats-live-root.nmg-competition .ascc-heats-live-score-grid .ascc-heats-live-metric-label { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); }
 .ascc-heats-live-root.nmg-competition .ascc-heats-live-total-value { font-size:24px; line-height:1.1; }
 .ascc-heats-live-root.nmg-competition .ascc-heats-live-best-two-value { font-size:14px; white-space:nowrap; }
 .ascc-heats-live-root.nmg-competition .ascc-heats-live-situation { padding-left:28px; line-height:1.3; }
 .ascc-heats-live-root.nmg-competition .ascc-heats-live-metric-value { font-size:12px; }
 .ascc-heats-live-root.nmg-competition .ascc-heats-live-priority-chip { font-size:12px; padding:3px 5px; min-width:0; }
}
.ascc-heats-live-root.nmg-competition .ascc-heats-live-total { order:0; }
.ascc-heats-live-root.nmg-competition .ascc-heats-live-best-two { order:1; }
@media(min-width:601px) {
 .ascc-heats-live-root.nmg-competition .ascc-heats-live-live-card .ascc-heats-live-live-head { grid-template-columns:minmax(0,1fr) 150px; padding:12px; }
 .ascc-heats-live-root.nmg-competition .ascc-heats-live-live-card .ascc-heats-live-clock-value { font-size:40px; }
 .ascc-heats-live-root.nmg-competition .ascc-heats-live-live-card .ascc-heats-live-live-name { font-size:24px; }
 .ascc-heats-live-root.nmg-competition .ascc-heats-live-live-card .ascc-heats-live-athlete { padding:10px 12px; gap:6px; }
 .ascc-heats-live-root.nmg-competition .ascc-heats-live-live-card .ascc-heats-live-athlete-name { font-size:18px; }
 .ascc-heats-live-root.nmg-competition .ascc-heats-live-live-card .ascc-heats-live-total-value { font-size:28px; }
}
.ascc-heats-live-root.nmg-competition :is(.ascc-heats-live-live-meta,.ascc-heats-live-live-name,.ascc-heats-live-title,.ascc-heats-live-section-title) { line-height:1.3; }
/* Preserve the existing TV scale while compacting the normal spectator view. */
.ascc-heats-live-root.nmg-competition[data-scale="tv"] .ascc-heats-live-view.ascc-heats-live-view-live { display:block; }
.ascc-heats-live-root.nmg-competition[data-scale="tv"] .ascc-heats-live-live-card .ascc-heats-live-live-head { grid-template-columns:minmax(0,1fr) minmax(260px,30%); }
.ascc-heats-live-root.nmg-competition[data-scale="tv"] .ascc-heats-live-live-card .ascc-heats-live-clock-value { font-size:var(--nmg-type-clock); }
.ascc-heats-live-root.nmg-competition[data-scale="tv"] .ascc-heats-live-live-card .ascc-heats-live-athlete { grid-template-columns:minmax(0,1.6fr) minmax(0,1.4fr) minmax(0,1fr); }
.ascc-heats-live-root.nmg-competition[data-scale="tv"] .ascc-heats-live-live-card .ascc-heats-live-athlete-top { grid-column:auto; }
.ascc-heats-live-root.nmg-competition[data-scale="tv"] .ascc-heats-live-live-card .ascc-heats-live-athlete-name { font-size:var(--nmg-type-athlete); }
.ascc-heats-live-root.nmg-competition[data-scale="tv"] .ascc-heats-live-live-card .ascc-heats-live-total-value { font-size:var(--nmg-type-score); }
.ascc-heats-live-root.nmg-competition[data-scale="tv"] .ascc-heats-live-color-chip { font-size:var(--nmg-type-label); }
