    /* ---------- FITNESS ---------- */
    .icon-workout-fallback {
      width: 40px;
      height: 40px;
      flex-shrink: 0;
      color: rgba(255, 255, 255, 0.5);
    }

    .workout-card-img {
      width: 100%;
      aspect-ratio: 16/9;
      object-fit: cover;
      background: var(--panel-alt);
      display: block;
    }

    .workout-card-meta {
      display: flex;
      align-items: center;
      gap: 10px;
      flex-wrap: wrap;
    }

    .phase-stepper {
      display: flex;
      gap: 8px;
      margin: 6px 0 20px;
    }

    .phase-step {
      flex: 1;
      text-align: center;
      padding: 9px 4px;
      border-radius: 8px;
      border: 1px solid var(--line-strong);
      background: var(--panel-alt);
      font-family: var(--font-mono);
      font-size: 11px;
      color: var(--muted);
      cursor: pointer;
    }

    .phase-step:hover {
      border-color: var(--brass);
    }

    .phase-step.active {
      background: var(--brass);
      border-color: var(--brass);
      color: #fff;
      font-weight: 600;
    }

    .phase-step.done {
      color: var(--good);
      border-color: var(--good);
    }

    .phase-card {
      background: var(--panel);
      border: 1px solid var(--line);
      border-radius: var(--radius-l);
      box-shadow: var(--shadow-card);
      padding: 20px;
    }

    .phase-timer-box {
      display: flex;
      flex-direction: column;
      align-items: center;
      gap: 18px;
      padding: 36px 20px;
    }

    .phase-timer-label {
      font-family: var(--font-mono);
      font-size: 12px;
      letter-spacing: 0.08em;
      text-transform: uppercase;
      color: var(--muted);
    }

    .phase-timer-display {
      font-family: var(--font-mono);
      font-size: 58px;
      font-weight: 700;
      color: var(--ink);
      font-variant-numeric: tabular-nums;
    }

    .phase-timer-display.is-done {
      color: var(--good);
    }

    .phase-timer-actions {
      display: flex;
      gap: 10px;
      flex-wrap: wrap;
      justify-content: center;
    }

    .workout-body-grid {
      display: grid;
      grid-template-columns: 1fr 280px;
      gap: 20px;
      align-items: start;
    }

    @media (max-width:860px) {
      .workout-body-grid {
        grid-template-columns: 1fr;
      }
    }

    .workout-video-wrap {
      position: relative;
      width: 100%;
      aspect-ratio: 16/9;
      border-radius: var(--radius-l);
      overflow: hidden;
      background: #000;
      border: 1px solid var(--line);
    }

    .workout-video-wrap iframe,
    .workout-video-wrap>div {
      position: absolute;
      inset: 0;
      width: 100%;
      height: 100%;
      border: 0;
    }

    .workout-music-box {
      margin-top: 14px;
    }

    .workout-music-box h4 {
      font-family: var(--font-mono);
      font-size: 11px;
      text-transform: uppercase;
      letter-spacing: 0.06em;
      color: var(--muted);
      margin-bottom: 8px;
      font-weight: 500;
    }

    .workout-music-box iframe {
      width: 100%;
      height: 80px;
      border: 0;
      border-radius: 8px;
      border: 1px solid var(--line-strong);
    }

    .workout-music-empty {
      font-size: 11.5px;
      color: var(--muted);
    }

    .exercise-list {
      display: flex;
      flex-direction: column;
      gap: 6px;
    }

    .exercise-row {
      display: flex;
      justify-content: space-between;
      gap: 8px;
      align-items: center;
      background: var(--panel-alt);
      border: 1px solid var(--line);
      border-radius: 8px;
      padding: 7px 10px;
      font-size: 12.5px;
    }

    .exercise-row .ex-name {
      font-weight: 500;
    }

    .exercise-row .ex-detail {
      font-family: var(--font-mono);
      color: var(--ink-dim);
      white-space: nowrap;
      font-size: 11px;
    }

    .workout-continue-row {
      display: flex;
      justify-content: center;
      margin-top: 16px;
    }

    .wf-ex-row {
      display: flex;
      gap: 6px;
      margin-bottom: 6px;
    }

    .wf-ex-row input {
      background: var(--panel-alt);
      border: 1px solid var(--line-strong);
      color: var(--ink);
      border-radius: 6px;
      padding: 6px 8px;
      font-size: 12px;
      min-width: 0;
    }

    .wf-ex-row .wf-ex-name {
      flex: 2;
    }

    .wf-ex-row .wf-ex-detail {
      flex: 1;
    }

