#exercise-strength-chart-v2 {
    position: relative;
    overflow: hidden;
    min-height: 0;
    margin-top: 14px;
    padding: 8px 5px 2px;
    border: 1px solid rgba(255,255,255,.075);
    border-radius: 17px;
    background: linear-gradient(155deg, #161417 0%, #111113 70%, #171012 100%);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.022), 0 14px 32px rgba(0,0,0,.2);
}

#exercise-strength-chart-v2::after {
    content: "";
    position: absolute;
    inset: auto 12% -48px;
    height: 86px;
    border-radius: 50%;
    background: var(--accent-glow, rgba(255,49,57,.075));
    filter: blur(34px);
    pointer-events: none;
}

#exercise-strength-chart-v2 svg {
    position: relative;
    z-index: 1;
    display: block;
    overflow: visible;
}

@media (max-width: 520px) {
    #exercise-strength-chart-v2 {
        min-height: 0;
        padding-inline: 1px;
        border-radius: 15px;
    }
}

.exercise-volume-stat.is-summary > span {
    min-height: 2.2em;
    line-height: 1.1;
}

.exercise-progress-baseline {
    grid-column: 1 / -1;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 3px 12px;
    margin: 0;
    padding: 10px 12px;
    border: 1px solid var(--line, rgba(255,255,255,.08));
    border-radius: 12px;
    background: var(--surface-raised, #17171b);
    color: var(--text, #fff);
}

.exercise-progress-baseline span {
    color: var(--muted, #85858f);
    font-size: 10px;
    font-weight: 850;
    letter-spacing: .06em;
    text-transform: uppercase;
}

.exercise-progress-baseline strong {
    color: var(--heading, #fff);
    font-size: 14px;
    line-height: 1.2;
    text-align: right;
}

.exercise-progress-baseline strong.is-positive {
    color: var(--success-text, #4bd180);
}

.exercise-progress-baseline strong.is-negative {
    color: var(--warning-text, #f0b24a);
}

.exercise-progress-baseline small {
    grid-column: 1 / -1;
    color: var(--text-secondary, #d5d5da);
    font-size: 11px;
    line-height: 1.25;
}

/* Holds use the same improvement cards as lifting, with compact time labels. */
.hold-progress-summary .exercise-volume-stat{min-width:0;padding:9px 7px}
.hold-progress-summary .exercise-volume-stat.is-summary>span{min-height:0;font-size:10px;line-height:1.2}
.hold-progress-summary .exercise-volume-stat strong{font-size:clamp(13px,3.5vw,18px);line-height:1.3;overflow-wrap:anywhere}
.hold-progress-summary .exercise-volume-stat small{display:block;margin-top:3px;font-size:10px;line-height:1.2}
.hold-progress-summary .exercise-progress-baseline{padding:8px 10px;gap:3px 8px}
.hold-progress-summary .exercise-progress-baseline strong{font-size:12px}
.hold-progress-summary>.empty-state{grid-column:1/-1}
#hold-progress-filter{display:grid;gap:5px;margin-top:10px;font-size:12px;color:var(--muted)}

.exercise-history-header.hold-best-history, .exercise-history-row.hold-best-history { grid-template-columns: 1.5fr 1fr .6fr; }
