@keyframes pop{0%{opacity:0;transform:scale(.6)}to{opacity:1;transform:scale(1)}}@keyframes pulse{50%{transform:scale(1.04)}}@keyframes rise{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@keyframes ringin{0%{stroke-dashoffset:var(--c)}}@keyframes grow{0%{transform:scaleY(0)}}:root{--bg:#F2F2F7;--card:#FFFFFF;--label:#000000;--sec:#6C6C70;--sep:rgba(60,60,67,.18);--fill:rgba(118,118,128,.12);--accent:#34C759;--on:#000000;--tint:#1E7A35;--tintbg:rgba(52,199,89,.12);--glass:rgba(255,255,255,.68);--glass-hl:rgba(255,255,255,.9);--glass-edge:rgba(0,0,0,.06);--glass-shadow:0 8px 24px rgba(0,0,0,.12);--head:'Inter Tight',-apple-system,system-ui,'Inter',sans-serif;--body:-apple-system,system-ui,'Inter',sans-serif;--t1:28px;--t2:16px;--t3:12px;--ease-smooth:linear(0,0.003 1%,0.019 2.5%,0.080 5.5%,0.450 18%,0.543 21.5%,0.624 25%,0.694 28.5%,0.752 32%,0.801 35.5%,0.846 39.5%,0.886 44%,0.918 49%,0.944 54.5%,0.965 61%,0.978 67.5%,0.988 75.5%,1);--ease-snappy:linear(0,0.007 1.5%,0.025 3%,0.102 6.5%,0.508 19.5%,0.606 23%,0.692 26.5%,0.754 29.5%,0.815 33%,0.865 36.5%,0.904 40%,0.938 44%,0.965 48.5%,0.985 53.5%,0.997 59%,1.004 65%,1.006 72.5%,1);--ease-bouncy:linear(0,0.009 1.5%,0.033 3%,0.116 6%,0.593 18%,0.775 23.5%,0.841 26%,0.905 29%,0.955 32%,0.991 35%,1.013 37.5%,1.031 40.5%,1.042 44%,1.046 47.5%,1.042 53%,1.015 68%,1.004 77%,0.998 89%,1);--ease-release:linear(0,0.007 1.5%,0.025 3%,0.054 4.5%,0.103 6.5%,0.192 9.5%,0.538 20%,0.714 26.5%,0.779 29.5%,0.841 33%,0.885 36%,0.926 39.5%,0.960 43.5%,0.983 47.5%,1.000 52%,1.011 57.5%,1.015 62.5%,1.015 68.5%,1);--ease-out:cubic-bezier(.2,0,0,1);--ease-exit:cubic-bezier(.3,0,.8,.15);color-scheme:light dark}@media (prefers-color-scheme:dark){:root{--bg:#000000;--card:#1C1C1E;--label:#FFFFFF;--sec:#98989F;--sep:rgba(84,84,88,.6);--fill:rgba(118,118,128,.24);--tint:#30D158;--tintbg:rgba(48,209,88,.16);--glass:rgba(44,44,48,.62);--glass-hl:rgba(255,255,255,.16);--glass-edge:rgba(255,255,255,.08);--glass-shadow:0 8px 24px rgba(0,0,0,.45)}}@supports not (transition-timing-function:linear(0,1)){:root{--ease-smooth:cubic-bezier(.2,0,0,1);--ease-snappy:cubic-bezier(.2,0,0,1);--ease-bouncy:cubic-bezier(.34,1.4,.64,1);--ease-release:cubic-bezier(.2,0,0,1)}}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}.screen,body,html{background:var(--bg)}body,html{margin:0;height:100%;color:var(--label);font-family:var(--body);font-size:var(--t2);line-height:1.35;-webkit-font-smoothing:antialiased;overscroll-behavior:none}button{font:inherit;color:inherit;border:0;background:0 0;padding:0;cursor:pointer}h1,h2,p,ul{margin:0}#app{position:fixed;inset:0;overflow:hidden}.screen{position:absolute;inset:0;overflow-y:auto;-webkit-overflow-scrolling:touch;will-change:auto}.wrap{max-width:640px;margin:0 auto;padding:max(20px,env(safe-area-inset-top)) 16px 120px}.title{font-family:var(--head);font-weight:700;font-size:var(--t1);line-height:34px;letter-spacing:-.3px}.sub{color:var(--sec);margin-top:4px}.cap,.sechead{font-size:var(--t3);color:var(--sec)}.sechead{margin:24px 16px 8px;font-weight:400}.card{background:var(--card);border-radius:20px;overflow:hidden}.row{display:flex;align-items:center;gap:12px;min-height:52px;padding:8px 16px;width:100%;text-align:left}.row+.row{border-top:.5px solid var(--sep)}.row .grow{flex:1;min-width:0}.row .meta{font-size:var(--t3);color:var(--sec)}.btn,.chev{color:var(--sec);display:flex}.btn{height:52px;border-radius:26px;background:var(--accent);color:var(--on);font-family:var(--head);font-weight:700;font-size:var(--t2);width:100%;align-items:center;justify-content:center;gap:8px}.btn:active,.press:active{transform:scale(.96);transition:transform 100ms cubic-bezier(0,0,0,1)}.btn,.press,details.sess .rot{transition:transform 380ms var(--ease-snappy)}.btn2{height:44px;border-radius:22px;padding:0 16px;color:var(--tint);font-weight:600;display:inline-flex;align-items:center}.glass{background:var(--glass);-webkit-backdrop-filter:blur(16px) saturate(180%);backdrop-filter:blur(16px) saturate(180%);box-shadow:inset 0 1px 0 var(--glass-hl),0 0 0 .5px var(--glass-edge),var(--glass-shadow)}.gclear{background:rgba(255,255,255,.16);-webkit-backdrop-filter:blur(14px) saturate(180%);backdrop-filter:blur(14px) saturate(180%);box-shadow:inset 0 1px 0 rgba(255,255,255,.55),inset 0 0 0 .5px rgba(255,255,255,.3),0 4px 12px rgba(0,0,0,.22);color:#fff}.circle{width:44px;height:44px;border-radius:22px}.circle,.dot,.tick{display:flex;align-items:center;justify-content:center}.tick{width:44px;height:44px;flex:none;margin-left:-8px}.dot{width:28px;height:28px;border-radius:14px;box-shadow:inset 0 0 0 2px var(--sec);color:var(--on);transition:background 120ms var(--ease-out),box-shadow 120ms var(--ease-out)}.dot svg{opacity:0;transform:scale(.6)}.done .dot{background:var(--accent);box-shadow:none}.done .dot svg{opacity:1;transform:scale(1)}.pop .dot svg{animation:pop 510ms var(--ease-bouncy)}.inp{width:64px;height:40px;border-radius:12px;border:0;background:var(--fill);color:var(--label);text-align:center;font:inherit;font-size:16px;font-variant-numeric:tabular-nums;padding:0}.inp.reps{width:56px}.inp:focus{outline:2px solid var(--tint);outline-offset:0}.inp::placeholder{color:var(--sec)}.setrow{display:flex;align-items:center;gap:8px;min-height:56px;border-radius:14px;padding:0 8px;margin:0 -8px;transition:background 200ms var(--ease-out)}.setrow+.setrow{border-top:.5px solid var(--sep);border-radius:0}.setrow.done{background:var(--tintbg)}.setrow .lbl{width:44px;flex:none}.setrow .lbl,.setrow .x{color:var(--sec)}.tabbar{position:fixed;left:50%;bottom:max(16px,env(safe-area-inset-bottom));transform:translateX(-50%);display:flex;gap:4px;padding:4px;border-radius:30px;z-index:20}.tab{height:52px;min-width:96px;padding:0 16px;border-radius:26px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;font-size:var(--t3);color:var(--sec);transition:color 200ms var(--ease-out)}.tab[aria-current=page]{color:var(--tint);background:var(--fill)}.ex{background:#000}.video,.video::after,.vnote{position:absolute}.video{left:0;right:0;top:0;height:46vh;max-height:440px;min-height:260px;overflow:hidden;background:linear-gradient(160deg,#4a4a52 0,#26262b 55%,#141416 100%)}.video video{width:100%;height:100%;object-fit:cover;display:block}.video::after{content:"";inset:0;pointer-events:none;background:linear-gradient(180deg,rgba(0,0,0,.35) 0,transparent 30%,transparent 65%,rgba(0,0,0,.35) 100%)}.vnote{left:50%;top:50%;transform:translate(-50%,-50%);font-size:var(--t3);color:rgba(255,255,255,.72);text-align:center;z-index:1}.pill,.vtop{display:flex;align-items:center}.vtop{position:absolute;top:max(12px,env(safe-area-inset-top));left:16px;right:16px;gap:8px;z-index:3}.pill{height:44px;padding:0 16px;border-radius:22px;font-size:var(--t3);white-space:nowrap}.replay,.rest button{height:36px;border-radius:18px;font-size:var(--t3)}.replay,.sheet{position:absolute;display:flex}.replay{right:16px;bottom:56px;padding:0 14px 0 10px;align-items:center;gap:6px;font-weight:600;z-index:3;opacity:0;transform:scale(.9);pointer-events:none;transition:opacity 250ms var(--ease-out),transform 380ms var(--ease-snappy)}.replay.show{opacity:1;transform:scale(1);pointer-events:auto}.sheet{left:8px;right:8px;bottom:8px;top:calc(min(max(46vh,260px),440px) - 40px);background:var(--card);border-radius:32px;flex-direction:column;overflow:hidden;z-index:4;transition:top 640ms var(--ease-release)}.sheet.full{top:max(64px,calc(env(safe-area-inset-top) + 64px))}.sheet.dragging{transition:none}.grab{height:24px;flex:none;display:flex;align-items:center;justify-content:center;touch-action:none;cursor:grab}.grab span{width:36px;height:5px;border-radius:3px;background:var(--fill)}.sbody{flex:1;overflow-y:auto;padding:0 20px 24px}.sfoot{flex:none;padding:12px 20px max(20px,env(safe-area-inset-bottom));background:linear-gradient(180deg,transparent 0,var(--card) 12px)}.rest{display:flex;align-items:center;gap:8px;height:44px;padding:0 4px 0 14px;border-radius:22px;margin-top:12px;overflow:hidden;transition:opacity 300ms var(--ease-out),transform 510ms var(--ease-snappy)}.rest[hidden]{display:none}.rest .t,.tile b{font-variant-numeric:tabular-nums}.rest .t{flex:1}.rest button{min-width:44px;padding:0 12px;background:var(--fill)}.rest.zero{animation:pulse 580ms var(--ease-bouncy)}.cues{margin-top:4px;padding-left:20px}.cues li{margin-bottom:4px}@media (min-width:900px){.video{height:100%;max-height:none}.sheet{left:auto;right:24px;bottom:24px;width:440px}.sheet,.sheet.full{top:24px}.grab{visibility:hidden}.replay{right:488px;bottom:24px}.vtop{top:24px;left:24px;right:auto}}.tiles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:20px}.tile{background:var(--card);border-radius:20px;padding:16px}.tile b{display:block;font-family:var(--head);font-size:var(--t1);line-height:34px;font-weight:700}.chips{display:flex;gap:8px;flex-wrap:wrap}.chip,.toast{border-radius:22px}.chip{height:44px;padding:0 16px;background:var(--card);display:flex;align-items:center}.chip[aria-pressed=true]{background:var(--accent);color:var(--on)}.toast{position:fixed;left:50%;bottom:calc(max(16px,env(safe-area-inset-bottom)) + 76px);transform:translate(-50%,16px);opacity:0;padding:12px 16px;z-index:50;pointer-events:none;max-width:calc(100% - 32px);transition:opacity 200ms var(--ease-exit),transform 200ms var(--ease-exit)}.toast.show{opacity:1;transform:translate(-50%,0);transition:opacity 510ms var(--ease-snappy),transform 510ms var(--ease-snappy)}.stagger>*{animation:rise 540ms var(--ease-smooth) both}.stagger>:nth-child(2){animation-delay:30ms}.stagger>:nth-child(3){animation-delay:60ms}.stagger>:nth-child(4){animation-delay:90ms}.stagger>:nth-child(5){animation-delay:120ms}.stagger>:nth-child(6){animation-delay:150ms}.status{display:flex;align-items:center;gap:8px;font-size:var(--t3);color:var(--sec);margin:16px 16px 0}.status i{width:8px;height:8px;border-radius:4px;background:var(--sec);flex:none}.status.on i{background:var(--accent)}.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}@media (prefers-reduced-motion:reduce){*,::after,::before{animation-duration:1ms!important;animation-delay:0ms!important;transition-duration:150ms!important}.btn:active,.press:active{transform:none}}.media{background:#fff}.media canvas,.media img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;padding:8px 8px 48px}.media::after{background:0 0}.media .vnote{color:#6c6c70}.err{font-size:var(--t3);color:#c42b1c;margin:4px 0 0 52px}@media (prefers-color-scheme:dark){.err{color:#ff6961}}.inp.bad{outline:2px solid #c42b1c}.field{display:block;width:100%;height:52px;border-radius:14px;border:0;background:var(--card);color:var(--label);font:inherit;font-size:17px;padding:0 16px}.field:focus{outline:2px solid var(--tint)}.label{display:block;font-size:var(--t3);color:var(--sec);margin:0 0 8px 4px}.linkbox{background:var(--card);border-radius:14px;padding:14px 16px;word-break:break-all;font-size:15px;user-select:all}.spark{display:block}.btn.ghost{background:var(--fill);color:var(--label)}.btn[disabled]{opacity:.5}.stepper,.stepper button{display:flex;align-items:center}.stepper{gap:4px}.stepper button{width:44px;height:44px;border-radius:22px;background:var(--fill);justify-content:center;font-size:20px}.stepper span{min-width:24px;text-align:center;font-variant-numeric:tabular-nums}details.sess summary{list-style:none;cursor:pointer}details.sess summary::-webkit-details-marker{display:none}.danger{color:#c42b1c}@media (prefers-color-scheme:dark){.danger{color:#ff6961}}.inp.pre{color:var(--sec)}#ask{position:fixed;inset:0;z-index:60}.scrim{position:absolute;inset:0;background:rgba(0,0,0,.35)}.asksheet{position:absolute;left:8px;right:8px;bottom:max(8px,env(safe-area-inset-bottom));max-width:480px;margin:0 auto;border-radius:32px;padding:24px 20px 20px}@media (min-width:900px){.sheet{box-shadow:0 8px 32px rgba(0,0,0,.12),0 0 0 .5px var(--sep)}.media canvas,.media img{padding:80px 488px 80px 24px}}[hidden]{display:none!important}.b{font-weight:600}.tint{color:var(--tint);display:flex}.pad12{padding:12px 16px}.pad16{padding:16px}.stagger>*+*{margin-top:8px}.week{display:flex;justify-content:space-between}.wd,.wdot{display:flex;align-items:center}.wd{flex-direction:column;gap:4px;min-width:36px}.wdot{width:32px;height:32px;border-radius:16px;justify-content:center;font-size:var(--t3);color:var(--sec);font-variant-numeric:tabular-nums}.wdot.done{background:var(--accent);color:var(--on)}.wdot.today:not(.done){box-shadow:inset 0 0 0 2px var(--tint);color:var(--tint);font-weight:600}.wdot.today.done{box-shadow:0 0 0 2px var(--bg),0 0 0 4px var(--accent)}.hero{position:relative;height:320px;border-radius:24px;overflow:hidden;background:#1c1c1e;color:#fff}.hero img,.whead img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 35%}.hshade{inset:0;background:linear-gradient(180deg,rgba(0,0,0,.15) 0,transparent 30%,rgba(0,0,0,.75) 100%)}.hbody,.hpill,.hshade{position:absolute}.hpill{top:12px;left:12px;height:28px;padding:0 12px;border-radius:14px;display:flex;align-items:center;font-size:var(--t3);font-weight:600}.hbody{left:20px;right:20px;bottom:20px}.hsub{color:rgba(255,255,255,.85);margin:4px 0 16px}.duo{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.ico,.tilec{align-items:center}.tilec{padding:16px;display:flex;gap:12px}.tilec.col{flex-direction:column;align-items:flex-start;gap:2px;min-width:0}.tilec.col .ico,.tilec.col .ring{margin-bottom:8px}.ico{width:44px;height:44px;border-radius:22px;background:var(--tintbg);justify-content:center}.ell{overflow:hidden;text-overflow:ellipsis;max-width:100%}.ell,.tilec.col .cap{white-space:nowrap}.ring .arc{animation:ringin 900ms var(--ease-smooth) both}.thumb{border-radius:14px;object-fit:cover;flex:none;display:block;background:var(--fill)}.thumb.ph{background:var(--tintbg);color:var(--tint);display:flex;align-items:center;justify-content:center}.row.tall{min-height:76px;padding:10px 12px}.row.tall .tick{margin:-8px -8px -8px 0}.whead{position:relative;height:260px;background:#1c1c1e;color:#fff;overflow:hidden}.whead .hbody{left:16px;bottom:16px}.whead .hsub{margin-bottom:0}.wback{position:absolute;top:max(12px,env(safe-area-inset-top));left:16px;z-index:2}.dock{position:sticky;bottom:0;max-width:640px;margin:-120px auto 0;padding:32px 16px max(20px,env(safe-area-inset-bottom));background:linear-gradient(180deg,transparent 0,var(--bg) 32px);z-index:3}.between{justify-content:space-between;align-items:baseline}.bar,.bars,.between{display:flex}.bars{gap:8px;margin-top:12px}.bar{flex:1;flex-direction:column;align-items:center;gap:6px;min-width:0}.bf,.bt{width:100%}.bt{height:112px;display:flex;align-items:flex-end}.bf{border-radius:8px;background:var(--fill);animation:grow 700ms var(--ease-smooth) both;transform-origin:bottom}.bf.hit{background:var(--accent)}.bar .cap{white-space:nowrap;height:16px}.rowc{display:flex;align-items:center;gap:12px}.flame{color:#ff8d28;display:flex}.flame svg{width:28px;height:28px}.up{font-weight:600;color:var(--tint);font-variant-numeric:tabular-nums}details.sess[open] .rot{transform:rotate(90deg)}.credit{position:absolute;left:16px;right:16px;bottom:48px;font-size:10px;line-height:13px;color:rgba(255,255,255,.7);z-index:2;pointer-events:none}@media (min-width:900px){.credit{right:488px;bottom:24px}.hero{height:360px}}@media (prefers-reduced-motion:reduce){.bf,.ring .arc{animation:none}}.stagger>:nth-child(2){margin-top:16px}