:root{--p-signal:#f97316;--p-strap:#8fb0dc;--p-good:#4ade80;--p-danger:#f87171;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--stage:#0a0d11;--ground:#0f1318;--surface:#171d25;--surface-2:#202833;--dock:#131920;--line:#2a3441;--line-soft:#1f2833;--ink:#eef2f7;--ink-dim:#a5b2c2;--ink-mute:#8b9aac;--signal:var(--p-signal);--signal-text:var(--p-signal);--signal-ink:#140c05;--signal-tint:color-mix(in srgb, var(--p-signal) 14%, transparent);--signal-edge:color-mix(in srgb, var(--p-signal) 42%, transparent);--signal-solid:color-mix(in srgb, var(--p-signal) 14%, var(--ground));--strap:var(--p-strap);--strap-tint:color-mix(in srgb, var(--p-strap) 13%, transparent);--strap-ink:#0f1318;--good:var(--p-good);--good-tint:color-mix(in srgb, var(--p-good) 15%, transparent);--danger:var(--p-danger);--danger-text:var(--p-danger);--danger-ink:#1c0a0a;--danger-tint:color-mix(in srgb, var(--p-danger) 15%, transparent);--danger-edge:color-mix(in srgb, var(--p-danger) 40%, transparent);--scrim:#0000009e;--bar:color-mix(in srgb, var(--p-signal) 78%, transparent);--bar-track:var(--surface-2);--bar-ghost:color-mix(in srgb, var(--p-strap) 30%, transparent);--shadow:0 18px 40px -18px #000000d9;--dock-shadow:0 -14px 28px -18px #000000e6;--s1:4px;--s2:8px;--s3:12px;--s4:16px;--s5:20px;--s6:24px;--s8:32px;--r-sm:8px;--r-md:12px;--r-lg:16px;--r-pill:999px;--tap:44px;--fast:.14s;--mid:.22s;--f-num:"Barlow Condensed","IBM Plex Sans KR",system-ui,sans-serif;--f-ui:"IBM Plex Sans KR",system-ui,-apple-system,sans-serif}@media (prefers-color-scheme:light){:root:not([data-theme=dark]){--p-signal:#e2660b;--p-strap:#2a6299;--p-good:#126b34;--p-danger:#b02b26;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--stage:#e6eaf0;--ground:#f4f6fa;--surface:#fff;--surface-2:#eef2f7;--dock:#fff;--line:#d9e0e9;--line-soft:#e7ecf2;--ink:#131920;--ink-dim:#4f5c6e;--ink-mute:#5e6b7d;--signal-ink:#1a0e03;--strap-ink:#fff;--danger-ink:#fff;--signal-text:#a8480a;--scrim:#1319206b;--shadow:0 16px 34px -20px #13192066;--dock-shadow:0 -12px 26px -20px #13192059}}:root[data-theme=light]{--p-signal:#e2660b;--p-strap:#2a6299;--p-good:#126b34;--p-danger:#b02b26;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--stage:#e6eaf0;--ground:#f4f6fa;--surface:#fff;--surface-2:#eef2f7;--dock:#fff;--line:#d9e0e9;--line-soft:#e7ecf2;--ink:#131920;--ink-dim:#4f5c6e;--ink-mute:#5e6b7d;--signal-ink:#1a0e03;--strap-ink:#fff;--danger-ink:#fff;--signal-text:#a8480a;--scrim:#1319206b;--shadow:0 16px 34px -20px #13192066;--dock-shadow:0 -12px 26px -20px #13192059}*{box-sizing:border-box}body{background:var(--stage);color:var(--ink);font-family:var(--f-ui);-webkit-font-smoothing:antialiased;margin:0}body,button,input,select{word-break:keep-all}button{font:inherit;color:inherit}:focus-visible{outline:2px solid var(--signal);outline-offset:2px}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}html,body,#root{height:100%}body{-webkit-tap-highlight-color:transparent;line-height:1.5}.app{background:var(--ground);max-width:480px;min-height:100%;padding-bottom:env(safe-area-inset-bottom);flex-direction:column;margin:0 auto;display:flex}.appbar{z-index:20;align-items:center;gap:var(--s2);padding:var(--s3) var(--s3) var(--s3);background:var(--ground);border-bottom:1px solid var(--line-soft);display:flex;position:sticky;top:0}.appbar-main{min-width:0;min-height:var(--tap);color:inherit;font:inherit;text-align:center;cursor:pointer;border-radius:var(--r-md);background:0 0;border:0;flex:1;align-content:center;padding:0;display:grid}.appbar-main:hover{background:var(--surface-2)}.appbar .date svg{width:14px;height:14px;color:var(--ink-mute);vertical-align:-2px;margin-left:2px}.appbar .date{letter-spacing:-.2px;font-size:15px;font-weight:600}.appbar .tally{color:var(--ink-mute);margin-top:1px;font-size:11.5px}.datestrip{gap:var(--s2);overscroll-behavior-x:contain;padding:var(--s2) var(--s3);background:var(--ground);border-bottom:1px solid var(--line-soft);scrollbar-width:none;display:flex;overflow-x:auto}.datestrip::-webkit-scrollbar{display:none}.ds-day{width:var(--tap);border-radius:var(--r-md);min-height:58px;color:var(--ink-dim);font:inherit;cursor:pointer;padding:var(--s1) 0;background:0 0;border:1px solid #0000;flex-direction:column;flex:none;justify-content:center;align-items:center;display:flex}.ds-day .wd{color:var(--ink-mute);font-size:10.5px;line-height:1.4}.ds-day .dd{font-family:var(--f-num);font-size:18px;font-weight:600;line-height:1.1}.ds-dot{background:0 0;border:1px solid #0000;border-radius:50%;width:5px;height:5px;margin-top:3px}.ds-day.has .ds-dot{background:var(--signal);border-color:var(--signal)}.ds-day.rest .ds-dot{border-color:var(--ink-dim)}.ds-day.today .wd{color:var(--signal-text);font-weight:600}.ds-day.today .dd{color:var(--ink)}.ds-day:hover{background:var(--surface-2)}.ds-day.on{background:var(--signal-tint);border-color:var(--signal-edge);color:var(--ink)}.ds-day.on .dd,.ds-day.on .wd{color:var(--signal-text)}.icon-btn{border-radius:var(--r-md);width:44px;height:44px;color:var(--ink-dim);cursor:pointer;background:0 0;border:0;flex:none;place-items:center;display:grid}.icon-btn:hover:not(:disabled){background:var(--surface-2);color:var(--ink)}.icon-btn:disabled{opacity:.3;cursor:default}.icon-btn.on{background:var(--signal-tint);color:var(--signal-text)}.log{gap:var(--s3);padding:var(--s3) var(--s3) 170px;flex:1;align-content:start;display:grid}.memo-wrap{padding:0 var(--s3) var(--s3)}.memo-wrap textarea,.block-memo textarea{resize:vertical;width:100%;min-height:60px;padding:var(--s3);border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface);color:var(--ink);font:inherit;font-size:13px}.memo-label{color:var(--ink-mute);margin-bottom:var(--s1);font-size:11px;display:block}.block{background:var(--surface);border:1px solid var(--line-soft);border-radius:var(--r-lg);overflow:hidden}.block-head{align-items:center;gap:var(--s2);padding:var(--s3) var(--s2) var(--s3) var(--s4);display:flex}.head-text{min-width:0;min-height:var(--tap);color:inherit;font:inherit;text-align:left;cursor:pointer;border-radius:var(--r-sm);background:0 0;border:0;flex:1;align-content:center;gap:1px;padding:0;display:grid}.head-text:hover{background:var(--surface-2)}.block.active{border-color:var(--signal-edge)}.block.active>.block-head{border-left:3px solid var(--signal);padding-left:calc(var(--s4) - 3px)}.live-chip{margin-left:var(--s2);border-radius:var(--r-pill);border:1px solid var(--signal-edge);color:var(--signal-text);padding:1px 7px;font-size:10.5px}.activate-row{justify-content:center;align-items:center;gap:var(--s2);width:100%;min-height:var(--tap);border:0;border-top:1px dashed var(--line);color:var(--ink-mute);font:inherit;cursor:pointer;background:0 0;font-size:12.5px;display:flex}.activate-row:hover{background:var(--surface-2);color:var(--ink)}.activate-row svg{width:15px;height:15px}.note-peek{align-items:center;gap:var(--s2);width:100%;min-height:var(--tap);padding:var(--s1) var(--s4) var(--s2);color:var(--ink-dim);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;font-size:12.5px;display:flex}.note-peek:hover{background:var(--surface-2)}.note-peek svg{width:14px;height:14px;color:var(--signal-text);flex:none}.note-peek span{white-space:nowrap;text-overflow:ellipsis;min-width:0;overflow:hidden}.block-memo{padding:0 var(--s4) var(--s3)}.icon-btn.has{color:var(--signal-text)}.superset{border:1px solid var(--strap);border-radius:var(--r-lg);background:var(--strap-tint);overflow:hidden}.superset.active{border-color:var(--signal)}.ss-head{align-items:center;gap:var(--s2);padding:var(--s3) var(--s4) var(--s2);display:flex}.ss-names{min-width:0;color:var(--ink-dim);white-space:nowrap;text-overflow:ellipsis;flex:1;font-size:12.5px;overflow:hidden}.ss-rounds{color:var(--strap);white-space:nowrap;font-size:11.5px}.ss-hint{margin:0 var(--s4) var(--s3);color:var(--ink-dim);font-size:11.5px}.bulk{align-items:center;gap:var(--s2);width:100%;padding-top:var(--s1);border-top:1px dashed var(--line-soft);flex-wrap:wrap;display:flex}.bulk .muted{font-size:11.5px}.rounds{padding:0 var(--s2) var(--s2)}.round{background:var(--surface);border:1px solid var(--line-soft);border-radius:var(--r-md);margin-bottom:var(--s2);overflow:hidden}.round.live{border-color:var(--signal)}.round-head{align-items:center;gap:var(--s2);padding:2px var(--s2) 2px var(--s4);background:var(--surface-2);flex-wrap:wrap;display:flex}.round-head .set-check{margin-left:auto}.round.live.warmup .leg-row.live{background:var(--surface-2)}.round-no{font-family:var(--f-num);color:var(--ink-dim);font-size:14px;font-weight:700}.round-tag{border-radius:var(--r-pill);border:1px solid var(--signal-edge);color:var(--signal-text);padding:1px 7px;font-size:10.5px}.leg-row{align-items:center;gap:var(--s2);padding:var(--s1) var(--s3);display:flex}.leg-row+.leg-row{border-top:1px solid var(--line-soft)}.leg-row.warmup{background:var(--surface-2)}.leg-row.skipped .muted{font-size:12px}.leg-row{flex-wrap:wrap}.leg-name{min-width:0;color:var(--ink-dim);white-space:normal;word-break:keep-all;flex:0 0 100%;margin-bottom:1px;font-size:12.5px}.leg-row .set-main{flex:auto;min-width:0}.leg-row.live{padding-bottom:var(--s2)}.leg-row.live .leg-name{color:var(--ink);margin-bottom:2px;font-size:13.5px;font-weight:600}.set-add-inline{flex-wrap:wrap;flex:none;align-items:center;gap:3px;display:flex}.grow{flex:1;min-width:0}.ss-tools{padding:0 var(--s2) var(--s2);flex-direction:column;gap:2px;display:flex}.ss-tools:empty{display:none}.ss-tool{align-items:center;gap:var(--s1);flex-wrap:wrap;display:flex}.ss-tool .nm{white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;font-size:12.5px;overflow:hidden}.ss-note{text-align:left;padding:0 0 var(--s1) var(--s1);color:var(--ink-mute);font:inherit;cursor:pointer;word-break:keep-all;-webkit-line-clamp:2;background:0 0;border:0;-webkit-box-orient:vertical;flex:0 0 100%;margin-top:-2px;font-size:11.5px;line-height:1.4;display:-webkit-box;overflow:hidden}.note-peek.day-note{margin:var(--s2) var(--s3) 0}.my-ex{margin:0 0 var(--s3);padding:0;list-style:none}.my-ex li{align-items:center;gap:var(--s2);padding:var(--s1) 0;border-bottom:1px solid var(--line-soft);display:flex}.my-ex li:last-child{border-bottom:0}.my-ex .nm{flex:1;min-width:0;font-size:14px}.my-ex .meta{color:var(--ink-dim);white-space:nowrap;font-size:11.5px}.danger-zone{border-color:var(--danger-tint)}.agree{align-items:center;gap:var(--s2);margin-bottom:var(--s2);display:flex}.check{align-items:center;gap:var(--s2);min-width:0;min-height:var(--tap);cursor:pointer;flex:1;font-size:13.5px;display:flex}.check input{width:22px;height:22px;accent-color:var(--signal);flex:none}.link{min-height:var(--tap);padding:0 var(--s2);color:var(--signal-text);font:inherit;cursor:pointer;white-space:nowrap;background:0 0;border:0;font-size:13px;text-decoration:underline}.small{font-size:12px}.legal-body{white-space:pre-wrap;word-break:keep-all;font:inherit;color:var(--ink-dim);margin:0 0 var(--s4);max-height:60vh;font-size:13px;line-height:1.7;overflow-y:auto}.auth.legal{text-align:left}.dup-warn{gap:var(--s3);margin-bottom:var(--s4);padding:var(--s3);border:1px solid var(--signal-edge);border-radius:var(--r-md);background:var(--surface-2);flex-direction:column;display:flex}.dup-row{align-items:center;gap:var(--s3);flex-wrap:wrap;display:flex}.dup-text{flex-direction:column;flex:1;gap:2px;min-width:8em;display:flex}.dup-text b{font-size:13px}.dup-text span{color:var(--ink-dim);font-size:11.5px}.set-note-peek{max-width:11em;margin-left:var(--s2);color:var(--ink-mute);white-space:nowrap;text-overflow:ellipsis;align-items:center;gap:3px;font-size:11.5px;display:inline-flex;overflow:hidden}.set-note-peek svg{flex:none;width:13px;height:13px}.ex-name{letter-spacing:-.2px;font-size:15px;font-weight:600}.head-sub{color:var(--ink-mute);margin-top:1px;font-size:11.5px}.ss-chip{border-radius:var(--r-pill);border:1px solid var(--strap);color:var(--strap);margin-right:var(--s2);vertical-align:middle;padding:1px 7px;font-size:10.5px}.pick-box{width:var(--tap);height:var(--tap);border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface);color:var(--ink-mute);cursor:pointer;flex:none;place-items:center;font-size:17px;display:grid}.pick-box.on{border-color:var(--signal);background:var(--signal-tint);color:var(--signal-text)}.part-chip{border-radius:var(--r-pill);background:var(--surface-2);color:var(--ink-dim);padding:2px 7px;font-size:10.5px}.sets{border-top:1px solid var(--line-soft)}.set-row{align-items:center;gap:var(--s2);padding:var(--s2) var(--s3) var(--s2) var(--s4);min-height:48px;display:flex}.set-row+.set-row{border-top:1px solid var(--line-soft)}.set-row.warmup{background:var(--surface-2)}.set-open{min-width:0;min-height:var(--tap);color:inherit;font:inherit;text-align:left;cursor:pointer;border-radius:var(--r-sm);background:0 0;border:0;flex:1;align-items:center;padding:0;display:flex}.set-open:hover{background:var(--surface-2)}.set-open svg{width:15px;height:15px;color:var(--ink-mute);margin-left:var(--s2)}.set-row.editing{align-items:stretch;gap:var(--s2);padding:var(--s3);background:var(--surface-2);border-left:3px solid var(--signal);flex-direction:column}.set-note{resize:vertical;width:100%;min-height:56px;padding:var(--s2) var(--s3);border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface);color:var(--ink);font:inherit;font-size:13px}.set-no{width:22px;font-family:var(--f-num);color:var(--ink-mute);text-align:center;flex:none;font-size:15px}.set-main{flex-wrap:wrap;flex:1;align-items:baseline;gap:3px;min-width:0;display:flex}.set-main b{font-family:var(--f-num);font-size:20px;font-weight:600}.set-main i{color:var(--ink-mute);margin-right:var(--s1);font-size:11.5px;font-style:normal}.set-main i .side{color:var(--ink-dim);font-weight:600}.set-main .x{color:var(--ink-mute);margin:0 5px 0 0;font-size:12px}.tag{border-radius:var(--r-pill);border:1px solid var(--danger-tint);color:var(--danger-text);padding:1px 7px;font-size:10.5px}.tag.warm{border-color:var(--signal-edge);color:var(--signal-text)}.note-dot{color:var(--ink-mute);font-size:11px}.set-add{align-items:center;gap:var(--s2);padding:var(--s2) var(--s3);border-top:1px dashed var(--line);background:var(--surface-2);flex-wrap:wrap;display:flex}.num-in{width:68px;min-height:var(--tap);padding:var(--s2);border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface);color:var(--ink);font-family:var(--f-num);text-align:center;font-size:18px}.num-in::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.num-in::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.num-in{-moz-appearance:textfield}.in-unit{color:var(--ink-mute);margin-left:-4px;font-size:11.5px}.btn{min-height:44px;padding:0 var(--s4);border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface);color:var(--ink);font:inherit;cursor:pointer;justify-content:center;align-items:center;gap:var(--s2);font-size:13px;font-weight:600;display:inline-flex}.btn:hover:not(:disabled){background:var(--surface-2)}.btn:disabled{opacity:.45;cursor:default}.btn.primary{background:var(--signal);border-color:var(--signal);color:var(--signal-ink)}.btn.primary:hover:not(:disabled){filter:brightness(1.06)}.btn.ghost{color:var(--ink-dim);background:0 0;border-color:#0000}.btn.danger{color:var(--danger-text);border-color:var(--danger-tint)}.btn.sm{min-height:var(--tap);padding:0 var(--s3);font-size:12.5px}.btn.wide{width:100%}.dock{left:50%;bottom:calc(56px + env(safe-area-inset-bottom));z-index:30;width:100%;max-width:480px;padding:var(--s3) var(--s3) calc(var(--s3) + env(safe-area-inset-bottom));background:var(--ground);border-top:1px solid var(--line-soft);position:fixed;transform:translate(-50%)}.block.pad{padding:var(--s4)}.block-title{margin:0 0 var(--s3);color:var(--ink-dim);font-size:13px}.big{font-family:var(--f-num);font-size:34px;font-weight:600;line-height:1}.big small{color:var(--ink-mute);font-size:13px;font-weight:400;font-family:var(--f-ui);margin-left:2px}.delta{white-space:nowrap;font-size:12px}.delta.up{color:var(--good)}.delta.down{color:var(--danger-text)}.delta.flat,.delta.new{color:var(--ink-mute)}.dow-row{gap:var(--s1);margin-top:var(--s4);grid-template-columns:repeat(7,1fr);display:grid}.dow{justify-items:center;gap:var(--s1);color:var(--ink-mute);font-size:11px;display:grid}.dow i{border-radius:var(--r-pill);background:var(--surface-2);width:100%;height:6px}.dow.on{color:var(--ink);font-weight:600}.dow.on i{background:var(--signal)}.bars{gap:var(--s3);display:grid}.bar-row{align-items:center;gap:var(--s2);grid-template-columns:34px 1fr auto auto;display:grid}.bar-name{font-size:12.5px}.bar-track{border-radius:var(--r-pill);background:var(--surface-2);height:8px;overflow:hidden}.bar-track i{background:var(--signal);border-radius:inherit;height:100%;display:block}.bar-val{font-family:var(--f-num);white-space:nowrap;font-size:16px}.bar-val small{font-family:var(--f-ui);color:var(--ink-mute);margin-left:3px;font-size:11px}.tabbar{z-index:40;width:100%;max-width:480px;padding-bottom:env(safe-area-inset-bottom);background:var(--dock);border-top:1px solid var(--line);display:flex;position:fixed;bottom:0;left:50%;transform:translate(-50%)}.tab{min-height:56px;color:var(--ink-mute);font:inherit;cursor:pointer;background:0 0;border:0;flex:1;place-items:center;gap:2px;font-size:11px;display:grid;position:relative}.tab svg{width:21px;height:21px}.tab.on{color:var(--signal-text);font-weight:600}.tab.on svg{stroke-width:2.2px}.tab-pip{background:var(--signal);border:1px solid var(--dock);border-radius:50%;width:7px;height:7px;margin-left:8px;position:absolute;top:9px;left:50%}.sheet.cal .sheet-head h2{text-align:center;font-family:var(--f-num);font-size:17px}.cal-dow,.cal-grid{grid-template-columns:repeat(7,1fr);display:grid}.cal-dow{margin-bottom:var(--s2)}.cal-dow span{text-align:center;color:var(--ink-mute);font-size:11px}.cal-grid{gap:2px}.cal-day{min-height:var(--tap);border-radius:var(--r-md);color:var(--ink);font:inherit;cursor:pointer;background:0 0;border:1px solid #0000;align-content:center;place-items:center;gap:2px;display:grid}.cal-day .n{font-family:var(--f-num);font-size:16px}.cal-day i{background:0 0;border:1px solid #0000;border-radius:2px;width:18px;height:4px}.cal-day.has i{background:var(--signal);border-color:var(--signal)}.cal-day.has .n{color:var(--signal-text);font-weight:700}.cal-day.rest i{border-color:var(--ink-dim);background:0 0}.cal-day.rest .n{color:var(--ink-dim)}.cal-day.on.has i{border-color:var(--signal-text)}.cal-legend{align-items:center;gap:var(--s1);color:var(--ink-dim);font-size:11.5px;display:inline-flex}.cal-legend i{width:14px;height:4px;margin-left:var(--s2);border:1px solid #0000;border-radius:2px}.cal-legend .d-has{background:var(--signal);border-color:var(--signal)}.cal-legend .d-rest{border-color:var(--ink-dim)}.cal-month{margin:0 0 var(--s2);text-align:center;font-size:14px;font-weight:600}.cal-hint{margin:0 0 var(--s3);color:var(--ink-dim);font-size:12px}.toolrow{margin:0 var(--s3) var(--s2);background:var(--line-soft);border:1px solid var(--line-soft);border-radius:var(--r-md);gap:1px;display:flex;overflow:hidden}.tool{min-width:0;min-height:var(--tap);background:var(--surface);color:var(--ink-dim);font:inherit;white-space:nowrap;cursor:pointer;border:0;flex:1;justify-content:center;align-items:center;gap:5px;font-size:12px;display:flex}.tool svg{flex:none;width:15px;height:15px}.tool:hover:not(:disabled){background:var(--surface-2);color:var(--ink)}.tool:disabled{opacity:.45;cursor:default}.tool.on{background:var(--signal-tint);color:var(--signal-text);font-weight:600}.tool.go{color:var(--signal-text);font-weight:600}.segbar{margin:var(--s2) var(--s3) 0;background:var(--surface-2);border-radius:var(--r-pill);gap:2px;padding:2px;display:flex}.seg{min-height:var(--tap);border-radius:var(--r-pill);color:var(--ink-dim);font:inherit;cursor:pointer;background:0 0;border:0;flex:1;font-size:13px}.seg.on{background:var(--surface);color:var(--ink);font-weight:600}.seg:disabled{opacity:.45;cursor:default}.timer-row{margin:var(--s3) var(--s3) 0;gap:var(--s2)}.timer-row .muted{font-size:12px}.time-wrap .segbar{margin-inline:0}.routine-card .activate-row.go{color:var(--signal-text);font-weight:600}.routine-items{padding:0 var(--s4) var(--s2);color:var(--ink-dim);margin:0;font-size:12.5px}.routine-note{margin:var(--s2) 0 0;color:var(--ink-mute);word-break:keep-all;font-size:11.5px;line-height:1.5}.routine-note b{color:var(--ink-dim);font-weight:600}.ri-name{align-items:center;gap:var(--s2);padding:var(--s2) var(--s2) 0 var(--s4);display:flex}.ri-name .ex-name{flex:1;min-width:0}.ri-row{align-items:center;gap:var(--s1);padding:0 var(--s2) var(--s1) var(--s4);display:flex}.ri-row .muted{font-size:11.5px}.ri-sets{align-items:center;gap:var(--s1);flex:none;display:flex}.ri-sets b{font-family:var(--f-num);text-align:center;min-width:1.4em;font-size:17px}.stopwatch{align-items:center;gap:var(--s2);margin:0 var(--s3) var(--s2);padding:var(--s2) var(--s3);background:var(--signal-tint);border:1px solid var(--signal-edge);border-radius:var(--r-md);display:flex}.stopwatch.paused{background:var(--surface-2);border-color:var(--line)}.stopwatch.paused .clock{color:var(--ink-dim)}.stopwatch.paused .run-dot{background:var(--ink-mute);animation:none}.clock{font-family:var(--f-num);color:var(--signal-text);letter-spacing:.5px;font-variant-numeric:tabular-nums;font-size:26px;font-weight:600}.run-dot{background:var(--signal);border-radius:50%;flex:none;width:9px;height:9px;animation:2s ease-in-out infinite run-pulse}@keyframes run-pulse{0%,to{opacity:1}50%{opacity:.35}}@media (prefers-reduced-motion:reduce){.run-dot{animation:none}}.timegrid{gap:var(--s2) var(--s3);grid-template-columns:auto 1fr;align-items:center;display:grid}.tg-label{color:var(--ink-dim);font-size:12.5px}.tg-mins,.timefields{align-items:center;gap:var(--s1);display:flex}.tf{min-height:var(--tap);padding:0 var(--s2);border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface);color:var(--ink);font-family:var(--f-num);font-size:17px}.tf:disabled{opacity:.5}.tf.ampm{font-family:var(--f-ui);font-size:13px}.tf-sep{color:var(--ink-mute)}.dur{font-family:var(--f-num);color:var(--signal-text);font-size:17px}.num-in.wide{width:68px}.cal-day:hover:not(:disabled){background:var(--surface-2)}.cal-day.today{border-color:var(--line)}.cal-day.on{background:var(--signal-tint);border-color:var(--signal);color:var(--signal-text)}.cal-day:disabled{opacity:.28;cursor:default}.cal-quick{margin-top:var(--s4)}.kv{gap:var(--s2) var(--s3);grid-template-columns:5.5em 1fr;margin:0;font-size:13px;display:grid}.kv dt{color:var(--ink-mute)}.kv dd{word-break:break-all;margin:0}.kv a{color:var(--strap)}.empty{text-align:center;padding:var(--s8) var(--s4);color:var(--ink-mute)}.empty h2{color:var(--ink-dim);margin:0 0 var(--s2);font-size:15px}.empty p{margin:0 0 var(--s4);font-size:13px}.scrim{background:var(--scrim);z-index:40;position:fixed;inset:0}.sheet{z-index:50;background:var(--ground);border-radius:var(--r-lg) var(--r-lg) 0 0;border:1px solid var(--line-soft);flex-direction:column;width:100%;max-width:480px;max-height:88vh;display:flex;position:fixed;bottom:0;left:50%;transform:translate(-50%)}.sheet-head{align-items:center;gap:var(--s2);padding:var(--s3) var(--s2) var(--s3) var(--s4);border-bottom:1px solid var(--line-soft);display:flex}.sheet-head h2{flex:1;margin:0;font-size:15px}.sheet-body{padding:var(--s3) var(--s3) var(--s6);flex:1;overflow-y:auto}.search{width:100%;min-height:44px;padding:0 var(--s3);border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface);color:var(--ink);font:inherit;font-size:14px}.chips{gap:var(--s2);margin:var(--s3) 0;flex-wrap:wrap;display:flex}.chip-btn{min-height:var(--tap);padding:0 var(--s4);border:1px solid var(--line);border-radius:var(--r-pill);background:var(--surface);color:var(--ink-dim);font:inherit;cursor:pointer;font-size:12.5px}.chip-btn.on{background:var(--signal-tint);border-color:var(--signal);color:var(--signal-text)}.ex-list{background:var(--line-soft);border-radius:var(--r-md);gap:1px;display:grid;overflow:hidden}.ex-item{align-items:center;gap:var(--s3);min-height:52px;padding:var(--s2) var(--s3);text-align:left;background:var(--surface);width:100%;color:var(--ink);font:inherit;cursor:pointer;border:0;display:flex}.ex-item:hover{background:var(--surface-2)}.section-label{color:var(--ink-mute);margin:var(--s3) 0 var(--s2);font-size:11px;font-weight:600}.new-ex{gap:var(--s4);display:grid}.new-ex .field{gap:var(--s2);display:grid}.new-ex label{font-size:12.5px;font-weight:600}.new-ex label .muted{margin-left:var(--s2);font-weight:400}.new-ex .chips{margin:0}.track-picks{gap:var(--s2);display:grid}.track-pick{text-align:left;min-height:var(--tap);padding:var(--s2) var(--s3);border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface);color:var(--ink);font:inherit;cursor:pointer;gap:2px;display:grid}.track-pick.on{border-color:var(--signal);background:var(--signal-tint)}.track-pick b{font-size:13.5px}.track-pick span{color:var(--ink-mute);font-size:11.5px}.ex-item .nm{flex:1;min-width:0;font-size:14px;font-weight:500}.ex-item .meta{color:var(--ink-mute);font-size:11px}.auth{max-width:380px;padding:var(--s8) var(--s4);gap:var(--s4);margin:0 auto;display:grid}.auth h1{letter-spacing:-.4px;margin:0;font-size:22px}.auth .field{gap:var(--s1);display:grid}.auth label{color:var(--ink-mute);font-size:12px}.auth input{min-height:48px;padding:0 var(--s3);border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface);color:var(--ink);font:inherit;font-size:15px}.error{padding:var(--s3);border-radius:var(--r-md);background:var(--danger-tint);color:var(--danger-text);font-size:13px}.muted{color:var(--ink-mute);font-size:12px}.row{align-items:center;gap:var(--s2);display:flex}.row.wrap{flex-wrap:wrap}.spacer{flex:1}@media (prefers-reduced-motion:reduce){*{transition-duration:.01ms!important;animation-duration:.01ms!important}}.set-check{min-width:var(--tap);min-height:var(--tap);cursor:pointer;background:0 0;border:0;flex:none;justify-content:center;align-items:center;padding:0;display:inline-flex}.set-check:disabled{cursor:default;opacity:.5}.set-check svg{width:30px;height:30px}.set-check.done{color:var(--signal)}.set-check.warm{color:var(--strap)}.set-check.todo{color:var(--ink-mute)}.set-check.done circle,.set-check.warm circle{fill:currentColor}.set-check.done path{stroke:var(--signal-ink);stroke-width:2.4px}.set-check.warm path{stroke:var(--strap-ink);stroke-width:2.4px}.set-check.todo circle{stroke-width:2px}.set-check.todo path{display:none}.set-check.some{color:var(--signal)}.set-check.some circle{stroke-width:2.4px}.set-check.some path{display:none}.set-check.some .dash{stroke-width:2.6px;display:inline}.set-check .dash{display:none}.ring-done{width:var(--tap);height:var(--tap);color:var(--signal);flex:none;justify-content:center;align-items:center;display:inline-flex}.ring-done svg{width:30px;height:30px}.ring-done .rc-outer{stroke:currentColor;stroke-width:2px;fill:none}.ring-done .rc-disc{fill:currentColor;stroke:none}.ring-done .rc-tick{stroke:var(--signal-ink);stroke-width:2.4px;fill:none}.menu{flex:none;position:relative}.menu-pop.up{top:auto;bottom:calc(100% + 2px)}.menu-pop{z-index:30;min-width:11em;max-width:min(74vw,17em);padding:var(--s1) 0;border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface-2);box-shadow:var(--shadow);position:absolute;top:calc(100% + 2px);right:0}.menu-item{width:100%;min-height:var(--tap);padding:var(--s2) var(--s4);color:var(--ink);font:inherit;text-align:left;cursor:pointer;word-break:keep-all;background:0 0;border:0;align-items:center;font-size:14px;line-height:1.45;display:flex}.menu-item:hover{background:var(--surface)}.menu-item.danger{color:var(--danger-text)}.live-top{z-index:22;background:var(--ground);position:sticky;top:0}.stopwatch.big{padding:var(--s4) var(--s3);background:var(--signal-solid);border-bottom-width:2px}.stopwatch.big .clock{letter-spacing:.01em;font-size:38px}.stopwatch.big .btn{padding:var(--s2) var(--s3)}.undo-row{padding:var(--s1) var(--s4);border-bottom:1px solid var(--line-soft);align-items:center;display:flex}.btn.undo{align-items:center;gap:var(--s1);min-height:var(--tap);padding:0 var(--s3);color:var(--ink-dim);background:0 0;border-color:#0000;font-size:12.5px;display:inline-flex}.btn.undo svg{width:14px;height:14px}.btn.undo:hover{background:var(--surface-2);color:var(--ink)}.live-tally{padding:var(--s2) var(--s4) 0;color:var(--ink-dim);text-align:center;margin:0;font-size:13px}.live-tally b{color:var(--signal-text);font-family:var(--f-num);font-size:16px}.back-live{align-items:center;gap:var(--s2);width:100%;min-height:var(--tap);padding:var(--s2) var(--s4);border:0;border-bottom:1px solid var(--signal-edge);background:var(--signal-tint);color:var(--ink);font:inherit;text-align:left;cursor:pointer;font-size:13px;display:flex}.back-live b{font-weight:600}.back-live .go{color:var(--signal-text);margin-left:auto;font-size:12.5px;font-weight:600}.stop-sum{gap:var(--s2);font-family:var(--f-num);color:var(--ink-dim);flex-wrap:wrap;font-size:16px;display:flex}.stop-sum b{color:var(--ink);font-weight:600}.warnbox{background:var(--danger-tint);border:1px solid var(--danger-edge);border-radius:var(--r-md);padding:var(--s2) var(--s3);flex-direction:column;gap:2px;display:flex}.warnbox .t{color:var(--danger-text);font-size:13px;font-weight:600}.warnbox .l{color:var(--ink-dim);font-size:12.5px;line-height:1.5}.choice{align-items:flex-start;gap:var(--s2);width:100%;padding:var(--s3);border-radius:var(--r-md);border:1px solid var(--line);background:var(--surface-2);color:inherit;font:inherit;text-align:left;cursor:pointer;display:flex}.choice.sel{border-color:var(--signal);background:var(--signal-tint)}.choice .rad{border:2px solid var(--ink-mute);border-radius:50%;flex:none;width:16px;height:16px;margin-top:3px}.choice.sel .rad{border-color:var(--signal);background:var(--signal);box-shadow:inset 0 0 0 3px var(--surface)}.choice .ct{flex-direction:column;gap:1px;min-width:0;display:flex}.choice .ct b{font-size:13.5px;font-weight:600}.choice .ct span{color:var(--ink-dim);font-size:12px;line-height:1.5}.pickbar{align-items:center;gap:var(--s2);padding:var(--s2) var(--s2) var(--s2) var(--s4);background:var(--surface-2);border-bottom:1px solid var(--line-soft);color:var(--ink-dim);font-size:12px;display:flex}.pickbar .n{flex:1}.pickbar .n b{color:var(--ink);font-variant-numeric:tabular-nums}.set-row.picking{align-items:center;gap:var(--s2);width:100%;min-height:var(--tap);padding:0 var(--s3);color:var(--ink);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;display:flex}.set-row.picking.on{background:var(--danger-tint)}.sel-box{border-radius:var(--r-sm);border:2px solid var(--ink-mute);color:#0000;flex:none;justify-content:center;align-items:center;width:22px;height:22px;display:inline-flex}.sel-box svg{width:15px;height:15px}.sel-box.on{border-color:var(--danger);background:var(--danger);color:var(--danger-ink)}.set-check.todo:hover{color:var(--signal-edge)}.set-row.todo .set-main,.leg-row.todo .set-main{opacity:.55}.leg-open{min-width:0;min-height:var(--tap);text-align:left;color:inherit;font:inherit;cursor:pointer;background:0 0;border:0;flex:1;padding:0}.leg-open.muted{color:var(--ink-mute);font-size:12px}.leg-row.editing{padding-bottom:var(--s2);background:var(--surface-2);flex-wrap:wrap}.leg-row.editing .leg-name{white-space:normal;color:var(--ink);flex:0 0 100%;margin-bottom:2px;font-size:13.5px;font-weight:600}.past-day{padding:var(--s2) 0;border-bottom:1px solid var(--line-soft)}.past-day:last-child{border-bottom:0}.past-head{align-items:baseline;gap:var(--s2);display:flex}.past-head .nm{font-size:14px;font-weight:600}.past-head .meta{color:var(--ink-mute);font-size:12px}.past-day .names{color:var(--ink-mute);margin:2px 0 var(--s2);text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}ul.routine-items{padding:0 var(--s3) var(--s2);margin:0;list-style:none}ul.routine-items li{align-items:baseline;gap:var(--s2);padding:3px 0;font-size:12.5px;display:flex}ul.routine-items li+li{border-top:1px solid var(--line-soft)}ul.routine-items .nm{min-width:0;color:var(--ink-dim);white-space:nowrap;text-overflow:ellipsis;flex:1;overflow:hidden}ul.routine-items .sets{font-family:var(--f-num);color:var(--ink-mute);flex:none;font-size:13px}button.cal-month{justify-content:center;align-items:center;gap:var(--s2);width:100%;min-height:var(--tap);color:var(--ink);font:inherit;cursor:pointer;background:0 0;border:0;font-size:15px;font-weight:600;display:flex}button.cal-month:disabled{color:var(--ink);cursor:default}.ym-grid{gap:var(--s2);padding:var(--s2) var(--s1) var(--s3);grid-template-columns:repeat(4,1fr);display:grid}.ym-cell{min-height:var(--tap);border-radius:var(--r-md);border:1px solid var(--line);background:var(--surface);color:var(--ink-dim);font-family:var(--f-num);cursor:pointer;font-size:15px}.ym-cell.on{border-color:var(--signal);color:var(--signal);background:var(--signal-tint)}.ym-cell:disabled{opacity:.35;cursor:default}
