/* Progress and comparison extend the paper-and-rule layout. */
.workout-progress{display:flex;gap:5px;height:4px;margin:10px 0 0}.workout-progress i{flex:1;background:#e0e6ec}.workout-progress i.done{background:#0b2236}.active-session-totals{flex-wrap:wrap;gap:10px 18px}.active-session-totals .timer-inline{margin-left:auto}.active-session-totals>span{white-space:nowrap}
.exercise-statusline{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:12px;color:var(--muted)}.exercise-statusline b{color:var(--ink)}.exercise-statusline>.btn{font-size:12px;min-height:44px;padding:8px}.goal-progress{height:4px;background:#e0e6ec;margin:0 0 8px}.goal-progress i{display:block;height:100%;background:var(--ink)}.group-label{display:inline-block;font-size:12px;vertical-align:middle;font-weight:600;border-bottom:2px solid #c9a76a;margin-right:4px;padding:1px 3px;letter-spacing:.5px}
.input-comparison{font-size:12px;color:#43586b;line-height:1.7;padding:9px 0 2px;min-height:30px}.set-more{font-size:12px;color:var(--muted);flex:1;min-width:0}.set-more>summary{min-height:44px;display:flex;align-items:center;cursor:pointer;list-style:none}.set-more>summary:before{content:'＋';margin-right:6px}.set-more[open]>summary:before{content:'−'}.set-more>summary::-webkit-details-marker{display:none}.set-detail-fields{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:8px 0 14px}.set-detail-fields>label{display:flex;flex-direction:column;gap:6px;font-size:12px;min-width:0}.set-detail-fields small{font-size:10px}.set-detail-fields input,.set-detail-fields select{font-size:16px;width:100%;min-width:0;min-height:46px}.set-note-field{grid-column:1/-1}.set-options:has(.set-more[open]){flex-wrap:wrap}.set-options:has(.set-more[open]) .set-more{flex-basis:100%}.set-options:has(.set-more[open]) .batch-entry{margin-left:auto}.set-row-detail{font-size:11px;color:var(--muted);display:flex;flex-wrap:wrap;gap:4px 14px;padding:0 0 10px 54px;border-bottom:1px solid var(--line);overflow-wrap:anywhere}.set-row:has(+.set-row-detail){border-bottom:0}.set-estimate>small{font-size:10px;display:block}.exercise-footer{display:flex;flex-wrap:wrap;gap:0 12px;align-items:center;margin:16px 0 4px}.exercise-footer>.btn{font-size:12px;min-height:44px;padding:9px 10px}.exercise-footer>.btn:first-child:not(.text-button){border-color:#9eacb9;color:var(--ink)}.finished-entry{padding-top:22px;padding-bottom:20px}.finished-entry .exercise-icon{width:58px;height:48px}.finished-entry h3{font-size:17px}.finished-summary{display:flex;gap:10px;align-items:center;justify-content:space-between;font-size:12px;margin-top:8px}.finished-summary>span{display:flex;align-items:center;gap:7px}.finished-summary .icon{width:16px;height:16px;color:var(--ink)}.finished-summary .btn{font-size:12px;flex-shrink:0;padding:8px;min-height:44px}.finished-result{font-size:12px;color:var(--muted);margin:0 0 0 74px}
.entry-menu .entry-actions{max-width:calc(100vw - 40px)}.timer-bar{position:relative}.rest-progress{position:absolute;bottom:0;left:0;width:100%;height:3px;display:block!important;background:#ffffff20}.rest-progress i{display:block;height:100%;background:#c9a76a;transition:width .4s linear}.timer-bar>div>span{max-width:380px}
.picker-quickfilters{display:flex;gap:16px;align-items:center;margin:6px 0}.picker-quickfilters>.btn{font-size:12px;padding:7px 0;border-bottom:2px solid transparent;border-radius:0}.picker-quickfilters>.btn[aria-pressed=true]{border-color:var(--ink);color:var(--ink)}.picker-row{position:relative}.picker-row .picker-exercise{padding-right:52px}.favorite-button{position:absolute;right:0;top:14px;width:44px;height:44px;min-height:44px;padding:0;font-size:26px;border:0;background:transparent;color:#617182}.favorite-button[aria-pressed=true]{color:#82622e}.picker-exercise .added-label{font-size:10px}.picker-exercise input{width:21px;height:21px}
.routine-plan-row{display:grid;grid-template-columns:minmax(0,1fr) 90px 90px;gap:12px;align-items:center;border-bottom:1px solid var(--line);padding:14px 0}.routine-plan-row>strong{font-size:14px}.routine-plan-row>label{font-size:11px;color:var(--muted);min-width:0;display:flex;gap:4px;flex-direction:column}.routine-plan-row input{width:100%;font-size:16px;padding:8px}.routine-plan-row:last-of-type{margin-bottom:24px}.plate-layout{display:flex;flex-wrap:wrap;gap:14px;padding:20px 0}.plate-layout>span{border-left:3px solid #c9a76a;padding:6px 12px;color:var(--ink)}.plate-layout b{font-size:24px;display:block}.plate-layout small{font-size:12px}.detail-intro{display:flex;align-items:center;gap:14px;font-size:13px;color:var(--muted);margin-bottom:12px}.detail-intro .exercise-icon{width:76px;height:64px}.detail-metric-tabs{display:flex;gap:14px;border-bottom:1px solid var(--line);margin-bottom:20px;overflow:auto}.detail-metric-tabs>.btn{font-size:13px;padding:9px 0;border-radius:0;white-space:nowrap;flex-shrink:0}.detail-metric-tabs>.btn.active{color:var(--ink);border-bottom:2px solid var(--ink)}.chart-readout{display:grid;grid-template-columns:1fr auto;align-items:end;gap:3px 14px}.chart-readout>span{font-size:13px;color:var(--muted)}.chart-readout>strong{grid-column:1;font-size:36px;line-height:1.35}.chart-readout strong>small{font-size:13px;font-weight:400;margin-left:4px;color:var(--muted)}.chart-readout>.btn{grid-column:2;grid-row:1/3;font-size:12px;padding:8px;min-height:44px}.trend-chart{width:100%;height:auto;display:block;margin:14px 0 8px;overflow:visible}.trend-chart [role=button]{cursor:pointer;outline:none}.trend-chart [role=button]:focus-visible{outline:3px solid #526f8e}.chart-data,.record-milestones,.detail-log{border-top:1px solid var(--line);margin-top:18px}.chart-data>summary,.record-milestones>summary,.detail-log>summary{min-height:48px;padding:12px 0;font-size:13px;cursor:pointer}.record-milestones>summary>span,.detail-log>summary>span{float:right;font-size:12px;color:var(--muted)}.chart-data table{width:100%;border-collapse:collapse;font-size:13px;font-variant-numeric:tabular-nums}.chart-data th,.chart-data td{padding:10px 6px;border-bottom:1px solid var(--line);text-align:right}.chart-data th:first-child,.chart-data td:first-child{text-align:left}.chart-data td>.btn{font-size:12px;min-height:44px;padding:4px 0}.milestone-list>button{display:flex;align-items:center;justify-content:space-between;width:100%;gap:16px;text-align:left;padding:12px 0;min-height:66px;background:white;border:0;border-bottom:1px solid var(--line);color:var(--ink);font-size:13px;cursor:pointer}.milestone-list small{display:block;font-size:11px;color:var(--muted);font-weight:400}.milestone-list strong{font-size:21px;text-align:right}.milestone-list strong>small{display:inline;font-size:11px;margin-left:3px}.trend-chart .chart-point-hit{fill:transparent}
@media(max-width:720px){.exercise-statusline{font-size:11px}.exercise-statusline>.btn{font-size:11px}.set-form-title>span{font-size:10px;max-width:60%;text-align:right}.input-comparison{font-size:11px}.set-row-detail{padding-left:32px}.set-inputs .number-control input{font-size:21px}.set-options{gap:10px}.set-more,.batch-entry{font-size:11px}.set-form .input-hint{font-size:10px}.active-session-totals{gap:10px;font-size:11px}.active-session-totals b{font-size:13px}.active-session-totals .timer-inline{padding:8px;font-size:11px}.active-journal{margin-bottom:16px}.workout-progress{margin-top:7px}.exercise-footer>.btn{font-size:11px}.finished-summary{align-items:flex-start;flex-wrap:wrap}.finished-summary>.btn{margin-left:auto}.routine-plan-row{grid-template-columns:minmax(0,1fr) 66px 72px;gap:8px}.routine-plan-row>strong{font-size:12px}.routine-plan-row input{padding:8px 4px}.timer-bar>div>span{max-width:190px;font-size:10px}.timer-bar strong{font-size:24px}.picker-row .picker-exercise{padding-right:44px}.picker-exercise strong{font-size:14px}.picker-exercise small{font-size:11px}.favorite-button{width:44px}.picker-guide{padding-left:76px}.chart-readout>strong{font-size:32px}.detail-metric-tabs{gap:16px}.detail-metric-tabs>.btn{font-size:12px}.detail-intro{font-size:12px}.trend-chart{margin-top:16px}.milestone-list>button{font-size:12px}.chart-data table{font-size:12px}.set-detail-fields{column-gap:10px}}
@media(max-width:370px){.active-session-totals{gap:6px}.active-session-totals .timer-inline{padding:7px 6px}.exercise-statusline{flex-wrap:wrap;gap:0}.exercise-statusline>.btn{margin-left:auto}.picker-exercise .exercise-icon{width:50px;height:44px}.picker-exercise strong{font-size:13px}.picker-exercise input{margin:0;width:20px;height:20px}.picker-row .picker-exercise{gap:6px}.picker-guide{padding-left:64px}.picker-guide .guide-content{margin-left:-50px}.routine-plan-row{grid-template-columns:1fr 1fr}.routine-plan-row>strong{grid-column:1/-1}.timer-bar>div>span{max-width:150px}}
@media(prefers-reduced-motion:reduce){.rest-progress i{transition:none}}
@media(max-width:720px){body[data-page=record] .page-heading{flex-direction:row;align-items:center;justify-content:space-between;gap:8px}body[data-page=record] .page-heading h1{font-size:22px}body[data-page=record] .page-heading p{font-size:10px;max-width:76px}body[data-page=record] .date-control{margin:0;max-width:250px;flex-shrink:0}body[data-page=record] .date-label{min-width:110px;font-size:13px}body[data-page=record] .page-heading{margin-bottom:12px}.exercise-statusline{margin-top:3px}.exercise-guide>summary{font-size:11px}}
.timer-bar{inset:auto;width:auto;max-width:none;margin:0}.timer-bar>div:first-child{min-width:0;flex:1}.timer-bar>div:nth-child(2){flex-shrink:0}.timer-button{min-width:44px}.timer-bar .rest-progress{left:0;bottom:0;top:auto;right:auto}
.input-load{font-size:12px;color:var(--ink);margin:0 0 10px;border-left:2px solid #c9a76a;padding-left:8px}
.detail-period{display:flex;align-items:center;justify-content:flex-end;gap:12px;font-size:12px;color:var(--muted);margin-bottom:12px}.detail-period select{min-height:44px;font-size:14px;padding:8px}
@media(max-width:720px){body[data-page=record] .date-control{width:auto;min-width:0}}
@media(max-width:720px){.trend-chart .trend-y-label,.trend-chart .trend-x-label{font-size:22px}}
@media(max-width:720px){.trend-chart .trend-unit,.trend-chart .trend-scale-caption{font-size:22px}}
@media(max-width:370px){.trend-chart .trend-y-label,.trend-chart .trend-x-label,.trend-chart .trend-unit,.trend-chart .trend-scale-caption{font-size:24px}}
/* A reserved status strip keeps Undo away from timer and recording controls. */
#toast,body.session-active #toast,body.session-active:has(.timer-bar) #toast{display:none;position:sticky;top:0;bottom:auto;left:auto;right:auto;width:auto;max-width:none;min-width:0;min-height:44px;margin:0;padding:8px 20px;border-radius:0;box-shadow:none;transform:none;opacity:1;pointer-events:auto;transition:none;z-index:100;justify-content:space-between;gap:16px}#toast.visible{display:flex;transform:none}#toast>span{min-width:0;line-height:1.6}#timer-slot{top:var(--notice-height,0px)}.exercise-card{scroll-margin-top:calc(90px + var(--notice-height,0px))}
#toast.visible,body.session-active #toast.visible,body.session-active:has(.timer-bar) #toast.visible{display:flex;transform:none}
@media(max-width:720px){.weighted .set-inputs{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr)}.weighted .set-inputs>.numeric-field:first-child{grid-column:1/-1}.weighted .set-inputs>.numeric-field:nth-child(2){grid-column:1;grid-row:2}.weighted .set-inputs>.btn{grid-column:2;grid-row:2}.weighted .numeric-field:nth-child(2) input{font-size:19px}}
.active-session-controls{display:flex;align-items:center;gap:8px}.active-session-controls select{font-size:12px;min-height:44px;max-width:130px;padding:8px}.exercise-statusline>div{display:flex;align-items:center;flex-shrink:0}.exercise-statusline>div>.btn{font-size:11px;padding:8px;min-height:44px}.guide-detail-hero{display:flex;justify-content:center;margin-bottom:20px}.guide-detail-hero .exercise-icon{width:170px;height:140px}
@media(max-width:720px){body.session-active:has(.session-dock) .active-session-totals>span:nth-of-type(3){display:none}.active-session-controls{gap:3px}.active-session-controls select{max-width:106px;font-size:11px}.active-session-line>span{font-size:11px}.exercise-statusline>span{min-width:0}.exercise-statusline{flex-wrap:nowrap}.exercise-statusline>div>.btn{padding:8px 6px}.exercise-statusline>div>.btn:first-child{min-width:44px}.exercise-statusline>div>.btn:last-child{min-width:66px}}
@media(max-width:720px){.exercise-card{padding-top:16px}.goal-progress{margin-bottom:0}.previous-record{padding-bottom:0;margin-bottom:4px}.set-form{margin-top:0}.set-form-title{margin-bottom:8px}}
@media(max-width:720px){.timer-bar>div:first-child>span{min-width:0;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.timer-bar .timer-button{padding:8px;min-width:44px}.timer-bar strong{white-space:nowrap}}
