:root{color-scheme:dark;--bg:#0a0a0b;--panel:#141416;--panel-2:#1a1a1d;--line:#29292d;--white:#f4f4f5;--silver:#c4c4c8;--muted:#85858b;--accent:#e3e3e6;--safe-bottom:env(safe-area-inset-bottom,0px)}
*{box-sizing:border-box}html{background:var(--bg);scroll-behavior:smooth}body{margin:0;min-height:100vh;background:var(--bg);color:var(--white);font-family:-apple-system,BlinkMacSystemFont,"SF Pro Display","SF Pro Text","Segoe UI",sans-serif;-webkit-font-smoothing:antialiased;overscroll-behavior-y:contain}button,input{font:inherit}button{color:inherit;-webkit-tap-highlight-color:transparent}.topbar{height:68px;max-width:760px;margin:auto;padding:0 22px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #1d1d20}.brand{font-size:20px;font-weight:750;letter-spacing:-.8px;text-decoration:none;color:var(--white)}.brand span{color:#88888e;font-weight:550}.identity{display:flex;align-items:center;gap:9px;color:#c8c8cc;font-size:13px;font-weight:550}.avatar{width:34px;height:34px;border:1px solid #424247;background:#222225;border-radius:50%;display:grid;place-items:center;position:relative;overflow:hidden;color:#ececef;font-size:11px;font-weight:700}.avatar img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:1}.avatar span{z-index:0}main{max-width:760px;margin:0 auto;padding:0 18px calc(102px + var(--safe-bottom))}.view{display:none;padding-top:28px}.view.active{display:block}.welcome{padding:7px 4px 25px}.eyebrow{color:#99999f;font-size:10px;font-weight:700;letter-spacing:1.65px}.welcome h1,.page-heading h1{font-size:clamp(37px,10vw,48px);line-height:.99;letter-spacing:-2px;margin:14px 0 10px;font-weight:680}.welcome h1 span{color:#8e8e94}.welcome p,.page-heading p{color:var(--muted);font-size:13px;margin:0;text-transform:capitalize}.week-strip{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin:0 0 29px}.day-chip{height:58px;border:1px solid var(--line);border-radius:13px;background:#121214;display:grid;place-content:center;gap:6px;color:#95959a;font-size:12px;font-weight:700;cursor:pointer;transition:background .15s,border-color .15s}.day-chip i{width:4px;height:4px;background:transparent;border-radius:50%;margin:auto}.day-chip.selected{background:#e3e3e6;color:#111113;border-color:#e3e3e6}.day-chip.selected i{background:#646469}.workout-heading{display:flex;align-items:end;justify-content:space-between;padding:0 3px 15px;border-bottom:1px solid var(--line);gap:12px}.workout-heading .eyebrow{font-size:9px;letter-spacing:1.5px}.workout-heading h2{font-size:21px;letter-spacing:-.5px;margin:6px 0 0;font-weight:630}.completion-count{white-space:nowrap;border:1px solid #35353a;border-radius:20px;color:#b8b8bc;padding:7px 10px;font-size:10px;font-weight:600}.group-section{padding-top:19px}.group-heading{margin:0 3px 9px;display:flex;align-items:center;justify-content:space-between;color:#8a8a90;font-size:10px;letter-spacing:1.5px;font-weight:720}.group-heading span{font-size:9px;color:#5c5c61}.exercise-list{padding-bottom:18px}.exercise-card{background:var(--panel);border:1px solid #222225;border-radius:15px;padding:15px;margin:0 0 9px}.exercise-top{display:flex;align-items:center;justify-content:space-between}.exercise-number{font-size:11px;font-weight:700;color:#737379;letter-spacing:.5px}.group-label{font-size:9px;letter-spacing:1px;color:#9d9da2;border:1px solid #303034;border-radius:5px;padding:4px 6px}.exercise-card h3{font-size:16px;letter-spacing:-.25px;line-height:1.25;margin:8px 0 7px;font-weight:620}.exercise-dose{display:flex;align-items:baseline;gap:7px}.exercise-dose strong{font-size:13px;letter-spacing:.1px;font-weight:650}.exercise-dose span{font-size:11px;color:var(--muted)}.last-record{margin-top:10px;padding:8px 10px;background:#1d1d20;border-radius:7px;color:#909096;font-size:11px}.last-record strong{color:#d7d7da;font-weight:600}.demo-toggle{border:0;background:none;padding:10px 0 8px;min-height:40px;display:flex;align-items:center;gap:7px;color:#b5b5ba;font-size:11px;font-weight:550;cursor:pointer}.play-icon{font-size:8px;color:#85858a}.chevron{font-size:16px;color:#77777d;margin-left:1px}.demo-wrap{margin:1px 0 11px;border:1px solid #303034;border-radius:9px;overflow:hidden;background:#0c0c0d;min-height:125px;max-height:220px}.demo-wrap img{display:block;width:100%;max-height:220px;object-fit:contain}.demo-placeholder{min-height:125px;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:8px;background:#111113}.demo-placeholder span{font-size:9px;color:#aaaab0;font-weight:700;letter-spacing:1.7px}.demo-placeholder small{font-size:10px;color:#69696f;text-align:center;padding:0 8px}.sets-row{display:flex;gap:7px;overflow-x:auto;scrollbar-width:none;padding:3px 0 8px}.sets-row::-webkit-scrollbar{display:none}.set-button{flex:1;min-width:78px;min-height:39px;border:1px solid #343438;border-radius:8px;background:#1b1b1e;color:#b7b7bc;display:flex;justify-content:center;align-items:center;gap:6px;font-size:10px;font-weight:570;cursor:pointer;white-space:nowrap}.set-button span{font-size:13px;color:#818187}.set-button.done{background:#dedee1;border-color:#dedee1;color:#171719}.set-button.done span{color:#171719}.log-form{display:grid;grid-template-columns:1fr 1fr auto;align-items:end;gap:8px;border-top:1px solid #28282b;margin-top:4px;padding-top:11px}.log-form label{display:flex;align-items:center;gap:6px;color:#919197;font-size:10px;font-weight:570}.log-form label:first-child{display:block}.log-form label:first-child span{margin-left:6px}.log-form input{height:38px;background:#0e0e10;border:1px solid #323236;border-radius:8px;color:#eeeef0;padding:0 9px;outline:none;width:66px;font-size:13px}.log-form label:first-child input{width:calc(100% - 41px);max-width:102px}.log-form input:focus{border-color:#909096}.log-form input::placeholder{color:#66666b}.save-record{min-width:59px;height:38px;border:1px solid #3a3a3e;border-radius:8px;background:#242427;color:#e5e5e8;font-size:11px;font-weight:620;cursor:pointer}.tabbar{position:fixed;z-index:10;left:0;right:0;bottom:0;padding:7px 12px calc(7px + var(--safe-bottom));background:rgba(16,16,18,.95);border-top:1px solid #28282b;display:flex;justify-content:center;gap:0;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}.tab{width:min(32%,145px);height:52px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;background:transparent;border:0;color:#727278;font-size:9px;font-weight:570;cursor:pointer}.tab.active{color:#eeeeef}.tab-symbol{font-size:18px;line-height:20px}.page-heading{padding:9px 3px 22px}.page-heading h1{margin-bottom:8px}.history-list{display:grid;gap:8px}.history-item{min-height:76px;display:flex;justify-content:space-between;align-items:center;gap:15px;padding:14px;background:var(--panel);border:1px solid #252528;border-radius:12px}.history-item div>span{color:#838389;font-size:10px;text-transform:capitalize}.history-item h3{margin:5px 0 0;font-size:13px;font-weight:580}.history-item>strong{white-space:nowrap;font-size:12px;font-weight:650}.history-item i{font-style:normal;color:#77777c}.empty-state{text-align:center;padding:52px 22px;border:1px solid #242427;border-radius:15px;background:#111113}.empty-state>span{font-size:29px;color:#a2a2a7}.empty-state h2{font-size:16px;margin:13px 0 7px}.empty-state p{font-size:12px;color:var(--muted);line-height:1.55;margin:0 auto;max-width:270px}.settings-card{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:16px;margin:0 0 9px;background:var(--panel);border:1px solid #252528;border-radius:12px}.settings-card strong{font-size:13px}.settings-card p{font-size:11px;line-height:1.5;color:var(--muted);margin:6px 0 0}.local-mark{border:1px solid #37373b;color:#b0b0b5;border-radius:5px;padding:5px 6px;font-size:8px;letter-spacing:.8px}.setting-icon{color:#929298;font-size:16px}.danger-button{margin-top:21px;width:100%;min-height:47px;border-radius:10px;background:#191416;border:1px solid #432d32;color:#d9b6bd;font-size:12px;font-weight:600;cursor:pointer}.settings-note{font-size:10px;line-height:1.6;color:#77777d;margin:12px 4px}.settings-note code,.settings-card code{font-size:10px;color:#b4b4b9}.toast{position:fixed;z-index:20;left:50%;bottom:calc(82px + var(--safe-bottom));transform:translate(-50%,8px);opacity:0;pointer-events:none;padding:11px 15px;white-space:nowrap;background:#e5e5e7;color:#151517;border-radius:9px;font-size:11px;font-weight:600;transition:opacity .18s,transform .18s}.toast.visible{opacity:1;transform:translate(-50%,0)}[hidden]{display:none!important}button:focus-visible,input:focus-visible{outline:2px solid #dedee1;outline-offset:2px}
@media(min-width:620px){.topbar{padding:0 24px}main{padding-left:24px;padding-right:24px}.view{padding-top:37px}.welcome{padding-bottom:31px}.day-chip{height:66px}.exercise-card{padding:17px;margin-bottom:11px}.exercise-card h3{font-size:17px}.group-section{padding-top:22px}.sets-row{overflow:visible}.set-button{min-width:0}}
@media(max-width:360px){.topbar{padding:0 15px}.identity{font-size:12px}main{padding-left:13px;padding-right:13px}.week-strip{gap:5px}.day-chip{height:53px}.workout-heading h2{font-size:19px}.completion-count{font-size:9px;padding:6px 8px}.exercise-card{padding:13px}.log-form{gap:5px}.log-form label{font-size:9px}.log-form label:first-child input{max-width:75px}.log-form input{width:53px;padding:0 6px}.save-record{min-width:52px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important}}
.brand{display:flex;align-items:center;gap:9px;letter-spacing:-.7px}.brand>span{color:#f1f1f3}.brand>span>span{color:#98989e}.brand-mark{width:34px;height:34px;padding:6px;border-radius:11px;background:linear-gradient(145deg,#262629,#101012 65%);border:1px solid #444448;box-shadow:inset 0 1px 0 #ffffff28,0 3px 12px #0008}.brand-mark path{fill:none;stroke:#d6d6da;stroke-width:2.6;stroke-linecap:round}
body:before{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(ellipse at 50% -25%,#ffffff0b,transparent 58%)}
.exercise-card{background:linear-gradient(145deg,#19191c,#131315 70%);border-color:#2b2b2f;box-shadow:inset 0 1px 0 #ffffff07;animation:card-enter .26s ease both;animation-delay:calc(var(--card-order,0)*16ms);transition:border-color .18s,background .18s,transform .18s}.exercise-card:focus-within{border-color:#535359}.exercise-card h3{letter-spacing:-.35px}.day-chip{background:linear-gradient(145deg,#171719,#111113);box-shadow:inset 0 1px 0 #ffffff08}.day-chip.selected{box-shadow:inset 0 1px 0 #fff,0 5px 16px #0006}.set-button,.save-record,.timer-mode-button{transition:background .16s,border-color .16s,color .16s,transform .16s}.set-button:active,.save-record:active,.timer-start:active,.timer-reset:active{transform:scale(.97)}.demo-wrap{animation:demo-open .2s ease both}.tabbar{background:rgba(17,17,19,.91);border-top-color:#303034}.tab{width:min(25%,130px);height:56px;transition:color .16s}.tab.active .tab-symbol{color:#ededf0;text-shadow:0 0 12px #fff5}.tab-symbol{transition:transform .18s,color .18s}.tab.active .tab-symbol{transform:translateY(-1px)}
.timer-view{padding-bottom:18px}.timer-card{border:1px solid #2d2d31;border-radius:22px;padding:17px 16px 19px;background:radial-gradient(ellipse at 50% 0%,#ffffff0b,transparent 58%),linear-gradient(145deg,#19191c,#111113 76%);box-shadow:inset 0 1px 0 #ffffff0a}.timer-mode{display:flex;gap:4px;padding:4px;border:1px solid #2c2c30;border-radius:12px;background:#0c0c0e}.timer-mode-button{flex:1;min-height:40px;border:0;border-radius:9px;background:transparent;color:#89898f;font-size:11px;font-weight:600;cursor:pointer}.timer-mode-button.active{background:linear-gradient(180deg,#36363a,#29292c);box-shadow:inset 0 1px 0 #ffffff18;color:#f0f0f2}.timer-dial{--timer-progress:0deg;width:min(68vw,248px);aspect-ratio:1;border-radius:50%;margin:28px auto 24px;padding:9px;background:conic-gradient(from -90deg,#e5e5e8 var(--timer-progress),#303034 var(--timer-progress));box-shadow:0 0 30px #0006,inset 0 0 0 1px #ffffff1c;transition:background .22s linear}.timer-dial-inner{height:100%;border:1px solid #323236;border-radius:50%;background:radial-gradient(circle at 50% 20%,#222225,#101012 68%);display:flex;flex-direction:column;align-items:center;justify-content:center}.timer-dial-inner>span{font-size:9px;color:#919197;letter-spacing:1.8px;font-weight:700}.timer-dial-inner strong{font-size:clamp(43px,13vw,58px);font-variant-numeric:tabular-nums;letter-spacing:-2.5px;font-weight:560;margin:4px 0 2px}.timer-dial-inner small{color:#79797f;font-size:10px}.duration-control{display:flex;justify-content:center;align-items:center;gap:10px;margin:-9px auto 20px;color:#8d8d93;font-size:16px}.duration-control label{display:flex;flex-direction:column;align-items:center;gap:6px;color:#7e7e84;font-size:9px;letter-spacing:.8px;text-transform:uppercase}.duration-control input{width:70px;height:41px;text-align:center;font-size:16px;font-variant-numeric:tabular-nums;color:#eeeeef;background:#0d0d0f;border:1px solid #343438;border-radius:9px;outline:none}.duration-control input:focus{border-color:#a3a3a8}.timer-actions{display:grid;grid-template-columns:68px minmax(130px,1fr) 68px;gap:10px;align-items:center;max-width:360px;margin:0 auto}.timer-reset{grid-column:1;grid-row:1;min-height:47px;border:1px solid #36363a;border-radius:12px;background:#1a1a1d;color:#bdbdc1;font-size:12px;font-weight:580;cursor:pointer}.timer-start{grid-column:2;grid-row:1;min-height:51px;border:1px solid #e8e8ea;border-radius:13px;background:linear-gradient(180deg,#eeeeef,#d0d0d3);color:#151517;font-size:13px;font-weight:700;letter-spacing:.2px;cursor:pointer;box-shadow:0 5px 16px #0005,inset 0 1px 0 #fff}.timer-action-spacer{grid-column:3;grid-row:1}.timer-note{text-align:center;max-width:290px;margin:16px auto 0;color:#737379;font-size:10px;line-height:1.55}.settings-card,.history-item{background:linear-gradient(145deg,#19191c,#131315);border-color:#29292d}.completion-count{background:#171719}.welcome h1 span{background:linear-gradient(100deg,#bfc0c4,#75757c);color:transparent;background-clip:text;-webkit-background-clip:text}
@keyframes card-enter{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}@keyframes demo-open{from{opacity:0;transform:translateY(-3px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:380px){.timer-card{padding:14px 12px 16px}.timer-mode-button{font-size:10px}.timer-actions{grid-template-columns:58px minmax(120px,1fr) 58px;gap:7px}.timer-reset{font-size:11px}}
@media(prefers-reduced-motion:reduce){.exercise-card,.demo-wrap{animation:none!important}.exercise-card,.day-chip,.set-button,.save-record,.timer-mode-button,.timer-dial,.tab,.tab-symbol{transition:none!important}}
.tabbar{left:50%;right:auto;bottom:calc(12px + var(--safe-bottom));width:min(calc(100% - 28px),420px);transform:translateX(-50%);padding:5px 8px;background:rgba(24,24,27,.88);border:1px solid #3a3a3f;border-radius:22px;box-shadow:0 14px 38px #000a,inset 0 1px 0 #ffffff12;backdrop-filter:blur(22px) saturate(1.2);-webkit-backdrop-filter:blur(22px) saturate(1.2)}main{padding-bottom:calc(126px + var(--safe-bottom))}.tab{width:25%;max-width:105px;height:51px;border-radius:16px}.tab.active{background:#ffffff0b}.tab-symbol{font-size:19px}
@media(max-width:380px){.tabbar{width:calc(100% - 20px);bottom:calc(9px + var(--safe-bottom));padding:4px 5px;border-radius:19px}.tab{height:49px}.tabbar .tab>span:last-child{font-size:8px}}
.timer-view .page-heading{padding-top:0;padding-bottom:15px}.timer-view .page-heading h1{font-size:clamp(31px,8vw,39px);letter-spacing:-1.5px;margin:9px 0 6px}.timer-view .page-heading p{text-transform:none;font-size:12px}.timer-card{padding:13px 14px 15px}.timer-dial{width:min(56vw,220px);margin:17px auto 14px}.timer-dial-inner strong{font-size:clamp(41px,11vw,52px)}.duration-control{margin:0 auto 13px}.timer-start{min-height:47px}
@media(max-height:760px){.timer-view{padding-top:17px}.timer-view .page-heading{padding-bottom:11px}.timer-dial{width:min(51vw,192px);margin:12px auto 11px}.timer-card{padding-top:11px;padding-bottom:13px}.timer-mode-button{min-height:36px}.duration-control input{height:36px}}
.timer-view .page-heading{padding-bottom:8px}.timer-view .page-heading h1{font-size:32px;margin:7px 0 4px}.timer-dial{width:min(47vw,184px);margin:12px auto 11px}.timer-dial-inner strong{font-size:42px}.timer-card{padding:11px 12px 13px}.duration-control{margin:0 auto 9px}.duration-control input{height:34px}.timer-start,.timer-reset{min-height:43px}
