.ascc-heats-live-root {
    --ascc-heats-live-ink: #102a3a;
    --ascc-heats-live-muted: #60717c;
    --ascc-heats-live-line: #d8e2e7;
    --ascc-heats-live-surface: #ffffff;
    --ascc-heats-live-soft: #f2f6f7;
    --ascc-heats-live-deep: #07324a;
    --ascc-heats-live-sea: #087e8b;
    --ascc-heats-live-live: #24a865;
    --ascc-heats-live-coral: #f26a4f;
    --ascc-heats-live-warning: #9a5a00;
    background: #f7fafb;
    border: 1px solid var(--ascc-heats-live-line);
    border-radius: 20px;
    box-shadow: 0 18px 48px rgba(7, 50, 74, .10);
    color: var(--ascc-heats-live-ink);
    font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    line-height: 1.45;
    max-width: 1180px;
    min-width: 0;
    overflow: hidden;
    width: 100%;
}

.ascc-heats-live-root,
.ascc-heats-live-root * {
    box-sizing: border-box;
}

.ascc-heats-live-root [hidden] {
    display: none !important;
}

.ascc-heats-live-state {
    align-items: center;
    background: #e9eff2;
    color: #455762;
    display: flex;
    flex-wrap: wrap;
    font-size: .76rem;
    gap: .45rem;
    min-height: 42px;
    padding: .65rem .85rem;
}

.ascc-heats-live-state-live {
    background: #e5f7ed;
    color: #11613a;
    min-height: 34px;
    padding-bottom: .4rem;
    padding-top: .4rem;
}

.ascc-heats-live-state-stale {
    background: #fff4d8;
    color: #724600;
}

.ascc-heats-live-state-final {
    background: #e4f1f5;
    color: var(--ascc-heats-live-deep);
}

.ascc-heats-live-state-dot {
    background: currentColor;
    border-radius: 50%;
    flex: 0 0 auto;
    height: .55rem;
    width: .55rem;
}

.ascc-heats-live-state-live .ascc-heats-live-state-dot {
    box-shadow: 0 0 0 .28rem rgba(36, 168, 101, .15);
}

.ascc-heats-live-state-label {
    letter-spacing: .055em;
}

.ascc-heats-live-updated {
    color: currentColor;
    flex: 1 1 100%;
    font-variant-numeric: tabular-nums;
    opacity: .86;
}

.ascc-heats-live-state-live .ascc-heats-live-updated {
    display: none;
}

.ascc-heats-live-header {
    background: var(--ascc-heats-live-surface);
    padding: 1.1rem .9rem 1rem;
}

.ascc-heats-live-eyebrow,
.ascc-heats-live-location {
    color: var(--ascc-heats-live-muted);
    font-size: .73rem;
    letter-spacing: .075em;
    margin: 0;
    text-transform: uppercase;
}

.ascc-heats-live-title {
    color: var(--ascc-heats-live-deep);
    font-size: clamp(1.45rem, 7vw, 2.45rem);
    letter-spacing: -.035em;
    line-height: 1.05;
    margin: .32rem 0;
    overflow-wrap: anywhere;
}

.ascc-heats-live-live-bar {
    background: var(--ascc-heats-live-deep);
    border-top: 1px solid rgba(255, 255, 255, .12);
    color: #ffffff;
    min-width: 0;
}

.ascc-heats-live-live-bar-link {
    align-items: center;
    color: inherit;
    display: flex;
    gap: .55rem;
    min-height: 48px;
    min-width: 0;
    padding: .45rem .75rem;
    text-decoration: none;
    touch-action: manipulation;
    width: 100%;
}

.ascc-heats-live-live-bar-dot {
    background: var(--ascc-heats-live-coral);
    border-radius: 50%;
    box-shadow: 0 0 0 .25rem rgba(242, 106, 79, .18);
    flex: 0 0 auto;
    height: .55rem;
    width: .55rem;
}

.ascc-heats-live-clock.ascc-heats-live-live-bar-clock {
    background: transparent;
    border: 0;
    border-radius: 0;
    display: grid;
    flex: 1 1 auto;
    gap: .28rem .45rem;
    grid-template-columns: auto minmax(0, 1fr) auto;
    min-height: 0;
    min-width: 0;
    padding: 0;
    width: 100%;
}

.ascc-heats-live-live-bar-clock .ascc-heats-live-clock-label {
    align-self: center;
    font-size: .68rem;
    white-space: nowrap;
}

.ascc-heats-live-live-bar-context {
    align-self: center;
    color: #e2edf2;
    font-size: .75rem;
    font-weight: 750;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.ascc-heats-live-live-bar-stage {
    display: none;
}

.ascc-heats-live-live-bar-clock .ascc-heats-live-clock-value {
    align-self: center;
    font-size: 1.18rem;
    white-space: nowrap;
}

.ascc-heats-live-navigation-scroll {
    background: var(--ascc-heats-live-surface);
    border-bottom: 1px solid var(--ascc-heats-live-line);
    border-top: 1px solid var(--ascc-heats-live-line);
    max-width: 100%;
    min-width: 0;
    overflow-x: auto;
    overscroll-behavior-inline: contain;
    scrollbar-width: thin;
}

.ascc-heats-live-navigation {
    display: flex;
    gap: .3rem;
    min-width: max-content;
    padding: .35rem .5rem;
}

.ascc-heats-live-navigation-link {
    align-items: center;
    border: 1px solid transparent;
    border-radius: 999px;
    color: var(--ascc-heats-live-muted);
    display: inline-flex;
    flex: 0 0 auto;
    font-size: .78rem;
    font-weight: 800;
    justify-content: center;
    min-height: 44px;
    padding: .5rem .85rem;
    text-decoration: none;
    touch-action: manipulation;
    white-space: nowrap;
}

.ascc-heats-live-navigation-link:hover {
    background: var(--ascc-heats-live-soft);
    color: var(--ascc-heats-live-deep);
}

.ascc-heats-live-navigation-link[aria-current="page"] {
    background: var(--ascc-heats-live-deep);
    border-color: var(--ascc-heats-live-deep);
    color: #ffffff;
}

.ascc-heats-live-view {
    min-width: 0;
}

.ascc-heats-live-live-section,
.ascc-heats-live-heats-section {
    border-top: 1px solid var(--ascc-heats-live-line);
    padding: 1rem .75rem;
}

.ascc-heats-live-live-section {
    background: #edf4f6;
}

.ascc-heats-live-heats-section,
.ascc-heats-live-schedule-section,
.ascc-heats-live-classification-section,
.ascc-heats-live-ranking-section {
    background: #f8fafb;
}

.ascc-heats-live-schedule-section,
.ascc-heats-live-classification-section,
.ascc-heats-live-ranking-section {
    border-top: 1px solid var(--ascc-heats-live-line);
    padding: 1rem .75rem 1.35rem;
}

.ascc-heats-live-classification-message,
.ascc-heats-live-classification-notice {
    background: var(--ascc-heats-live-surface);
    border: 1px solid var(--ascc-heats-live-line);
    border-radius: 14px;
    color: var(--ascc-heats-live-muted);
    margin: 0;
    padding: 1rem;
}

.ascc-heats-live-classification-message p {
    margin: 0 0 .75rem;
}

.ascc-heats-live-classification-notice {
    background: #fff4d8;
    border-color: #ecd390;
    color: #724600;
    margin-bottom: .8rem;
}

.ascc-heats-live-classification-retry {
    background: var(--ascc-heats-live-deep);
    border: 0;
    border-radius: 10px;
    color: #fff;
    cursor: pointer;
    font: inherit;
    font-weight: 800;
    min-height: 44px;
    padding: .55rem .85rem;
}

.ascc-heats-live-classification-filter {
    color: var(--ascc-heats-live-muted);
    display: grid;
    font-size: .72rem;
    font-weight: 800;
    gap: .32rem;
    margin-bottom: .75rem;
    max-width: 30rem;
    text-transform: uppercase;
}

.ascc-heats-live-classification-select {
    appearance: auto;
    background: var(--ascc-heats-live-surface);
    border: 1px solid #b7c5cc;
    border-radius: 12px;
    color: var(--ascc-heats-live-deep);
    font: inherit;
    font-size: .9rem;
    font-weight: 750;
    min-height: 46px;
    min-width: 0;
    padding: .55rem .7rem;
    text-transform: none;
    width: 100%;
}

.ascc-heats-live-classification-status {
    border-radius: 999px;
    display: inline-flex;
    font-size: .68rem;
    font-weight: 850;
    letter-spacing: .045em;
    margin: 0 0 .75rem;
    max-width: 100%;
    padding: .38rem .65rem;
    text-transform: uppercase;
}

.ascc-heats-live-classification-status-incomplete {
    background: #eef1f3;
    color: #52636c;
}

.ascc-heats-live-classification-status-ready {
    background: #fff0dc;
    color: #8a4800;
}

.ascc-heats-live-classification-status-official {
    background: #def5e7;
    color: #14643c;
}

.ascc-heats-live-classification-list {
    display: grid;
    gap: .45rem;
    max-width: 48rem;
}

.ascc-heats-live-classification-entry {
    align-items: center;
    background: var(--ascc-heats-live-surface);
    border: 1px solid var(--ascc-heats-live-line);
    border-radius: 14px;
    display: grid;
    gap: .75rem;
    grid-template-columns: 3.4rem minmax(0, 1fr);
    min-width: 0;
    padding: .68rem .75rem;
}

.ascc-heats-live-classification-entry-tied {
    border-left: 4px solid var(--ascc-heats-live-sea);
    padding-left: calc(.75rem - 3px);
}

.ascc-heats-live-classification-position {
    color: var(--ascc-heats-live-sea);
    font-size: 1.35rem;
    font-variant-numeric: tabular-nums;
    letter-spacing: -.04em;
    line-height: 1;
}

.ascc-heats-live-classification-entry-body {
    min-width: 0;
}

.ascc-heats-live-classification-athlete,
.ascc-heats-live-classification-detail,
.ascc-heats-live-classification-tie {
    display: block;
    overflow-wrap: anywhere;
}

.ascc-heats-live-classification-athlete {
    color: var(--ascc-heats-live-deep);
    font-size: .96rem;
}

.ascc-heats-live-classification-detail {
    color: var(--ascc-heats-live-muted);
    font-size: .7rem;
    margin-top: .12rem;
}

.ascc-heats-live-classification-tie {
    color: var(--ascc-heats-live-sea);
    font-size: .61rem;
    font-weight: 850;
    letter-spacing: .06em;
    margin-top: .1rem;
    text-transform: uppercase;
}

.ascc-heats-live-ranking-message,
.ascc-heats-live-ranking-notice {
    background: var(--ascc-heats-live-surface);
    border: 1px solid var(--ascc-heats-live-line);
    border-radius: 14px;
    color: var(--ascc-heats-live-muted);
    margin: 0;
    padding: 1rem;
}

.ascc-heats-live-ranking-message p {
    margin: 0 0 .75rem;
}

.ascc-heats-live-ranking-notice {
    background: #fff4d8;
    border-color: #ecd390;
    color: #724600;
    margin-bottom: .8rem;
}

.ascc-heats-live-ranking-retry {
    background: var(--ascc-heats-live-deep);
    border: 0;
    border-radius: 10px;
    color: #fff;
    cursor: pointer;
    font: inherit;
    font-weight: 800;
    min-height: 44px;
    padding: .55rem .85rem;
}

.ascc-heats-live-ranking-filters {
    display: grid;
    gap: .65rem;
    margin-bottom: .85rem;
    max-width: 58rem;
    min-width: 0;
}

.ascc-heats-live-ranking-filter {
    color: var(--ascc-heats-live-muted);
    display: grid;
    font-size: .72rem;
    font-weight: 800;
    gap: .32rem;
    min-width: 0;
    text-transform: uppercase;
}

.ascc-heats-live-ranking-select {
    appearance: auto;
    background: var(--ascc-heats-live-surface);
    border: 1px solid #b7c5cc;
    border-radius: 12px;
    color: var(--ascc-heats-live-deep);
    font: inherit;
    font-size: .9rem;
    font-weight: 750;
    min-height: 46px;
    min-width: 0;
    padding: .55rem .7rem;
    text-transform: none;
    width: 100%;
}

.ascc-heats-live-ranking-list {
    display: grid;
    gap: .5rem;
    max-width: 58rem;
    min-width: 0;
}

.ascc-heats-live-ranking-standing {
    background: var(--ascc-heats-live-surface);
    border: 1px solid var(--ascc-heats-live-line);
    border-radius: 14px;
    min-width: 0;
    overflow: hidden;
}

.ascc-heats-live-ranking-standing-top {
    align-items: center;
    display: grid;
    gap: .65rem;
    grid-template-columns: 3.4rem minmax(0, 1fr) minmax(4.5rem, auto);
    min-width: 0;
    padding: .72rem .75rem;
}

.ascc-heats-live-ranking-position {
    color: var(--ascc-heats-live-sea);
    font-size: 1.35rem;
    font-variant-numeric: tabular-nums;
    letter-spacing: -.04em;
    line-height: 1;
    white-space: nowrap;
}

.ascc-heats-live-ranking-athlete,
.ascc-heats-live-ranking-total {
    min-width: 0;
}

.ascc-heats-live-ranking-athlete strong,
.ascc-heats-live-ranking-athlete span,
.ascc-heats-live-ranking-total strong,
.ascc-heats-live-ranking-total span,
.ascc-heats-live-ranking-contribution strong,
.ascc-heats-live-ranking-contribution span,
.ascc-heats-live-ranking-contribution em {
    display: block;
    overflow-wrap: anywhere;
}

.ascc-heats-live-ranking-athlete strong {
    color: var(--ascc-heats-live-deep);
    font-size: .96rem;
}

.ascc-heats-live-ranking-athlete span,
.ascc-heats-live-ranking-total span {
    color: var(--ascc-heats-live-muted);
    font-size: .67rem;
    margin-top: .12rem;
}

.ascc-heats-live-ranking-total {
    text-align: right;
}

.ascc-heats-live-ranking-total strong {
    color: var(--ascc-heats-live-deep);
    font-size: 1rem;
    font-variant-numeric: tabular-nums;
}

.ascc-heats-live-ranking-contributions {
    border-top: 1px solid var(--ascc-heats-live-line);
    color: var(--ascc-heats-live-muted);
    font-size: .72rem;
    padding: .6rem .75rem .7rem;
}

.ascc-heats-live-ranking-contributions summary {
    color: var(--ascc-heats-live-sea);
    cursor: pointer;
    font-weight: 800;
    min-height: 32px;
    padding: .25rem 0;
    touch-action: manipulation;
}

.ascc-heats-live-ranking-contributions ul {
    display: grid;
    gap: .45rem;
    list-style: none;
    margin: .4rem 0 0;
    padding: 0;
}

.ascc-heats-live-ranking-contribution {
    display: grid;
    gap: .12rem .65rem;
    grid-template-columns: minmax(0, 1fr) auto;
    min-width: 0;
    padding: .35rem 0;
}

.ascc-heats-live-ranking-contribution strong,
.ascc-heats-live-ranking-contribution span {
    grid-column: 1;
}

.ascc-heats-live-ranking-contribution em {
    align-self: center;
    font-size: .63rem;
    font-style: normal;
    font-weight: 850;
    grid-column: 2;
    grid-row: 1 / span 2;
    text-transform: uppercase;
}

.ascc-heats-live-ranking-counted {
    color: #14643c;
}

.ascc-heats-live-ranking-discarded {
    color: #68767d;
}

.ascc-heats-live-schedule-message,
.ascc-heats-live-schedule-notice {
    background: var(--ascc-heats-live-surface);
    border: 1px solid var(--ascc-heats-live-line);
    border-radius: 14px;
    color: var(--ascc-heats-live-muted);
    margin: 0;
    padding: 1rem;
}

.ascc-heats-live-schedule-message p {
    margin: 0 0 .75rem;
}

.ascc-heats-live-schedule-notice {
    background: #fff4d8;
    border-color: #ecd390;
    color: #724600;
    margin-bottom: .8rem;
}

.ascc-heats-live-schedule-retry {
    background: var(--ascc-heats-live-deep);
    border: 0;
    border-radius: 10px;
    color: #fff;
    cursor: pointer;
    font: inherit;
    font-weight: 800;
    min-height: 44px;
    padding: .55rem .85rem;
}

.ascc-heats-live-schedule-day {
    background: var(--ascc-heats-live-surface);
    border: 1px solid var(--ascc-heats-live-line);
    border-radius: 16px;
    margin-top: .8rem;
    overflow: hidden;
}

.ascc-heats-live-schedule-day-header {
    align-items: baseline;
    background: var(--ascc-heats-live-deep);
    color: #fff;
    display: flex;
    flex-wrap: wrap;
    gap: .25rem .7rem;
    justify-content: space-between;
    padding: .75rem .85rem;
}

.ascc-heats-live-schedule-day-header h3 {
    font-size: .95rem;
    margin: 0;
    text-transform: capitalize;
}

.ascc-heats-live-schedule-day-header span {
    color: #c4d9e2;
    font-size: .67rem;
}

.ascc-heats-live-schedule-stage {
    padding: .85rem;
}

.ascc-heats-live-schedule-stage + .ascc-heats-live-schedule-stage {
    border-top: 1px solid var(--ascc-heats-live-line);
}

.ascc-heats-live-schedule-stage h4 {
    color: var(--ascc-heats-live-sea);
    font-size: .73rem;
    letter-spacing: .08em;
    margin: 0 0 .65rem;
    text-transform: uppercase;
}

.ascc-heats-live-schedule-timeline {
    display: grid;
    gap: .15rem;
}

.ascc-heats-live-schedule-entry {
    display: grid;
    gap: .65rem;
    grid-template-columns: 1rem minmax(0, 1fr);
    min-width: 0;
    padding: .42rem 0;
    position: relative;
}

.ascc-heats-live-schedule-entry::before {
    background: var(--ascc-heats-live-line);
    content: "";
    left: .45rem;
    position: absolute;
    top: 1.35rem;
    bottom: -1rem;
    width: 2px;
}

.ascc-heats-live-schedule-entry:last-child::before {
    display: none;
}

.ascc-heats-live-schedule-marker {
    background: #a7b5bc;
    border: 3px solid #fff;
    border-radius: 50%;
    box-shadow: 0 0 0 1px #a7b5bc;
    height: .9rem;
    margin-top: .3rem;
    position: relative;
    width: .9rem;
    z-index: 1;
}

.ascc-heats-live-schedule-entry-current .ascc-heats-live-schedule-marker {
    background: var(--ascc-heats-live-live);
    box-shadow: 0 0 0 1px var(--ascc-heats-live-live), 0 0 0 .28rem rgba(36, 168, 101, .14);
}

.ascc-heats-live-schedule-entry-next .ascc-heats-live-schedule-marker {
    background: var(--ascc-heats-live-coral);
    box-shadow: 0 0 0 1px var(--ascc-heats-live-coral);
}

.ascc-heats-live-schedule-entry-finished {
    opacity: .62;
}

.ascc-heats-live-schedule-entry-body {
    min-width: 0;
}

.ascc-heats-live-schedule-entry-top {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: .4rem;
    margin-bottom: .12rem;
}

.ascc-heats-live-schedule-time {
    color: var(--ascc-heats-live-muted);
    font-size: .72rem;
    font-variant-numeric: tabular-nums;
    font-weight: 800;
}

.ascc-heats-live-schedule-state {
    background: #edf1f3;
    border-radius: 999px;
    color: #455762;
    font-size: .61rem;
    font-weight: 850;
    letter-spacing: .04em;
    padding: .2rem .4rem;
    text-transform: uppercase;
}

.ascc-heats-live-schedule-entry-current .ascc-heats-live-schedule-state {
    background: #def5e7;
    color: #14643c;
}

.ascc-heats-live-schedule-entry-next .ascc-heats-live-schedule-state {
    background: #fff0dc;
    color: #8a4800;
}

.ascc-heats-live-schedule-heat,
.ascc-heats-live-schedule-context {
    display: block;
    overflow-wrap: anywhere;
}

.ascc-heats-live-schedule-heat {
    color: var(--ascc-heats-live-deep);
    font-size: .91rem;
}

.ascc-heats-live-schedule-context {
    color: var(--ascc-heats-live-muted);
    font-size: .72rem;
    margin-top: .1rem;
}

.ascc-heats-live-section-title {
    color: var(--ascc-heats-live-deep);
    font-size: 1rem;
    letter-spacing: .13em;
    margin: 0 0 .8rem;
}

.ascc-heats-live-section-title-live {
    align-items: center;
    display: flex;
    gap: .55rem;
}

.ascc-heats-live-section-title-live::before {
    background: var(--ascc-heats-live-coral);
    border-radius: 50%;
    box-shadow: 0 0 0 .32rem rgba(242, 106, 79, .14);
    content: "";
    height: .62rem;
    width: .62rem;
}

.ascc-heats-live-no-live,
.ascc-heats-live-no-heats {
    background: var(--ascc-heats-live-surface);
    border: 1px solid var(--ascc-heats-live-line);
    border-radius: 14px;
    color: var(--ascc-heats-live-muted);
    margin: 0;
    padding: 1rem;
}

.ascc-heats-live-live-card {
    background: var(--ascc-heats-live-deep);
    border-radius: 17px;
    box-shadow: 0 14px 34px rgba(7, 50, 74, .18);
    color: #ffffff;
    margin-top: .8rem;
    min-width: 0;
    overflow: hidden;
    scroll-margin-top: 1rem;
}

.ascc-heats-live-live-card:first-of-type {
    margin-top: 0;
}

.ascc-heats-live-live-head {
    align-items: flex-start;
    display: flex;
    flex-wrap: wrap;
    gap: .8rem;
    justify-content: space-between;
    padding: 1rem;
}

.ascc-heats-live-live-context {
    flex: 1 1 150px;
    min-width: 0;
}

.ascc-heats-live-live-meta {
    color: #b9d0db;
    font-size: .72rem;
    letter-spacing: .045em;
    margin: 0;
    overflow-wrap: anywhere;
    text-transform: uppercase;
}

.ascc-heats-live-live-name {
    color: #ffffff;
    font-size: 1.25rem;
    line-height: 1.15;
    margin: .28rem 0 0;
    overflow-wrap: anywhere;
}

.ascc-heats-live-clock {
    align-items: center;
    background: rgba(255, 255, 255, .1);
    border: 1px solid rgba(255, 255, 255, .2);
    border-radius: 12px;
    display: flex;
    flex: 0 0 auto;
    gap: .55rem;
    min-height: 44px;
    padding: .55rem .7rem;
}

.ascc-heats-live-clock-label {
    color: #76e5a7;
    font-size: .73rem;
    letter-spacing: .09em;
}

.ascc-heats-live-clock-value {
    font-size: 1.45rem;
    font-variant-numeric: tabular-nums;
    font-weight: 850;
    line-height: 1;
}

.ascc-heats-live-clock-final .ascc-heats-live-clock-label,
.ascc-heats-live-clock-interrupted .ascc-heats-live-clock-label {
    color: #ffd6a3;
}

.ascc-heats-live-clock.ascc-heats-live-clock-final-five {
    background: #8f1715;
    border-color: #ff8b84;
}

.ascc-heats-live-clock-final-five .ascc-heats-live-clock-label {
    color: #ffffff;
}

.ascc-heats-live-clock-final-five.ascc-heats-live-clock-interrupted {
    border-color: #f1c453;
    box-shadow: inset 0 0 0 1px #f1c453;
}

.ascc-heats-live-athletes {
    display: grid;
    gap: .65rem;
    padding: 0 .65rem .75rem;
}

.ascc-heats-live-athlete {
    background: #ffffff;
    border-radius: 13px;
    color: var(--ascc-heats-live-ink);
    min-width: 0;
    padding: .8rem;
}

.ascc-heats-live-athlete-top {
    align-items: center;
    display: grid;
    gap: .55rem;
    grid-template-columns: auto minmax(0, 1fr) auto;
}

.ascc-heats-live-rank {
    color: var(--ascc-heats-live-sea);
    font-size: 1.08rem;
    min-width: 1.7rem;
}

.ascc-heats-live-athlete-identity {
    min-width: 0;
}

.ascc-heats-live-athlete-name {
    display: block;
    font-size: .95rem;
    line-height: 1.18;
    overflow-wrap: anywhere;
}

.ascc-heats-live-lycra {
    align-items: center;
    color: var(--ascc-heats-live-muted);
    display: inline-flex;
    font-size: .65rem;
    font-weight: 800;
    gap: .3rem;
    letter-spacing: .04em;
    min-width: 0;
}

.ascc-heats-live-lycra-swatch {
    background: var(--ascc-heats-live-lycra-color, #64748b);
    border: 2px solid rgba(16, 42, 58, .28);
    border-radius: 50%;
    flex: 0 0 auto;
    height: .85rem;
    width: .85rem;
}

.ascc-heats-live-lycra-name {
    overflow-wrap: anywhere;
}

.ascc-heats-live-priority-chip {
    background: #fff2c9;
    border-radius: 999px;
    color: #774700;
    font-size: .69rem;
    font-weight: 850;
    padding: .22rem .42rem;
}

.ascc-heats-live-score-grid {
    border-top: 1px solid #e4ebee;
    display: grid;
    gap: .7rem;
    grid-template-columns: minmax(0, .7fr) minmax(0, 1.3fr);
    margin-top: .7rem;
    padding-top: .65rem;
}

.ascc-heats-live-total,
.ascc-heats-live-best-two {
    min-width: 0;
}

.ascc-heats-live-metric-label {
    color: var(--ascc-heats-live-muted);
    display: block;
    font-size: .64rem;
    font-weight: 750;
    letter-spacing: .07em;
    text-transform: uppercase;
}

.ascc-heats-live-total-value {
    color: var(--ascc-heats-live-deep);
    display: block;
    font-size: 1.55rem;
    font-variant-numeric: tabular-nums;
    line-height: 1.05;
    margin-top: .15rem;
}

.ascc-heats-live-best-two-value {
    color: var(--ascc-heats-live-sea);
    display: block;
    font-size: .95rem;
    font-variant-numeric: tabular-nums;
    line-height: 1.2;
    margin-top: .3rem;
    overflow-wrap: anywhere;
}

.ascc-heats-live-situation {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: .38rem;
    margin-top: .65rem;
}

.ascc-heats-live-metric-value,
.ascc-heats-live-qualification {
    border-radius: 999px;
    font-size: .68rem;
    line-height: 1.25;
    padding: .28rem .48rem;
}

.ascc-heats-live-needs {
    background: #fff0dc;
    color: #8a4800;
}

.ascc-heats-live-win-by {
    background: #def5e7;
    color: #14643c;
}

.ascc-heats-live-qualification {
    background: #edf1f3;
    color: #44545e;
    font-weight: 750;
}

.ascc-heats-live-qualification-qualified,
.ascc-heats-live-qualification-qualifying {
    background: #def5e7;
    color: #14643c;
}

.ascc-heats-live-waves {
    background: #f7fafb;
    border-top: 1px solid var(--ascc-heats-live-line);
    color: var(--ascc-heats-live-ink);
}

.ascc-heats-live-waves-toggle {
    align-items: center;
    cursor: pointer;
    display: flex;
    font-size: .78rem;
    font-weight: 800;
    min-height: 46px;
    padding: .65rem .8rem;
    touch-action: manipulation;
}

.ascc-heats-live-waves-toggle::after {
    content: "+";
    font-size: 1.2rem;
    margin-left: auto;
}

.ascc-heats-live-waves[open] .ascc-heats-live-waves-toggle::after {
    content: "−";
}

.ascc-heats-live-waves-toggle:focus-visible,
.ascc-heats-live-round-summary:focus-visible,
.ascc-heats-live-category-select:focus-visible,
.ascc-heats-live-view-live:focus-visible,
.ascc-heats-live-navigation-link:focus-visible,
.ascc-heats-live-live-bar-link:focus-visible {
    outline: 3px solid #f7b32b;
    outline-offset: 2px;
}

.ascc-heats-live-schedule-retry:focus-visible,
.ascc-heats-live-classification-retry:focus-visible,
.ascc-heats-live-classification-select:focus-visible,
.ascc-heats-live-ranking-retry:focus-visible,
.ascc-heats-live-ranking-select:focus-visible,
.ascc-heats-live-ranking-contributions-toggle:focus-visible {
    outline: 3px solid #f7b32b;
    outline-offset: 2px;
}

.ascc-heats-live-waves-body {
    display: grid;
    gap: .65rem;
    padding: 0 .65rem .75rem;
}

.ascc-heats-live-wave-athlete {
    background: #ffffff;
    border: 1px solid var(--ascc-heats-live-line);
    border-radius: 11px;
    min-width: 0;
    padding: .7rem;
}

.ascc-heats-live-wave-athlete-heading {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: .4rem .6rem;
    justify-content: space-between;
}

.ascc-heats-live-wave-list {
    display: grid;
    gap: .25rem;
    margin-top: .55rem;
}

.ascc-heats-live-wave-row {
    align-items: center;
    background: #f2f5f6;
    border-radius: 7px;
    display: grid;
    font-size: .76rem;
    gap: .4rem;
    grid-template-columns: minmax(0, 1fr) auto auto;
    min-height: 34px;
    padding: .35rem .5rem;
}

.ascc-heats-live-wave-row-counting {
    background: #e2f4f4;
    color: #075b63;
}

.ascc-heats-live-wave-row small {
    font-size: .62rem;
    font-weight: 750;
    text-transform: uppercase;
}

.ascc-heats-live-interference-badge {
    background: #fff0dc;
    border-radius: 7px;
    color: #8a4800;
    display: inline-block;
    font-size: .72rem;
    font-weight: 750;
    line-height: 1.35;
    margin-top: .45rem;
    max-width: 100%;
    overflow-wrap: anywhere;
    padding: .25rem .45rem;
}

.ascc-heats-live-interference-detail {
    background: #fff0dc;
    border-radius: 7px;
    color: #8a4800;
    font-size: .75rem;
    line-height: 1.5;
    margin: .5rem 0 0;
    overflow-wrap: anywhere;
    padding: .4rem .5rem;
}

.ascc-heats-live-wave-interference,
.ascc-heats-live-wave-adjustment {
    color: #8a4800;
    font-size: .72rem;
    grid-column: 1 / -1;
    line-height: 1.5;
    overflow-wrap: anywhere;
}

.ascc-heats-live-wave-interference {
    font-weight: 750;
    text-transform: uppercase;
}

.ascc-heats-live-wave-adjustment {
    display: grid;
    gap: .15rem;
}

.ascc-heats-live-wave-best {
    color: var(--ascc-heats-live-muted);
    font-size: .73rem;
    font-variant-numeric: tabular-nums;
    font-weight: 750;
    margin: .55rem 0 0;
}

.ascc-heats-live-announcements {
    background: #ffffff;
    border-top: 1px solid var(--ascc-heats-live-line);
    display: grid;
    gap: .5rem;
    padding: .8rem .75rem;
}

.ascc-heats-live-announcement {
    background: #fff7ed;
    border-left: 4px solid var(--ascc-heats-live-coral);
    border-radius: 0 9px 9px 0;
    display: grid;
    font-size: .8rem;
    gap: .1rem;
    padding: .65rem .72rem;
}

.ascc-heats-live-category-control {
    display: grid;
    gap: .35rem;
    margin-bottom: .85rem;
}

.ascc-heats-live-category-control label {
    color: var(--ascc-heats-live-muted);
    font-size: .72rem;
    font-weight: 800;
    letter-spacing: .07em;
    text-transform: uppercase;
}

.ascc-heats-live-category-select {
    appearance: none;
    background: #ffffff linear-gradient(45deg, transparent 50%, var(--ascc-heats-live-deep) 50%) calc(100% - 17px) 52% / 6px 6px no-repeat;
    border: 1px solid #aebfc8;
    border-radius: 10px;
    color: var(--ascc-heats-live-deep);
    font: inherit;
    font-size: .9rem;
    font-weight: 750;
    min-height: 46px;
    padding: .65rem 2.3rem .65rem .75rem;
    width: 100%;
}

.ascc-heats-live-category-title {
    color: var(--ascc-heats-live-deep);
    font-size: 1.12rem;
    margin: 0 0 .65rem;
}

.ascc-heats-live-round {
    background: #ffffff;
    border: 1px solid var(--ascc-heats-live-line);
    border-radius: 12px;
    margin-top: .55rem;
    overflow: hidden;
}

.ascc-heats-live-round-summary {
    align-items: center;
    cursor: pointer;
    display: flex;
    gap: .65rem;
    justify-content: space-between;
    min-height: 48px;
    padding: .7rem .8rem;
    touch-action: manipulation;
}

.ascc-heats-live-round-summary strong {
    overflow-wrap: anywhere;
}

.ascc-heats-live-round-summary span {
    color: var(--ascc-heats-live-muted);
    flex: 0 0 auto;
    font-size: .72rem;
}

.ascc-heats-live-round[open] .ascc-heats-live-round-summary {
    border-bottom: 1px solid var(--ascc-heats-live-line);
}

.ascc-heats-live-heat-list {
    display: grid;
    gap: .55rem;
    padding: .6rem;
}

.ascc-heats-live-heat-card {
    background: #ffffff;
    border: 1px solid #dce5e9;
    border-radius: 10px;
    min-width: 0;
    overflow: hidden;
}

.ascc-heats-live-heat-card-live {
    border-color: #77cea1;
    box-shadow: inset 4px 0 0 var(--ascc-heats-live-live);
}

.ascc-heats-live-heat-card-final {
    box-shadow: inset 4px 0 0 var(--ascc-heats-live-sea);
}

.ascc-heats-live-heat-head {
    align-items: center;
    display: flex;
    gap: .65rem;
    justify-content: space-between;
    min-width: 0;
    padding: .68rem .7rem;
}

.ascc-heats-live-heat-title {
    min-width: 0;
}

.ascc-heats-live-heat-title strong,
.ascc-heats-live-heat-title small {
    display: block;
    overflow-wrap: anywhere;
}

.ascc-heats-live-heat-title small {
    color: var(--ascc-heats-live-muted);
    font-size: .65rem;
    margin-top: .1rem;
}

.ascc-heats-live-heat-state {
    border-radius: 999px;
    flex: 0 0 auto;
    font-size: .62rem;
    font-weight: 850;
    letter-spacing: .045em;
    max-width: 48%;
    overflow-wrap: anywhere;
    padding: .26rem .42rem;
    text-align: center;
}

.ascc-heats-live-heat-state-live {
    background: #dff7e9;
    color: #12653b;
}

.ascc-heats-live-heat-state-stale,
.ascc-heats-live-heat-state-pending {
    background: #fff0d4;
    color: #774700;
}

.ascc-heats-live-heat-state-final {
    background: #e2f1f4;
    color: #075b63;
}

.ascc-heats-live-heat-state-future {
    background: #edf1f3;
    color: #4a5a63;
}

.ascc-heats-live-view-live {
    align-items: center;
    color: #0b7141;
    display: inline-flex;
    font-size: .76rem;
    font-weight: 850;
    min-height: 44px;
    padding: .45rem .75rem;
    text-decoration: underline;
    text-underline-offset: 3px;
}

.ascc-heats-live-participants,
.ascc-heats-live-results {
    border-top: 1px solid #e3eaed;
    display: grid;
}

.ascc-heats-live-result-note {
    color: var(--ascc-heats-live-muted);
    font-size: .72rem;
    margin: 0;
    padding: .5rem .68rem;
}

.ascc-heats-live-participant,
.ascc-heats-live-result-row {
    align-items: center;
    border-top: 1px solid #edf1f3;
    display: grid;
    font-size: .78rem;
    gap: .5rem;
    min-width: 0;
    padding: .52rem .68rem;
}

.ascc-heats-live-participant:first-child,
.ascc-heats-live-result-row:first-child {
    border-top: 0;
}

.ascc-heats-live-participant {
    grid-template-columns: minmax(5.2rem, auto) minmax(0, 1fr);
}

.ascc-heats-live-participant > span:last-child,
.ascc-heats-live-result-name {
    overflow-wrap: anywhere;
}

.ascc-heats-live-placeholder {
    color: var(--ascc-heats-live-muted);
    font-style: italic;
    margin: 0;
}

.ascc-heats-live-result-row {
    grid-template-columns: 1.2rem minmax(0, 1fr);
}

.ascc-heats-live-result-rank {
    color: var(--ascc-heats-live-sea);
}

.ascc-heats-live-result-athlete {
    display: grid;
    gap: .16rem;
    min-width: 0;
}

.ascc-heats-live-result-score {
    display: flex;
    flex-wrap: wrap;
    gap: .15rem .55rem;
    grid-column: 2;
    justify-content: space-between;
    min-width: 0;
}

.ascc-heats-live-result-score strong {
    font-size: 1rem;
    font-variant-numeric: tabular-nums;
}

.ascc-heats-live-result-score small {
    color: var(--ascc-heats-live-muted);
    font-size: .66rem;
    font-variant-numeric: tabular-nums;
    overflow-wrap: anywhere;
}

.ascc-heats-live-sponsors {
    align-items: center;
    background: #ffffff;
    border-top: 1px solid var(--ascc-heats-live-line);
    display: flex;
    flex-wrap: wrap;
    gap: 1rem;
    justify-content: center;
    min-height: 64px;
    padding: .75rem;
}

.ascc-heats-live-sponsor {
    align-items: center;
    display: inline-flex;
    max-width: 8rem;
}

.ascc-heats-live-sponsor-image {
    display: block;
    height: 2.3rem;
    max-width: 100%;
    object-fit: contain;
    width: auto;
}

@media (min-width: 520px) {
    .ascc-heats-live-state-live .ascc-heats-live-updated {
        display: block;
    }

    .ascc-heats-live-updated {
        flex-basis: auto;
        margin-left: auto;
        text-align: right;
    }

    .ascc-heats-live-live-bar-link {
        padding-left: 1.1rem;
        padding-right: 1.1rem;
    }

    .ascc-heats-live-live-bar-stage {
        display: inline;
    }

    .ascc-heats-live-navigation {
        padding-left: .85rem;
        padding-right: .85rem;
    }

    .ascc-heats-live-header,
    .ascc-heats-live-live-section,
    .ascc-heats-live-heats-section,
    .ascc-heats-live-schedule-section,
    .ascc-heats-live-classification-section,
    .ascc-heats-live-ranking-section {
        padding-left: 1.1rem;
        padding-right: 1.1rem;
    }

    .ascc-heats-live-athletes,
    .ascc-heats-live-waves-body {
        padding-left: .85rem;
        padding-right: .85rem;
    }

    .ascc-heats-live-result-row {
        grid-template-columns: 1.2rem minmax(0, 1fr) minmax(8rem, auto);
    }

    .ascc-heats-live-result-score {
        grid-column: auto;
        justify-content: flex-end;
        text-align: right;
    }
}

@media (min-width: 760px) {
    .ascc-heats-live-navigation {
        min-width: 100%;
    }

    .ascc-heats-live-navigation-link {
        min-width: 8rem;
    }

    .ascc-heats-live-ranking-filters {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .ascc-heats-live-header {
        padding-bottom: 1.35rem;
        padding-top: 1.35rem;
    }

    .ascc-heats-live-athletes,
    .ascc-heats-live-waves-body {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .ascc-heats-live-live-head {
        align-items: center;
        padding: 1.15rem 1.25rem;
    }

    .ascc-heats-live-clock {
        padding: .65rem .9rem;
    }

    .ascc-heats-live-clock-value {
        font-size: 1.75rem;
    }

    .ascc-heats-live-category-control {
        max-width: 25rem;
    }

    .ascc-heats-live-heat-list {
        grid-template-columns: repeat(auto-fit, minmax(min(100%, 18rem), 1fr));
    }

    .ascc-heats-live-heat-card-live,
    .ascc-heats-live-heat-card-pending {
        align-self: start;
    }
}

@media (min-width: 1040px) {
    .ascc-heats-live-live-section,
    .ascc-heats-live-heats-section,
    .ascc-heats-live-schedule-section,
    .ascc-heats-live-classification-section,
    .ascc-heats-live-ranking-section {
        padding: 1.35rem 1.5rem;
    }

    .ascc-heats-live-athletes {
        gap: .85rem;
        padding: 0 1rem 1rem;
    }

}

@media (max-width: 359px) {
    .ascc-heats-live-live-section,
    .ascc-heats-live-heats-section,
    .ascc-heats-live-schedule-section,
    .ascc-heats-live-classification-section,
    .ascc-heats-live-ranking-section {
        padding-left: .55rem;
        padding-right: .55rem;
    }

    .ascc-heats-live-live-head {
        padding: .8rem;
    }

    .ascc-heats-live-clock {
        width: 100%;
    }

    .ascc-heats-live-athlete {
        padding: .7rem;
    }

    .ascc-heats-live-best-two-value {
        font-size: .84rem;
    }

    .ascc-heats-live-ranking-standing-top {
        gap: .45rem;
        grid-template-columns: 2.8rem minmax(0, 1fr) minmax(3.8rem, auto);
        padding-left: .55rem;
        padding-right: .55rem;
    }

    .ascc-heats-live-ranking-position {
        font-size: 1.15rem;
    }

    .ascc-heats-live-ranking-total strong {
        font-size: .9rem;
    }
}
