/* A workout stays readable at arm's length and usable with one thumb. */
.gym-session-dialog{--gym-lime:#d2fb82;--gym-line:#35413a;width:min(100% - 32px,660px);padding:26px;background:#111815;color:#f3f5ee;border-color:var(--gym-line);border-radius:24px}
.gym-session-dialog .dialog-close{background:#26312b;color:#eef7e9;min-width:44px;min-height:44px;border-color:#4a5a4d}
.gym-session-top{display:grid;grid-template-columns:1fr auto;gap:13px;padding:5px 42px 18px 0;border-bottom:1px solid var(--gym-line);margin-bottom:8px}
.gym-session-top>span{font-size:11px;font-weight:700;letter-spacing:.12em;display:flex;align-items:center;gap:8px;color:#d4dfd0}
.gym-session-top i{width:7px;height:7px;border-radius:50%;background:var(--gym-lime)}
.gym-session-top strong{font-size:19px;font-variant-numeric:tabular-nums}.gym-session-top small{font-size:12px;font-weight:400;color:#aab9a8}
.gym-session-top progress{grid-column:1/-1;width:100%;height:5px;accent-color:var(--gym-lime);border:0;border-radius:5px}
.gym-session-dialog .gym-save-note{font-size:11px;margin:0 0 20px;padding:7px 0 0;border:0;color:#a4bf99}
.gym-session-dialog .dialog-title{font-size:clamp(26px,5vw,36px);line-height:1.15;letter-spacing:-.045em;margin:12px 35px 12px 0}
.gym-session-dialog .description{font-size:14px;line-height:1.65;color:#b5c2b5}
.gym-session-dialog .eyebrow{font-size:11px;color:#b7c5ad}.gym-session-dialog .chip{font-size:11px;background:#28362c;color:#c0d4b2;border-color:#43553d}
.gym-session-dialog .input,.gym-session-dialog select{background:#1d2822;border:1px solid #4a594a;color:#f1f5ec;min-height:52px;font-size:16px;border-radius:12px}
.gym-session-dialog .input:focus-visible{outline:2px solid var(--gym-lime);outline-offset:2px}
.gym-session-dialog .button{min-height:52px;font-size:14px;border-radius:12px;white-space:normal;line-height:1.4;justify-content:center}
.gym-session-dialog .button.dark{background:var(--gym-lime);color:#172017;border-color:var(--gym-lime)}
.gym-session-dialog .button.ghost{background:#243128;border-color:#4b6046;color:#daeacb}
.gym-session-dialog .setting-label{font-size:14px;line-height:1.6}.gym-session-dialog input[type=checkbox]{width:24px;height:24px;accent-color:var(--gym-lime)}
.gym-session-dialog .quick-guide{font-size:14px;border-color:var(--gym-line)}.gym-session-dialog .quick-guide summary{font-size:14px;color:#d5eeae}
.gym-session-dialog .quick-log .log-inputs{margin-top:16px}.gym-set-screen .set-heading{margin-bottom:14px;gap:8px;flex-wrap:wrap}.gym-set-screen .set-target{margin:0 0 15px;padding:0;background:none;border:0}
.gym-session-dialog .gym-set-screen .log-inputs{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:20px 14px}
.gym-session-dialog .log-inputs label{font-size:13px;font-weight:600;color:#b7c5b7}.gym-session-dialog .log-inputs input{font-size:36px;text-align:center;min-height:72px;font-weight:750;font-variant-numeric:tabular-nums}
.gym-session-dialog .quick-adjust{gap:6px}.gym-session-dialog .quick-adjust button{min-height:48px;border-radius:10px;font-size:19px;background:#27382b;border-color:#4b6746;color:#d9f1c1}
.gym-effort-label{grid-column:1/-1}.gym-effort-buttons{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:7px;margin-top:10px}
.gym-effort-buttons button{min-height:65px;min-width:0;background:#243128;border:1px solid #475b43;color:#dce9d3;border-radius:12px;cursor:pointer;padding:8px 3px;font:inherit}
.gym-effort-buttons button strong{display:block;font-size:24px;line-height:1.1}.gym-effort-buttons button span{display:block;font-size:10px;font-weight:400;margin-top:6px}
.gym-effort-buttons button[aria-pressed=true]{background:var(--gym-lime);color:#1d2a17;border-color:var(--gym-lime)}
.gym-confirm-copy{font-size:12px;line-height:1.6;color:#b2c1ae;margin:17px 0 3px}.gym-concern{background:none;border:0;color:#dfc69d;text-decoration:underline;text-underline-offset:4px;min-height:48px;padding:10px 0;font-size:13px;cursor:pointer;text-align:left}
.gym-set-screen .workout-controls{position:sticky;bottom:-1px;background:#111815;padding:12px 0;margin-top:10px;border-top:1px solid var(--gym-line);display:flex;gap:10px;z-index:2}
.gym-set-screen .workout-controls>[data-step=setup]{flex:0 1 30%;font-size:12px}.gym-set-screen .workout-controls>[data-step=log]{flex:1;min-height:60px;font-size:15px;font-weight:750}
.gym-inline-guide{flex-basis:100%;order:2}.gym-session-dialog #rest-time{font-size:clamp(70px,15vw,100px);font-weight:750;letter-spacing:-.065em;color:var(--gym-lime);text-align:center;line-height:1.2;margin:24px 0 10px;font-variant-numeric:tabular-nums}
.gym-rest-adjust{display:flex;justify-content:center;gap:18px;align-items:center;margin:0 0 24px}.gym-rest-adjust button{background:#26352b;color:#def0d0;border:1px solid #4b6346;border-radius:12px;min-height:48px;padding:10px 16px;font-size:14px;cursor:pointer}.gym-rest-adjust>span{font-size:9px;letter-spacing:.12em;color:#a7b6a1}
.gym-repeat{background:#263625;border:1px solid #4c6a3b;border-radius:18px;padding:20px;margin-top:20px}.gym-repeat>span{font-size:10px;letter-spacing:.1em;color:#c5d5b7}.gym-repeat p{color:#d9e8ce;font-size:13px;margin:12px 0}.gym-repeat p strong{font-size:24px;color:#f2f8e8}.gym-repeat button{width:100%;min-height:56px;border:0;border-radius:12px;background:var(--gym-lime);color:#182319;font-size:15px;font-weight:750;cursor:pointer}.gym-repeat small{display:block;font-size:11px;color:#b7cbaa;line-height:1.65;margin-top:10px}
.gym-busy{margin:18px 0 0;border-top:1px solid var(--gym-line)}.gym-busy summary{min-height:48px;padding:14px 0;color:#bed1ac;font-size:13px;cursor:pointer}.gym-busy p{font-size:13px;line-height:1.6;color:#b9c5b2}.gym-busy .button{margin-top:12px}
.gym-session-dialog .small-notice{background:#233127;color:#bdcbb3;font-size:12px;border:1px solid #3f5140}.gym-session-dialog .caption{font-size:12px;color:#a7baa1}.gym-session-dialog .weight-row{font-size:14px;line-height:1.6;gap:12px;border-color:var(--gym-line)}.gym-session-dialog .text-link{min-height:44px;color:#c9e4b4;display:inline-flex;align-items:center}
.gym-session-dialog button.text-link{background:none;border:0;font:inherit;font-size:13px;padding:10px 0;text-align:left;cursor:pointer}.gym-session-dialog button:focus-visible,.gym-session-dialog summary:focus-visible{outline:3px solid var(--gym-lime);outline-offset:3px}
@media(max-width:600px){.gym-session-dialog{width:100%;max-width:100%;max-height:100dvh;height:100dvh;margin:0;border-radius:0;padding:calc(20px + env(safe-area-inset-top)) 20px calc(16px + env(safe-area-inset-bottom))}.gym-session-dialog .dialog-close{top:calc(12px + env(safe-area-inset-top));right:14px}.gym-session-top{padding-right:40px}.gym-session-dialog .workout-controls{gap:10px}.gym-session-dialog .set-heading .chip{display:none}.gym-session-dialog .log-inputs input{font-size:34px}.gym-set-screen .workout-controls{bottom:calc(-16px - env(safe-area-inset-bottom));padding-bottom:calc(14px + env(safe-area-inset-bottom))}.gym-session-dialog .working-set-plan{padding:15px}.gym-session-dialog .adaptive-target-panel{padding:16px}.gym-session-dialog .detail-credit{font-size:11px}.gym-session-dialog .detail-instructions{font-size:14px}.gym-rest-adjust{gap:10px}.gym-rest-adjust>span{font-size:8px}.gym-repeat{padding:17px}}
@media(prefers-reduced-motion:reduce){.gym-session-dialog *{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
