/* The V4 series DOM and safety/timer transitions remain intact. */
.workout-intro { padding: 0 var(--page-gutter) 24px; }
.workout-intro h2 { font-size: 25px; letter-spacing: -.03em; line-height: 1.15; }
.workout-intro img { width: 100%; height: 190px; object-fit: cover; object-position: 65% 55%; border-radius: var(--radius-sm); margin-bottom: 16px; }
.workout-intro .btn { width: 100%; margin-top: 12px; }
#view-workout > .card { border: 0; background: transparent; }
.byke-shell .card h2 { font-family: var(--font-display); font-size: 21px; letter-spacing: -.025em; color: var(--text-primary); text-transform: none; }
.byke-shell .cockpit { background: transparent; color: var(--text-primary); margin: 0 0 24px; padding: 0; }
.cockpit-mode { padding-top: 12px; }
.cockpit-topline { color: var(--text-secondary); font-weight: 400; }.cockpit .text-btn { color: var(--text-secondary); font-family: var(--font-body); letter-spacing: 0; text-transform: none; font-size: 13px; }
.cockpit-index { color: var(--text-secondary); font-size: 11px; }
.cockpit-progress { height: 3px; background: var(--surface-3); margin: 10px 0 28px; }.cockpit-progress span { background: var(--text-primary); }
.byke-shell .cockpit .cockpit-name { font: 700 34px/1.05 var(--font-display); letter-spacing: -.04em; color: var(--text-primary); text-transform: none; margin: 10px 0; }
.cockpit-cue { color: var(--text-secondary); font-size: 14px; }
.cockpit-set { border-color: var(--border-subtle); font-size: 12px; color: var(--text-primary); }
.cockpit-why { margin-top: 8px; color: var(--text-secondary); border-color: var(--border-subtle); }.cockpit-why summary { min-height: 44px; padding-block: 10px; color: var(--text-secondary); font: 13px/1.5 var(--font-body); }.cockpit-why p { font-size: 13px; line-height: 1.6; }
.cockpit-mode .cockpit { margin-bottom: 8px; }.cockpit-mode .cockpit-progress { margin-bottom: 18px; }
.cockpit-mode:not(.cockpit-expanded) .ex-name { display: none; }
.cockpit-mode:not(.cockpit-expanded) .exercise-context { display: none; }
.cockpit-mode:not(.cockpit-expanded) .set-line:not(.active-set):not(.completed) { display: none; }
.cockpit-mode:not(.cockpit-expanded) .set-line.active-set { border: 0; border-block: 1px solid var(--border-subtle); border-radius: 0; padding: 18px 0; box-shadow: none; background: none; grid-template-columns: 20px minmax(0,1fr) 20px minmax(0,1fr); gap: 8px; }
.cockpit-mode:not(.cockpit-expanded) .active-set .set-number { font: 12px var(--font-technical); color: var(--text-secondary); }
.cockpit-mode:not(.cockpit-expanded) .active-set .s-reps, .cockpit-mode:not(.cockpit-expanded) .active-set .s-weight { padding: 4px; min-height: 80px; font: 600 clamp(44px,13vw,58px)/1 var(--font-display); text-align: center; letter-spacing: -.05em; border: 0; border-bottom: 1px solid var(--border-control); background: transparent; }
.cockpit-mode:not(.cockpit-expanded) .active-set .s-weight { grid-column: 4; grid-row: 1; }.cockpit-mode:not(.cockpit-expanded) .active-set .s-reps { grid-column: 2; grid-row: 1; }
.cockpit-mode:not(.cockpit-expanded) .active-set .x { grid-column: 3; grid-row: 1; font-size: 20px; }
.cockpit-mode:not(.cockpit-expanded) .active-set .set-beat { grid-column: 2 / -1; margin: 0; font: 10px/1.4 var(--font-technical); color: var(--text-secondary); text-align: right; }
.cockpit-mode .set-line .del { display: none; }
.cockpit-mode:not(.cockpit-expanded) .active-set .set-termination { display: none; }
.rir-controls { gap: 6px; }.rir-controls > span { font-size: 12px; }.rir-controls button { min-height: 44px; min-width: 38px; font-size: 16px; border-radius: 4px; }
.rir-controls button[aria-pressed='true'] { background: var(--text-primary); color: var(--bg-primary); border-color: var(--text-primary); }
.cockpit-mode .set-details { margin-top: 8px; }.cockpit-mode .set-details > summary { font-size: 12px; min-height: 44px; }
.cockpit-mode:not(.cockpit-expanded) .set-line.completed { border: 1px solid var(--border-subtle); box-shadow: none; padding: 8px; opacity: .75; border-radius: 4px; }
.cockpit-mode:not(.cockpit-expanded) .set-line.completed .rir-controls, .cockpit-mode:not(.cockpit-expanded) .set-line.completed .set-termination, .cockpit-mode:not(.cockpit-expanded) .set-line.completed .set-details { display: none; }
.cockpit-mode:not(.cockpit-expanded) .set-line.completed input { font-size: 16px; min-height: 40px; padding: 6px; border: 0; background: none; }
.cockpit-mode .complete-set { width: 100%; min-height: 60px; margin-top: 8px; font-size: 17px; }
.set-actions .btn { min-width: 0; }.cockpit-nav .btn { font-family: var(--font-body); font-size: 12px; }
.byke-shell .rest-float { background: var(--surface-1); color: var(--text-primary); border: 1px solid var(--border-control); border-radius: 8px; padding: 16px; max-width: 590px; bottom: calc(76px + env(safe-area-inset-bottom)); }
.byke-shell .rest-float.hot { background: var(--surface-1); border-color: var(--signal-red); }.rest-float .rf-time { font: 600 46px/1 var(--font-display); letter-spacing: -.045em; }.rest-float .rf-label { font-size: 11px; opacity: 1; color: var(--text-secondary); }.rest-float .rf-msg { font-size: 13px; font-weight: 400; color: var(--text-secondary); }.rest-controls { gap: 6px; }.rest-controls button { color: var(--text-primary); background: var(--surface-2); border: 1px solid var(--border-control); min-height: 44px; border-radius: 4px; }.rest-progress { background: var(--surface-3); }.rest-progress span { background: var(--text-primary); }
.termination-panel { border: 1px solid var(--border-control); background: var(--surface-1); border-radius: 4px; margin: 0 0 18px; padding: 16px; }.termination-panel h3 { font-size: 20px; }.termination-panel [role='alert'] { border-left: 2px solid var(--signal-red); padding-left: 12px; line-height: 1.5; }
.history-item { margin-bottom: 12px; border-bottom: 1px solid var(--border-subtle); padding-bottom: 16px; }.history-item .list-item { border: 0; padding-bottom: 0; }.history-item .sub { font: 12px/1.5 var(--font-body); color: var(--text-secondary); }.history-item .evidence-details summary { min-height: 44px; padding-block: 12px; cursor: pointer; }.history-item .del { min-width: 44px; min-height: 44px; font-size: 11px; }
@media (min-width:900px) { #view-workout { max-width: 700px; margin-inline: auto; }.cockpit-mode .active-set .s-reps,.cockpit-mode .active-set .s-weight { font-size: 68px; } }
