:root{--bg:#0b0d10;--surface:#101216;--card:#1a1d22;--card-done:#16211a;--border:#2a2e35;--border-strong:#3c4043;--text:#e8eaed;--text-soft:#c7cdd4;--muted:#9aa0a6;--faint:#5f6368;--accent:#8ab4f8;--accent-bg:#8ab4f81f;--accent-border:#8ab4f840;--ok:#34a853;--ok-border:#34a8538c;--warn:#fdd663;--danger:#f28b82;--radius-card:16px;--radius-pill:20px;--radius-sm:6px;--font:-apple-system, BlinkMacSystemFont, "SF Pro Text", "Segoe UI", Roboto, sans-serif}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font);background:var(--bg);color:var(--text);min-height:100dvh}main{padding:16px;padding-top:max(16px, env(safe-area-inset-top));padding-left:max(16px, env(safe-area-inset-left));padding-right:max(16px, env(safe-area-inset-right))}.setup{flex-direction:column;gap:12px;max-width:420px;margin:0 auto;padding:48px 16px;display:flex}.setup label{color:var(--muted);font-size:13px}.setup input{background:var(--card);color:var(--text);border:1px solid var(--border);border-radius:12px;padding:12px;font-size:16px}.setup button{background:var(--accent);color:var(--bg);border:0;border-radius:12px;padding:12px;font-size:16px;font-weight:600}.toast-host{pointer-events:none;flex-direction:column;align-items:center;gap:8px;display:flex;position:fixed;bottom:16px;left:0;right:0}.toast{pointer-events:auto;background:var(--card);border:1px solid var(--border);border-radius:var(--radius-card);align-items:center;gap:12px;padding:10px 14px;font-size:14px;display:flex}.toast button{color:var(--accent);background:0 0;border:0;font-size:14px;font-weight:600}.app-header{margin-bottom:12px}.app-header .date{font-size:22px;font-weight:700}.app-header .phase{color:var(--accent);background:var(--accent-bg);border:1px solid var(--accent-border);border-radius:var(--radius-pill);margin-top:6px;padding:4px 10px;font-size:11.5px;display:inline-block}.block-title{letter-spacing:1.2px;color:var(--muted);text-transform:uppercase;margin:16px 0 8px;font-size:11px;font-weight:700}.block-title .freq{color:var(--faint);letter-spacing:.3px;text-transform:none;font-weight:400}.card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius-card);margin-bottom:10px;padding:13px 14px}.card.done{border-color:var(--ok-border);background:var(--card-done)}.task{text-align:left;width:100%;font:inherit;color:inherit;background:var(--card);border:1px solid var(--border);cursor:pointer;border-radius:14px;align-items:center;gap:12px;margin-bottom:10px;padding:14px;display:flex}.task.due,.task.in_progress{border-color:#8ab4f88c}.task.done{opacity:.72}.task.quota,.task.paused{opacity:.55}.task h3{font-size:15px}.t-main{flex-direction:column;flex:1;display:flex}.t-params{color:var(--muted);margin-top:3px;font-size:12px}.t-sub{color:var(--faint);margin-top:2px;font-size:12px}.tbtn{background:var(--accent);color:var(--surface);border-radius:12px;padding:12px 18px;font-size:14px;font-weight:700}.tcheck{width:44px;height:44px;color:var(--ok);background:#34a85326;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:20px;font-weight:700;display:flex}.log-row{text-align:left;width:100%;font:inherit;color:inherit;border:0;border-bottom:1px solid var(--border);cursor:pointer;background:0 0;align-items:flex-start;gap:10px;padding:10px 0;display:flex}.log-row.partial{opacity:.7}.log-row .d{flex-shrink:0;width:52px}.log-row .d b{font-size:14px;display:block}.log-row .d span{color:var(--muted);font-size:11px}.log-row .info{color:var(--text-soft);flex:1;font-size:12.5px;line-height:1.4}.log-row .notes{color:var(--muted);white-space:pre-wrap;margin-top:4px;display:block}.log-row .st{font-size:18px}.more{color:var(--accent);border:1px solid var(--accent-border);font:inherit;background:0 0;border-radius:12px;margin:12px auto;padding:10px 18px;font-weight:600;display:block}main.workout{flex-direction:column;height:100dvh;padding:0;display:flex}.workout-head{padding:calc(10px + env(safe-area-inset-top)) 16px 0;flex-wrap:wrap;align-items:center;gap:8px;display:flex}.workout-head .back{color:var(--accent);padding:0 8px 4px 0;font-size:28px;line-height:1;text-decoration:none}.workout-name{font-size:15px;font-weight:700}.pager-dots{flex-basis:100%;justify-content:center;align-items:center;gap:6px;padding:10px 0 4px;display:flex}.pager-dots i{background:var(--border);border-radius:50%;width:8px;height:8px;transition:all .2s}.pager-dots i.on{background:#7dd3c0;border-radius:4px;width:24px}.pager-dots span{color:var(--muted);font-variant-numeric:tabular-nums;margin-left:6px;font-size:11.5px}.pager{scroll-snap-type:x mandatory;scrollbar-width:none;flex:1;min-height:0;display:flex;overflow-x:auto}.pager::-webkit-scrollbar{display:none}.page{scroll-snap-align:start;flex-direction:column;min-width:100%;padding:8px 16px 16px;display:flex;overflow:hidden}.page>*{flex-shrink:0}.page .page-body{flex:auto;min-height:0;overflow-y:auto}.footer{padding:10px 0 calc(20px + env(safe-area-inset-bottom))}.bigbtn{border-radius:var(--radius-card);background:var(--ok);color:#fff;border:none;width:100%;padding:16px;font-size:16px;font-weight:700}.bigbtn.ghost{background:var(--card);border:1px solid var(--border);color:var(--accent);margin-top:8px}.block-kicker{letter-spacing:1.6px;text-transform:uppercase;color:#7dd3c0;font-size:10.5px;font-weight:700}.block-kicker.sup{color:var(--warn)}.block-head{justify-content:space-between;align-items:flex-start;gap:8px;display:flex}.block-head h3{margin:4px 0 2px;font-size:18px}.block-progress{color:var(--muted);font-variant-numeric:tabular-nums;white-space:nowrap;padding-top:4px;font-size:12px}.block-meta{color:var(--muted);margin:2px 0 12px;font-size:12.5px;line-height:1.5}.video-link{color:var(--accent);white-space:nowrap;font-weight:600;text-decoration:none}.round-label{letter-spacing:1.4px;text-transform:uppercase;color:var(--muted);margin:14px 0 8px;font-size:10.5px;font-weight:700}.set-row{background:var(--card);border:1px solid var(--border);border-radius:12px;align-items:center;gap:10px;margin-bottom:8px;padding:10px 12px;display:flex}.set-check{border:2px solid var(--border-strong);color:#0000;cursor:pointer;-webkit-user-select:none;user-select:none;background:0 0;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:26px;height:26px;font-size:14px;font-weight:800;display:flex}.set-row.done .set-check{background:var(--ok);border-color:var(--ok);color:#fff}.set-label{flex-shrink:0;min-width:76px;font-size:13px;font-weight:600}.set-reps{color:var(--text);cursor:pointer;border:0;border-bottom:1px dashed var(--border-strong);background:0 0;padding-bottom:1px;font-family:inherit;font-size:13.5px;font-weight:600}.set-reps-input{color:var(--text);border-radius:var(--radius-sm);background:#0e1013;border:1px solid #7dd3c0;width:80px;padding:3px 6px;font-family:inherit;font-size:16px;font-weight:600}.set-row:not(.done) .set-reps,.set-row:not(.done) .set-load{opacity:.45}.set-load{color:var(--warn);cursor:pointer;white-space:nowrap;background:#fdd66314;border:1px solid #fdd6634d;border-radius:9px;margin-left:auto;padding:7px 10px;font-family:inherit;font-size:12px;font-weight:700}.set-load.none{color:var(--faint);cursor:default;background:0 0;border-style:dashed}.finish-page{flex-direction:column;display:flex}.finish-summary{margin:14px 0 0}.finish-summary h3{margin:0 0 4px;font-size:15px}.finish-summary .meta{color:var(--muted,#9aa0a6);font-size:12.5px}.sheet-dim{z-index:49;background:#0000009e;position:fixed;inset:0}.sheet{z-index:50;border-top:1px solid var(--border);background:#1e2126;border-radius:24px 24px 0 0;max-width:430px;margin:0 auto;padding:10px 16px 30px;position:fixed;bottom:0;left:0;right:0}.sheet .grab{background:var(--border-strong);border-radius:2px;width:42px;height:4px;margin:2px auto 14px}.sheet h3{font-size:15px;font-weight:700}.sheet .prev{color:var(--muted);margin:4px 0 12px;font-size:12px}.sheet button{color:inherit;cursor:pointer;font-family:inherit}.opt{text-align:left;background:0 0;border:1px solid #0000;border-radius:12px;align-items:center;gap:12px;width:100%;padding:12px;font-size:14px;display:flex}.opt .dot{border-radius:50%;flex-shrink:0;width:22px;height:22px}.opt .lv{color:var(--muted);margin-left:auto;font-size:12px}.opt .ck{color:var(--ok);text-align:center;width:22px;font-size:16px;font-weight:700}.opt.sel{background:#34a8531a;border-color:#34a85373}.step-row1{align-items:center;gap:6px;margin:14px 0 12px;display:flex}.stbtn3{background:var(--border);text-align:center;border:none;border-radius:10px;flex:1;padding:10px 0;font-size:13px;font-weight:700}.stbtn3.plus{color:var(--ok);background:#34a8531f;border:1px solid #34a85366}.stbtn3.minus{color:#ea8680;background:#ea433514;border:1px solid #ea433559}.stval1{text-align:center;flex:1.5;font-size:24px;font-weight:700}.stval1 small{color:var(--muted);font-size:12px;font-weight:400}.chips{flex-wrap:wrap;justify-content:center;gap:8px;display:flex}.chips .chip{background:var(--surface);border:1px solid var(--border);border-radius:20px;padding:9px 14px;font-size:13px;font-weight:600}.chips .chip.on{border-color:var(--warn);color:var(--warn)}.sheet .chips+.prev{text-align:center;margin:12px 0 0}.note-item textarea{box-sizing:border-box;width:100%;color:var(--text);background:var(--surface);border:1px solid var(--border);resize:vertical;border-radius:12px;min-height:120px;padding:10px 12px;font-family:inherit;font-size:13.5px}.note-item textarea:focus{border-color:var(--accent);outline:none}.note-item textarea:disabled{opacity:.6}.notes-editor.grow{flex-direction:column;flex:1;display:flex}.note-item.grow{flex-direction:column;flex:auto;min-height:140px;display:flex}.note-item.grow textarea{flex:1;min-height:160px}.note-undo{gap:8px;margin-top:8px;display:flex}.undo-btn{border:1px solid var(--border);background:var(--card);width:40px;height:36px;color:var(--accent);border-radius:10px;font-size:18px}.undo-btn:disabled{opacity:.35}.note-voice-slot:empty{display:none}.note-hint{color:var(--muted);margin-top:12px;font-size:11.5px}.note-microw{align-items:center;gap:12px;margin-top:18px;display:flex}.micbtn{cursor:pointer;background:#7dd3c0;border:none;border-radius:14px;flex-shrink:0;width:52px;height:52px;font-size:22px}.micbtn:disabled{opacity:.4}.micbtn.stop{background:var(--ok);color:#fff}.micbtn.cancel{color:#ea8680;background:0 0;border:1px solid #ea433580;width:40px;height:40px;font-size:16px}.note-microw .note-hint{margin-top:0}.mic-busy{align-items:center;gap:8px;display:flex}.spinner{border:2px solid var(--border-strong);border-top-color:var(--accent);border-radius:50%;width:14px;height:14px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.wave{align-items:center;gap:3px;height:40px;display:flex}.wave i{background:#7dd3c0;border-radius:2px;width:3px;height:26px;transition:transform 80ms linear}.voice-list{flex-direction:column;gap:8px;margin:12px 0 0;padding:0;list-style:none;display:flex}.voice-row{color:var(--text-soft);flex-wrap:wrap;align-items:center;gap:10px;font-size:13px;display:flex}.vn-status{color:var(--muted);font-size:12px}.vn-status.failed{color:var(--danger)}.vn-btn{border:1px solid var(--border);background:var(--card);min-width:36px;height:32px;color:var(--accent);border-radius:10px}.vn-btn.txt{padding:0 10px;font-size:12px}.vn-btn:disabled{opacity:.4}.voice-row audio{flex-basis:100%;height:32px}.tm-chip{color:#7dd3c0;white-space:nowrap;cursor:pointer;background:#7dd3c014;border:1px solid #7dd3c04d;border-radius:10px;padding:5px 9px;font-family:inherit;font-size:12px;font-weight:700}.tm-auto{color:var(--muted);cursor:pointer;align-items:center;gap:8px;margin:8px 0 2px;font-size:12px;display:flex}.tm-auto input{accent-color:#7dd3c0;width:15px;height:15px}.tm-inline{background:var(--surface);border:1px solid var(--border);border-radius:12px;margin:-2px 0 8px;padding:12px 14px}.tm-i-head{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.tm-i-phase{letter-spacing:1.5px;text-transform:uppercase;color:#7dd3c0;flex:1;font-size:11px;font-weight:700}.tm-i-digits{font-variant-numeric:tabular-nums;color:#7dd3c0;font-size:34px;font-weight:800}.tm-i-close{color:var(--muted);cursor:pointer;background:0 0;border:none;padding:4px;font-size:16px}.tm-i-sub{color:var(--muted);margin-top:2px;font-size:11.5px}.tm-i-bar{background:var(--border);border-radius:3px;height:6px;margin:10px 0 12px;overflow:hidden}.tm-i-bar b{background:#7dd3c0;border-radius:3px;height:100%;display:block}.tm-i-ctl{gap:8px;display:flex}.tm-i-btn{cursor:pointer;border:none;border-radius:10px;padding:10px 18px;font-family:inherit;font-size:13px;font-weight:700}.tm-i-btn.main{color:#101216;background:#7dd3c0}.tm-i-btn.ghost{background:var(--card);color:var(--text-soft);border:1px solid var(--border)}
