.training-toolbar{display:flex;align-items:center;gap:14px;margin:0 0 20px;flex-wrap:wrap}.previous-line{display:flex;flex-direction:column;gap:6px;background:var(--tone-82);color:var(--tone-83);margin:0 19px 15px 62px;padding:13px;border-radius:10px;font-size:11px;line-height:1.8}.previous-line strong{font-size:10px;letter-spacing:.3px;color:var(--tone-84)}.previous-line small{font-size:10px;color:var(--tone-85)}.next-step{border-top:1px solid var(--tone-86);padding-top:6px;color:var(--tone-87)}.rest-controls{display:flex;justify-content:space-between;align-items:center;gap:10px;border-top:1px solid var(--tone-88);padding:10px 19px;color:var(--tone-89);font-size:11px}.rest-controls label{display:flex;gap:8px;align-items:center}.rest-controls select{padding:7px}.rest-controls .secondary{font-size:11px;padding:8px 12px}.rest-timer{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);width:min(440px,calc(100% - 28px));z-index:40;border-radius:16px;padding:17px 20px;background:var(--tone-90);color:var(--tone-91);box-shadow:0 12px 40px var(--tone-92);display:flex;justify-content:space-between;align-items:center;gap:15px}.rest-timer[hidden]{display:none}.rest-timer>div:first-child{display:flex;flex-direction:column;gap:4px;min-width:0}.timer-caption{font-size:9px;letter-spacing:1.8px;color:var(--tone-93)}#timer-number{font-size:32px;line-height:1.2;font-variant-numeric:tabular-nums}#timer-name{font-size:10px;max-width:230px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}#timer-finished{font-size:11px;color:var(--tone-94)}.timer-actions{display:flex;gap:8px;flex-direction:column}.timer-actions button{border:1px solid var(--tone-95);background:var(--tone-96);color:var(--tone-97);padding:8px 12px;border-radius:8px;font-size:11px;min-height:36px}.timer-done{background:var(--tone-98)}.focus-mode{max-width:none;width:100%;height:100%;max-height:100dvh;margin:0;border:0;border-radius:0;background:var(--tone-99);padding:0;overflow:auto}.focus-mode::backdrop{background:var(--tone-100)}.focus-top{position:sticky;top:0;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:15px;padding:calc(18px + env(safe-area-inset-top)) max(24px,env(safe-area-inset-right)) 18px max(24px,env(safe-area-inset-left));background:var(--tone-101);border-bottom:1px solid var(--tone-102)}.focus-top p{font-size:12px;margin-top:6px;color:var(--tone-103)}.focus-content{max-width:720px;margin:auto;padding:30px 24px calc(40px + env(safe-area-inset-bottom))}.focus-content h2{font-size:31px;line-height:1.3;margin:23px 0 10px}.focus-target{color:var(--tone-104);font-size:13px;line-height:1.8}.focus-content .previous-line{margin:22px 0}.focus-progress{display:flex;gap:8px;flex-wrap:wrap}.focus-progress button{width:36px;height:36px;border-radius:50%;background:var(--tone-105);color:var(--tone-106);border:1px solid transparent}.focus-progress .current{background:var(--tone-107);color:var(--tone-108);border-color:var(--tone-109)}.focus-progress .saved{background:var(--tone-110);color:var(--tone-35)}.focus-sets{display:flex;gap:9px;margin:24px 0;flex-wrap:wrap}.focus-sets button{background:var(--tone-1);color:var(--tone-111);border:1px solid var(--tone-112);border-radius:10px;padding:12px 18px}.focus-sets .active{border-color:var(--tone-113);color:var(--tone-114)}.focus-sets .done{background:var(--tone-115)}.focus-inputs{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:15px}.focus-inputs label{display:flex;flex-direction:column;gap:9px;font-size:12px;color:var(--tone-116)}.focus-inputs input{height:86px;font-size:32px!important;background:var(--tone-55);border:1px solid var(--tone-117);border-radius:14px;text-align:center}.focus-pain{display:flex;align-items:center;gap:10px;font-size:12px;color:var(--tone-118);min-height:50px;margin-top:13px}.focus-actions{display:flex;gap:10px;flex-wrap:wrap;margin:18px 0 27px}.focus-actions .primary{width:100%;font-size:16px;min-height:58px}.focus-actions .secondary{flex:1;min-height:44px}.focus-save{border-top:1px solid var(--tone-119);padding:24px 0}.focus-save p{font-size:12px;color:var(--tone-120);margin-bottom:12px}.focus-save button{width:100%;min-height:52px;font-size:14px}.focus-rest{display:flex;align-items:center;gap:10px;background:var(--tone-121);color:var(--tone-122);border-radius:12px;padding:15px;margin:18px 0;flex-wrap:wrap}.focus-rest[hidden]{display:none}.focus-rest strong{font-size:27px;font-variant-numeric:tabular-nums}.focus-rest span{font-size:11px;flex:1}.focus-rest button{background:var(--tone-123);border:1px solid var(--tone-124);color:var(--tone-122);border-radius:8px;padding:9px;font-size:11px}.insight-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:20px}.insight-head p{color:var(--tone-125);font-size:12px;margin-top:7px;line-height:1.7}.week-controls{display:flex;gap:5px}.week-controls button{padding:9px 12px;min-height:36px}.calendar-week{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px;margin-top:20px}.calendar-day{border:1px solid var(--tone-126);border-radius:12px;padding:12px 9px;background:var(--tone-127);min-width:0}.calendar-day.today{border-color:var(--tone-128);background:var(--tone-129)}.calendar-date{display:flex;flex-direction:column;gap:5px;color:var(--tone-130);margin-bottom:15px}.calendar-date strong{font-size:12px}.calendar-date span{font-size:10px;color:var(--tone-131)}.calendar-session{display:flex;flex-direction:column;gap:9px;padding-top:12px;border-top:1px solid var(--tone-132);font-size:11px;margin-top:12px}.calendar-session>strong{font-size:11px;line-height:1.6}.calendar-session .pill{font-size:9px;border-radius:7px;line-height:1.7}.calendar-session .secondary{padding:8px 4px;font-size:10px}.calendar-session small{font-size:9px;line-height:1.8;color:var(--tone-133)}.calendar-rest{font-size:10px;color:var(--tone-134);line-height:1.7}.text-button{background:none;padding:5px 0;color:var(--tone-135);font-size:10px;text-decoration:underline;line-height:1.7}.summary-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:15px;margin:25px 0}.summary-grid>div{background:var(--tone-136);border-radius:12px;padding:16px;display:flex;flex-direction:column;gap:8px}.summary-grid strong{font-size:30px;letter-spacing:-1px;color:var(--tone-137)}.summary-grid span{font-size:11px;color:var(--tone-138);line-height:1.6}.weekly-movements{margin-top:20px}.weekly-movement{display:flex;align-items:center;justify-content:space-between;padding:13px 0;border-bottom:1px solid var(--tone-139);gap:12px;font-size:12px}.weekly-movement small{display:block;margin-top:6px;font-size:10px;color:var(--tone-140)}.record-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.record-card{background:var(--tone-127);border:1px solid var(--tone-86);border-radius:14px;padding:21px;min-width:0}.record-card .eyebrow{line-height:1.9}.record-card h3{margin-top:9px;line-height:1.5}.record-number{font-size:39px;letter-spacing:-1.5px;font-weight:700;margin-top:17px;color:var(--tone-141)}.record-number small{font-size:16px;letter-spacing:0;font-weight:400}.record-card p{font-size:10px;color:var(--tone-142);margin-top:6px;line-height:1.8}.record-reps{margin-top:16px;padding-top:13px;border-top:1px solid var(--tone-126);color:var(--tone-143);font-size:12px;line-height:1.7}.record-card details{margin-top:16px;color:var(--tone-144);font-size:11px}.record-card summary{cursor:pointer}.moved-plans{font-size:12px;color:var(--tone-145);padding:15px 0}.moved-plans p{margin:8px 0}.training-notice{font-size:11px;color:var(--tone-146);margin:10px 0 20px}
@media(max-width:1120px){.calendar-week{grid-template-columns:repeat(4,minmax(0,1fr))}.previous-line{margin-left:19px}.summary-grid{gap:9px}.summary-grid>div{padding:12px}}
@media(max-width:580px){.training-toolbar>.primary{width:100%;min-height:48px}.training-toolbar .tiny-note{font-size:10px}.previous-line{margin:0 14px 15px;padding:11px;font-size:11px}.rest-controls{padding:10px 14px}.rest-controls select{font-size:16px;max-width:110px}.rest-controls .secondary{min-height:44px}.calendar-week{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.calendar-day{padding:13px}.calendar-session .secondary{min-height:44px;font-size:11px}.calendar-session .text-button{min-height:36px}.calendar-date{flex-direction:row;justify-content:space-between}.calendar-session .pill{font-size:10px}.insight-head h2{font-size:18px}.summary-grid{grid-template-columns:repeat(2,1fr)}.summary-grid strong{font-size:28px}.record-grid{grid-template-columns:1fr}.weekly-movement{align-items:flex-start}.weekly-movement .pill{font-size:9px;max-width:115px;line-height:1.8}.focus-content{padding:22px 18px calc(40px + env(safe-area-inset-bottom))}.focus-content h2{font-size:26px}.focus-inputs{gap:9px}.focus-inputs input{font-size:27px!important;height:78px}.focus-top{padding:calc(14px + env(safe-area-inset-top)) 18px 14px}.focus-top .eyebrow{font-size:8px}.focus-progress button{width:34px;height:34px}.rest-timer{bottom:calc(140px + env(safe-area-inset-bottom));padding:14px 17px}.focus-sets button{min-height:44px;padding:10px 14px}.week-controls button{min-height:40px}.focus-rest{padding:12px;gap:8px}.focus-rest span{font-size:10px}}
.training-focus-open,.training-focus-open body{overflow:hidden;overscroll-behavior:none}.focus-mode{position:fixed;top:var(--training-viewport-top,0px);bottom:auto;height:var(--training-viewport-height,100dvh);max-height:var(--training-viewport-height,100dvh);overscroll-behavior:contain;-webkit-overflow-scrolling:touch}.focus-save[hidden]{display:none}.focus-previous{margin:18px 0;border:1px solid var(--tone-147);border-radius:12px;background:var(--tone-148);color:var(--tone-149)}.focus-previous summary{min-height:44px;padding:12px 14px;cursor:pointer;font-size:12px}.focus-previous .previous-line{margin:0 12px 12px}.focus-mode.keyboard-open .focus-progress,.focus-mode.keyboard-open .focus-previous,.focus-mode.keyboard-open .focus-target{display:none}.focus-mode.keyboard-open .focus-content>h2{font-size:20px;margin:8px 0}.focus-mode.keyboard-open .focus-content{padding-top:10px}.focus-mode.keyboard-open .focus-sets{margin:12px 0}.focus-content{overflow-wrap:anywhere}.focus-top>div{min-width:0}.focus-save .primary{white-space:normal;line-height:1.5}
/* Phone layouts include landscape phones, without changing portrait tablets. */
@media(max-width:640px),(max-width:940px) and (max-height:500px) and (pointer:coarse){
 .shell{display:block}.sidebar{position:fixed;top:auto;bottom:0;width:100%;height:calc(66px + env(safe-area-inset-bottom));z-index:20;flex-direction:row;border-right:0;border-top:1px solid var(--line);padding:5px max(10px,env(safe-area-inset-right)) calc(5px + env(safe-area-inset-bottom)) max(10px,env(safe-area-inset-left))}.sidebar .brand{display:none}.nav{flex-direction:row;margin:0;justify-content:space-around;gap:2px;width:100%}.nav button{padding:7px;flex-direction:column;gap:4px;border-radius:8px;font-size:10px;flex:1;min-height:50px}.nav button span{display:block}.nav button svg{width:18px;height:18px}.main{padding:0 max(16px,env(safe-area-inset-right)) calc(100px + env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left))}.mobile-brand{display:flex}.content-grid{grid-template-columns:1fr}.right-stack{display:flex}.topbar{min-height:calc(67px + env(safe-area-inset-top));height:auto;padding-bottom:10px;padding-top:calc(10px + env(safe-area-inset-top));gap:12px}.topbar .crumb{display:none}.topbar-right{min-width:0;gap:8px}.topbar-right>span:first-child{font-size:10px;max-width:108px;line-height:1.5;overflow-wrap:anywhere}.topbar-right .pill{display:none}.install-button{min-height:44px}.intro{padding:24px 0}.intro h1{font-size:28px;line-height:1.3}.stats{gap:7px}.stat{padding:13px 10px}.stat-icon{display:none}.stat-value small{display:block;font-size:10px;line-height:1.5;margin-top:4px}.stat-label{font-size:10px}.workout-head{flex-wrap:wrap;align-items:flex-start;gap:12px}.workout-head>div{min-width:0}.workout-head h2{font-size:19px}.workout-head .date-input{max-width:100%;width:150px;min-height:44px;font-size:16px}.day-tabs{gap:4px;justify-content:flex-start;scroll-padding:6px}.day-tabs button{flex:1;min-height:48px;padding:8px 7px 12px;font-size:12px}.training-toolbar .primary{min-height:50px}.section-card{padding:18px 16px}.calendar-week{display:flex;flex-direction:column;gap:10px}.calendar-day{padding:14px;display:grid;grid-template-columns:64px minmax(0,1fr);column-gap:13px;align-items:start}.calendar-date{display:flex;flex-direction:column;justify-content:flex-start;gap:6px;margin:0;grid-column:1;grid-row:1 / span 20;padding-top:5px}.calendar-date strong{font-size:14px}.calendar-date span{font-size:11px;line-height:1.5}.calendar-session{grid-column:2;margin:0;padding:0 0 13px;border-top:0;gap:10px;min-width:0}.calendar-session+.calendar-session{border-top:1px solid var(--tone-150);padding-top:13px}.calendar-session:last-child{padding-bottom:0}.calendar-session>strong{font-size:14px}.calendar-session .pill{font-size:11px;line-height:1.6;width:fit-content;max-width:100%}.calendar-session .secondary,.calendar-session .text-button{min-height:44px;font-size:12px;padding:10px 12px;border-radius:8px}.calendar-session .text-button{background:var(--tone-151);text-decoration:none}.calendar-session small{font-size:11px;line-height:1.7}.calendar-rest{grid-column:2;font-size:12px;line-height:1.6;min-height:44px;display:flex;align-items:center}.insight-head{gap:14px}.insight-head>div{min-width:0}.insight-head h2{font-size:20px}.insight-head p{font-size:12px;line-height:1.7}.week-controls{display:grid;grid-template-columns:44px minmax(95px,1fr) 44px;gap:8px;width:100%}.week-controls button{min-height:44px;font-size:13px}.summary-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.summary-grid>div{padding:15px 12px;min-width:0}.summary-grid span{font-size:12px;line-height:1.6}.weekly-movement{display:flex;flex-direction:column;align-items:flex-start;gap:9px;padding:15px 0}.weekly-movement>div{min-width:0}.weekly-movement strong{font-size:13px;line-height:1.6}.weekly-movement small{font-size:11px;line-height:1.7}.weekly-movement .pill{max-width:100%;font-size:11px;white-space:normal}.record-grid{grid-template-columns:1fr}.record-card{padding:19px;overflow-wrap:anywhere}.record-card .eyebrow{font-size:10px;line-height:1.8}.record-card h3{font-size:16px}.record-card p{font-size:12px;line-height:1.8}.record-card details{font-size:12px}.record-card summary{min-height:44px;display:flex;align-items:center;cursor:pointer;list-style:disclosure-closed}.record-card summary:before{content:'▸';margin-right:8px}.record-card details[open] summary:before{content:'▾'}.record-reps{font-size:13px}.previous-line{margin:0 14px 14px;font-size:12px;line-height:1.8}.previous-line strong{font-size:11px}.previous-line small{font-size:11px}.rest-controls{gap:10px;flex-wrap:wrap}.rest-controls label{font-size:12px}.rest-controls select{min-height:44px;font-size:16px}.rest-controls button{min-height:44px!important;font-size:12px!important}.rest-timer{bottom:calc(76px + env(safe-area-inset-bottom) + var(--workout-save-height,0px));width:min(440px,calc(100% - 24px));padding:12px 14px;gap:10px;border-radius:13px}.timer-caption{display:none}#timer-number{font-size:26px}#timer-name{font-size:10px;max-width:150px}.timer-actions{flex-direction:row;gap:7px}.timer-actions button{min-height:44px;min-width:48px;font-size:11px;padding:8px}.has-rest-timer .main{padding-bottom:calc(200px + env(safe-area-inset-bottom))}.save-bar{bottom:calc(66px + env(safe-area-inset-bottom));gap:12px;min-height:68px}.save-bar .primary{min-height:46px;font-size:12px;white-space:normal;line-height:1.5}.save-bar p{font-size:10px;max-width:150px}.focus-top{padding:calc(10px + env(safe-area-inset-top)) max(16px,env(safe-area-inset-right)) 10px max(16px,env(safe-area-inset-left));min-height:62px}.focus-top .secondary{min-height:44px;min-width:66px;padding:10px 14px}.focus-top .eyebrow{font-size:9px}.focus-top p{font-size:11px;line-height:1.6}.focus-content{padding:16px max(16px,env(safe-area-inset-right)) calc(24px + env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left));max-width:720px}.focus-content h2{font-size:25px;margin:18px 0 8px;line-height:1.35}.focus-target{font-size:12px;line-height:1.7}.focus-progress{gap:6px;flex-wrap:nowrap;overflow-x:auto;max-width:100%;padding-bottom:5px;scroll-padding:5px;scrollbar-width:thin}.focus-progress button{width:44px;height:44px;min-width:44px;flex-shrink:0}.focus-previous{margin:15px 0}.focus-previous summary{font-size:12px;min-height:46px;padding:13px}.focus-sets{gap:8px;margin:18px 0}.focus-sets button{min-height:44px;min-width:64px;padding:10px 13px;font-size:13px}.focus-inputs{grid-template-columns:1.2fr 1fr 1fr;gap:10px}.focus-inputs label{font-size:13px}.focus-inputs input{min-height:68px;height:74px;font-size:28px!important;padding:8px 3px}.focus-pain{font-size:12px;line-height:1.6;min-height:44px;gap:10px}.focus-pain input{width:20px;height:20px;flex-shrink:0}.focus-actions{position:sticky;bottom:0;z-index:3;display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:12px 0 calc(10px + env(safe-area-inset-bottom));margin:12px 0 0;background:var(--tone-152);border-top:1px solid var(--tone-153)}.focus-actions .primary{grid-column:1/-1;min-height:52px;font-size:15px}.focus-actions .secondary{min-height:44px;font-size:12px;padding:10px 8px}.sets-complete .focus-actions{position:static}.sets-complete #complete-set{display:none}.focus-save{position:sticky;bottom:0;z-index:3;background:var(--tone-152);padding:12px 0 calc(10px + env(safe-area-inset-bottom));margin-top:8px}.focus-save p{font-size:12px;line-height:1.6}.focus-save button{font-size:14px;min-height:52px}.focus-rest{gap:8px;padding:12px}.focus-rest strong{font-size:24px}.focus-rest span{font-size:11px;min-width:70px}.focus-rest button{min-height:44px;min-width:44px}.focus-mode.keyboard-open .focus-top{position:static;min-height:52px}.focus-mode.keyboard-open .focus-content{padding-top:8px}.focus-mode.keyboard-open .focus-inputs input{height:60px;min-height:60px}.focus-mode.keyboard-open .focus-actions{padding-bottom:8px}.focus-mode.keyboard-open .focus-pain{margin-top:6px}.focus-mode.keyboard-open .focus-rest{margin:8px 0}.focus-mode.keyboard-open .focus-sets{margin:10px 0}.settings-grid{grid-template-columns:1fr}#toast{bottom:calc(145px + env(safe-area-inset-bottom));max-width:calc(100vw - 24px)}.text-button{min-height:44px}.moved-plans{font-size:12px}.moved-plans p{display:flex;flex-wrap:wrap;align-items:center;gap:8px}button,select,input{touch-action:manipulation}
}
@media(max-width:350px){.main{padding-left:12px;padding-right:12px}.section-card{padding:16px 13px}.calendar-day{grid-template-columns:52px minmax(0,1fr);padding:12px;gap:10px}.focus-content{padding-left:12px;padding-right:12px}.focus-inputs{gap:7px}.focus-inputs input{font-size:24px!important}.focus-rest span{flex-basis:100%;order:4}.topbar-right>span:first-child{max-width:80px;font-size:9px}.install-button{font-size:10px;padding:8px}.focus-top .eyebrow{font-size:8px}.summary-grid{gap:8px}.summary-grid span{font-size:11px}.day-tabs button{font-size:11px;padding-left:5px;padding-right:5px}}
@media(max-width:940px) and (max-height:500px) and (pointer:coarse){.focus-content{max-width:700px}.focus-progress{display:none}.focus-content h2{font-size:21px;margin-top:5px}.focus-target{font-size:11px}.focus-previous{margin:8px 0}.focus-sets{margin:10px 0}.focus-rest{margin:10px 0}.focus-inputs input{height:58px;min-height:58px}.focus-actions{position:static}.focus-save{position:static}.calendar-week{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.main{padding-bottom:100px}}
@media(max-width:640px),(max-width:940px) and (max-height:500px) and (pointer:coarse){.save-bar{position:sticky;z-index:10;background:var(--tone-101);border-top:1px solid var(--line);padding:12px 0}}

.focus-top{background:var(--tone-99)}.focus-top .focus-sticky-name{font-weight:600;color:var(--tone-154);overflow-wrap:anywhere;line-height:1.5}.focus-sticky-name span{font-weight:400;color:var(--tone-155);white-space:nowrap}

.alert-option{display:grid;grid-template-columns:22px minmax(0,1fr);align-items:center;gap:7px 12px;margin:20px 0;font-size:13px;color:var(--tone-156);min-height:44px}.alert-option input{height:20px;width:20px;margin:0}.alert-option span{grid-column:2;font-size:11px;color:var(--tone-157);line-height:1.7}.alert-status{font-size:12px;color:var(--tone-158);line-height:1.8;margin:16px 0!important}.rest-alarm-banner{position:fixed;left:50%;top:calc(15px + env(safe-area-inset-top));transform:translateX(-50%);z-index:110;width:min(520px,calc(100% - 28px));background:var(--tone-159);border:1px solid var(--tone-160);border-radius:15px;padding:18px;box-shadow:0 12px 40px var(--tone-161);display:flex;align-items:center;justify-content:space-between;gap:18px}.rest-alarm-banner[hidden]{display:none}.rest-alarm-banner>div{min-width:0}.rest-alarm-banner strong{font-size:17px;color:var(--tone-162);display:block;line-height:1.5}.rest-alarm-banner span{font-size:12px;line-height:1.7;color:var(--tone-163);display:block;margin-top:5px;overflow-wrap:anywhere}.rest-alarm-banner button{min-height:44px;white-space:nowrap;background:var(--tone-164);color:var(--tone-165)}.training-toolbar [data-alert-enable]{min-height:44px}.focus-rest [data-alert-stop]{background:var(--tone-166);color:var(--tone-167);flex-basis:100%;min-height:44px}
@media(max-width:640px){.rest-alarm-banner{align-items:flex-start;gap:12px;padding:15px;flex-direction:column}.rest-alarm-banner button{width:100%}.rest-alarm-banner strong{font-size:17px}.training-toolbar [data-alert-enable]{width:100%}#rest-alert-settings .actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}#rest-alert-settings .actions .primary{grid-column:1/-1}.alert-option{font-size:13px}.alert-option span{font-size:12px}.alert-status{font-size:12px}}
