/* src/client/static/coach2.css — Coach Brain Step 2's styles (plan ruling 16): one marked block per task, created empty
 * by Task 6. A task writes only inside its own block; a merge conflict here is always resolved by keeping both blocks.
 * Loaded after kgym.css (index.html). */

/* ── F seams ── start */
/* ── F seams ── end */

/* ── A routine ── start */
.pause-link{align-self:flex-start}
.pause-box{display:grid;gap:8px;margin:8px 0}
.pause-box .resume{max-width:360px;min-height:44px}
.paused-line{margin:0}
.routine-bar{display:flex;flex-wrap:wrap;gap:2px;margin:var(--kgym-s2) 0;padding:0;list-style:none}
.rb-seg{flex:1 1 auto;min-width:max-content;padding:6px 8px;border:1px solid var(--lawha-line);border-radius:4px;background:var(--lawha-surface);color:var(--lawha-ink);font-size:var(--kgym-t-small);text-align:center}
.rb-seg[data-share="1"]{flex-grow:1}.rb-seg[data-share="2"]{flex-grow:2}.rb-seg[data-share="3"]{flex-grow:3}.rb-seg[data-share="4"]{flex-grow:4}.rb-seg[data-share="5"]{flex-grow:5}.rb-seg[data-share="6"]{flex-grow:6}.rb-seg[data-share="7"]{flex-grow:7}.rb-seg[data-share="8"]{flex-grow:8}.rb-seg[data-share="9"]{flex-grow:9}.rb-seg[data-share="10"]{flex-grow:10}.rb-seg[data-share="11"]{flex-grow:11}.rb-seg[data-share="12"]{flex-grow:12}.rb-seg[data-share="13"]{flex-grow:13}.rb-seg[data-share="14"]{flex-grow:14}.rb-seg[data-share="15"]{flex-grow:15}.rb-seg[data-share="16"]{flex-grow:16}.rb-seg[data-share="17"]{flex-grow:17}.rb-seg[data-share="18"]{flex-grow:18}.rb-seg[data-share="19"]{flex-grow:19}.rb-seg[data-share="20"]{flex-grow:20}
.rb-seg.is-done,.rb-seg.is-skipped{background:var(--kgym-done)}
.rb-seg.is-skipped{text-decoration:line-through}
.rb-seg.is-running,.rb-seg.is-paused{border-color:var(--lawha-ink);font-weight:600}
.routine-now,.routine-end{display:grid;gap:var(--kgym-s3);margin:var(--kgym-s2) 0}
.step-card{margin:0;padding:var(--kgym-pad);border:var(--lawha-rule);border-radius:var(--lawha-radius);background:var(--lawha-surface)}
.step-title{margin:0 0 var(--kgym-s2);font:600 var(--kgym-t-label)/1.3 var(--lawha-font)}
.step-left{display:block;font:var(--kgym-t-big)/1.1 var(--lawha-display);font-variant-numeric:tabular-nums}
.step-actions{display:flex;flex-wrap:wrap;align-items:center;gap:var(--kgym-s3)}
.step-start,.start-weights{max-width:360px;min-height:44px}
.step-fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(140px,100%),1fr));gap:var(--kgym-s2);margin-top:var(--kgym-s2)}
.step-fields>*{min-width:0}
.step-fields :is(input,select){width:100%;min-width:0}
.skip-question .swap-actions{display:flex;gap:var(--kgym-s3)}
.setting-summary{margin:0;font-size:var(--kgym-t-body);color:var(--lawha-ink)}
.routine-setting{display:grid;gap:var(--kgym-s2)}
/* ── A routine ── end */

/* ── A rest ── start */
.rest-bar{position:fixed;z-index:5;inset-inline:var(--kgym-gutter);bottom:calc(56px + env(safe-area-inset-bottom) + 10px);display:grid;gap:var(--kgym-s2);max-width:560px;margin-inline:auto;padding:var(--kgym-s3) var(--kgym-s4);border-radius:8px;background:var(--lawha-ink);color:var(--lawha-surface)}
.rest-line{display:flex;flex-wrap:wrap;align-items:baseline;gap:var(--kgym-s3)}
.rest-time{font:var(--kgym-t-big)/1.1 var(--lawha-display);font-variant-numeric:tabular-nums}
.rest-words{margin:0;font-size:var(--kgym-t-body)}
.rest-actions{display:flex;gap:var(--kgym-s2)}
.rest-button{min-width:44px;min-height:44px;padding:0 var(--kgym-s3);border:1px solid var(--lawha-surface);border-radius:var(--lawha-radius);background:transparent;color:var(--lawha-surface);font-size:var(--kgym-t-body);cursor:pointer}
.rest-progress{width:100%;height:3px;border:0;appearance:none;accent-color:var(--lawha-surface)}
.has-rest .tab-content{padding-bottom:220px}
.rest-honesty{margin:0;font-size:var(--kgym-t-small);line-height:1.6;color:var(--lawha-muted)}
/* ── A rest ── end */

/* ── A cardio ── start */
.routine-cardio li{display:flex;flex-wrap:wrap;align-items:center;gap:var(--kgym-s2)}
.cardio-edit{display:flex;flex-wrap:wrap;align-items:center;gap:var(--kgym-s2)}
.cardio-edit input{width:6em;min-height:44px;padding:8px 10px;border:var(--lawha-rule);border-radius:var(--lawha-radius);background:var(--lawha-paper);color:var(--lawha-ink);font-size:16px}
/* ── A cardio ── end */

/* ── A calendar ── start */
.mark-planned{display:inline-block;box-sizing:border-box;width:9px;height:9px;border:2px solid currentColor;border-radius:50%;background:transparent}
.calendar-legend .mark-planned{vertical-align:middle}
/* ── A calendar ── end */

/* ── B compare ── start */
.compare-table{width:100%;border-collapse:collapse;font-size:15px}
.compare-table th,.compare-table td{padding:6px 4px;text-align:start;vertical-align:top;border-bottom:var(--lawha-rule)}
.compare-table thead th{font-weight:600}
.compare-table tbody th{font-weight:500}
.compare-choices{list-style:none;margin:8px 0 0;padding:0}
.compare-choices button{min-height:44px}
/* ── B compare ── end */

/* ── C adding ── start */
/* Plan Task 18: "+ Add exercise" under the cards, the shared Add sheet (liked, six groups, 18 parts, search), the one
 * question before adding to a resting part or past the cap. Rows are 44 px pressables, never wider than 360 px. */
.add-sheet{margin:12px 0 0}
.add-sheet h3{margin:16px 0 4px;font-size:15px}
.add-sheet h4{margin:10px 0 2px;font-size:13px;font-weight:600;color:var(--lawha-muted)}
.add-search{display:block;width:100%;max-width:360px;min-height:44px;margin:8px 0 0;font-size:16px;box-sizing:border-box}
.add-row{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;width:100%;max-width:360px;padding:4px 0;text-align:start;text-decoration:none}
.add-row .plan-name{text-decoration:underline}
.add-row .plan-detail{font-size:13px;color:var(--lawha-muted)}
.add-row:disabled{cursor:default}
.add-row:disabled .plan-name{text-decoration:none;color:var(--lawha-muted)}
.add-close{float:inline-end}
.add-ask p{margin:0 0 8px}
.preview-remove{margin-inline-start:auto;font-size:20px;text-decoration:none}
/* ── C adding ── end */

/* ── C card ── start */
/* Plan Task 20: the card shell — the why slot (Step 3's line, one line at most) and the warm-up hint under the title.
 * Both wrap inside the card at 320 px; no fixed width. */
.warmup-hint,.why-line{margin:4px 0 0;font-size:13px;line-height:1.5;color:var(--lawha-muted);overflow-wrap:anywhere}
.why-line{display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden}
/* ── C card ── end */

/* ── C history ── start */
/* Plan Task 21: History's Edit / Add exercise boxes, the move of a workout logged later, "Add a workout for a past day". */
.history-edit{margin:12px 0 0}
.edit-set,.edit-add,.edit-move{margin:8px 0 0}
.edit-boxes{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.edit-boxes .set-box{width:5.5em;min-height:44px;font-size:16px}
.edit-move input,.log-later input[type=datetime-local]{display:block;min-height:44px;font-size:16px;max-width:100%}
.rerun{font-style:italic}
/* ── C history ── end */

/* ── D length ── start */
.length-row{display:flex;flex-wrap:wrap;gap:8px 16px;align-items:center;margin:4px 0}
.length-row .length-link{font-size:1rem}
/* ── D length ── end */

/* ── D sets-week ── start */
.sets-week-link{margin:4px 0;font-size:1rem}
.sets-bars{display:grid;gap:10px;margin:8px 0 16px}
.sets-bars .sw-group{margin:12px 0 0;font-size:var(--kgym-t-small,13px);font-weight:600;text-transform:uppercase;color:var(--lawha-muted)}
.sw-bar{display:grid;gap:2px;min-width:0}
.sw-head{display:flex;justify-content:space-between;gap:12px;margin:0;font-size:14px}
.sw-label{min-width:0;overflow-wrap:anywhere}
.sw-value{font-variant-numeric:tabular-nums;white-space:nowrap}
.sw-track{display:block;width:100%;height:16px}
.sw-empty{fill:var(--lawha-surface);stroke:var(--lawha-line);stroke-width:.4;vector-effect:non-scaling-stroke}
.sw-tick{stroke:var(--lawha-ink);stroke-width:2;vector-effect:non-scaling-stroke}
.sw-tick-min{stroke-dasharray:2 2}
.sw-tick-benchmark{stroke-dasharray:4 2}
.sw-note{margin:0;font-size:13px;color:var(--lawha-muted)}
/* ── D sets-week ── end */

/* ── D planned ── start */
.planned-actions{display:grid;justify-items:start;gap:10px;margin:16px 0}
/* New interface wave 1 (audit B6): the exercise page's ONE "Plan it" group, the same on the phone and the website. */
.plan-it{justify-self:stretch;margin:0;padding:var(--kgym-pad);border:var(--lawha-rule);border-radius:var(--lawha-radius);background:var(--lawha-surface)}
.plan-it .card-line{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:4px 12px;margin:0 0 var(--kgym-s2)}
.plan-it .card-line h2{margin:0;font:600 15px/1.3 var(--lawha-font)}
.plan-it .card-line-note{font-size:var(--kgym-t-small);color:var(--lawha-muted)}
.plan-it-acts{display:flex;flex-wrap:wrap;gap:8px}
/* .second-action: the Step 1a design fix's one rule (kgym.css: 44 px, outlined, as wide as its words) — the reconcile dropped
 * this lane's own 48 px copy so both steps draw the same second button. */
.planned-actions .shared-action{max-width:360px}
.day-chooser{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px}
.day-choice{min-height:44px;max-width:360px;font-size:16px}
.planned-status:empty{display:none}
.planned-pending{margin:var(--kgym-s3) 0;padding:var(--kgym-pad);border:var(--lawha-rule);border-radius:var(--lawha-radius);background:var(--lawha-surface)}
.planned-pending h2{margin:0 0 var(--kgym-s2);font:var(--kgym-t-card)/1.2 var(--lawha-display)}
.planned-requests{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.planned-request p{margin:0;font-size:14px}
/* ── D planned ── end */

/* ── D my-workout ── start */
.my-workouts-link{margin:4px 0;font-size:1rem}
.own-list ul,.own-items{list-style:none;margin:8px 0;padding:0;display:grid;gap:10px}
.own-builder{display:grid;justify-items:start;gap:10px}
.own-name{display:block;width:100%;max-width:360px;min-height:44px;font-size:16px;box-sizing:border-box}
.own-items{width:100%}
.own-item{display:grid;gap:4px;padding:8px 0;border-bottom:var(--lawha-rule);min-width:0}
.own-item-head{display:flex;align-items:center;gap:8px;min-width:0}
.own-item-name{display:grid;min-width:0}
.own-item-name .plan-detail{font-size:13px;color:var(--lawha-muted)}
.drag-grip{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;cursor:grab;color:var(--lawha-muted)}
.own-item-sets,.own-item-moves{display:flex;flex-wrap:wrap;align-items:center;gap:4px 12px}
.own-step{font-size:20px;text-decoration:none}
.own-sets{min-width:4.5em;text-align:center;font-variant-numeric:tabular-nums}
.own-status:empty{display:none}
/* ── D my-workout ── end */

/* ── E look ── start */
/* ── E look ── end */

/* ── I design join ── start */
/* Integrator reconcile 2026-10-09: Step 2's screens take the Step 1a design fix's look (main 62a60bf) — each page part in
 * a card (the surface, the 1 px rule, the 8 px corners, the card padding), card titles at the 20 px Georgia card size, a
 * sub-page's own title at the 30 px page size under its "‹ back" line. Buttons need nothing here: the design fix's
 * .shared-action rule (as wide as its words) and .second-action already reach every Step 2 page inside .tab-content. */
.skip-question,.compare,.sets-bars,.own-list,.own-builder{margin:0 0 var(--kgym-s3);padding:var(--kgym-pad);border:var(--lawha-rule);border-radius:var(--lawha-radius);background:var(--lawha-surface)}
.skip-question h2,.compare h2{margin:0 0 var(--kgym-s2);font:var(--kgym-t-card)/1.2 var(--lawha-display)}
.sub-page>h1{margin:var(--kgym-s2) 0 var(--kgym-s4);font:var(--kgym-t-page)/1.12 var(--lawha-display)}
.sub-page>.page-back{justify-self:start}
/* The design fix's today card draws a plan row as picture | name over amount; Step 2's preview × keeps the row's END. */
.today-card .plan-list li:has(>.preview-remove){grid-template-columns:64px minmax(0,1fr) 44px}
.today-card .plan-list li:has(>.preview-remove)>:is(.plan-name,.plan-detail){grid-column:2}
.today-card .plan-list .preview-remove{grid-column:3;grid-row:1/span 2;align-self:center;justify-self:end;margin:0}
/* ── I design join ── end */

/* ── W website ── start */
/* Step 2 on the website (owner-approved proposal, "a a a" 2026-10-10; Addendum 2 §1.5 as amended 2026-10-09): every Step 2
 * screen in the wide tab it belongs to from 900 px — never the phone column stretched — inside PR #34's layouts; the phone
 * (under 900 px) exactly as built. An element made for one of the two carries .web-only or .phone-only. */
@media (max-width:899px){
.web-only{display:none!important}
.today-col{display:contents}
}
@media (min-width:900px){
.phone-only{display:none!important}

/* 1a / 1b Today before Start: the day on the left, the plan in the middle, the extras on the right (from 1200 px; under
 * it the extras go under the day). "Today's length" sits in the page header. */
.screen-today:not(:has(.exercise-card)){display:grid;grid-template-columns:minmax(260px,300px) minmax(0,600px);grid-auto-flow:row;gap:16px 24px;align-items:start}
.screen-today:not(:has(.exercise-card))>*{grid-column:1/-1}
.screen-today:not(:has(.exercise-card))>.today-left{grid-column:1;grid-row:1}
.screen-today:not(:has(.exercise-card))>.today-right{grid-column:1;grid-row:2}
.screen-today:not(:has(.exercise-card))>.today-card{grid-column:2;grid-row:1 / span 2;margin:0}
.today-col{display:flex;flex-direction:column;gap:16px;min-width:0}
.today-col>*{margin:0}
/* a Step 2 card on the website: the app's card look (the phone has no such card) */
.my-workouts-card,.muscles-today{padding:var(--kgym-pad);border:var(--lawha-rule);border-radius:var(--lawha-radius);background:var(--lawha-surface)}
.length-ctl{position:absolute;top:34px;inset-inline-end:32px;display:flex;align-items:center;gap:8px}
.length-words{font-size:var(--kgym-t-small);color:var(--lawha-muted)}
.length-now{min-width:72px;font:400 var(--kgym-t-card) var(--lawha-display);text-align:center}
.length-ctl .length-step{min-height:44px;padding:0 14px}
.screen-today>.length-problem{grid-column:2;margin:0 0 var(--kgym-s2)}
/* the today card: its title and minutes on one line, the routine bar on top of the plan it describes, rows with a 44 px
 * picture, the name, the amount at the end and × */
.today-card{display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:10px;align-items:baseline}
.today-card>*{grid-column:1/-1}
.today-card>h2{grid-column:1;margin:0;font:400 22px/1.2 var(--lawha-display)}
.today-card>.plan-length{grid-column:2;margin:0;font-size:var(--kgym-t-small);color:var(--lawha-muted)}
.card-routine{margin:10px 0 0}
.card-routine .routine-bar{flex-wrap:nowrap;gap:4px;margin:0 0 4px}
.card-routine .rb-seg{flex:1 1 0;min-width:86px;min-height:40px;display:flex;align-items:center;justify-content:center;border-radius:6px;font-size:13px;white-space:nowrap}
.card-routine .rb-seg.rb-weights{flex-grow:5}
.routine-caption{margin:0;font-size:12.5px;color:var(--lawha-muted)}
.today-card .plan-list{margin:6px 0 0}
.today-card .plan-list li,.today-card .plan-list li:has(>.preview-remove){grid-template-columns:44px minmax(0,1fr) auto 44px;column-gap:12px;align-items:center;padding:5px 0}
.today-card .plan-list .exercise-picture{grid-row:auto;width:44px;height:44px}
.today-card .plan-list li>.plan-name,.today-card .plan-list li:has(>.preview-remove)>.plan-name{grid-column:2;font-weight:400;font-size:14.5px;line-height:1.25}
.today-card .plan-list li>.plan-detail,.today-card .plan-list li:has(>.preview-remove)>.plan-detail{grid-column:3;font-size:13.5px;text-align:end;white-space:nowrap}
.today-card .plan-list .preview-remove{grid-column:4;grid-row:1;justify-self:center;min-width:44px;color:var(--lawha-muted)}
.preview-removed{display:flex;flex-wrap:wrap;align-items:center;gap:6px 12px;margin:6px 0 0;padding:2px 10px;border:1px dashed var(--lawha-line);border-radius:var(--lawha-radius);font-size:13.5px;color:var(--lawha-muted)}
.today-card .actions-row{margin-top:14px}
/* the left column: WHOOP, then the soreness question or "Muscles today" */
.muscles-today h2{margin:0 0 var(--kgym-s2);font:600 15px/1.3 var(--lawha-font)}
.muscles-today .small-body{margin:0}
.muscles-today .sb-pair{display:flex;justify-content:center;gap:22px}
.muscles-today .sb-figure{height:150px;width:auto}
.muscles-today .sb-words{display:grid;margin-top:6px;font-size:14px;line-height:1.5}
/* the right column: Asked for today (four shown, "Show the other N", ⇄ opens three swaps under its row), My workouts */
.planned-pending{margin:0}
.planned-pending .card-line{margin:0 0 4px}
.planned-pending .card-line h2,.my-workouts-card .card-line h2{margin:0;font:600 15px/1.3 var(--lawha-font)}
.planned-requests{gap:0}
.planned-request{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 8px;align-items:center;padding:5px 0;border-top:var(--lawha-rule);font-size:14px;line-height:1.3}
.planned-request:first-child{border-top:0}
.planned-request>p{margin:0;font-size:14px}
.planned-request strong{display:block;font-weight:400}
.planned-request .pending-sep{display:none}
.planned-request .pending-reason{display:block;font-size:12.5px;color:var(--lawha-muted)}
.pending-acts{display:flex;flex-wrap:wrap;gap:0 12px}
.planned-pending:not(.show-all) .pending-more{display:none}
.swaps-under{grid-column:1/-1;margin:0 0 4px;padding:6px 10px;border:var(--lawha-rule);border-radius:var(--lawha-radius);background:var(--lawha-paper);font-size:13.5px}
.swaps-words{margin:0 0 2px;font-size:12.5px;color:var(--lawha-muted)}
.swap-pick{display:flex;justify-content:space-between;align-items:center;gap:8px;min-height:44px;border-top:var(--lawha-rule)}
.swap-pick:first-of-type{border-top:0}
.my-workouts-card .card-line{margin:0 0 4px}
.my-workouts-rows{list-style:none;margin:0;padding:0}
.my-workouts-rows li{display:flex;justify-content:space-between;align-items:center;gap:10px;min-height:52px;border-top:var(--lawha-rule);font-size:14.5px}
.my-workouts-rows li:first-child{border-top:0}
.my-workout-name small{font-size:12.5px;color:var(--lawha-muted)}

/* 2a / 2b Today during a workout: the clock, the routine bar, Pause / Resume and Finish in ONE strip across the page;
 * "This workout" on the left with the warm-ups above the exercises, the end steps below and "+ Add"; the open card (or
 * the warm-up step) in the middle at phone width; the right column from 1200 px: the rest timer at its top, then what
 * comes next, or the open exercise's muscles and last 3 times. */
.session-strip{display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;column-gap:22px;align-items:center;position:sticky;top:56px;z-index:4;margin:0 0 14px;padding:4px 0 10px;border-bottom:var(--lawha-rule);background:var(--lawha-paper)}
.screen-today:has(.exercise-card)>.session-strip,.screen-today>.session-strip{grid-column:1/-1;grid-row:1}
.session-strip>.session-head{display:contents}
.session-strip .session-clock{grid-column:1;grid-row:1;margin:0}
.session-strip .routine-bar{grid-column:2;grid-row:1;flex-wrap:nowrap;gap:4px;margin:0}
.session-strip .rb-seg{flex:1 1 0;min-width:86px;min-height:40px;display:flex;align-items:center;justify-content:center;border-radius:6px;font-size:13px;white-space:nowrap}
.session-strip .rb-seg.rb-weights{flex-grow:5}
.session-strip .rb-seg.is-running,.session-strip .rb-seg.is-paused{border-width:2px;font-weight:700}
.session-strip .rb-seg.is-skipped{border-style:dashed;color:var(--lawha-muted);text-decoration:none;background:var(--lawha-surface)}
.session-strip .pause-link,.session-strip .pause-box{grid-column:3;grid-row:1;margin:0}
.session-strip .pause-box{display:flex;align-items:center;gap:12px}
.session-strip .pause-box .paused-line{margin:0;font-size:14px}
.session-strip .finish-button{grid-column:4;grid-row:1}
.session-strip .whoop-chip{grid-column:1/-1;grid-row:2;margin:4px 0 0}
.screen-today:has(.routine-now .step-card) .exercise-card{display:none} /* the warm-up step is the middle's card */
.screen-today:has(.exercise-card.is-open) .routine-end{display:none}
.screen-today:has(.routine-now .step-card) :is(.side-muscles,.side-history){display:none}
.screen-today:has(.index-step[aria-current]) .index-line:not(.index-step)[aria-current]{background:transparent;box-shadow:none;font-weight:400}
.index-step{cursor:default}
.index-mark.is-skipped{border-style:dashed}
.index-mark.is-done{font-size:14px;font-weight:700;line-height:1}
.index-add{margin-top:10px}
.screen-today .routine-now:empty{display:none}
.today-side{display:flex;flex-direction:column;gap:16px;min-width:0}
.today-side>*{margin:0}
.today-side .card{padding:var(--kgym-pad);border:var(--lawha-rule);border-radius:var(--lawha-radius);background:var(--lawha-surface)}
.today-side .card-line h2,.today-side .card>h2{margin:0;font:600 15px/1.3 var(--lawha-font)}
.today-side .card>h2{margin:0 0 8px}
.side-list{list-style:none;margin:6px 0 0;padding:0;font-size:14px}
.side-list li{display:flex;justify-content:space-between;gap:10px;padding:8px 0;border-top:var(--lawha-rule)}
.side-list li:first-child{border-top:0}
.side-muscles .sb-pair{display:flex;justify-content:center;gap:22px}
.side-muscles .sb-figure{height:150px;width:auto}
.side-muscles .sb-words{display:grid;margin-top:6px;font-size:14px;line-height:1.5}
/* the rest timer: the same block, never floating over the card (Hevy / Strong web) */
.today-side .rest-bar{position:static;inset:auto;max-width:none;margin:0;padding:14px 16px}
.today-side .rest-time{font-size:40px;line-height:1}
.today-side .rest-button{min-width:64px;border-width:1.5px;font-weight:600}
.has-rest .tab-content{padding-bottom:var(--kgym-s6)}
.screen-today:has(.exercise-card)>.today-side{grid-column:2}
/* the card: the warm-up hint with a thin accent line; Remove stays a word at the links' end */
.exercise-card .warmup-hint{margin:8px 0 0;padding:6px 10px;border-inline-start:3px solid var(--kgym-met);border-radius:4px;background:var(--lawha-paper);color:var(--lawha-ink);font-size:13.5px}
.card-links .card-remove{margin-inline-start:auto}
.screen-today .step-card .step-title{font:600 16px/1.3 var(--lawha-font);margin:0 0 12px}
.screen-today .step-fields{grid-template-columns:1fr 1fr}
.step-after{margin:16px 0 0;padding-top:10px;border-top:var(--lawha-rule)}

/* 2c the Add panel (Gmail / Drive side panels): 470 px from the right, the page dimmed behind it, group chips, each row
 * with its picture, ▶ Video and a filled + Add; × or Escape closes it. The same panel serves History and My workouts. */
.add-sheet:not(.add-inline){position:fixed;top:56px;inset-inline-end:0;bottom:0;z-index:8;width:470px;max-width:100%;margin:0;padding:12px 14px 24px;overflow-y:auto;border:0;border-inline-start:var(--lawha-rule);border-radius:0;background:var(--lawha-surface);box-shadow:0 0 0 100vmax rgba(10,14,12,.3),-18px 0 40px -20px rgba(0,0,0,.45);clip-path:inset(0 0 0 -100vmax)}
.add-sheet>h2{margin:4px 0 8px;font:var(--kgym-t-card)/1.2 var(--lawha-display)}
.add-sheet .add-close{float:none;position:absolute;top:10px;inset-inline-end:10px}
.add-sheet .add-search{max-width:none;padding:0 12px;border:var(--lawha-rule);border-radius:var(--lawha-radius);background:var(--lawha-paper);color:var(--lawha-ink)}
.add-chips{display:flex;flex-wrap:wrap;gap:6px;margin:8px 0 4px}
.add-chip{min-height:44px;padding:0 11px;border:var(--lawha-rule);border-radius:999px;background:var(--lawha-paper);color:var(--lawha-ink);font:500 13.5px var(--lawha-font);cursor:pointer}
.add-chip[aria-pressed=true]{background:var(--lawha-ink);border-color:var(--lawha-ink);color:var(--lawha-surface)}
.add-sheet h3{margin:14px 0 2px;font:600 12.5px/1.3 var(--lawha-font);letter-spacing:.06em;text-transform:uppercase;color:var(--lawha-muted)}
.add-sheet h4{margin:8px 0 2px;font-size:12.5px;font-weight:400}
.add-sheet .swap-list li{display:grid;grid-template-columns:44px minmax(0,1fr) auto auto;gap:10px;align-items:center;padding:4px 0;border-top:var(--lawha-rule)}
.add-sheet .add-thumb{width:44px;height:44px;border-radius:var(--lawha-radius);object-fit:cover;background:var(--lawha-sage)}
.add-sheet .add-row{max-width:none;padding:0;text-decoration:none}
.add-sheet .add-row .plan-name{text-decoration:none;font-size:14.5px}
.add-sheet .add-video{display:inline-flex;align-items:center;min-height:44px;padding:0 6px;color:var(--lawha-ink);font-size:13.5px}
.add-sheet .add-go{min-height:44px;padding:0 14px;font-size:14px}

/* 3a / 3b / 3b′ / 3c History: the chosen day does the work — the month, Planned days and every workout on the left; the
 * chosen day's card on the right with its tools at the head, "What you did" beside the KGYM ↔ WHOOP table, the boxes in
 * two columns while editing, "Workout deleted. Undo", or "A workout for a past day" for an empty past day. */
.calendar>.planned-days{grid-column:1;grid-row:2;margin:0 0 var(--kgym-s4);padding:var(--kgym-pad);border:var(--lawha-rule);border-radius:var(--lawha-radius);background:var(--lawha-surface)}
.history-view[data-history-view=Workouts]>section.settings-group{grid-row:3}
.calendar>.calendar-day{grid-row:1 / span 3}
.planned-days h2{margin:0;font:600 15px/1.3 var(--lawha-font)}
.planned-days-list{list-style:none;margin:6px 0 0;padding:0;font-size:14px}
.planned-days-list li{display:flex;justify-content:space-between;align-items:center;gap:10px;min-height:44px;border-top:var(--lawha-rule)}
.planned-days-list li:first-child{border-top:0}
.planned-days-list small{color:var(--lawha-muted);font-size:13px}
.history-view .settings-group .history-list{gap:0}
.history-view .settings-group .history-row{display:flex;justify-content:space-between;align-items:center;gap:10px;width:100%;max-width:none;min-height:44px;padding:0;border:0;border-top:var(--lawha-rule);border-radius:0;background:transparent;font-size:14px;text-align:start}
.history-view .settings-group .history-list li:first-child .history-row{border-top:0}
.history-row .row-sep{display:none}
.history-row .row-meta{flex:none;font-size:12.5px;color:var(--lawha-muted)}
.history-row[aria-current=true] .row-main{font-weight:700}
.history-view .settings-group>h2{margin:0 0 4px;font:600 15px/1.3 var(--lawha-font)}
.day-card .calendar-day-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin:0 0 12px;padding:0 0 10px;border-bottom:var(--lawha-rule)}
.day-card .calendar-day-head h3{margin:0;font:400 22px/1.2 var(--lawha-display)}
.day-meta{margin:2px 0 0;font-size:var(--kgym-t-small);color:var(--lawha-muted)}
.day-acts{display:flex;flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:4px 8px}
.day-acts .edit-start{min-height:44px;padding:0 14px}
.delete-armed{color:var(--kgym-min);font-weight:600}
.day-body:empty{display:none}
.day-body{margin:0 0 8px}
.day-cols{display:grid;grid-template-columns:minmax(0,1fr);gap:16px 24px}
.day-cols h4,.day-side .compare h2{margin:0 0 6px;font:600 14px/1.3 var(--lawha-font)}
.did-list{list-style:none;margin:0;padding:0;font-size:14px}
.did-list li{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;padding:8px 0;border-top:var(--lawha-rule)}
.did-list li:first-child{border-top:0}
.did-sets{color:var(--lawha-muted);text-align:end}
.day-side .compare{margin:0;padding:0;border:0;background:transparent}
.day-side .compare-table{font-size:14px}
.day-side .compare-table td{white-space:nowrap}
.day-card.is-editing .day-cols{display:none}
.edit-hint{margin:0 0 6px}
.edit-groups{display:grid;grid-template-columns:minmax(0,1fr);gap:4px 28px;align-items:start}
.edit-group-head{display:flex;justify-content:space-between;align-items:baseline;gap:8px;margin:10px 0 2px;font:600 14px/1.3 var(--lawha-font)}
.edit-group-head small{font-weight:400;font-size:12.5px;color:var(--lawha-muted)}
.late-mark{display:inline-block;padding:0 8px;border:1px solid var(--kgym-met);border-radius:999px;color:var(--kgym-met);font:700 11.5px var(--lawha-font)}
.edit-groups .edit-set{display:grid;grid-template-columns:22px minmax(0,1fr);gap:8px;align-items:center;margin:0;padding:3px 0}
.edit-no{font-weight:700;text-align:center}
.edit-groups .edit-boxes{flex-wrap:nowrap;gap:8px}
.edit-groups .edit-boxes .set-box{width:72px;text-align:center}
.day-card .log-later{display:grid;grid-template-columns:minmax(0,1fr);gap:4px 28px;align-items:start}
.day-card .log-later>:not(.edit-set){grid-column:1/-1}
.day-card .log-later .edit-set{display:grid;grid-template-columns:22px minmax(0,1fr);gap:8px;align-items:center;margin:0}
.day-card .log-later .edit-set .edit-group-head{grid-column:1/-1}
.day-card .log-later .set-box{width:72px;text-align:center}
.day-gone{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center}
.day-gone>.workout-deleted{grid-column:1;grid-row:1;margin:0;min-height:56px;display:flex;align-items:center;padding:6px 16px;border-radius:var(--lawha-radius) 0 0 var(--lawha-radius);background:var(--lawha-ink);color:var(--lawha-surface);font-size:14.5px}
.day-gone>.swap-actions{grid-column:2;grid-row:1;margin:0;min-height:56px;display:flex;align-items:center;padding:6px 8px;border-radius:0 var(--lawha-radius) var(--lawha-radius) 0;background:var(--lawha-ink)}
.day-gone>.swap-actions .second-action{border-color:var(--lawha-surface);color:var(--lawha-surface)}
.day-gone>.delete-rerun{grid-column:1/-1;grid-row:2;margin:10px 0 0}
.day-card .log-later{margin:0;padding:0;border:0}
.day-card .log-later>h2{margin:0 0 4px;font:400 22px/1.2 var(--lawha-display)}
.history-view:has(.day-card .log-later) .settings-group .log-later{display:none}

/* 4a Body: "Sets this week ›" — the map-first Body (Step 1c A, owner 2026-10-10) keeps it in the week zone, after the list
 * and before the today card (F6); the muscle table it sat on has left the page. */
.body-week .sets-week-link{justify-self:start;margin:0;font-size:14px}
.body-week .sets-week-link::after{content:" ›"}
/* 4b Sets this week: the legend on the title line (the fills, dotted = minimum, solid = target), the status word on each
 * row, all 18 bars on one screen (two columns of groups from 1200 px); a bar or a name opens that muscle's sheet on Body */
.sets-week-page{position:relative}
.sw-legend{position:absolute;top:58px;inset-inline-end:0;display:flex;flex-wrap:wrap;justify-content:flex-end;gap:6px 18px;max-width:62%;margin:0;font-size:13px;color:var(--lawha-muted)}
.sw-key{display:inline-block;width:14px;height:14px;margin-inline-end:6px;border-radius:3px;vertical-align:-2px}
.sw-key-met{background:var(--kgym-met)}
.sw-key-below-target{background:repeating-linear-gradient(0deg,var(--kgym-low) 0 3px,var(--kgym-stripe) 3px 4px)}
.sw-key-below-min{background:repeating-linear-gradient(45deg,var(--kgym-min) 0 3px,var(--kgym-stripe) 3px 5px)}
.sw-key-untrained{background:var(--kgym-none);box-shadow:inset 0 0 0 1px var(--lawha-line)}
.sw-key-tick{display:inline-block;width:0;height:16px;margin-inline-end:6px;border-inline-start:2px solid var(--lawha-ink);vertical-align:-3px}
.sw-key-tick.is-min{border-inline-start-style:dotted}
.sets-week-page .sets-bars{display:block;padding:var(--kgym-pad)}
.sw-col{min-width:0}
.sw-bar{display:grid;grid-template-columns:150px minmax(0,1fr) 72px 120px;grid-template-areas:"label bar value state" ". note note note";column-gap:12px;align-items:center;min-height:44px}
.sw-bar>.sw-head{display:contents}
.sw-bar .sw-pick,.sw-bar .sw-label{grid-area:label;justify-self:start;padding:0;font-size:14px;text-align:start}
.sw-bar .sw-pick{text-decoration:none}
.sw-bar .sw-track{grid-area:bar;height:14px;cursor:pointer}
.sw-bar .sw-value{grid-area:value;text-align:end;font-size:14px}
.sw-bar .sw-state{grid-area:state;font-size:12.5px;color:var(--lawha-muted)}
.sw-bar .sw-note{grid-area:note;margin:-8px 0 4px;font-size:12px}
.sets-bars .sw-group{margin:12px 0 2px;font:600 12.5px/1.3 var(--lawha-font);letter-spacing:.08em}
.sw-tap{margin:16px 0 0}

/* 5b My workouts (Spotify / Apple Music playlists; Hevy's builder): his workouts on the left, the open one in the middle,
 * the library always open on the right with "In" on the rows already in; ↑ ↓ for the order, a − / + stepper, the day
 * picker on one line with Do it today and Put on this day. */
.own-panes{display:grid;grid-template-columns:220px minmax(0,1fr);gap:18px;align-items:start}
.own-panes>.own-library{grid-column:2}
.own-list-pane,.own-library>.add-inline{margin:0;padding:var(--kgym-pad);border:var(--lawha-rule);border-radius:var(--lawha-radius);background:var(--lawha-surface)}
.own-wlist{list-style:none;margin:0 0 10px;padding:0}
.own-wline{display:flex;justify-content:space-between;align-items:center;gap:8px;width:100%;max-width:none;min-height:52px;padding:0 10px;border:0;border-top:var(--lawha-rule);border-radius:0;background:transparent;color:var(--lawha-ink);font-size:14.5px;text-align:start;cursor:pointer}
.own-wlist li:first-child .own-wline{border-top:0}
.own-wline small{color:var(--lawha-muted);font-size:12.5px}
.own-wline[aria-current=true]{border-radius:var(--lawha-radius);background:var(--lawha-paper);box-shadow:inset 3px 0 0 var(--lawha-ink);font-weight:700}
.own-page .own-builder{margin:0}
.own-page .own-name{max-width:none;font:400 var(--kgym-t-card) var(--lawha-display)}
.own-page .own-items{gap:0}
.own-page .own-item{display:grid;grid-template-columns:20px minmax(0,1fr) auto auto;gap:10px;align-items:center;padding:6px 0;border-top:var(--lawha-rule);border-bottom:0}
.own-page .own-item-head{display:contents}
.own-page .drag-grip{min-width:20px}
.own-page .own-item-name .plan-name{font-weight:600;font-size:14.5px}
.own-page .own-item-sets{display:inline-flex;align-items:center;gap:0;border:var(--lawha-rule);border-radius:var(--lawha-radius);background:var(--lawha-paper)}
.own-page .own-item-moves{display:flex;align-items:center;gap:4px}
.own-arrow{min-width:44px;padding:0;font-size:16px}
.own-day-web{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-top:6px}
.own-day-web .shared-action{margin:0}
.own-library .add-inline>h2{margin:0 0 6px;font:600 15px/1.3 var(--lawha-font)}
.own-library{position:sticky;top:72px}
.own-library>.add-inline{max-height:calc(100vh - 96px);overflow-y:auto}

/* 6 Settings → Routine (Mac / iPad Settings): the preview of the routine bar on top, the five choices in two columns
 * (warm-up beside machine), the lock-screen note under them; the summary lines are the phone's */
.settings-page[data-group=Routine]:not([hidden]){display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px 16px;align-content:start;max-width:none}
.settings-page[data-group=Routine]>*{grid-column:1/-1}
.settings-page[data-group=Routine]>h2{margin:0;font:400 24px/1.2 var(--lawha-display)}
.settings-page[data-group=Routine] .routine-intro{margin:-8px 0 0;font-size:13px;color:var(--lawha-muted)}
.routine-preview-box{max-width:640px}
.routine-preview{flex-wrap:nowrap;gap:4px;margin:0 0 4px}
.routine-preview .rb-seg{flex:1 1 0;min-width:86px;min-height:40px;display:flex;align-items:center;justify-content:center;border-radius:6px;font-size:13px;white-space:nowrap}
.routine-preview .rb-seg.rb-weights{flex-grow:5}
.routine-preview .rb-seg.is-skipped{min-width:max-content;padding:0 10px;border-style:dashed;color:var(--lawha-muted);background:var(--lawha-surface);text-decoration:none}
.settings-page[data-group=Routine] .routine-parts,.settings-page[data-group=Routine] .routine-setting,.settings-page[data-group=Routine] .rest-setting{display:contents}
.settings-page[data-group=Routine] .setting-summary{display:none}
.settings-page[data-group=Routine] .door-field{grid-column:auto;margin:0;max-width:340px}
.settings-page[data-group=Routine] .door-field:has(select[name=warmupMinutes]){order:1}
.settings-page[data-group=Routine] .door-field:has(select[name=warmupMachine]){order:2}
.settings-page[data-group=Routine] .door-field:has(select[name=stretches]){order:3}
.settings-page[data-group=Routine]>.door-field{order:4}
.settings-page[data-group=Routine] .door-field:has(select[name=restSeconds]){order:5}
.settings-page[data-group=Routine] .rest-honesty{order:6;grid-column:1/-1;max-width:680px;margin:2px 0 0;padding:7px 10px;border:var(--lawha-rule);border-radius:var(--lawha-radius);background:var(--lawha-paper)}

/* 5a the exercise page: Step 2's actions as one "Plan it" card in the facts column (+ Today / + Tomorrow / + A day /
 * + Mine as picture buttons); the chooser and the words under it */
.exercise-page>.exercise-actions{grid-column:2;margin:0}
.exercise-page .planned-actions{justify-items:stretch}
.pending-pics{display:flex;gap:4px}
.add-sheet .add-in{display:inline-flex;align-items:center;justify-content:center;min-width:50px;min-height:44px;font-size:13px;color:var(--lawha-muted)}
}
@media (min-width:1200px){
/* History's day card is wide enough from 1200 px for two columns (What you did | KGYM and WHOOP; the boxes; the past day) */
.day-cols,.edit-groups,.day-card .log-later{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
.own-panes{grid-template-columns:250px minmax(0,1fr) 400px}
.own-panes>.own-library{grid-column:3}
.sets-week-page .sets-bars{display:grid;grid-template-columns:1fr 1fr;gap:0 44px}
.screen-today:has(.exercise-card)>.today-side{grid-column:3;grid-row:2 / span 40;align-self:start;position:sticky;top:120px}
.screen-today:not(:has(.exercise-card)){grid-template-columns:280px minmax(0,600px) minmax(0,1fr)}
.screen-today:not(:has(.exercise-card))>.today-right{grid-column:3;grid-row:1}
.screen-today:not(:has(.exercise-card))>.today-card{grid-row:1}
}
/* ── W website ── end */
