/* complete.css - WS7 (Batch C): Session Complete + Stats + Celebrate chain.
   Owns the styling for #complete-content (feedback-sheet, "wlc-" prefix) and
   #stats-content (stats-sheet, "wls-" prefix). Both reuse the app's existing
   token set from css/workout.css :root (var(--s1/s2/s3), var(--b1), var(--acc),
   var(--grn)/--org/--red, var(--mut)/--mut2, var(--font-num)/--font-ui) - zero
   hard-coded colors, same rule the rest of the redesign follows. Bar-fill and
   press-state motion come from css/motion.css (.wl-fill-bar, .wl-glow-pulse,
   .wl-press-btn, .wl-press-chip); the goal-ring sweep keyframe is defined here
   since it does not exist in motion.css and this file owns the ring markup. */

/* ── Shared header/section bits (Complete + Stats) ───────────────────────── */
.wlc-sheet{max-height:88vh;overflow-y:auto}
.wlc-kicker,.wlc-section-label{font-family:var(--font-num);font-size:.68rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--mut)}
.wlc-title{font-size:1.3rem;font-weight:700;color:var(--txt);margin-top:2px}
.wlc-card{background:var(--s2);border:1px solid var(--b1);border-radius:var(--r);padding:14px;margin-bottom:12px}
.wlc-card-top{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:2px}
.wlc-workout-name{font-size:.95rem;font-weight:700;color:var(--txt)}

/* ── Goal ring header (Complete only) ─────────────────────────────────────
   SPEC R3: "goal ring animates its sweep then pulses (glow) when >=100%". */
@keyframes wlcRingSweep{from{stroke-dashoffset:var(--wl-ring-from,195)}to{stroke-dashoffset:var(--wl-ring-to,0)}}
.wlc-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}
.wlc-ring-wrap{position:relative;width:72px;height:72px;flex:none}
.wlc-ring{position:relative}
.wlc-ring-glow{position:absolute;inset:2px;border-radius:999px;pointer-events:none}
.wlc-ring-num{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;pointer-events:none}
.wlc-ring-pct{font-family:var(--font-num);font-weight:800;font-size:.95rem;color:var(--txt)}
.wlc-ring-label{font-size:.5rem;font-weight:700;letter-spacing:.06em;color:var(--mut);white-space:nowrap}

/* ── Exercise accomplishment bars (Complete) ──────────────────────────────
   .wl-fill-bar (css/motion.css) supplies the scaleX(0)->scaleX(var(--wl-fill-to))
   entrance animation; this file only supplies the track + row chrome. */
.wlc-ex-hdr{display:flex;align-items:center;justify-content:space-between;padding:9px 0 3px;font-family:var(--font-num);font-size:.68rem;font-weight:700;letter-spacing:.06em;color:var(--mut);text-transform:uppercase}
.wlc-ex-hdr-sub{text-transform:none;font-weight:500;letter-spacing:0;color:var(--mut)}
.wlc-ex-row{padding:7px 0;border-top:1px solid var(--b1)}
.wlc-ex-row:first-of-type{border-top:none}
.wlc-ex-top{display:flex;align-items:center;gap:8px}
.wlc-ex-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:600;font-size:.82rem;color:var(--txt);display:flex;align-items:center;gap:5px}
.wlc-ex-injury{color:var(--org);display:inline-flex}
.wlc-ex-line{font-family:var(--font-num);font-size:.7rem;font-weight:600;color:var(--mut2);white-space:nowrap}
.wlc-ex-badge{font-family:var(--font-num);font-size:.6rem;font-weight:700;padding:2px 7px;border-radius:999px;white-space:nowrap;flex:none}
.wlc-ex-badge-pr{background:var(--grn);color:var(--bg)}
.wlc-ex-badge-info{background:var(--adim);color:var(--acc2)}
.wlc-bar-track{position:relative;height:4px;border-radius:999px;background:var(--s3);margin-top:5px;overflow:hidden}
.wlc-bar-fill{position:absolute;inset:0;border-radius:999px}
.wlc-bar-glow{position:absolute;inset:-2px;border-radius:999px;pointer-events:none}

/* ── "How'd it go?" card (Complete): effort scale + text-only feel chips ──
   R2 "feel chips are text-only (no emoji)". Reuses .rpe-btn/.feel-btn base
   styles from css/workout.css (sizing/selected-state); this file only adds
   the layout wrapper + drops the old emoji-era feel-btn column layout. */
.wlc-howgo{font-size:.9rem;font-weight:700;color:var(--txt);margin-bottom:10px}
.wlc-effort-row{margin-bottom:14px}
/* B2-T1 (fleet 2026-09-16): the 1 to 10 RPE slider is retired (PROPOSAL 2026-09-14
   section 3a) and its row is an inert stub kept only so feedback.js's
   getElementById('fb-rpe-row') still resolves. It must never occupy space or take a
   tap; [hidden] alone loses to the .rpe-row display rule in workout.css. */
.wlc-rpe-retired{display:none}
/* The score that replaced it: the number in --font-num (JetBrains Mono), the same
   voice every other number on this receipt speaks, at the effort title's weight.
   Existing tokens only - no new colour, no new token (NG-1). */
.wlc-score-row{display:flex;align-items:baseline;gap:8px;margin-bottom:14px}
.wlc-score-num{font-family:var(--font-num);font-size:1.6rem;font-weight:800;color:var(--txt);line-height:1.1}
.wlc-score-sub{font-size:.72rem;color:var(--mut2)}
.wlc-feel-row{display:flex;gap:6px;margin-bottom:14px;flex-wrap:wrap}
/* T-D fix (fleet 2026-08-31): text-only chips have no .feel-label child, so the
   base .feel-btn rules in workout.css never set a text color on the button itself
   and the UA default (black) rendered on the dark var(--s2) chip - unreadable.
   Match the app's gold chip treatment (.wlc-ex-badge-info: --adim tint bg +
   --acc2 text): unselected = --mut2 on --s2, selected = --acc2 on --adim
   (background/border already come from .feel-btn.sel in workout.css). Tokens
   are theme-aware so both dark and light stay legible. */
.wlc-feel-btn{flex:1 1 auto;min-width:56px;padding:10px 4px;font-family:var(--font-ui);font-size:.72rem;font-weight:600;color:var(--mut2)}
.wlc-feel-btn.sel{color:var(--acc2)}
.wlc-notes{margin-bottom:0}

.wlc-actions{display:flex;gap:10px;padding-bottom:2px}
.wlc-skip{width:96px;flex:none;background:var(--s2);border:1px solid var(--b1);border-radius:var(--r);color:var(--mut2);font-family:var(--font-ui);font-size:.9rem;font-weight:600;padding:14px 8px;cursor:pointer}
.wlc-save{flex:1;background:var(--grn);border:none;border-radius:var(--r);color:var(--bg);font-family:var(--font-ui);font-size:.95rem;font-weight:700;padding:14px;cursor:pointer}

/* ── Stats screen ("wls-" prefix) ──────────────────────────────────────── */
.wls-kicker{display:flex;align-items:center;gap:5px;font-family:var(--font-num);font-size:.68rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--grn);margin-bottom:2px}
.wls-title{font-size:1.3rem;font-weight:700;color:var(--txt);margin-bottom:12px}
.wls-summary-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:8px}
.wls-summary-txt{font-size:.82rem;font-weight:600;color:var(--mut2)}
.wls-spark-row{display:flex;align-items:center;gap:8px;margin-top:10px}
.wls-spark-label{font-family:var(--font-num);font-size:.62rem;font-weight:700;letter-spacing:.06em;color:var(--mut)}
.wls-spark-txt{font-size:.72rem;color:var(--mut2)}

/* LOW 1: notes block on the Stats receipt (fix round WS7-1) */
.wls-notes-text{font-size:.85rem;color:var(--txt);line-height:1.4;white-space:pre-wrap;word-break:break-word}

.wls-ex-card{padding:2px 14px}
.wls-ex-row{padding:11px 0;border-top:1px solid var(--b1)}
.wls-ex-row:first-of-type{border-top:none}
.wls-ex-top{display:flex;align-items:center;justify-content:space-between;gap:8px}
.wls-ex-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.85rem;font-weight:650;color:var(--txt)}
.wls-ex-line{font-family:var(--font-num);font-size:.7rem;font-weight:600;color:var(--mut2);margin-top:5px}
.wls-bar-track{margin-top:6px}
.wls-ex-takeaway{font-size:.72rem;color:var(--mut2);margin-top:6px}
.wls-ex-next{font-size:.78rem;font-weight:650;color:var(--acc2);margin-top:3px}

.wls-highlights{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:12px}

.wls-effort-card{background:var(--s2);border:1px solid var(--b1);border-radius:var(--r);padding:12px 14px;display:flex;align-items:center;gap:12px;margin-bottom:12px}
.wls-effort-card svg{flex:none;color:var(--grn)}
.wls-effort-title{font-size:.85rem;font-weight:650;color:var(--txt)}
.wls-effort-sub{font-size:.72rem;color:var(--mut);margin-top:1px}

.wls-upnext{border:1px solid var(--acc);border-radius:var(--rsm);padding:11px 14px;display:flex;align-items:center;justify-content:space-between;background:var(--adim);margin-bottom:12px}
.wls-upnext-line{font-size:.85rem;font-weight:650;color:var(--acc2);margin-top:2px;white-space:nowrap}
.wls-upnext-chev{color:var(--acc2);font-size:1.1rem}

.wls-done{width:100%;background:var(--acc);border:none;border-radius:var(--r);color:var(--acc-text);font-family:var(--font-ui);font-size:.95rem;font-weight:700;padding:15px;cursor:pointer}
