@font-face{font-family:'Golos Text';src:url('./fonts/GolosText.ttf') format('truetype');font-style:normal;font-weight:400 900;font-display:swap}
:root{--paper:#fff;--surface:#f4f5f7;--ink:#1c2027;--muted:#626a78;--subtle:#89919e;--line:#e3e6eb;--accent:#2457d6;--hover:#1b44af;--tint:#edf2ff;--focus:#8eaef9;--success:#28744d;--done:#eef7f1;--danger:#b13a36;--font:'Golos Text',Arial,sans-serif;color-scheme:light;font:15px var(--font);color:var(--ink);background:var(--paper);font-synthesis:none}
*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit;color:inherit}button,a{-webkit-tap-highlight-color:transparent;touch-action:manipulation}button{cursor:pointer}a{color:inherit;text-decoration:none}button:disabled{opacity:.5;cursor:default}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--focus);outline-offset:3px}h1,h2,h3,p{margin:0}h1,h2,h3{font-weight:600;line-height:1.3;letter-spacing:-.03em;text-wrap:balance}h1{font-size:34px}h2{font-size:19px}h3{font-size:16px}p{line-height:1.7}svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;vertical-align:middle;flex-shrink:0}button svg,a svg{pointer-events:none}[hidden]{display:none!important}.skip-link{position:fixed;top:-80px;left:15px;padding:12px 18px;background:var(--accent);color:white;z-index:100}.skip-link:focus{top:12px}
.app-header{border-bottom:1px solid var(--line)}.header-inner{max-width:1180px;height:80px;margin:auto;padding:0 28px;display:flex;align-items:center;gap:35px}.brand{display:flex;align-items:center;gap:8px;font-size:20px;font-weight:650;letter-spacing:-.7px}.brand img{width:30px;height:30px}.main-nav{display:flex;align-self:stretch;gap:25px;margin-left:auto}.main-nav a{display:flex;align-items:center;color:var(--muted);font-size:13px;border-bottom:2px solid transparent;padding-top:2px;white-space:nowrap}.main-nav a.active{color:var(--accent);border-color:var(--accent)}.main-nav a:hover{color:var(--ink)}.main-nav a>span:first-child,.mobile-label{display:none}.profile-button{display:flex;align-items:center;gap:8px;border:0;background:none;padding:5px;border-radius:7px;font-size:12px}.profile-button:hover{background:var(--surface)}#profile-name{max-width:85px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.avatar{display:grid;place-items:center;min-width:30px;height:30px;border:1px solid var(--line);border-radius:50%;background:var(--surface);font-size:12px}.workspace{max-width:1180px;margin:auto}main{padding:40px 28px 36px;min-height:calc(100dvh - 160px)}.page-footer{margin:0 28px;padding:20px 0;border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;font-size:12px;color:var(--subtle)}.page-footer .text-button{color:var(--muted);font-size:12px}
.button{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:43px;padding:11px 17px;border:1px solid transparent;border-radius:8px;font-size:13px;font-weight:500;line-height:1.3;white-space:nowrap}.button svg{width:17px;height:17px}.button.primary,.button.lime{background:var(--accent);color:var(--paper)}.button.primary:hover,.button.lime:hover{background:var(--hover)}.button:active{transform:translateY(1px)}.button.secondary{background:var(--surface);border-color:var(--line)}.button.outline{background:var(--paper);border-color:var(--line)}.button.secondary:hover,.button.outline:hover{background:var(--tint);border-color:var(--focus)}.button.danger{background:var(--danger);color:var(--paper)}.text-button{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:32px;padding:4px 0;border:0;background:none;color:var(--accent);font-size:12px;white-space:nowrap}.text-button:hover{text-decoration:underline;text-underline-offset:4px}.text-button svg{width:15px;height:15px}.icon-button{display:inline-grid;place-items:center;width:36px;height:36px;border:1px solid var(--line);border-radius:7px;background:var(--paper);flex-shrink:0}.icon-button svg{width:17px;height:17px}.icon-button:hover{background:var(--surface)}.full-width{width:100%}.page-heading{display:flex;justify-content:space-between;align-items:center;gap:24px;margin-bottom:32px}.page-heading>div{min-width:0}.subtitle{color:var(--muted);font-size:14px;margin-top:10px;line-height:1.7;max-width:65ch}.eyebrow{font-size:12px;color:var(--muted);margin-bottom:9px;text-transform:none;letter-spacing:0}.section-title{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:18px}.section-title h2{font-size:18px}.count-label,.month-total{font-size:12px;font-weight:400;color:var(--muted)}.tag{display:inline-block;font-size:12px;padding:4px 8px;line-height:1.5;border:1px solid var(--line);border-radius:5px;color:var(--muted)}
.today-heading{display:flex;align-items:center;justify-content:space-between;gap:28px;margin:4px 0 28px}.page-label{color:var(--muted);font-size:14px;margin-bottom:9px}.today-heading h1{font-size:34px;letter-spacing:-1.2px}.today-heading>.button{min-height:49px;padding:14px 21px;font-size:14px;flex-shrink:0}.daily-week{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));margin-bottom:42px;border-bottom:1px solid var(--line)}.daily-day{display:flex;align-items:center;justify-content:center;gap:10px;position:relative;background:var(--paper);border:0;border-bottom:2px solid transparent;padding:16px 8px;color:var(--muted)}.daily-day>span{font-size:12px}.daily-day strong{font-size:17px;font-weight:500;font-variant-numeric:tabular-nums}.daily-day.current{color:var(--accent);border-color:var(--accent);background:var(--tint)}.daily-day:hover{background:var(--surface)}.daily-day>i{position:absolute;bottom:6px;width:4px;height:4px;border-radius:50%}.daily-day>i.planned{background:var(--accent)}.daily-day>i.done{background:var(--success)}.today-layout{display:grid;grid-template-columns:minmax(0,1fr) 285px;gap:54px}.today-main{min-width:0}.today-section{margin-bottom:36px}.today-section>.section-title{border-bottom:1px solid var(--line);padding-bottom:12px;margin-bottom:0}.today-aside{padding-left:28px;border-left:1px solid var(--line)}.program-summary>h2{font-size:16px}.program-summary>p{font-size:12px;color:var(--muted);margin:7px 0 18px}.compact-programs{display:grid;margin-bottom:13px}.compact-programs button{display:grid;grid-template-columns:1fr 20px;gap:7px;align-items:center;text-align:left;background:var(--paper);border:0;border-bottom:1px solid var(--line);padding:16px 0}.compact-programs button>span{font-size:12px;color:var(--muted)}.compact-programs button strong{grid-column:1;font-size:14px;font-weight:500}.compact-programs button svg{grid-column:2;grid-row:1 / span 2;width:16px;color:var(--subtle)}.compact-programs button:hover strong{color:var(--accent)}.week-summary{margin-top:35px}.week-summary h2{font-size:15px}.week-summary>div>span{display:block;font-size:12px;color:var(--muted);margin-top:7px}.week-summary p{color:var(--muted);font-size:14px;margin:18px 0 5px}.week-summary p strong{font-size:26px;color:var(--ink);font-weight:550;margin-right:4px}.agenda-row{display:flex;align-items:center;gap:19px;padding:22px 0;width:100%;background:var(--paper);border:0;border-bottom:1px solid var(--line);text-align:left}.agenda-row:hover strong{color:var(--accent)}.agenda-day{font-size:12px;color:var(--muted);min-width:48px}.agenda-content{display:grid;gap:7px;min-width:0}.agenda-content strong{font-size:16px;font-weight:500;overflow-wrap:anywhere}.agenda-content small{font-size:12px;color:var(--muted)}.agenda-action{display:grid;place-items:center;margin-left:auto;width:34px;height:34px;border-radius:50%;background:var(--tint);color:var(--accent);flex-shrink:0}.agenda-action svg{width:15px}.empty-line{padding:29px 0 12px}.empty-line p:first-child{font-size:15px;margin-bottom:7px}.empty-line p:nth-child(2){font-size:13px;color:var(--muted);max-width:45ch}.empty-line .button{margin-top:19px;font-size:12px;min-height:39px}.empty-history{font-size:13px;color:var(--muted);padding:23px 0}.inline-notice{display:flex;align-items:center;gap:12px;background:var(--paper);border:1px solid var(--line);border-left:3px solid var(--accent);border-radius:7px;padding:15px 17px;margin-bottom:26px;font-size:13px;line-height:1.6}.inline-notice>span{min-width:0;overflow-wrap:anywhere}.inline-notice>.button{margin-left:auto;flex-shrink:0}.inline-notice>svg{color:var(--accent)}
.calendar-layout{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:28px}.calendar-panel{padding:22px;border:1px solid var(--line);border-radius:12px;min-width:0}.month-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:24px}.month-heading h2{font-size:21px;text-transform:capitalize}.month-controls{display:flex;align-items:center;gap:6px}.month-controls .text-button{margin-right:6px}.calendar-weekdays{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));text-align:center;color:var(--muted);font-size:12px;padding-bottom:13px}.month-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));border-top:1px solid var(--line);border-left:1px solid var(--line)}.month-day{display:flex;flex-direction:column;align-items:start;gap:7px;min-width:0;min-height:90px;padding:8px 5px;background:var(--paper);border:0;border-right:1px solid var(--line);border-bottom:1px solid var(--line);text-align:left}.month-day:hover,.month-day.outside{background:var(--surface)}.month-day.outside{color:var(--subtle)}.month-day.selected{background:var(--tint);box-shadow:inset 0 0 0 1px var(--focus)}.date-number{display:grid;place-items:center;width:27px;height:27px;border-radius:50%;font-size:13px;font-variant-numeric:tabular-nums}.month-day.today .date-number{background:var(--accent);color:var(--paper)}.calendar-event{padding:3px 4px;border-radius:3px;font-size:10px;max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;background:var(--tint);color:var(--accent)}.calendar-event.complete{background:var(--done);color:var(--success)}.calendar-event-extra{font-size:10px;color:var(--muted)}.calendar-legend{display:flex;align-items:center;flex-wrap:wrap;gap:15px;margin-top:18px;font-size:11px;color:var(--muted)}.calendar-legend>span{display:flex;align-items:center;gap:6px}.calendar-legend i{width:6px;height:6px;border-radius:2px;background:var(--focus)}.calendar-legend i.current{background:var(--accent)}.calendar-legend i.complete{background:var(--success)}.selected-day-panel{padding:5px 0 22px}.selected-day-panel h2{font-size:24px}.selected-day-panel .eyebrow{text-transform:capitalize}.selected-day-panel>.subtitle{font-size:12px;margin:10px 0 24px}.day-empty{padding:23px 0;border-top:1px solid var(--line)}.day-empty>.empty-symbol{display:none}.day-empty h3{font-size:15px;letter-spacing:0;margin-bottom:10px}.day-empty p{font-size:13px;color:var(--muted);margin-bottom:18px}.selected-slot{border-top:1px solid var(--line);padding:20px 0}.selected-slot h3{font-size:17px;margin:11px 0 8px}.selected-slot p{font-size:12px;color:var(--muted);margin-bottom:16px}.slot-actions{display:flex;align-items:center;justify-content:space-between;gap:7px;margin-top:7px}.slot-actions .text-button{font-size:11px}.coach-source{border-top:1px solid var(--line);padding-top:22px}.coach-source .eyebrow{display:none}.coach-source h3{font-size:15px;margin-bottom:10px}.coach-source p{font-size:12px;color:var(--muted)}.coach-source .text-button{margin-top:9px}.stats-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-top:26px;padding:7px 0}.stat{padding-right:18px;border-right:1px solid var(--line);min-width:0}.stat:last-child{border:0}.stat-top{font-size:12px;color:var(--muted);line-height:1.5}.stat-top svg{display:none}.stat-value{font-size:29px;margin:8px 0;font-weight:550;font-variant-numeric:tabular-nums}.stat-value small{font-size:13px;color:var(--muted);font-weight:400;margin-left:5px}.stat-foot{font-size:11px;color:var(--muted);line-height:1.5}
.program-grid{display:flex;flex-direction:column;border-top:1px solid var(--line)}.program-card{display:flex;align-items:center;gap:22px;width:100%;padding:23px 0;border:0;border-bottom:1px solid var(--line);text-align:left;background:var(--paper)}.program-card:hover{background:var(--surface)}.program-order{min-width:57px;font-size:13px;color:var(--muted)}.program-text{min-width:0;flex:1}.program-text h3{font-size:17px}.program-text p{font-size:12px;color:var(--muted);margin-top:7px}.program-card>svg{width:18px;color:var(--subtle);margin-right:10px}.program-icon{display:grid;place-items:center;width:37px;height:37px;border-radius:6px;background:var(--surface);color:var(--muted);flex-shrink:0}.program-icon svg{width:18px}.program-section,.recent-section{margin-top:32px}.coach-plan-label{font-size:13px;color:var(--muted);margin-bottom:17px}.coach-plan-label i{display:none}.workout-list{display:grid}.workout-row{display:flex;gap:15px;align-items:center;width:100%;min-width:0;padding:19px 0;border:0;border-bottom:1px solid var(--line);background:var(--paper);text-align:left}.workout-row:hover h3{color:var(--accent)}.empty-symbol{display:grid;place-items:center;flex-shrink:0}.workout-row>.empty-symbol{width:29px;height:29px;border-radius:50%;background:var(--done);color:var(--success)}.workout-row>.empty-symbol svg{width:15px}.workout-row>div:first-of-type{min-width:0}.workout-row h3{font-size:14px;font-weight:500;letter-spacing:0;overflow-wrap:anywhere}.workout-row p{font-size:12px;color:var(--muted);margin-top:6px}.workout-numbers{margin-left:auto;display:flex;gap:15px;font-size:12px;color:var(--muted);white-space:nowrap}.workout-row>svg{width:15px;color:var(--subtle)}.large-empty{border-top:1px solid var(--line);padding:32px 0}.large-empty>.empty-symbol{display:none}.large-empty h2{font-size:18px}.large-empty p{font-size:14px;color:var(--muted);margin:11px 0 20px;max-width:55ch}.filter-bar{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin:22px 0}.filter-chip{padding:8px 12px;border:1px solid var(--line);border-radius:6px;background:var(--paper);font-size:12px;min-height:37px}.filter-chip.active{color:var(--accent);background:var(--tint);border-color:var(--focus)}.filter-chip:hover{background:var(--surface)}.search-field{display:flex;align-items:center;gap:9px;height:42px;min-width:220px;margin-left:auto;padding:0 12px;border:1px solid var(--line);border-radius:7px;background:var(--paper)}.search-field svg{width:17px;color:var(--muted)}.search-field input{width:100%;min-width:0;border:0;background:transparent;font-size:14px}.search-field:focus-within{outline:3px solid var(--focus);outline-offset:2px}.search-field input:focus-visible{outline:0}.exercise-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 28px;border-top:1px solid var(--line)}.exercise-card{padding:23px 0;display:flex;flex-direction:column;align-items:start;min-width:0;border:0;border-bottom:1px solid var(--line);background:var(--paper);text-align:left}.exercise-card>.program-icon{display:none}.exercise-card:hover h3{color:var(--accent)}.exercise-card h3{font-size:15px;letter-spacing:0;overflow-wrap:anywhere}.exercise-card p{font-size:13px;color:var(--muted);margin-top:9px}.exercise-card .tag{margin-top:13px}.progress-grid{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(240px,1fr);gap:34px;margin:38px 0}.panel{padding:22px;border:1px solid var(--line);border-radius:10px;min-width:0}.chart-caption{font-size:12px;color:var(--muted);margin-top:9px}.chart-area{height:230px;position:relative;margin-top:25px}.activity-chart{width:100%;height:100%;stroke:none;overflow:visible}.activity-chart text{font:11px var(--font);fill:var(--muted)}.activity-chart line{stroke:var(--line)}.activity-chart rect{fill:var(--focus)}.activity-chart rect:last-of-type{fill:var(--accent)}.chart-empty{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:9px;pointer-events:none}.chart-empty strong{font-size:14px;font-weight:500}.chart-empty span{font-size:12px;color:var(--muted)}.best-list{display:grid;gap:17px;margin:23px 0 10px}.best-row{display:flex;justify-content:space-between;gap:17px;border-bottom:1px solid var(--line);padding-bottom:15px;font-size:12px;line-height:1.7}.best-row span{color:var(--muted)}.best-row strong{font-weight:500;white-space:nowrap}
body.modal-open{overflow:hidden}dialog{width:580px;max-width:calc(100vw - 28px);max-height:calc(100dvh - 40px);padding:0;border:1px solid var(--line);border-radius:14px;background:var(--paper);color:var(--ink);box-shadow:0 18px 70px #0f182729;overscroll-behavior:contain}dialog::backdrop{background:#161d287a}.modal-header{display:flex;justify-content:space-between;align-items:start;gap:18px;padding:24px 25px 21px;border-bottom:1px solid var(--line);background:var(--paper)}.modal-header>div{min-width:0}.modal-header h2{font-size:23px;overflow-wrap:anywhere}.modal-header p{font-size:13px;color:var(--muted);margin-top:9px}.modal-body{padding:24px 25px}.modal-actions{display:flex;justify-content:flex-end;align-items:center;flex-wrap:wrap;gap:10px;padding:0 25px 24px}.modal-actions>.text-button{margin-right:auto}.choice-section{margin-bottom:22px}.choice-section h3{font-size:13px;font-weight:400;letter-spacing:0;color:var(--muted);margin-bottom:12px}.workout-choice{display:flex;align-items:center;gap:15px;width:100%;padding:17px;border:1px solid var(--line);border-bottom:0;background:var(--paper);text-align:left}.workout-choice:first-of-type{border-radius:9px 9px 0 0}.workout-choice:last-child{border-bottom:1px solid var(--line);border-radius:0 0 9px 9px}.workout-choice:first-of-type:last-child{border-radius:9px}.workout-choice:hover{background:var(--tint);border-color:var(--focus)}.choice-symbol{display:grid;place-items:center;flex-shrink:0;width:29px;font-size:14px;color:var(--muted)}.workout-choice>span:nth-child(2){min-width:0;flex:1}.workout-choice strong{display:block;font-size:15px;font-weight:500;line-height:1.5;overflow-wrap:anywhere}.workout-choice small{display:block;font-size:12px;color:var(--muted);line-height:1.6;margin-top:4px}.workout-choice>svg{width:17px;color:var(--subtle)}.workout-choice.custom-choice{border:1px solid var(--line);border-radius:9px;background:var(--surface)}.custom-choice .choice-symbol{color:var(--accent)}.choice-empty{font-size:14px;color:var(--muted);padding:16px 0}.modal-exercises{list-style:none;padding:0;margin:0;display:grid}.modal-exercises li{display:flex;align-items:start;gap:15px;padding:15px 0;border-bottom:1px solid var(--line)}.exercise-number{width:24px;flex-shrink:0;padding-top:2px;font-size:12px;color:var(--muted)}.modal-exercises strong{font-size:14px;font-weight:500;line-height:1.6}.modal-exercises small{display:block;font-size:12px;color:var(--muted);line-height:1.8;margin-top:6px}.confirm-copy{font-size:14px;line-height:1.8;color:var(--muted)}.plan-instructions{font-size:12px;line-height:1.8;color:var(--muted);border-left:2px solid var(--line);padding-left:14px;margin:21px 0}.form-label{display:block;font-size:12px;font-weight:500;margin-bottom:9px}.form-input{width:100%;height:44px;padding:0 12px;border:1px solid #cfd4dd;border-radius:7px;background:var(--paper);font-size:15px}.form-field{margin-bottom:23px}.form-field:last-child{margin-bottom:0}.form-help{font-size:12px;color:var(--muted);line-height:1.8;margin-top:10px}.settings-section{padding-top:23px;margin-top:25px;border-top:1px solid var(--line)}.settings-section h3{font-size:16px;margin-bottom:10px}.settings-section p{font-size:13px;color:var(--muted);line-height:1.8;margin-bottom:15px}.export-actions{display:flex;flex-wrap:wrap;gap:8px}.instruction-block{background:var(--surface);border-radius:8px;padding:19px;font-size:14px;line-height:1.85;margin-top:18px}.instruction-block p{margin-bottom:12px}.instruction-block p:last-child{margin:0}.plan-select-list{display:grid;gap:10px}.plan-option{display:flex;align-items:center;gap:14px;width:100%;padding:17px;border:1px solid var(--line);border-radius:8px;background:var(--paper);text-align:left}.plan-option:hover{border-color:var(--focus);background:var(--tint)}.plan-option h3{font-size:15px;letter-spacing:0}.plan-option p{font-size:12px;color:var(--muted);margin-top:6px}.plan-option>svg{margin-left:auto;width:17px}.plan-option>.program-icon{display:none}
.session-dialog{width:780px}.session-toolbar{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;padding:15px 25px;border-bottom:1px solid var(--line);background:var(--surface)}.session-time{display:flex;align-items:center;gap:8px;font-size:13px;font-variant-numeric:tabular-nums}.session-time svg{width:17px;color:var(--muted)}.rest-controls{display:flex;align-items:center;gap:9px;font-size:12px}.rest-controls select{padding:7px;min-height:34px;border:1px solid #cfd4dd;border-radius:6px;background:var(--paper);color:var(--ink);font-size:12px}.rest-controls .icon-button{width:31px;height:31px}.rest-time{min-width:44px;font-size:14px;font-variant-numeric:tabular-nums}.session-fields{display:grid;grid-template-columns:minmax(0,1fr) 155px;gap:14px;margin-bottom:20px}.session-fields .form-input{font-size:14px}.session-exercise{margin-bottom:21px;border:1px solid var(--line);border-radius:9px;overflow:hidden;background:var(--paper)}.session-exercise-head{display:flex;align-items:center;gap:11px;padding:17px 17px 14px}.session-exercise-head>span{font-size:12px;color:var(--muted)}.session-exercise-head h3{flex:1;min-width:0;font-size:15px;letter-spacing:0;overflow-wrap:anywhere}.session-exercise-head .icon-button{border:0;width:28px;height:28px;color:var(--muted)}.exercise-prescription{padding:10px 17px;background:var(--surface);border-top:1px solid var(--line);border-bottom:1px solid var(--line);font-size:12px;color:var(--muted);line-height:1.8}.exercise-prescription strong{color:var(--ink);font-weight:450}.set-table{border-collapse:collapse;table-layout:fixed;width:100%}.set-table th{font-size:12px;font-weight:400;color:var(--muted);text-align:center;padding:12px 5px 9px;line-height:1.5}.set-table td{padding:7px 10px;text-align:center;font-size:13px;vertical-align:middle}.set-table th:first-child{width:12%}.set-table th:nth-child(2){width:20%}.set-table th:last-child{width:13%}.set-table input{width:100%;min-width:0;height:42px;text-align:center;background:var(--paper);border:1px solid #cfd4dd;border-radius:6px;font-size:16px;font-variant-numeric:tabular-nums;-moz-appearance:textfield}.set-table input::-webkit-inner-spin-button{-webkit-appearance:none}.set-table input::placeholder{color:var(--subtle)}.set-table input:user-invalid,.set-table input:invalid:not(:placeholder-shown){border-color:var(--danger);background:#fff1f0}.set-check{display:inline-grid;place-items:center;width:39px;height:39px;border:1px solid var(--line);border-radius:7px;background:var(--surface);color:var(--subtle)}.set-check:hover{border-color:var(--success);color:var(--success)}.set-check svg{width:19px;height:19px}.set-table tr.done{background:var(--done)}.done .set-check{color:var(--paper);background:var(--success);border-color:var(--success)}.plan-cell{font-size:13px!important;color:var(--muted)}.plan-cell .part-field{height:42px!important;line-height:1.1}.plan-cell .part-field>small{font-size:9px!important}.session-exercise>.text-button{display:flex;justify-content:center;width:100%;padding:10px;margin-top:8px;border-top:1px solid var(--line);min-height:40px;font-size:12px;color:var(--muted)}.session-note{resize:vertical;padding:12px;min-height:84px;font-size:14px;line-height:1.7}.session-progress{padding:0 25px 18px;font-size:13px;color:var(--muted)}.session-footer{display:flex;align-items:center;justify-content:space-between;gap:13px;padding:0 25px 24px}.session-footer>div{display:flex;gap:9px}.session-footer>.text-button{font-size:12px;color:var(--danger)}.picker-search{margin:0 0 16px;min-width:0}.picker-options{display:grid;gap:7px;max-height:400px;overflow:auto;padding:3px}.picker-option{display:flex;align-items:center;gap:11px;padding:14px;width:100%;border:1px solid var(--line);border-radius:7px;background:var(--paper);text-align:left}.picker-option:hover{background:var(--tint);border-color:var(--focus)}.picker-option strong{display:block;font-size:13px;font-weight:500;line-height:1.6}.picker-option small{display:block;font-size:12px;line-height:1.6;color:var(--muted);margin-top:4px}.picker-option>svg{margin-left:auto;width:16px}.picker-option .program-icon{display:none}.success-header{text-align:center;padding:32px 25px 20px}.success-icon{display:grid;place-items:center;width:48px;height:48px;border-radius:50%;background:var(--done);color:var(--success);margin:0 auto 20px}.success-header h2{font-size:26px}.success-header p{font-size:13px;color:var(--muted);line-height:1.9;margin-top:15px}.success-stats{display:flex;justify-content:space-evenly;padding:10px 0 29px}.success-stats>div{text-align:center}.success-stats strong{font-size:26px;display:block;font-weight:500}.success-stats small{font-size:12px;display:block;color:var(--muted);margin-top:7px}.detail-summary{display:flex;flex-wrap:wrap;gap:9px;margin-bottom:20px}.history-details{list-style:none;padding:0;margin:0}.history-details li{padding:17px 0;border-bottom:1px solid var(--line)}.history-details strong{font-size:14px;font-weight:500;line-height:1.6}.history-details p{font-size:13px;line-height:2;color:var(--muted);margin-top:8px}.storage-warning{background:#fff7dc;color:#72521b;padding:14px 20px;font-size:13px;line-height:1.75;margin:15px 28px 0;border-radius:8px}.toast{position:fixed;bottom:26px;left:50%;transform:translateX(-50%);padding:13px 20px;background:var(--ink);color:var(--paper);font-size:13px;line-height:1.7;border-radius:8px;max-width:calc(100vw - 30px);width:max-content;text-align:center;z-index:20;opacity:0;pointer-events:none;transition:opacity .15s}.toast.visible{opacity:1}dialog .dialog-toast{position:sticky;bottom:12px;margin:0 18px 12px;padding:12px 15px;background:var(--ink);color:var(--paper);border-radius:7px;font-size:12px;line-height:1.7;text-align:center}
@media(max-width:1050px){.header-inner{gap:22px}.main-nav{gap:19px}.main-nav a{font-size:12px}#profile-name{display:none}.today-layout{grid-template-columns:minmax(0,1fr) 250px;gap:33px}.today-aside{padding-left:24px}.today-heading h1{font-size:29px}.calendar-layout{grid-template-columns:minmax(0,1fr) 240px;gap:24px}.calendar-panel{padding:18px 14px}.month-day{min-height:83px}}
@media(max-width:800px){.header-inner{padding:0 22px;gap:20px;height:70px}.brand{font-size:18px}.main-nav{gap:16px}.main-nav a{font-size:11px}.today-heading h1{font-size:27px}.today-heading>.button{font-size:13px;padding:13px 16px}.today-layout{grid-template-columns:minmax(0,1fr) 225px;gap:27px}.today-aside{padding-left:23px}.agenda-row{gap:12px}.agenda-content strong{font-size:14px}.calendar-layout{grid-template-columns:1fr}.calendar-aside{display:grid;grid-template-columns:1fr 1fr;gap:35px}.selected-day-panel{padding:0}.coach-source{border:0;padding-top:0}.progress-grid{grid-template-columns:1fr}.compact-programs button strong{font-size:13px}main{padding-left:22px;padding-right:22px}.page-footer{margin:0 22px}}
@media(max-width:650px){.header-inner{height:62px;justify-content:space-between;padding:0 20px}.brand{gap:7px;font-size:18px}.brand img{width:27px;height:27px}.profile-button{padding:0}.main-nav{position:fixed;z-index:10;inset:auto 0 0;background:var(--paper);height:calc(65px + env(safe-area-inset-bottom));padding:5px 6px calc(5px + env(safe-area-inset-bottom));display:grid;grid-template-columns:repeat(5,minmax(0,1fr));border-top:1px solid var(--line);gap:0;margin:0}.main-nav a{display:flex;flex-direction:column;justify-content:center;gap:5px;padding:3px 0;border:0;font-size:10px;line-height:1.3}.main-nav a>span:first-child{display:block}.main-nav a svg{width:20px;height:20px}.main-nav .desktop-label{display:none}.main-nav .mobile-label{display:block}.workspace{padding-bottom:calc(65px + env(safe-area-inset-bottom))}main{padding:27px 20px 30px;min-height:calc(100dvh - 195px)}.page-footer{margin:0 20px;padding:18px 0;font-size:11px}.page-footer .text-button{font-size:11px}.today-heading{display:block;margin:0 0 22px}.page-label{font-size:13px}.today-heading h1{font-size:28px;line-height:1.25;letter-spacing:-.95px;max-width:320px}.today-heading>.button{width:100%;min-height:48px;font-size:15px;margin-top:24px}.daily-week{margin-bottom:28px}.daily-day{flex-direction:column;gap:5px;padding:10px 3px 13px}.daily-day span{font-size:11px}.today-layout{grid-template-columns:1fr;gap:27px}.today-aside{border:0;border-top:1px solid var(--line);padding:25px 0 0;display:grid;grid-template-columns:1fr;gap:25px}.program-summary>p{margin-bottom:9px}.compact-programs button{grid-template-columns:50px minmax(0,1fr) 18px;gap:12px;padding:15px 0}.compact-programs button>span{grid-column:1}.compact-programs button strong{grid-column:2;font-size:14px}.compact-programs button svg{grid-column:3;grid-row:1}.week-summary{margin-top:0}.week-summary>div{display:flex;justify-content:space-between;align-items:center;gap:15px}.week-summary>div>span{margin:0;font-size:11px}.week-summary p{margin-top:12px}.today-section{margin-bottom:28px}.today-section h2{font-size:17px}.agenda-row{gap:15px;padding:20px 0}.agenda-content strong{font-size:15px}.agenda-day{font-size:11px;min-width:39px}.empty-line{padding-top:22px}.empty-line p:first-child{font-size:14px}.empty-history{padding:20px 0}.page-heading{display:block;margin-bottom:25px}.page-heading h1{font-size:29px}.page-heading>.button{margin-top:20px}.subtitle{font-size:13px}.section-title{gap:10px;margin-bottom:15px}.section-title h2{font-size:17px}.section-title .text-button{font-size:11px}.inline-notice{flex-wrap:wrap;padding:13px;font-size:12px;gap:9px}.inline-notice>.button{font-size:12px;min-height:37px;padding:9px 14px}.calendar-panel{padding:17px 11px;border-radius:9px}.month-heading{gap:6px;margin-bottom:20px}.month-heading h2{font-size:19px}.month-controls{gap:4px}.month-controls .icon-button{width:29px;height:29px}.month-controls .text-button{font-size:11px;margin-right:2px}.calendar-weekdays{font-size:11px;padding-bottom:11px}.month-day{padding:6px 3px;gap:6px;min-height:75px}.date-number{font-size:12px;width:24px;height:24px}.calendar-event{font-size:9px;padding:2px 3px}.calendar-legend{font-size:10px;gap:9px;margin-top:16px}.calendar-legend>span:last-child{width:100%;margin-left:0!important}.calendar-aside{grid-template-columns:1fr;gap:20px}.selected-day-panel{scroll-margin-top:20px;padding-top:9px}.coach-source{border-top:1px solid var(--line);padding-top:22px}.stats-grid{gap:13px;margin-top:22px}.stat{padding-right:11px}.stat-top{font-size:11px}.stat-value{font-size:25px}.stat-foot{font-size:10px}.stat-value small{font-size:11px;margin-left:3px}.program-card{padding:19px 0;gap:14px}.program-order{min-width:44px;font-size:11px}.program-text h3{font-size:15px}.program-card>svg{margin-right:0;width:15px}.recent-section{margin-top:28px}.workout-row{gap:10px;padding:18px 0}.workout-row h3{font-size:13px}.workout-row p{font-size:11px}.workout-numbers{font-size:11px;flex-direction:column;gap:6px;align-items:end}.workout-row>svg{display:none}.workout-row>.empty-symbol{width:23px;height:23px}.large-empty{padding:27px 0}.large-empty p{font-size:13px}.exercise-grid{grid-template-columns:1fr}.exercise-card{padding:20px 0}.filter-bar{gap:7px;margin:20px 0}.search-field{order:-1;width:100%;margin:0 0 7px;min-width:0}.search-field input{font-size:16px}.panel{padding:20px 15px}.progress-grid{margin-top:30px;gap:22px}.chart-area{height:210px}.chart-caption{font-size:11px}.chart-empty strong{font-size:12px}.chart-empty span{font-size:11px}.storage-warning{margin:12px 20px 0;padding:12px 14px;font-size:12px}dialog{max-width:calc(100vw - 20px);max-height:calc(100dvh - 22px);border-radius:11px}.session-dialog{max-width:calc(100vw - 16px)}.modal-header{padding:21px 18px 18px;gap:13px}.modal-header h2{font-size:21px}.modal-header p{font-size:12px}.modal-header .icon-button{width:32px;height:32px}.modal-body{padding:21px 18px}.modal-actions{padding:0 18px 22px;gap:9px}.modal-actions .button{font-size:12px;padding:11px 13px}.choice-section h3{font-size:12px}.workout-choice{padding:16px 12px;gap:10px}.choice-symbol{width:22px;font-size:13px}.workout-choice strong{font-size:14px}.workout-choice>svg{width:14px}.workout-choice.custom-choice strong{font-size:13px;letter-spacing:-.2px}.choice-empty{font-size:13px;padding:12px 0}.form-input,.session-fields .form-input,.session-note{font-size:16px}.plan-option{padding:15px 12px;gap:9px}.plan-option h3{font-size:14px}.confirm-copy{font-size:13px}.modal-exercises li{gap:10px}.modal-exercises strong{font-size:13px}.exercise-number{width:18px;font-size:11px}.session-toolbar{padding:13px 18px;gap:12px}.session-time{font-size:12px}.rest-controls{gap:7px}.rest-controls select{font-size:14px;padding:6px}.rest-time{min-width:39px}.session-fields{grid-template-columns:minmax(0,1fr) 131px;gap:10px}.session-fields .form-input{padding:0 9px}.session-exercise-head{padding:15px 11px 12px;gap:8px}.session-exercise-head h3{font-size:13px;line-height:1.5}.session-exercise-head>span{font-size:11px}.session-exercise-head .icon-button{width:25px;height:25px}.session-exercise-head svg{width:15px}.exercise-prescription{padding:9px 11px;font-size:11px}.set-table th{font-size:10px;padding:10px 3px 7px}.set-table td{padding:5px;font-size:12px}.set-table th:first-child{width:11%}.set-table th:nth-child(2){width:20%}.set-table th:last-child{width:14%}.set-table input{font-size:16px;padding:0 2px}.set-check{height:34px;width:31px;border-radius:6px}.set-check svg{width:17px}.plan-cell{font-size:12px!important}.plan-cell .part-field>small{font-size:8px!important}.session-exercise>.text-button{font-size:11px}.session-progress{padding:0 18px 16px;font-size:12px}.session-footer{padding:0 18px 22px;flex-wrap:wrap;gap:14px}.session-footer>div{width:100%;display:grid;grid-template-columns:1fr 1.3fr}.session-footer .button{font-size:13px;min-height:45px}.picker-option{padding:13px}.picker-option small{font-size:11px}.success-header h2{font-size:24px}.success-header p{font-size:12px}.success-stats strong{font-size:24px}.success-stats small{font-size:11px}.history-details strong{font-size:13px}.history-details p{font-size:12px}.toast{bottom:calc(80px + env(safe-area-inset-bottom));font-size:12px;padding:12px 16px}.tag{font-size:11px}.detail-summary{gap:6px}}
@media(max-width:360px){main{padding-left:16px;padding-right:16px}.header-inner{padding:0 16px}.today-heading h1{font-size:25px}.section-title h2{font-size:16px}.month-heading h2{font-size:16px}.month-controls .text-button{font-size:10px}.month-controls .icon-button{width:27px;height:27px}.calendar-panel{padding:15px 8px}.calendar-event{font-size:8px;padding:2px}.month-day{min-height:68px}.stats-grid{gap:10px}.stat-top{font-size:10px}.modal-body{padding:19px 13px}.modal-header{padding:19px 13px 17px}.modal-header h2{font-size:19px}.modal-actions{padding:0 13px 20px}.workout-choice{padding:14px 9px;gap:8px}.workout-choice strong{font-size:13px}.workout-choice.custom-choice strong{font-size:12px;letter-spacing:-.3px}.choice-symbol{width:17px}.workout-choice small{font-size:11px}.workout-choice>svg{width:12px}.session-fields{grid-template-columns:1fr;gap:14px}.session-toolbar{padding:12px 13px}.set-table td{padding:5px 4px}.set-check{width:29px}.session-exercise-head{gap:6px}.session-exercise-head h3{font-size:12px}.session-exercise-head>span{display:none}.session-exercise-head .icon-button{width:23px}.set-table th{font-size:9px}.rest-controls{gap:6px}.session-footer{padding-left:13px;padding-right:13px}.session-progress{padding-left:13px;padding-right:13px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

/* Today contains one action and the day's saved entries. */
main[data-page="overview"]{min-height:calc(100dvh - 81px);padding-top:0;padding-bottom:0;display:flex;justify-content:center}
main[data-page="overview"]~.page-footer{display:none}
.brand{flex-shrink:0}.brand-copy{display:grid;gap:3px;white-space:nowrap}.brand-copy strong{font:inherit;line-height:1.1}.brand-copy small{font-size:10px;font-weight:400;letter-spacing:0;line-height:1.35;color:var(--muted)}
.today-page{width:100%;max-width:620px;padding:48px 0;display:flex;flex-direction:column;justify-content:center;gap:44px}
.today-page .today-heading{display:flex;flex-direction:column;align-items:center;gap:26px;margin:0;text-align:center}
.today-page .today-heading h1{max-width:none;font-size:23px;font-weight:500;line-height:1.4;letter-spacing:-.5px}
.today-page .today-heading>.button{width:auto;min-width:236px;min-height:52px;margin:0;padding:14px 25px;font-size:15px}
.today-records{border-top:1px solid var(--line)}
.today-entry{display:grid;grid-template-columns:minmax(0,1fr) 20px;gap:20px;align-items:center;width:100%;padding:22px 0;background:none;border:0;border-bottom:1px solid var(--line);text-align:left}
.today-entry:hover{background:var(--surface)}
.today-entry strong{font-size:15px;font-weight:500;line-height:1.5;overflow-wrap:anywhere}
.today-entry-time{display:block;margin-top:6px;font-size:13px;line-height:1.5;color:var(--muted);font-variant-numeric:tabular-nums}
.today-entry>svg{width:17px;height:17px;color:var(--muted)}
@media(max-width:650px){main[data-page="overview"]{min-height:calc(100dvh - 128px - env(safe-area-inset-bottom))}.today-page{padding:36px 0;gap:36px}.today-page .today-heading h1{font-size:20px}.today-page .today-heading>.button{min-width:226px}.today-entry{padding:20px 0}.today-entry strong{font-size:14px}}

/* A workout is a list; each exercise has its own compact screen. */
dialog.session-dialog{width:520px;max-width:calc(100vw - 32px);height:min(850px,calc(100dvh - 48px));max-height:calc(100dvh - 48px);overflow:hidden}
.session-dialog #modal-content{height:100%;position:relative}
.session-screen{height:100%;min-height:0;display:flex;flex-direction:column;background:var(--paper)}
.session-scroll{flex:1;min-height:0;overflow-y:auto;overscroll-behavior-y:contain;-webkit-overflow-scrolling:touch;padding:0 20px 20px;scroll-padding:16px}
.session-screen .icon-button{width:44px;height:44px;min-width:44px}
.session-screen .button,.session-screen .text-button{min-height:44px}
.workout-screen>.modal-header{flex-shrink:0;padding:20px;align-items:flex-start}
.workout-screen>.modal-header h2{font-size:21px;line-height:1.4;overflow-wrap:anywhere}
.workout-screen .session-time{margin-top:9px;font-size:13px;color:var(--muted);gap:6px}
.workout-screen .session-progress{padding:18px 0 8px;font-size:13px}
.session-exercise-option{display:grid;grid-template-columns:24px minmax(0,1fr) 18px;gap:12px;align-items:center;width:100%;min-height:76px;border:0;border-bottom:1px solid var(--line);padding:14px 0;background:none;text-align:left}
.session-exercise-option:active{background:var(--surface)}
@media(hover:hover){.session-exercise-option:hover{background:var(--surface)}}
.exercise-order{color:var(--muted);font-size:14px;text-align:center;font-variant-numeric:tabular-nums}
.exercise-option-copy{min-width:0}.exercise-option-copy strong{display:block;font-size:15px;line-height:1.4;font-weight:500;overflow-wrap:anywhere}
.exercise-option-copy small{display:block;margin-top:5px;font-size:12px;line-height:1.4;color:var(--muted)}
.session-exercise-option>svg{width:16px;height:16px;color:var(--muted)}
.session-exercise-option.complete .exercise-order,.session-exercise-option.complete small{color:var(--success)}
.add-session-exercise{width:100%;margin:8px 0;justify-content:flex-start;font-size:14px}
.session-details{margin-top:4px}.session-details>summary,.exercise-tools>summary{min-height:44px;cursor:pointer;display:flex;align-items:center;gap:9px;list-style:none;color:var(--muted);font-size:13px}
.session-details>summary:after,.exercise-tools>summary:after{content:'+';margin-left:auto;font-size:20px;font-weight:400}
.session-details[open]>summary:after,.exercise-tools[open]>summary:after{content:'−'}
.session-details>summary::-webkit-details-marker,.exercise-tools>summary::-webkit-details-marker,.set-card>summary::-webkit-details-marker{display:none}
.session-details .session-fields{grid-template-columns:1fr;margin:16px 0;gap:16px}
.session-details .form-input{font-size:16px;min-height:46px}
.session-details .form-field{margin-bottom:10px}.session-screen .danger-text{color:var(--danger)}
.session-topbar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-shrink:0;padding:10px 20px;border-bottom:1px solid var(--line)}
.session-back{font-size:14px;gap:2px}.session-back svg{width:19px;height:19px}
.session-topbar>span{font-size:12px;color:var(--muted);margin-left:auto}
.session-topbar .icon-button{border:0;background:none;color:var(--muted)}
.exercise-title{padding:20px 0 18px}.exercise-title h2{font-size:22px;line-height:1.35;overflow-wrap:anywhere;text-wrap:pretty}
.exercise-title>p{font-size:12px;line-height:1.5;color:var(--muted);margin-top:8px}
.exercise-title>.exercise-progress{font-size:13px;margin-top:12px}
.set-card{border:1px solid var(--line);border-radius:9px;margin-bottom:8px;background:var(--paper)}
.set-card>summary{min-height:62px;display:flex;align-items:center;gap:12px;justify-content:space-between;padding:12px 14px;cursor:pointer;list-style:none}
.set-summary-copy{min-width:0}.set-summary-copy strong{font-size:14px;font-weight:500;line-height:1.4;display:block}
.set-summary-result{font-size:12px;color:var(--muted);line-height:1.5;display:block;margin-top:3px;overflow-wrap:anywhere;font-variant-numeric:tabular-nums}
.set-summary-icon{display:flex;flex-shrink:0;color:var(--muted)}.set-summary-icon svg{width:18px;height:18px}
.set-card[open]{border-color:#b9c9ec}.set-card[open]>summary{border-bottom:1px solid var(--line)}
.set-card[open]:not(.done) .set-summary-icon{transform:rotate(90deg)}
.set-card.done .set-summary-icon{color:var(--success)}
.set-content{padding:14px}.set-part+.set-part{margin-top:14px}
.set-part-label{font-size:12px;color:var(--muted);margin-bottom:8px;line-height:1.4}
.set-fields{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px}
.set-fields label{min-width:0}.set-fields label>span{display:block;font-size:12px;color:var(--muted);margin-bottom:7px}
.set-fields input{display:block;width:100%;min-width:0;height:48px;padding:10px 12px;border:1px solid #c8ced9;border-radius:7px;background:var(--paper);font-size:18px;font-variant-numeric:tabular-nums;appearance:none}
.set-fields input::placeholder{color:var(--subtle)}.set-fields input:focus{border-color:var(--accent)}
.set-fields input:user-invalid{border-color:var(--danger)}
.set-card .set-check{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;min-height:46px;height:auto;margin-top:14px;padding:11px 12px;border:0;border-radius:7px;background:var(--accent);color:var(--paper);font-size:14px}
.set-card.done .set-check{color:var(--success);background:var(--done)}
.exercise-tools{margin-top:10px}.exercise-tools .text-button{display:flex;font-size:13px}
.exercise-rest{flex-shrink:0;border-top:1px solid var(--line);padding:12px 20px 8px;background:var(--surface)}
.rest-display{display:flex;align-items:center;justify-content:space-between;gap:16px}
.rest-display>div{display:flex;align-items:center;gap:13px}
.rest-caption{font-size:13px;color:var(--muted)}#rest-time{font-size:29px;font-weight:500;letter-spacing:-.7px;font-variant-numeric:tabular-nums;line-height:1.2}
.rest-duration-label{position:relative}.rest-duration-label>span{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
.rest-duration-label select{min-height:44px;min-width:85px;padding:8px;border:1px solid #c8ced9;background:var(--paper);border-radius:7px;font-size:16px}
.exercise-rest-actions{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;margin-top:10px}
.exercise-rest-actions .button{font-size:13px;padding:10px 14px}.exercise-rest-actions .button.secondary{background:var(--paper)}
.exercise-footer{flex-shrink:0;padding:10px 20px 18px;background:var(--paper)}
.exercise-footer .button{min-height:48px;font-size:14px}
.exercise-rest+.exercise-footer{background:var(--surface);padding-top:4px}
.session-dialog .dialog-toast{position:absolute;z-index:3;top:76px;bottom:auto;left:16px;right:16px;margin:0;pointer-events:none}
summary:focus-visible{outline:3px solid var(--focus);outline-offset:2px;border-radius:7px}
@media(max-width:650px){
  dialog{max-height:calc(var(--dialog-height,100dvh) - 24px)}
  .modal-header .icon-button{width:44px;height:44px;min-width:44px}
  .workout-choice,.picker-option,.plan-option{min-height:56px}
  .profile-button{min-width:44px;min-height:44px;justify-content:center}
}
@media(max-width:650px),(max-width:950px) and (max-height:500px){
  dialog.session-dialog{position:fixed;top:var(--dialog-top,0);left:0;right:0;bottom:auto;margin:0;width:100%;max-width:none;height:var(--dialog-height,100dvh);max-height:none;border:0;border-radius:0}
  .session-screen{padding-top:env(safe-area-inset-top);padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right)}
  .keyboard-open .exercise-screen>.exercise-rest,.keyboard-open .exercise-screen>.exercise-footer{display:none}
  .exercise-footer{padding-bottom:calc(12px + env(safe-area-inset-bottom))}
  .workout-screen>.modal-header{padding:16px 20px}
  .workout-screen>.modal-header h2{font-size:20px}
  .session-topbar{padding:6px 16px}.session-scroll{padding-left:20px;padding-right:20px}
  .exercise-title{padding-top:18px}.exercise-title h2{font-size:21px}
  .session-exercise-option{min-height:72px;padding:12px 0}
}
@media(max-width:360px){.session-scroll{padding-left:16px;padding-right:16px}.exercise-rest{padding-left:16px;padding-right:16px}.exercise-footer{padding-left:16px;padding-right:16px}.exercise-title h2{font-size:20px}.rest-display>div{gap:9px}#rest-time{font-size:27px}.session-topbar{gap:6px}.set-content{padding:12px}.exercise-option-copy strong{font-size:14px}}

.exercise-rest:has(+.exercise-footer[hidden]){padding-bottom:calc(12px + env(safe-area-inset-bottom))}

/* Local diagrams stay small during a workout; full media opens separately. */
.exercise-thumbnail{position:relative;display:inline-flex;align-items:center;justify-content:center;width:56px;height:48px;flex-shrink:0;background:#fff;border:1px solid var(--line);border-radius:6px;overflow:hidden}
.exercise-thumbnail>img{display:block;width:100%;height:100%;object-fit:contain}
.thumbnail-status{position:absolute;right:1px;bottom:1px;display:grid;place-items:center;width:20px;height:20px;background:var(--success);color:white;border-radius:50%;border:2px solid white}
.thumbnail-status svg{width:12px;height:12px}
.session-exercise-option{grid-template-columns:56px minmax(0,1fr) 18px}
.exercise-media-preview{display:flex;align-items:center;gap:12px;width:100%;min-height:60px;padding:6px 0;margin-top:12px;border:0;background:none;text-align:left;color:var(--accent);font-size:14px}
.exercise-media-preview>span:not(.exercise-thumbnail){flex:1;min-width:0}
.exercise-media-preview>svg{width:17px;height:17px;color:var(--muted)}
.exercise-card>.exercise-thumbnail{margin-bottom:12px}
.media-heading{padding:18px 20px 16px;flex-shrink:0}.media-heading h2{font-size:21px;line-height:1.35;overflow-wrap:anywhere}
.media-tabs{display:grid;grid-template-columns:1fr 1fr;margin:0 20px 18px;flex-shrink:0;border-bottom:1px solid var(--line)}
.media-tabs>button{min-height:46px;background:none;border:0;border-bottom:2px solid transparent;font-size:14px;color:var(--muted)}
.media-tabs>button[aria-selected="true"]{border-bottom-color:var(--accent);color:var(--accent)}
.media-scroll{padding-bottom:calc(24px + env(safe-area-inset-bottom))}
.media-figure{margin:0}.media-figure+.media-figure{margin-top:24px}
.media-figure>a{display:block;border:1px solid var(--line);border-radius:9px;background:white;overflow:hidden}
.media-original{display:block;width:100%;height:auto;max-height:calc(var(--dialog-height,100dvh) - 285px);min-height:120px;object-fit:contain}
.media-figure figcaption{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:8px;font-size:12px;color:var(--muted)}
.media-figure figcaption a{min-height:44px}
.media-player{width:100%;aspect-ratio:16/9;border:1px solid var(--line);border-radius:9px;overflow:hidden;background:#10141c}
.media-player>iframe{width:100%;height:100%;display:block;border:0}
.video-start{position:relative;display:grid;place-items:center;width:100%;height:100%;padding:0;border:0;background:white;overflow:hidden}
.video-start>img{display:block;width:100%;height:100%;object-fit:contain;opacity:.65}
.video-start-label{position:absolute;display:flex;align-items:center;gap:9px;padding:12px 16px;min-height:48px;border-radius:8px;background:var(--accent);color:white;font-size:14px}
.video-start-label svg{width:20px;height:20px}
.video-description{margin:18px 0}.video-description h3{font-size:15px;line-height:1.5;font-weight:500;letter-spacing:0;overflow-wrap:anywhere}
.video-description p{margin-top:8px;font-size:12px;color:var(--muted);line-height:1.6}
.video-external{min-height:48px;font-size:14px;white-space:normal;text-align:center}
@media(max-width:360px){.session-exercise-option{grid-template-columns:48px minmax(0,1fr) 16px;gap:10px}.session-exercise-option .exercise-thumbnail{width:48px;height:44px}.exercise-media-preview{gap:10px;font-size:13px}.media-heading{padding-left:16px;padding-right:16px}.media-heading h2{font-size:20px}.media-tabs{margin-left:16px;margin-right:16px}.media-figure figcaption{font-size:11px}.media-original{min-height:100px}}

/* Each set owns its recording; the button remains available on a closed set. */
.set-row{position:relative}.set-row>.set-card>summary{padding-right:78px}
.set-video-button{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;flex-shrink:0;width:52px;min-width:52px;height:44px;padding:3px;border:0;border-radius:6px;background:none;color:var(--muted);font-size:10px;line-height:1.1}
.set-row>.set-video-button{position:absolute;top:9px;right:11px;z-index:1}
.set-video-button>svg{width:19px;height:19px}.set-video-button.attached{color:var(--accent);background:var(--tint)}
.set-video-button>i{position:absolute;top:2px;right:5px;width:13px;height:13px;display:grid;place-items:center;border-radius:50%;background:var(--accent);color:white;border:1px solid white}
.set-video-button>i svg{width:10px;height:10px}
@media(hover:hover){.set-video-button:hover{background:var(--surface);color:var(--accent)}}
.set-video-subtitle{font-size:14px;line-height:1.5;color:var(--muted);margin-top:8px}
.set-video-body{padding-bottom:calc(24px + env(safe-area-inset-bottom))}
.set-video-player{display:block;width:100%;height:auto;max-height:calc(var(--dialog-height,100dvh) * .48);min-height:160px;border-radius:9px;background:#10141c;object-fit:contain}
.set-video-name{font-size:12px;line-height:1.5;color:var(--muted);overflow-wrap:anywhere;margin:10px 0 18px}
.set-video-choices{display:grid;gap:10px}.set-video-choices .button{min-height:48px;font-size:14px}
.set-video-tools{display:flex;justify-content:space-between;gap:12px;margin-top:12px}.set-video-tools .text-button{min-height:44px;font-size:13px}
.set-video-storage,.set-video-status,.set-video-playback-error{font-size:12px;line-height:1.6;overflow-wrap:anywhere;margin-top:18px;color:var(--muted)}
.set-video-status:empty{display:none}.set-video-status.error,.set-video-playback-error{color:var(--danger)}
.set-video-playback-error{margin-bottom:16px}.set-video-body[aria-busy="true"]{cursor:progress}
.history-set-row{display:flex;align-items:center;gap:12px;border-bottom:1px solid var(--line);padding:6px 0}
.history-set-row:last-child{border-bottom:0}.history-set-row>p{flex:1;min-width:0;margin:0;overflow-wrap:anywhere}
.entry-screen .entry-date{margin:0 0 12px;font-size:12px;color:var(--muted)}
.session-details .entry-time-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.entry-time-fields input{min-width:0;max-width:100%}

/* Previous results stay with their set, outside the editable fields. */
.exercise-previous-date{display:flex;flex-wrap:wrap;gap:0 4px;margin:0 0 10px;font-size:12px;line-height:1.5;color:var(--muted)}
.exercise-previous-date time{white-space:nowrap}
.set-previous{display:flex;flex-wrap:wrap;gap:0 4px;margin-top:5px;font-size:12px;line-height:1.5;color:var(--muted);font-variant-numeric:tabular-nums}
.set-previous-part{white-space:nowrap}
.set-card.done .set-summary-result{color:var(--ink);font-weight:500}
.set-card>summary{-webkit-tap-highlight-color:transparent}

.set-type-control{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;padding:3px;border-radius:8px;background:var(--surface);margin-bottom:14px}
.set-type-choice{min-height:44px;padding:8px;border:1px solid transparent;border-radius:6px;background:none;color:var(--muted);font-size:13px}
.set-type-choice[aria-pressed="true"]{background:var(--paper);border-color:var(--line);color:var(--ink);font-weight:500}
.set-part-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:32px;margin-bottom:8px}
.set-part-heading .set-part-label{margin:0;font-weight:500}
.session-screen .set-part-remove{width:44px;height:44px;min-width:44px;border:0;background:none;color:var(--muted);margin:-6px -6px -6px 0}
.set-part-remove svg{width:17px;height:17px}
.set-part-add{width:100%;justify-content:flex-start;margin-top:12px;font-size:13px}
.set-part-add:disabled{color:var(--muted);opacity:.7;cursor:default}

/* Only the grip captures a drag; the exercise body keeps normal touch scrolling. */
.session-exercise-row{position:relative;overflow:hidden;border-bottom:1px solid var(--line);background:var(--paper)}
.exercise-swipe-content{position:relative;display:grid;grid-template-columns:minmax(0,1fr) 44px;align-items:center;gap:8px;background:var(--paper);transform:translateX(var(--swipe-offset,0px));transition:transform .18s ease;touch-action:pan-y pinch-zoom}
.exercise-swipe-content>.session-exercise-option{grid-template-columns:56px minmax(0,1fr);min-width:0;border-bottom:0;touch-action:pan-y pinch-zoom}
.exercise-reorder-handle{display:grid;place-items:center;width:44px;height:48px;padding:0;border:0;border-radius:6px;background:none;color:var(--muted);cursor:grab;touch-action:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent}
.exercise-reorder-handle svg{width:20px;height:24px;fill:none;stroke:currentColor;stroke-linecap:round;pointer-events:none}
.exercise-reorder-handle:disabled{opacity:.25;cursor:default}
.session-exercise-row.is-dragging{background:var(--surface);border-radius:6px;outline:1px dashed var(--line);outline-offset:-1px}
.session-exercise-row.is-dragging>*{opacity:.18}
.session-exercise-list.is-reordering{user-select:none;-webkit-user-select:none;cursor:grabbing}
.exercise-drag-preview{position:fixed;z-index:10;pointer-events:none;box-sizing:border-box;border:1px solid var(--line);border-radius:8px;box-shadow:0 8px 24px #17213b20;opacity:.97;overflow:hidden}
.exercise-drag-preview .exercise-reorder-handle{color:var(--ink);cursor:grabbing}
.reorder-sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.reorder-menu{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.exercise-weight-control{display:grid;grid-template-columns:minmax(0,1fr) 100px;align-items:center;gap:12px;margin:0 0 20px}
.exercise-weight-control label{display:grid;gap:4px;min-width:0}
.exercise-weight-control strong{font-size:14px;font-weight:500}
.exercise-weight-control label>span{font-size:12px;line-height:1.5;color:var(--muted)}
.exercise-weight-control input{height:48px;font-size:18px;text-align:center;font-variant-numeric:tabular-nums}
.exercise-weight-control input[aria-invalid="true"]{border-color:var(--danger)}
@media(max-width:360px){.exercise-swipe-content>.session-exercise-option{grid-template-columns:48px minmax(0,1fr)}}
.exercise-swipe-action{position:absolute;inset:0 0 0 auto;display:grid;place-items:center;width:100px;min-height:44px;padding:8px;border:0;background:#f8e9e7;color:#92524e;font-size:13px;font-weight:500;visibility:hidden}
.exercise-swipe-action:disabled{opacity:1}
.is-swiping>.exercise-swipe-action,.is-swipe-open>.exercise-swipe-action{visibility:visible}
.is-swiping>.exercise-swipe-content{transition:none;user-select:none;-webkit-user-select:none}
.session-exercise-row.is-skipped>.exercise-swipe-content{background:#fdf3f2}
.session-exercise-row.is-skipped .session-exercise-option{background:transparent}
.session-exercise-option:focus-visible{outline-offset:-3px}
.session-exercise-list[tabindex="-1"]:focus,.exercise-title[tabindex="-1"]:focus{outline:none}
.session-exercise-row.is-skipped .exercise-option-copy small{color:#925c57}
.session-exercise-row.is-skipped>.exercise-swipe-action{background:var(--surface);color:var(--ink)}
.exercise-progress-line{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:6px}
.exercise-title .exercise-progress-line>.exercise-progress{margin:0;flex:1}
.exercise-progress-line .exercise-skip-control{min-height:44px;padding:6px 0;font-size:12px;color:var(--muted);flex-shrink:0}
.exercise-screen.is-skipped .exercise-progress-line{padding:0 12px;border-radius:6px;background:#fdf3f2}
.exercise-screen.is-skipped .exercise-progress-line>.exercise-progress{color:#925c57}
.exercise-screen.is-skipped .exercise-skip-control{color:var(--ink)}
.history-details>li.history-exercise-skipped{padding:14px 12px;background:#fdf3f2;border-color:#f0e1de;border-radius:6px}
.history-exercise-skipped .history-skip-label{display:block;font-size:12px;color:#925c57;font-weight:400;line-height:1.5;margin-top:4px}
.history-set-row.skipped-unrecorded:not(:has(.set-video-button.attached)){display:none}
@media(prefers-reduced-motion:reduce){.exercise-swipe-content{transition:none}}
#account-sync-status { position: fixed; top: 70px; right: 20px; z-index: 15; font-size: 11px; color: #6a7380; pointer-events: none; }
@media (max-width: 650px) { #account-sync-status { top: 68px; right: 20px; } }
.today-record{display:flex;align-items:center;gap:14px;border-bottom:1px solid var(--line)}
.today-record>.today-entry{flex:1;min-width:0;border-bottom:0}
.today-edit{flex:none;min-height:44px;font-size:13px;padding:8px 0}
@media(max-width:360px){.today-record{gap:10px}.today-edit{font-size:12px}}
