:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#17202a;background:#f5f7f8;font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}body{margin:0}.app{max-width:1200px;margin:auto;padding:24px}header{display:flex;justify-content:space-between;gap:24px;align-items:flex-end;padding:10px 0 22px}.eyebrow{font-size:12px;font-weight:800;letter-spacing:.14em;opacity:.6}h1{font-size:38px;line-height:1.05;margin:7px 0}h2{margin:0 0 16px}h3{margin:5px 0 8px}p{line-height:1.55;margin:7px 0}.muted{opacity:.68}.weekBox{min-width:190px;background:#fff;border:1px solid #dfe4e7;border-radius:16px;padding:14px 16px;box-shadow:0 5px 18px #00000008}.weekBox span,.weekBox strong{display:block}.weekBox strong{font-size:25px;margin:2px 0 7px}.weekBox input{width:100%}nav{display:flex;gap:8px;border-bottom:1px solid #dfe4e7;margin-bottom:22px}nav button{border:0;background:transparent;padding:12px 16px;cursor:pointer;font-weight:800;color:#53606b;border-bottom:3px solid transparent;display:flex;align-items:center;justify-content:center;gap:7px;font-size:14px}nav button span{font-size:18px}nav button.active{color:#111;border-bottom-color:#111}.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:18px}.stat,.panel,.routineCard,.phase{background:#fff;border:1px solid #dfe4e7;border-radius:16px;box-shadow:0 5px 18px #00000006}.stat{padding:18px;position:relative}.statIcon{font-size:24px!important;opacity:1!important;margin-bottom:4px}.stat span,.stat small{display:block;opacity:.65}.stat strong{display:block;font-size:28px;margin:5px 0}.panel{padding:22px;margin-bottom:18px}.scheduleRow{display:grid;grid-template-columns:130px 1fr;padding:13px 0;border-bottom:1px solid #edf0f2}.scheduleRow:last-child{border-bottom:0}.phaseGrid,.routineGrid,.guideGrid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.phase{padding:17px}.phase p{font-size:14px}.bigStart{width:100%;border:0;border-radius:14px;padding:18px 20px;background:#111;color:#fff;font:inherit;font-weight:800;font-size:18px;display:flex;justify-content:space-between;align-items:center;cursor:pointer;min-height:60px}.routineCard{padding:18px}.dayTitle{display:flex;gap:12px;align-items:center;margin-bottom:6px}.dayIcon{font-size:30px}.routineCard>p{opacity:.65;font-size:14px}.exercise{width:100%;border:0;background:transparent;text-align:left;padding:12px 0;border-top:1px solid #edf0f2;display:grid;grid-template-columns:76px 1fr 20px;gap:12px;align-items:center;cursor:pointer;color:inherit}.exerciseThumb{height:62px;border-radius:12px;overflow:hidden;color:#111}.exerciseSvg{width:100%;height:100%;display:block}.exerciseInfo{min-width:0}.exerciseTop{display:flex;justify-content:space-between;gap:12px}.exerciseTop span{white-space:nowrap;font-weight:800;opacity:.7}.exercise small,.exercise em{display:block;margin-top:5px;line-height:1.4}.exercise small{font-size:12px;opacity:.7}.chevron{font-size:30px;opacity:.35}.workoutHeader{display:flex;justify-content:space-between;align-items:center;gap:15px}.workoutHeader h2{margin:4px 0}.completion{min-width:80px;text-align:center;border:1px solid #dfe4e7;border-radius:14px;padding:10px}.completion strong,.completion span{display:block}.completion strong{font-size:24px}.completion span{font-size:11px;opacity:.6}.dayPicker{display:flex;gap:8px;overflow:auto;margin:16px 0 10px}.dayPicker button{flex:1;white-space:nowrap;min-height:48px;border:1px solid #d6dde1;background:#fff;border-radius:12px;font:inherit;font-weight:800;cursor:pointer}.dayPicker button.active{background:#111;color:#fff;border-color:#111}.workoutProgress{height:7px;background:#edf0f2;border-radius:9px;overflow:hidden;margin:8px 0 20px}.workoutProgress div{height:100%;background:#111;border-radius:9px;transition:width .25s}.workoutExercise{border:1px solid #dfe4e7;border-radius:18px;margin:16px 0;padding:16px;background:#fbfcfc}.workoutExercise.completed{border-color:#a9c9b1;background:#f8fcf9}.exerciseHero{display:grid;grid-template-columns:180px 1fr;gap:18px;align-items:center}.heroArt{height:130px;border-radius:16px;overflow:hidden;color:#111}.heroText h3{font-size:23px;margin:3px 0}.exerciseNumber{font-size:10px;font-weight:900;letter-spacing:.14em;opacity:.5}.target{font-weight:800;margin:7px 0}.caution{background:#fff4df;border-radius:9px;padding:8px 10px;font-size:12px;margin-top:8px}.setHeader{display:flex;justify-content:space-between;align-items:center;margin:16px 0 7px}.setHeader span{font-size:12px;opacity:.6}.sets{display:flex;flex-direction:column;gap:8px}.setRow{display:grid;grid-template-columns:36px 1fr 1fr 125px;gap:9px;align-items:end;background:#fff;border:1px solid #e0e5e8;border-radius:12px;padding:9px}.setRow.setDone{border-color:#9bc3a4}.setBadge{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:#edf0f2;font-weight:900;margin-bottom:3px}.setRow label{font-size:11px;font-weight:800;opacity:.65}.setRow input{display:block;width:100%;height:44px;margin-top:3px;border:1px solid #cfd6da;border-radius:9px;padding:8px;font:inherit;font-size:16px}.doneButton{height:44px;border:1px solid #111;border-radius:9px;background:#111;color:#fff;font:inherit;font-weight:800;cursor:pointer}.setDone .doneButton{background:#e6f3e9;color:#165b27;border-color:#a9c9b1}.lastWorkout{font-size:12px;opacity:.68;margin-top:10px;padding:9px 10px;background:#f1f4f5;border-radius:9px;overflow:auto}.formGrid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.formGrid label{font-size:13px;font-weight:700}.formGrid input{display:block;width:100%;margin-top:6px;padding:11px;border:1px solid #cfd6da;border-radius:9px;font:inherit}.actions{display:flex;gap:9px;margin-top:16px}.actions button{padding:11px 15px;border-radius:9px;border:1px solid #cfd6da;background:#fff;font-weight:700;cursor:pointer}.actions .primary,.primary{background:#111;color:#fff;border-color:#111}.chart{height:370px;margin-top:12px}.empty{padding:40px;text-align:center;background:#f7f8f9;border-radius:12px;color:#68747e}.tableWrap{overflow:auto}table{width:100%;border-collapse:collapse;font-size:14px}th,td{text-align:left;padding:11px;border-bottom:1px solid #edf0f2;white-space:nowrap}.link{border:0;background:none;text-decoration:underline;cursor:pointer}.guideGrid>div{padding:15px;background:#f7f8f9;border-radius:12px}.rules{line-height:1.8;padding-left:22px}.modalBackdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0008;z-index:50;display:grid;place-items:center;padding:16px}.modal{position:relative;width:min(560px,100%);max-height:90vh;overflow:auto;background:#fff;border-radius:20px;padding:18px;box-shadow:0 20px 70px #0005}.modalClose{position:absolute;right:14px;top:14px;border:0;background:#fff;font-size:20px;width:40px;height:40px;border-radius:50%;cursor:pointer}.modalArt{height:220px;border-radius:16px;overflow:hidden;color:#111;margin-bottom:16px}.modal h2{font-size:28px}.wide{width:100%;min-height:48px;border-radius:10px;font:inherit;font-weight:800;margin-top:12px}.timerOverlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;z-index:60;display:grid;place-items:center;padding:18px}.timerCard{width:min(420px,100%);background:#fff;border-radius:24px;text-align:center;padding:28px 22px;box-shadow:0 25px 80px #0007}.timerIcon{font-size:42px}.timerCard strong{display:block;font-size:68px;line-height:1;margin:10px 0}.timerButtons{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px}.timerButtons button{min-height:48px;border:1px solid #cfd6da;border-radius:10px;background:#fff;font:inherit;font-weight:800;cursor:pointer}.timerButtons .primary{background:#111;color:#fff}.timerClose{margin-top:14px;border:0;background:transparent;text-decoration:underline;cursor:pointer;font:inherit;opacity:.65}footer{font-size:12px;opacity:.55;padding:8px 0 24px}button,input{touch-action:manipulation}@media(max-width:800px){.app{padding:calc(12px + env(safe-area-inset-top)) max(12px,env(safe-area-inset-right)) calc(24px + env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left))}header{align-items:stretch;flex-direction:column}h1{font-size:31px}.cards{grid-template-columns:repeat(2,1fr)}.phaseGrid,.routineGrid,.guideGrid,.formGrid{grid-template-columns:1fr}.scheduleRow{grid-template-columns:95px 1fr}nav{position:sticky;bottom:0;z-index:40;background:#f5f7f8;padding-bottom:env(safe-area-inset-bottom);border-top:1px solid #dfe4e7;border-bottom:0;margin:18px -12px;overflow-x:auto}nav button{min-height:52px;flex:1;white-space:nowrap}.actions button{min-height:46px}.formGrid input{min-height:46px;font-size:16px}.exercise{padding:14px 0}.exerciseHero{grid-template-columns:120px 1fr;gap:12px}.heroArt{height:105px}.heroText h3{font-size:19px}.setRow{grid-template-columns:32px 1fr 1fr}.doneButton{grid-column:1/-1;height:50px;font-size:16px}.setBadge{width:30px;height:30px}.dayPicker button{min-width:145px}.workoutExercise{padding:13px}.timerCard{padding:24px 15px}.timerCard strong{font-size:60px}.timerButtons{grid-template-columns:1fr 1fr}.timerButtons .primary{grid-column:1/-1}}@media(max-width:480px){.cards{grid-template-columns:1fr 1fr}.stat{padding:14px}.stat strong{font-size:21px}.panel{padding:16px}.exercise{grid-template-columns:64px 1fr 16px}.exerciseThumb{height:58px}.exerciseTop{display:block}.exerciseTop span{display:block;margin-top:3px}.modalArt{height:180px}}
