.uplot,.uplot *,.uplot :before,.uplot :after{box-sizing:border-box}.uplot{width:min-content;font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;line-height:1.5}.u-title{text-align:center;font-size:18px;font-weight:700}.u-wrap{-webkit-user-select:none;user-select:none;position:relative}.u-over,.u-under{position:absolute}.u-under{overflow:hidden}.uplot canvas{width:100%;height:100%;display:block;position:relative}.u-axis{position:absolute}.u-legend{text-align:center;margin:auto;font-size:14px}.u-inline{display:block}.u-inline *{display:inline-block}.u-inline tr{margin-right:16px}.u-legend th{font-weight:600}.u-legend th>*{vertical-align:middle;display:inline-block}.u-legend .u-marker{width:1em;height:1em;margin-right:4px;background-clip:padding-box!important}.u-inline.u-live th:after{content:":";vertical-align:middle}.u-inline:not(.u-live) .u-value{display:none}.u-series>*{padding:4px}.u-series th{cursor:pointer}.u-legend .u-off>*{opacity:.3}.u-select{pointer-events:none;background:#00000012;position:absolute}.u-cursor-x,.u-cursor-y{pointer-events:none;will-change:transform;position:absolute;top:0;left:0}.u-hz .u-cursor-x,.u-vt .u-cursor-y{border-right:1px dashed #607d8b;height:100%}.u-hz .u-cursor-y,.u-vt .u-cursor-x{border-bottom:1px dashed #607d8b;width:100%}.u-cursor-pt{pointer-events:none;will-change:transform;border:0 solid;border-radius:50%;position:absolute;top:0;left:0;background-clip:padding-box!important}.u-axis.u-off,.u-select.u-off,.u-cursor-x.u-off,.u-cursor-y.u-off,.u-cursor-pt.u-off{display:none}:root{--bg:#f6f7f9;--surface:#fff;--surface-2:#eef0f4;--border:#dde1e8;--grid:#e6e9ee;--text:#15181e;--muted:#5d6573;--accent:#1f8a55;--accent-ink:#fff;--accent-soft:#e3f4ea;--danger:#c2372f;--warn:#9a5b00;--radius:14px;--tab-h:64px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#0f1115;--surface:#171a21;--surface-2:#20242d;--border:#2a2f3a;--grid:#262b35;--text:#eef1f5;--muted:#98a1b0;--accent:#7ee2a8;--accent-ink:#0b2417;--accent-soft:#183326;--danger:#ff7a70;--warn:#f0b45a;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}:root[data-theme=dark]{--bg:#0f1115;--surface:#171a21;--surface-2:#20242d;--border:#2a2f3a;--grid:#262b35;--text:#eef1f5;--muted:#98a1b0;--accent:#7ee2a8;--accent-ink:#0b2417;--accent-soft:#183326;--danger:#ff7a70;--warn:#f0b45a;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:var(--bg);color:var(--text);-webkit-tap-highlight-color:transparent;overscroll-behavior-y:none;margin:0;font:16px/1.45 system-ui,-apple-system,Segoe UI,Roboto,sans-serif}button,input,select,textarea{font:inherit;color:inherit}a{color:inherit;text-decoration:none}h1,h2{margin:0;line-height:1.2}h1{font-size:1.35rem}h2{font-size:1.05rem}.main{max-width:640px;padding:calc(env(safe-area-inset-top) + 8px) 16px calc(var(--tab-h) + env(safe-area-inset-bottom) + 96px);flex-direction:column;gap:12px;margin:0 auto;display:flex}.header{z-index:5;min-height:56px;padding:env(safe-area-inset-top) 16px 0;background:var(--bg);align-items:center;gap:8px;margin:0 -16px;display:flex;position:sticky;top:0}.header h1{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.header-actions{gap:4px;display:flex}.tabbar{z-index:20;height:calc(var(--tab-h) + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom);background:var(--surface);border-top:1px solid var(--border);display:flex;position:fixed;inset:auto 0 0}.tab{color:var(--muted);flex-direction:column;flex:1;justify-content:center;align-items:center;gap:2px;font-size:.72rem;display:flex}.tab.active{color:var(--accent);font-weight:600}.rest-bar{left:8px;right:8px;bottom:calc(var(--tab-h) + env(safe-area-inset-bottom) + 8px);z-index:15;border-radius:var(--radius);background:var(--surface-2);border:1px solid var(--border);align-items:center;gap:8px;max-width:624px;margin:0 auto;padding:10px 12px;display:flex;position:fixed;overflow:hidden;box-shadow:0 8px 24px #00000040}.rest-bar-fill{background:var(--accent-soft);z-index:-1;transition:width .25s linear;position:absolute;inset:0 auto 0 0}.rest-label{color:var(--muted);font-size:.85rem}.rest-time{font-variant-numeric:tabular-nums;flex:1;font-size:1.6rem;font-weight:700}.btn{border:1px solid var(--border);background:var(--surface-2);cursor:pointer;touch-action:manipulation;border-radius:12px;justify-content:center;align-items:center;gap:8px;min-height:48px;padding:0 18px;font-weight:600;display:inline-flex}.btn:active{transform:scale(.98)}.btn:disabled{opacity:.6}.btn.primary{background:var(--accent);color:var(--accent-ink);border-color:#0000}.btn.ghost{background:0 0}.btn.danger{color:var(--danger);border-color:color-mix(in srgb, var(--danger) 40%, transparent);background:0 0}.btn.small{min-height:40px;padding:0 12px;font-size:.9rem}.btn.big{min-height:60px;font-size:1.1rem}.btn.block{width:100%;display:flex}.icon-btn{width:44px;height:44px;color:var(--text);cursor:pointer;background:0 0;border:0;border-radius:12px;place-items:center;display:inline-grid}.icon-btn:disabled{opacity:.3}.icon-btn.fav{color:#e8a317}.link-btn{color:var(--accent);cursor:pointer;text-align:left;background:0 0;border:0;padding:10px 0;font-weight:600}.danger-text{color:var(--danger)}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);flex-direction:column;gap:10px;padding:14px;display:flex}.hero strong{font-size:1.3rem}.muted{color:var(--muted)}.small{font-size:.85rem}.block{display:block}.center{text-align:center}.empty{color:var(--muted);text-align:center;padding:32px 0}.error{color:var(--danger);margin:0}.section-title{margin-top:8px}.clamp{-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0;display:-webkit-box;overflow:hidden}p{margin:0}.tags{flex-wrap:wrap;gap:6px;display:flex}.tag{background:var(--surface-2);color:var(--muted);border-radius:999px;margin-left:6px;padding:3px 10px;font-size:.8rem}.tags .tag{margin-left:0}.tag.strong{background:var(--accent-soft);color:var(--text);font-weight:600}.steps,.bullets{flex-direction:column;gap:8px;margin:0;padding-left:1.3em;display:flex}.bullets.warn li::marker{color:var(--warn)}.form{flex-direction:column;gap:14px;display:flex}.form label,.field{flex-direction:column;gap:6px;font-size:.92rem;font-weight:600;display:flex}input:not([type=checkbox]),select,textarea{border:1px solid var(--border);background:var(--surface);border-radius:12px;width:100%;min-height:48px;padding:10px 12px;font-size:16px;font-weight:400}textarea{resize:vertical}input:focus-visible,select:focus-visible,textarea:focus-visible,button:focus-visible,a:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.stepper{flex-direction:column;gap:6px;min-width:0;display:flex}.stepper-label{color:var(--muted);font-size:.85rem;font-weight:600}.stepper-row{grid-template-columns:52px 1fr 52px;gap:6px;display:grid}.stepper-row input{text-align:center;font-variant-numeric:tabular-nums;min-height:56px;padding:6px 4px;font-size:1.35rem;font-weight:700}.step-btn{border:1px solid var(--border);background:var(--surface-2);cursor:pointer;touch-action:manipulation;border-radius:12px;min-height:56px;font-size:1.5rem}.stepper-suffix{color:var(--muted);font-size:.8rem}.grid-2{grid-template-columns:1fr 1fr;gap:10px;display:grid}.grid-3{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.stepper-row.compact{grid-template-columns:1fr}.stepper-row input::placeholder{font-size:.9rem;font-weight:400}.toggles{flex-wrap:wrap;gap:8px 16px;display:flex}.switch{align-items:center;gap:8px;min-height:44px;flex-direction:row!important;display:flex!important}.switch input{width:22px;height:22px;accent-color:var(--accent)}.seg{background:var(--surface-2);border-radius:12px;gap:4px;padding:4px;display:flex;overflow-x:auto}.seg button{white-space:nowrap;cursor:pointer;background:0 0;border:0;border-radius:9px;flex:1;min-height:40px;padding:0 10px;font-size:.88rem}.seg button.on{background:var(--surface);font-weight:600;box-shadow:0 1px 3px #00000026}.filters{top:calc(56px + env(safe-area-inset-top));z-index:4;background:var(--bg);flex-direction:column;gap:8px;padding-bottom:6px;display:flex;position:sticky}.search{display:block;position:relative}.search svg{color:var(--muted);position:absolute;top:50%;left:12px;transform:translateY(-50%)}.search input{padding-left:38px}.filter-row{gap:6px;padding-bottom:2px;display:flex;overflow-x:auto}.filter-row select{flex-shrink:0;width:auto;min-height:40px;padding:6px 8px;font-size:.88rem}.chip{border:1px solid var(--border);background:var(--surface);white-space:nowrap;cursor:pointer;border-radius:12px;flex-shrink:0;align-items:center;gap:4px;min-height:40px;padding:0 12px;font-size:.88rem;display:inline-flex}.chip.on{background:var(--accent-soft);border-color:var(--accent)}.ex-list{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.ex-row{border:0;border-bottom:1px solid var(--border);text-align:left;cursor:pointer;background:0 0;align-items:center;gap:12px;width:100%;min-height:64px;padding:8px 4px;display:flex}.ex-row-text{flex-direction:column;flex:1;min-width:0;display:flex}.ex-name{align-items:center;gap:6px;font-weight:600;display:inline-flex}.ex-name svg{color:#e8a317;flex-shrink:0}.thumb{object-fit:cover;background:#fff;border-radius:8px;flex-shrink:0;width:56px;height:42px}.thumb-empty{background:var(--surface-2);color:var(--muted);place-items:center;display:grid}.flipbook{aspect-ratio:3/2;border-radius:var(--radius);cursor:pointer;background:#fff;border:0;width:100%;padding:0;display:block;position:relative;overflow:hidden}.flipbook img{object-fit:contain;width:100%;height:100%;transition:opacity .25s;position:absolute;inset:0}.flip-hint{color:#fff;background:#0000008c;border-radius:999px;padding:2px 8px;font-size:.75rem;position:absolute;bottom:8px;right:8px}.table{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%;font-size:.9rem}.table th{text-align:left;color:var(--muted);border-bottom:1px solid var(--border);padding:6px 4px;font-weight:600}.table td{border-bottom:1px solid var(--border);padding:10px 4px}.table tr{cursor:pointer}.chart{flex-direction:column;gap:8px;display:flex}.chart-readout{font-variant-numeric:tabular-nums}.chart-readout strong{font-size:1.25rem}.chart-plot{width:100%;min-height:200px}.chart-plot .u-cursor-x{border-right:1px dashed var(--muted)!important}.sheet-backdrop{z-index:30;background:#00000080;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.sheet{background:var(--bg);width:100%;max-width:640px;max-height:92dvh;padding-bottom:env(safe-area-inset-bottom);border-radius:18px 18px 0 0;flex-direction:column;animation:.2s ease-out up;display:flex}.sheet-head{justify-content:space-between;align-items:center;padding:12px 8px 4px 16px;display:flex}.sheet-body{flex-direction:column;gap:10px;padding:4px 16px 24px;display:flex;overflow-y:auto}.sheet-body .filters{top:0}@keyframes up{0%{opacity:0;transform:translateY(40px)}}.template-head{justify-content:space-between;align-items:flex-start;gap:8px;display:flex}.plan-list,.log-list,.session-list,.set-list{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.plan-item{padding:10px}.plan-item-head{align-items:center;gap:10px;display:flex}.plan-item-title{text-align:left;cursor:pointer;background:0 0;border:0;flex-direction:column;flex:1;min-width:0;padding:4px 0;display:flex}.row-actions{display:flex}.row-actions .icon-btn{width:36px}.plan-editor{border-top:1px solid var(--border);flex-direction:column;gap:10px;padding-top:6px;display:flex}.session-meta{flex-wrap:wrap;align-items:center;gap:4px;display:flex}.log-card{gap:0;padding:0}.log-card.complete:not(.open){opacity:.7}.log-head{text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:12px;width:100%;min-height:64px;padding:10px 14px;display:flex}.log-title{flex-direction:column;flex:1;min-width:0;display:flex}.log-check{background:var(--surface-2);border-radius:50%;flex-shrink:0;place-items:center;width:32px;height:32px;font-size:.9rem;font-weight:700;display:grid}.complete .log-check{background:var(--accent);color:var(--accent-ink)}.log-body{flex-direction:column;gap:12px;padding:0 14px 14px;display:flex}.last-time{background:var(--accent-soft);font-variant-numeric:tabular-nums;border-radius:10px;padding:10px 12px}.set-list{gap:4px}.set-list li{border-radius:10px;align-items:center;gap:4px;display:flex}.set-list li.editing{outline:2px solid var(--accent)}.set-row{background:var(--surface-2);text-align:left;font-variant-numeric:tabular-nums;cursor:pointer;border:0;border-radius:10px;flex:1;align-items:center;gap:12px;min-height:44px;padding:0 10px;display:flex}.set-no{color:var(--muted);width:44px;font-size:.85rem}.beat{margin-left:auto;font-size:.8rem;font-weight:700}.beat.up{color:var(--accent)}.beat.down{color:var(--muted)}.entry{flex-direction:column;gap:10px;display:flex}.note-input{min-height:44px!important}.log-foot{justify-content:space-between;display:flex}.hold-btn{flex-direction:column;gap:0;min-height:64px}.hold-btn.running{background:var(--surface-2);border-color:var(--accent)}.hold-btn.hit{background:var(--accent-soft)}.hold-time{font-variant-numeric:tabular-nums;font-size:2rem;font-weight:800;line-height:1.1}.session-row{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:8px;min-height:60px;padding:6px 0;display:flex}.session-list li:last-child .session-row{border-bottom:0}.session-list.card{gap:0;padding-top:4px;padding-bottom:4px}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}
