/* The session card — a workout's steps beside a rail drawn to scale.
 WorkoutDetailView.swift:135-230. Drawn by session-card.js on the coach page,
 the plan page and inside the new-activity dialog; one file so the three agree. */
.session{display:flex;align-items:stretch;gap:var(--space-5)}
.rail{width:5px;flex:none;display:flex;flex-direction:column;gap:1px}
.rail i{display:block;border-radius:2px;background:var(--ink-secondary);opacity:.3}
.rail i.main{opacity:1}
.steps{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}
.step{display:flex;align-items:flex-start;gap:9px;padding:3px 0}
.step .n{width:14px;flex:none;font-size:var(--font-caption2);color:var(--ink-secondary);
         opacity:.7;font-variant-numeric:tabular-nums;padding-top:2px}
.step .body{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}
.repeat{font-size:var(--font-caption2);color:var(--ink-secondary);opacity:.7}
.children{padding-left:9px;border-left:2px solid var(--separator);
          display:flex;flex-direction:column;gap:2px}
.leaf{display:flex;flex-direction:column;gap:1px}
.leaf .name{font-size:var(--font-footnote);font-weight:var(--weight-semibold)}
.leaf .qual{font-size:9px;font-weight:var(--weight-semibold);letter-spacing:.5px}
.leaf .line{font-size:var(--font-caption2);color:var(--ink-secondary);
            font-variant-numeric:tabular-nums}
.leaf .zone{font-size:10px;color:var(--ink-secondary);opacity:.7}
.leaf.hi{padding:7px;border-radius:8px;position:relative}
.leaf.hi .line{color:var(--ink)}

