/* BUFF OS v73 — "I want bigger ___" goals card on the Home tab. */
.v73-card { margin-bottom: 14px; }
.v73-chips { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
.v73-chip { display: flex; align-items: center; gap: 10px; min-height: 56px; padding: 8px 12px; border-radius: 14px; text-align: left;
  cursor: pointer; font-family: inherit; color: var(--txt); background: rgba(255, 255, 255, .05); border: 1px solid rgba(255, 255, 255, .07); }
.v73-chip:active { transform: scale(.97); }
.v73-chip.on { background: rgba(var(--accent-rgb), .13); border-color: rgba(var(--accent-rgb), .5); }
.v73-chip span { font-size: 22px; flex: 0 0 auto; }
.v73-chip b { flex: 1 1 auto; min-width: 0; font-size: 13.5px; font-weight: 800; line-height: 1.2; }
.v73-chip small { flex: 0 0 auto; font-size: 10.5px; font-weight: 800; color: var(--txt3); font-variant-numeric: tabular-nums; }
.v73-chip.on small { color: var(--accent); }
.v73-hint { margin-top: 12px; font-size: 12px; line-height: 1.5; font-weight: 600; color: var(--txt3); }

.v73-panel { margin-top: 14px; padding-top: 14px; border-top: 1px solid rgba(255, 255, 255, .07); }
.v73-intro { font-size: 13px; line-height: 1.55; font-weight: 600; color: var(--txt2, var(--txt)); margin-bottom: 14px; }

/* this week's sets against the 10–20 growth zone */
.v73-week { padding: 11px 13px; border-radius: 14px; background: rgba(255, 255, 255, .045); margin-bottom: 16px; }
.v73-week-h { display: flex; align-items: baseline; justify-content: space-between; gap: 10px; }
.v73-week-h b { font-size: 14px; font-weight: 800; }
.v73-week-h span { font-size: 11px; font-weight: 700; color: var(--txt3); }
.v73-meter { position: relative; height: 8px; margin: 9px 0 8px; border-radius: 4px; background: rgba(255, 255, 255, .08); }
.v73-meter i { position: absolute; left: 0; top: 0; bottom: 0; border-radius: 4px; background: #ffb866; }
.v73-week.good .v73-meter i, .v73-week.high .v73-meter i { background: #5fd39a; }
.v73-week.none .v73-meter i { background: #ff7a6b; }
.v73-meter u { position: absolute; top: -3px; bottom: -3px; width: 2px; margin-left: -1px; background: rgba(255, 255, 255, .6); border-radius: 1px; }
.v73-week-s { font-size: 12px; font-weight: 700; color: var(--txt3); }
.v73-week.good .v73-week-s, .v73-week.high .v73-week-s { color: #5fd39a; }
.v73-week.none .v73-week-s { color: #ff9a8c; }

.v73-part { margin-bottom: 18px; }
.v73-part-h { display: flex; align-items: baseline; justify-content: space-between; gap: 10px; }
.v73-part-h b { font-size: 15px; font-weight: 800; letter-spacing: -.01em; }
.v73-part-h span { font-size: 10.5px; font-weight: 800; color: var(--txt3); text-transform: uppercase; letter-spacing: .04em; white-space: nowrap; }
.v73-part-h span.z { color: #ff9a8c; }
.v73-part-l { font-size: 12px; line-height: 1.45; font-weight: 600; color: var(--txt3); margin: 3px 0 9px; }

.v73-ex { width: 100%; display: flex; align-items: flex-start; gap: 11px; padding: 10px 11px; margin-bottom: 7px; border-radius: 13px; text-align: left;
  cursor: pointer; font-family: inherit; color: var(--txt); background: rgba(255, 255, 255, .04); border: 1px solid rgba(255, 255, 255, .06); }
.v73-ex:active { transform: scale(.985); }
.v73-ex-i { flex: 0 0 auto; font-size: 20px; line-height: 1.3; }
.v73-ex-b { flex: 1 1 auto; min-width: 0; display: flex; flex-direction: column; gap: 3px; }
.v73-ex-b b { font-size: 14px; font-weight: 800; }
.v73-ex-b small { font-size: 11.5px; line-height: 1.45; font-weight: 600; color: var(--txt3); }
.v73-ex-r { flex: 0 0 auto; display: flex; flex-direction: column; align-items: flex-end; gap: 3px; padding-top: 1px; }
.v73-ex-r em { font-style: normal; font-size: 11px; font-weight: 800; color: var(--accent); white-space: nowrap; }
.v73-ex-r i { font-style: normal; font-size: 11px; font-weight: 800; color: var(--txt3); opacity: .5; }
.v73-ex-r small { font-size: 9.5px; font-weight: 800; letter-spacing: .03em; text-transform: uppercase; white-space: nowrap; }
.t-g { color: #5fd39a; } .t-a { color: #ffb866; } .t-r { color: #ff7a6b; }
.v73-foot { font-size: 11px; line-height: 1.5; font-weight: 600; color: var(--txt3); }
/* seven goals in two columns leaves one on its own — let it take the whole row */
.v73-chip:last-child:nth-child(odd) { grid-column: 1 / -1; }

/* ---- the everyday workout card: the thing you came here for, so it cannot be missed ---- */
.v73-plan { margin: 0 0 20px; padding: 15px 14px 14px; border-radius: 18px;
  background: linear-gradient(180deg, rgba(var(--accent-rgb), .13), rgba(var(--accent-rgb), .05));
  border: 1.5px solid rgba(var(--accent-rgb), .55); box-shadow: 0 0 0 4px rgba(var(--accent-rgb), .06); }
.v73-plan-k { font-size: 11px; font-weight: 800; letter-spacing: .09em; color: var(--accent); }
.v73-plan-h { display: flex; align-items: baseline; justify-content: space-between; gap: 10px; flex-wrap: wrap; margin: 5px 0 12px; }
.v73-plan-h b { font-size: 18px; font-weight: 800; letter-spacing: -.015em; }
.v73-plan-h span { font-size: 11.5px; font-weight: 700; color: var(--txt3); white-space: nowrap; }

.v73-days { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 5px; margin-bottom: 12px; }
.v73-days button { position: relative; min-height: 38px; border-radius: 11px; cursor: pointer; font-family: inherit;
  color: var(--txt3); background: rgba(255, 255, 255, .05); border: 1px solid rgba(255, 255, 255, .06); }
.v73-days button b { font-size: 12.5px; font-weight: 800; }
.v73-days button.on { color: #14110a; background: var(--accent); border-color: transparent; }
.v73-days button u { position: absolute; left: 50%; bottom: 4px; width: 4px; height: 4px; margin-left: -2px; border-radius: 50%; background: currentColor; }
.v73-days button.today:not(.on) { color: var(--accent); border-color: rgba(var(--accent-rgb), .5); }

.v73-plan-l { display: flex; flex-direction: column; gap: 7px; }
.v73-pl { width: 100%; display: flex; align-items: center; gap: 11px; padding: 10px 11px; border-radius: 13px; text-align: left; cursor: pointer;
  font-family: inherit; color: var(--txt); background: rgba(0, 0, 0, .22); border: 1px solid rgba(255, 255, 255, .06); }
.v73-pl:active { transform: scale(.985); }
.v73-pl-i { flex: 0 0 auto; font-size: 20px; }
.v73-pl-b { flex: 1 1 auto; min-width: 0; display: flex; flex-direction: column; gap: 2px; }
.v73-pl-b b { font-size: 14px; font-weight: 800; }
.v73-pl-b small { font-size: 12px; font-weight: 700; color: var(--txt2, var(--txt)); font-variant-numeric: tabular-nums; }
.v73-pl-r { flex: 0 0 auto; }
.v73-pl-r i { font-style: normal; font-size: 9.5px; font-weight: 800; letter-spacing: .03em; text-transform: uppercase; color: var(--txt3); white-space: nowrap; }
.v73-pl-r em { font-style: normal; font-size: 11px; font-weight: 800; color: var(--accent); white-space: nowrap; }
.v73-pl-r em.ok { color: #5fd39a; }
.v73-grp { display: flex; align-items: baseline; justify-content: space-between; gap: 8px; margin: 8px 2px 1px; }
.v73-grp span { font-size: 11px; font-weight: 800; letter-spacing: .07em; text-transform: uppercase; color: var(--accent); }
.v73-grp small { font-size: 11px; font-weight: 700; color: var(--txt3); }
.v73-go { width: 100%; min-height: 54px; margin-top: 13px; border-radius: 16px; border: 0; cursor: pointer; font-family: inherit;
  font-size: 16px; font-weight: 800; color: #14110a; background: var(--accent); }
.v73-go:active { transform: scale(.98); }
.v73-plan-f { margin-top: 11px; font-size: 11px; line-height: 1.5; font-weight: 600; color: var(--txt3); }

/* the full-plan button sits under the last goal and takes the whole row */
.v73-chip.full { grid-column: 1 / -1; border-color: rgba(var(--accent-rgb), .4); background: rgba(var(--accent-rgb), .09); }
.v73-chip:nth-last-child(2):nth-child(odd) { grid-column: 1 / -1; }
.v73-chip:last-child:nth-child(odd) { grid-column: 1 / -1; }
