:root{--paper:#f7f8fa;--ink:#17202e;--muted:#6e7887;--purple:#2387ed;--light:#eaf3ff;--line:#e4e8ed;--white:#fff;--green:#19a463;--card:#fff;--input:#f1f3f5;--nav:#fff;color-scheme:light}
html[data-theme=dark]{--paper:#111417;--ink:#f3f5f7;--muted:#9aabbc;--purple:#55a6ff;--light:#1b2c40;--line:#2c333d;--white:#1a1f25;--green:#42ce8b;--card:#1a1f25;--input:#252c34;--nav:#1a1f25;color-scheme:dark}
body,button,input,select,textarea{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}body{font-size:14px}h1,h2,h3,.brand b,.letter,.stat b{font-family:inherit}h1{font-size:31px;letter-spacing:-.9px;font-weight:750}h2{font-size:20px;letter-spacing:-.45px}.app{max-width:1024px;padding:0 30px}header{height:82px;border-bottom:1px solid var(--line)}.brandmark{width:34px;height:34px;border-radius:9px;background:var(--purple)}.brandmark svg{width:25px}.brand b{font-size:25px;letter-spacing:-1px}.brand small{font-size:8px;letter-spacing:1.7px;color:var(--muted);margin-top:3px}.brand{gap:10px}.header-right{display:flex;gap:18px;align-items:center}.local-label{font-size:10px;color:var(--muted);display:flex;gap:5px;align-items:center}.local-label i{background:var(--green);width:5px;height:5px;border-radius:50%}.avatar{width:34px;height:34px;border-color:var(--line);background:var(--light);color:var(--purple);font-size:11px}main{padding:30px 0 125px}.intro{margin-bottom:23px;align-items:center}.eyebrow{color:var(--muted);letter-spacing:1.2px;font-size:9px;margin-bottom:7px;font-weight:650}.sub{font-size:13px;line-height:1.6}.quick-start{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:24px;margin-bottom:12px;position:relative;overflow:hidden}.quick-start:after{content:'+';position:absolute;font-size:150px;line-height:1;font-weight:200;right:25px;top:10px;color:var(--light);pointer-events:none}.quick-label{font-size:11px;color:var(--purple);font-weight:650;margin-bottom:13px}.quick-start h2{font-size:28px;letter-spacing:-.8px;line-height:1.16;position:relative;z-index:1}.quick-start p{font-size:12px;color:var(--muted);margin:12px 0 22px}.quick-start>.btn{position:relative;z-index:1}.btn{border-radius:8px;min-height:44px;padding:12px 16px;font-size:13px;letter-spacing:0;font-weight:650}.btn.secondary{background:var(--light);color:var(--purple)}.btn.outline{border-color:var(--line);color:var(--ink)}.btn:focus-visible,.icon-btn:focus-visible,.text-btn:focus-visible,.exercise-link:focus-visible{outline:2px solid var(--purple)}.btn:hover{filter:brightness(.97)}.quick-actions{display:flex;gap:10px;margin:12px 0 30px}.quick-actions>*{flex:1}.quick-actions .btn{font-size:12px}.section-head{margin:25px 0 18px}.section-head h2{font-size:20px}.count{font-size:11px;color:var(--muted);background:var(--input);display:inline-flex;min-width:23px;height:23px;align-items:center;justify-content:center;border-radius:7px;vertical-align:middle;margin-left:5px;font-weight:500}.text-btn{font-size:12px;font-weight:650;min-height:38px}.routine-folder{display:flex;gap:8px;align-items:center;color:var(--ink);font-size:12px;font-weight:600;margin:0 0 12px}.routine-folder>svg{width:16px;height:16px;color:var(--muted)}.routine-folder>span{margin-left:auto;color:var(--muted);font-size:10px;font-weight:400}.workouts{display:grid;grid-template-columns:1fr 1fr;gap:16px}.routine-card{background:var(--card);border:1px solid var(--line);border-radius:13px;padding:17px 18px 16px;min-width:0}.routine-card-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:0}.routine-name{font-size:17px;font-weight:700;color:var(--ink);background:none;border:0;text-align:left;padding:0;letter-spacing:-.3px;min-height:40px}.routine-card-top>.icon-btn{min-height:30px;min-width:30px}.ellipsis{font-size:24px;font-weight:700;line-height:1;transform:translateY(-4px)}.routine-subtitle{font-size:11px;color:var(--muted);margin-bottom:18px}.routine-exercises{display:grid;gap:12px}.routine-exercise{display:flex;gap:8px;align-items:center;min-width:0}.routine-exercise>span:nth-child(2){font-size:11px;line-height:1.45;flex:1;min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.routine-exercise>small{font-size:10px;font-weight:550;color:var(--muted);white-space:nowrap}.muscle-icon{display:inline-flex;align-items:center;justify-content:center;background:var(--input);border-radius:6px;width:27px;height:29px;flex-shrink:0;color:var(--purple)}.muscle-icon svg{height:25px;width:24px}.muscle-icon.large{width:43px;height:43px;border-radius:8px}.muscle-icon.large svg{width:34px;height:34px}.routine-bottom{display:flex;align-items:center;justify-content:space-between;margin:11px 0 6px}.routine-bottom>span{font-size:10px;color:var(--muted)}.routine-bottom i{font-style:normal;margin:0 3px}.routine-bottom .text-btn{font-size:10px;font-weight:500}.routine-bottom svg{width:12px}.routine-card>.btn{min-height:37px;padding:8px;font-size:12px}.weekly-summary{display:flex;align-items:center;gap:12px;border:1px solid var(--line);border-radius:12px;padding:18px;margin-top:24px;background:var(--card)}.summary-icon{color:var(--purple);width:37px;height:37px;border-radius:50%;background:var(--light);display:grid;place-items:center;flex-shrink:0}.summary-icon svg{width:19px}.weekly-summary>div{flex:1}.weekly-summary b{font-size:12px}.weekly-summary p{font-size:10px;color:var(--muted);margin-top:5px;line-height:1.5}nav{bottom:0;width:100%;max-width:1024px;border:0;border-top:1px solid var(--line);border-radius:0;padding:7px 15px max(10px,env(safe-area-inset-bottom));background:var(--nav);box-shadow:none;gap:8px}nav button{min-height:50px;border-radius:7px;color:var(--muted);font-size:10px;padding:7px;gap:5px}nav button.active{background:none;color:var(--purple)}nav button.active svg{stroke-width:2.4}nav svg{height:22px;width:22px}.back{font-size:12px;color:var(--purple);margin-bottom:14px}.detail-top h1{font-size:28px}.detail-meta{margin-top:17px;gap:6px}.pill{background:var(--input);color:var(--muted);border-radius:5px;font-size:10px}.exercise{background:var(--card);border-radius:12px;border-color:var(--line);padding:18px}.exercise-n{background:var(--light);color:var(--purple)}.exercise-title h3{font-size:14px;font-weight:650}.exercise-title p{font-size:11px;margin-top:4px}.prescription{margin-left:0;margin-top:16px}.prescription span{background:var(--input);color:var(--muted);font-size:11px;border-radius:5px}.action-bar{bottom:80px}.action-bar .btn{font-size:14px}.exercise-link{color:var(--purple);background:none;border:0;font-size:inherit;font-weight:650;text-align:left;padding:0;line-height:1.45;cursor:pointer}.session-title{font-size:24px;letter-spacing:-.6px}.session-toolbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:15px}.finish-button{background:var(--green);color:#fff;min-height:34px;padding:8px 17px;font-size:12px}.session-toolbar .text-btn{font-weight:500;font-size:12px}.live-stats{display:flex;gap:34px;border-bottom:1px solid var(--line);padding:21px 0 20px;margin-bottom:0}.live-stats small{display:block;font-size:11px;color:var(--muted);margin-bottom:7px}.live-stats b{font-size:20px;font-weight:650;letter-spacing:-.3px;font-variant-numeric:tabular-nums}.live-stats b span{font-size:13px;color:var(--muted);font-weight:400}.live-stats>div:first-child b{color:var(--purple)}.rest-bar{background:var(--card);border:1px solid var(--line);border-radius:8px;display:flex;flex-wrap:nowrap;gap:12px;padding:6px 11px;margin:17px 0 24px;min-height:47px}.rest-bar>span{display:flex;align-items:center;gap:5px;color:var(--muted);font-size:10px}.rest-bar>span svg{width:14px;height:14px}.rest-bar .timer{font-size:17px;margin-left:auto;margin-right:auto;font-variant-numeric:tabular-nums}.rest-bar .text-btn{min-height:30px;font-size:10px;white-space:nowrap}.rest-bar .icon-btn{min-width:24px;min-height:30px}.rest-bar .icon-btn svg{width:14px}.session-exercise{padding:0 0 19px;border:0;border-bottom:1px solid var(--line);border-radius:0;margin-bottom:22px;background:none}.session-exercise.complete{border-color:var(--line)}.session-exercise .exercise-heading{gap:11px}.session-exercise .exercise-title h3{font-size:14px}.session-exercise .sets{margin-top:13px}.rest-setting{display:flex;align-items:center;gap:5px;border:0;background:none;padding:0;min-height:36px;color:var(--purple);font-size:11px;margin:5px 0 0}.rest-setting svg{width:14px;height:14px}.set-row,.set-head{grid-template-columns:33px minmax(55px,1.3fr) minmax(52px,1fr) minmax(52px,1fr) 36px;gap:8px}.set-head{font-size:9px;letter-spacing:.3px;margin-bottom:10px;color:var(--muted);font-weight:650}.set-head>span:last-child svg{width:16px;height:16px}.set-row{border-radius:6px;margin:0 0 5px;padding:4px 0}.set-row>span{color:var(--ink);font-weight:600;font-size:12px}.set-row input{font-size:16px;border:0;border-radius:5px;background:var(--input);color:var(--ink);padding:8px 3px;min-height:35px;appearance:textfield;-moz-appearance:textfield}.set-row input::-webkit-inner-spin-button{appearance:none}.previous-set{font-size:10px;color:var(--muted);border:0;background:none;padding:5px 0;min-height:35px;font-variant-numeric:tabular-nums}.check{width:34px;height:33px;border:0;background:var(--input);color:var(--muted);border-radius:6px}.check svg{width:18px}.check.done{background:var(--green);color:#fff;border:0}.checked-row{background:color-mix(in srgb,var(--green) 9%,transparent)}.checked-row input{background:transparent}.set-actions{display:flex;gap:5px;margin-top:13px}.set-actions .btn{flex:1;font-size:11px;min-height:33px;padding:7px}.set-actions .btn svg{width:14px}.set-actions .icon-btn{min-height:33px;min-width:33px;color:var(--muted)}.set-actions .icon-btn svg{width:16px}.discard{color:#db5c60;display:block;margin:18px auto 0;text-align:center}.session-dock{position:fixed;bottom:82px;left:50%;transform:translateX(-50%);z-index:9;max-width:500px;width:calc(100% - 30px);display:flex;align-items:center;gap:12px;background:var(--card);border:1px solid var(--purple);box-shadow:0 2px 18px #00000010;padding:11px 16px;border-radius:10px;color:var(--purple);text-align:left}.session-dock>span{flex:1}.session-dock b{display:block;font-size:12px}.session-dock small{display:block;font-size:10px;margin-top:4px;color:var(--muted)}.session-dock>svg{width:17px}.settings-card,.history-card{background:var(--card);border-radius:12px}.settings-card h3{font-size:15px}.settings-card p{font-size:12px}.history-card h3{font-size:17px}.history-card p{font-size:12px}.day{background:var(--input)}.day.finished{background:var(--light);color:var(--purple)}.search{border-radius:9px;background:var(--input);border-color:transparent;padding:0 12px}.search input{padding:12px 0;color:var(--ink)}.filters button{border-color:var(--line);color:var(--muted);font-size:11px}.filters button.active{color:white}.library-item{padding:16px 0;gap:12px}.library-item h3{font-size:13px}.library-item p{font-size:11px}dialog{background:var(--card);border-color:var(--line);border-radius:15px;padding:22px}dialog::backdrop{background:#101b2a80;backdrop-filter:blur(3px)}label.field input,label.field select,label.field textarea{background:var(--input);border-color:var(--line);color:var(--ink);border-radius:8px}.empty{background:var(--card);border-color:var(--line);border-radius:10px}.edit-row{background:var(--card);border-color:var(--line);border-radius:9px}.option-list{display:grid;gap:10px}.progress-summary{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:8px 0 22px}.progress-summary small{font-size:10px;color:var(--muted);display:block;line-height:1.5}.progress-summary b{font-size:27px;display:block;margin-top:7px}.progress-summary b span{font-size:14px;color:var(--muted);font-weight:400}.progress-heading{font-size:13px;margin:5px 0 25px}.weight-chart{display:flex;gap:12px;align-items:flex-end;overflow-x:auto;min-height:160px;border-bottom:1px solid var(--line);padding:0 0 12px}.chart-column{min-width:40px;flex:1;display:flex;flex-direction:column;align-items:center;gap:8px}.chart-column small{font-size:10px;color:var(--purple);font-weight:600}.chart-column>div{background:var(--purple);width:100%;max-width:36px;min-width:15px;border-radius:5px 5px 0 0}.chart-column>span{font-size:8px;color:var(--muted)}.progress-history{margin-top:18px}.progress-history>div{display:flex;flex-direction:column;gap:6px;padding:11px 0;border-bottom:1px solid var(--line);font-size:11px}.progress-history span{color:var(--muted);line-height:1.6}#toast{background:var(--ink);color:var(--paper);bottom:100px;border-radius:9px}.success-icon{background:var(--light);color:var(--purple)}
@media(min-width:800px){.quick-start{padding:30px 34px}.quick-start h2{font-size:34px}.quick-start .btn{max-width:360px}.quick-start:after{right:85px;top:-10px;font-size:245px}.quick-actions{max-width:480px}.exercise-list,.session-toolbar,.session-title,.live-stats,.rest-bar{max-width:720px;margin-left:auto;margin-right:auto}body[data-page=session] main>.btn.full{display:flex;max-width:720px;margin:auto}.routine-card{padding:20px 22px}.routine-exercise>span:nth-child(2){font-size:12px}nav{max-width:570px;border:1px solid var(--line);border-bottom:0;border-radius:15px 15px 0 0}.local-label{font-size:11px}}
@media(max-width:600px){.app{padding:0 18px}header{height:74px}.brand b{font-size:22px}.brand small{font-size:7px}.brandmark{height:32px;width:32px}.header-right{gap:11px}.local-label{font-size:8px}.local-label i{width:4px;height:4px}main{padding-top:25px}h1{font-size:29px}.intro{margin-bottom:21px}.quick-start{padding:21px}.quick-start h2{font-size:25px}.quick-start p{font-size:11px}.quick-start:after{right:14px;top:9px}.quick-start .btn{font-size:12px}.quick-actions{margin-bottom:28px}.quick-actions .btn{font-size:12px;gap:7px}.quick-actions svg{width:17px}.workouts{grid-template-columns:1fr;gap:14px}.routine-card{padding:14px 16px}.section-head h2{font-size:19px}.routine-exercise>span:nth-child(2){font-size:11px}.routine-name{font-size:17px}.routine-subtitle{font-size:11px}.weekly-summary{padding:15px 12px}.weekly-summary b{font-size:11px}.weekly-summary p{font-size:9px}.live-stats{gap:29px}.session-title{font-size:24px}.session-exercise .exercise-title h3{font-size:13px}.set-row,.set-head{gap:7px;grid-template-columns:28px minmax(52px,1.35fr) minmax(49px,1fr) minmax(49px,1fr) 34px}.rest-bar{gap:11px}.session-dock{bottom:82px}nav{padding-left:10px;padding-right:10px}.detail-top .btn{font-size:12px}.exercise{padding:16px}.session-exercise{padding:0 0 20px}.set-actions .btn{font-size:11px}}
.quick-start{padding:0;background:transparent;border:0;border-radius:0;margin-bottom:12px;overflow:visible}.quick-start:after{display:none}.quick-label{font-size:13px;color:var(--ink);font-weight:650;margin-bottom:12px}.quick-start .btn{max-width:none}.quick-actions{max-width:none}.intro{margin-bottom:28px}
.history-overview{display:flex;flex-wrap:wrap;gap:5px 24px;margin:12px 0 6px}.history-overview p{margin:0;font-size:12px;line-height:1.7}.history-overview b{font-weight:600;color:var(--ink)}.history-details summary{min-height:40px;padding:11px 0;font-size:12px;font-weight:600}.history-details .history-explanation{font-size:11px;color:var(--muted);line-height:1.7;margin:0 0 16px;padding:10px 12px;background:var(--input);border-radius:7px}.history-exercise{margin:0 0 20px;padding-top:15px;border-top:1px solid var(--line)}.history-exercise:last-child{margin-bottom:0}.history-exercise h4{font-size:13px;line-height:1.5;margin:0 0 12px;font-weight:650}.history-set-table{width:100%;border-collapse:collapse;text-align:left;table-layout:fixed}.history-set-table th,.history-set-table td{padding:9px 4px;font-size:12px;border-bottom:1px solid var(--line);vertical-align:middle;overflow-wrap:break-word}.history-set-table thead th{font-size:10px;color:var(--muted);font-weight:500}.history-set-table th:first-child{width:13%;padding-left:0}.history-set-table th:nth-child(2){width:25%}.history-set-table th:nth-child(3){width:27%}.history-set-table th:last-child{width:35%}.history-set-table tbody th{font-weight:600}.history-set-table tr:last-child td,.history-set-table tr:last-child th{border-bottom:0}.history-status{display:inline-block;padding:5px 7px;border-radius:5px;white-space:nowrap;font-size:10px}.history-status.finished{background:color-mix(in srgb,var(--green) 12%,var(--card));color:var(--green)}.history-status.pending{background:var(--input);color:var(--muted)}.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(max-width:400px){.history-card{padding:16px}.history-set-table th,.history-set-table td{font-size:11px;padding:8px 2px}.history-set-table thead th{font-size:9px}.history-status{font-size:9px;padding:5px}.history-overview{display:block}.history-overview p+p{margin-top:4px}}
.video-button{display:inline-flex;align-items:center;gap:5px;padding:7px 0;margin:8px 0 2px;min-height:33px;border:0;background:transparent;color:var(--purple);font-size:11px;font-weight:600}.video-button svg{width:14px;height:14px}.library-item .video-button{margin:3px 0 0;min-height:28px;font-size:10px}.session-exercise .video-button{margin:8px 0 0}.video-player{aspect-ratio:16/9;background:#121a26;border-radius:10px;overflow:hidden;margin:14px 0 18px;display:grid;place-items:center}.video-player iframe{border:0;width:100%;height:100%}.video-play{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;background:none;border:0;color:white;width:100%;height:100%;min-height:150px;font-size:12px}.video-play svg{background:#f13e3e;padding:11px;width:51px;height:43px;border-radius:12px;fill:white;stroke-width:1px}.finish-summary{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:8px 0 16px}.finish-summary small{font-size:11px;color:var(--muted)}.finish-summary b{display:block;font-size:25px;margin-top:8px;font-variant-numeric:tabular-nums}.rest-dock{position:fixed;bottom:max(84px,calc(env(safe-area-inset-bottom) + 75px));left:50%;transform:translateX(-50%);width:calc(100% - 28px);max-width:490px;background:var(--card);border:1px solid var(--purple);box-shadow:0 4px 25px #15283e20;border-radius:13px;padding:13px 16px 12px;z-index:12}.rest-dock[hidden]{display:none!important}.rest-dock-top{display:flex;align-items:center;gap:11px}.rest-dock-top>span{display:flex;align-items:center;gap:6px;color:var(--purple);font-size:12px;font-weight:600}.rest-dock-top>span svg{width:16px;height:16px}.rest-dock-top>strong{font-size:27px;font-variant-numeric:tabular-nums;letter-spacing:-.7px;margin-left:auto;color:var(--purple)}.rest-dock-top .text-btn{font-size:10px}.rest-dock-top .icon-btn{min-height:28px;min-width:25px}.rest-dock-top .icon-btn svg{width:15px}.rest-dock p{font-size:10px;color:var(--muted);margin:7px 0 10px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.rest-meter{height:3px;background:var(--input);border-radius:4px;overflow:hidden}.rest-meter>div{background:var(--purple);height:100%;transition:width .25s linear}.rest-dock:not([hidden])~*{scroll-margin-bottom:210px}body:not([data-page=session]) .rest-dock{bottom:151px}body:has(.rest-dock:not([hidden])) main{padding-bottom:230px}
