:root{--bg:#0b0d10;--surface:#14181d;--surface-2:#1c2128;--surface-3:#262d36;--border:#2b323b;--text:#eef2f6;--muted:#8b97a6;--dim:#5f6b7a;--accent:#ff5c2e;--accent-dim:#7a2a15;--on-accent:#fff;--good:#2ecc71;--good-dim:#17402a;--on-good:#06210f;--warn:#ffc043;--danger:#ff4d4f;--radius:14px;--tap:44px;--safe-top:env(safe-area-inset-top,0px);--safe-bottom:env(safe-area-inset-bottom,0px);--nav-h:58px;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{overscroll-behavior-y:none;height:100%;margin:0;padding:0}body{background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;font:15px/1.45 -apple-system,BlinkMacSystemFont,SF Pro Text,system-ui,Segoe UI,Roboto,sans-serif}#root{min-height:100%}input,button,select,textarea{font:inherit;color:inherit}input,textarea,select{font-size:16px}button{cursor:pointer;background:0 0;border:none}a{color:inherit;text-decoration:none}.app{min-height:100dvh;padding-bottom:calc(var(--nav-h) + var(--safe-bottom))}.app.no-nav{padding-bottom:var(--safe-bottom)}.topbar{z-index:20;padding:calc(var(--safe-top) + 10px) 16px 10px;background:color-mix(in srgb, var(--bg) 88%, transparent);-webkit-backdrop-filter:saturate(160%)blur(14px);border-bottom:1px solid var(--border);min-height:calc(var(--safe-top) + 52px);align-items:center;gap:10px;display:flex;position:sticky;top:0}.topbar h1{letter-spacing:-.02em;text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;margin:0;font-size:20px;font-weight:700;overflow:hidden}.topbar .spacer{flex:1}.page{max-width:720px;margin:0 auto;padding:14px 16px 24px}.nav{z-index:30;background:color-mix(in srgb, var(--bg) 92%, transparent);-webkit-backdrop-filter:saturate(160%)blur(14px);border-top:1px solid var(--border);padding-bottom:var(--safe-bottom);grid-template-columns:repeat(4,1fr);display:grid;position:fixed;bottom:0;left:0;right:0}.nav a{height:var(--nav-h);letter-spacing:.02em;color:var(--dim);flex-direction:column;justify-content:center;align-items:center;gap:3px;font-size:10.5px;font-weight:600;display:flex}.nav a.active{color:var(--accent)}.nav svg{width:22px;height:22px}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:14px}.card+.card{margin-top:10px}.btn{min-height:var(--tap);background:var(--surface-2);color:var(--text);border:1px solid var(--border);border-radius:11px;justify-content:center;align-items:center;gap:7px;padding:0 16px;font-size:15px;font-weight:600;transition:filter .12s;display:inline-flex}.btn:active{filter:brightness(1.35)}.btn svg,.list-item svg,.setting-row svg,.exercise-head svg{flex:none;width:19px;height:19px}.btn.primary{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.btn.good{background:var(--good);border-color:var(--good);color:var(--on-good)}.btn.ghost{color:var(--accent);background:0 0;border-color:#0000}.btn.danger{color:var(--danger);border-color:var(--border);background:0 0}.btn.block{width:100%}.btn.sm{border-radius:9px;min-height:34px;padding:0 11px;font-size:13.5px}.btn:disabled{opacity:.4}.icon-btn{width:var(--tap);height:var(--tap);color:var(--text);border-radius:50%;flex:none;justify-content:center;align-items:center;margin:-6px;display:inline-flex}.icon-btn:active{background:var(--surface-2)}.icon-btn svg{width:22px;height:22px}.input{width:100%;min-height:var(--tap);background:var(--surface-2);border:1px solid var(--border);border-radius:11px;outline:none;padding:0 12px}.input:focus{border-color:var(--accent)}textarea.input{resize:vertical;min-height:76px;padding:11px 12px;line-height:1.5}.field{margin-bottom:12px}.field label{color:var(--muted);text-transform:uppercase;letter-spacing:.05em;margin-bottom:6px;font-size:12.5px;font-weight:600;display:block}.row{align-items:center;gap:10px;display:flex}.row.between{justify-content:space-between}.stack{flex-direction:column;gap:10px;display:flex}.muted{color:var(--muted)}.dim{color:var(--dim)}.small{font-size:13px}.tiny{font-size:11.5px}.mono{font-variant-numeric:tabular-nums}.section-title{text-transform:uppercase;letter-spacing:.08em;color:var(--dim);margin:22px 0 9px;font-size:12px;font-weight:700}.section-title:first-child{margin-top:4px}.empty{text-align:center;color:var(--muted);padding:44px 20px}.empty h3{color:var(--text);margin:0 0 6px;font-size:17px}.empty p{margin:0 0 18px;font-size:14px}.chip{background:var(--surface-2);border:1px solid var(--border);color:var(--muted);white-space:nowrap;border-radius:999px;align-items:center;gap:5px;padding:4px 9px;font-size:12px;font-weight:600;display:inline-flex}.chip.pr{background:var(--accent-dim);border-color:var(--accent);color:#ffd9cd}.chip.on{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.stats{background:var(--border);border-radius:var(--radius);border:1px solid var(--border);grid-template-columns:repeat(3,1fr);gap:1px;display:grid;overflow:hidden}.stats>div{background:var(--surface);text-align:center;padding:12px 10px}.stats .v{font-variant-numeric:tabular-nums;letter-spacing:-.02em;font-size:19px;font-weight:700}.stats .k{color:var(--dim);text-transform:uppercase;letter-spacing:.06em;margin-top:2px;font-size:10.5px}.list-item{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);text-align:left;align-items:center;gap:12px;width:100%;padding:13px 14px;display:flex}.list-item:active{background:var(--surface-2)}.list-item .grow{flex:1;min-width:0}.list-item .name{text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.divider{background:var(--border);height:1px;margin:14px 0}.exercise-block{margin-bottom:14px}.exercise-head{align-items:center;gap:8px;padding:0 2px 8px;display:flex}.exercise-head .title{min-width:0;color:var(--accent);text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:15.5px;font-weight:700;overflow:hidden}.set-grid{grid-template-columns:42px 1fr 62px 58px 46px;align-items:center;gap:6px;display:grid}.set-grid.with-rpe{grid-template-columns:40px 1fr 58px 52px 44px 44px}.set-grid .head{text-transform:uppercase;letter-spacing:.06em;color:var(--dim);text-align:center;padding-bottom:2px;font-size:10.5px;font-weight:700}.set-row{display:contents}.set-cell{border-radius:9px;justify-content:center;align-items:center;min-height:42px;display:flex}.set-row.done .set-cell{background:var(--good-dim)}.set-num{font-variant-numeric:tabular-nums;font-size:14px;font-weight:700}.set-num.warmup{color:var(--warn)}.set-num.drop{color:#8e7bff}.set-num.failure{color:var(--danger)}.prev{color:var(--dim);font-variant-numeric:tabular-nums;text-overflow:ellipsis;white-space:nowrap;justify-content:center;font-size:12.5px;overflow:hidden}.num-input{text-align:center;background:var(--surface-2);border:1px solid var(--border);font-variant-numeric:tabular-nums;-moz-appearance:textfield;border-radius:9px;outline:none;width:100%;height:42px;font-weight:600}.num-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.num-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.num-input:focus{border-color:var(--accent);background:var(--surface-3)}.set-row.done .num-input{background:0 0;border-color:#0000}.check{background:var(--surface-2);border:1px solid var(--border);width:42px;height:42px;color:var(--dim);border-radius:9px;justify-content:center;align-items:center;display:flex}.check.on{background:var(--good);border-color:var(--good);color:var(--on-good)}.check svg{width:20px;height:20px}.rest-bar{left:8px;right:8px;bottom:calc(var(--nav-h) + var(--safe-bottom) + 8px);z-index:40;background:var(--surface-3);border:1px solid var(--border);border-radius:var(--radius);align-items:center;gap:10px;max-width:720px;margin:0 auto;padding:10px 12px;display:flex;position:fixed;overflow:hidden;box-shadow:0 8px 28px #0000008c}.rest-bar.done{background:var(--good-dim);border-color:var(--good)}.rest-bar .fill{background:color-mix(in srgb, var(--accent) 26%, transparent);pointer-events:none;transition:width .25s linear;position:absolute;inset:0 auto 0 0}.rest-bar>*{position:relative}.rest-time{font-variant-numeric:tabular-nums;letter-spacing:-.02em;min-width:62px;font-size:22px;font-weight:700}.scrim{z-index:50;background:#0009;justify-content:center;align-items:flex-end;animation:.16s fade;display:flex;position:fixed;inset:0}@keyframes fade{0%{opacity:0}}.sheet{background:var(--surface);border-top:1px solid var(--border);width:100%;max-width:720px;max-height:88dvh;padding:8px 16px calc(16px + var(--safe-bottom));border-radius:18px 18px 0 0;animation:.2s cubic-bezier(.2,.9,.3,1) rise;overflow-y:auto}@keyframes rise{0%{transform:translateY(14%)}}.sheet .grip{background:var(--surface-3);border-radius:2px;width:38px;height:4px;margin:4px auto 12px}.sheet h2{margin:0 0 12px;font-size:17px}.sheet-action{text-align:left;border-bottom:1px solid var(--border);align-items:center;gap:11px;width:100%;padding:14px 4px;font-size:15.5px;display:flex}.sheet-action:last-child{border-bottom:none}.sheet-action.danger{color:var(--danger)}.sheet-action svg{width:20px;height:20px;color:var(--muted);flex:none}.chart{aspect-ratio:320/152;width:100%;height:auto;display:block;overflow:visible}.chart .line{fill:none;stroke:var(--accent);stroke-width:2px;stroke-linejoin:round;stroke-linecap:round}.chart .area{fill:color-mix(in srgb, var(--accent) 16%, transparent)}.chart .dot{fill:var(--accent)}.chart .grid{stroke:var(--border);stroke-width:1px}.chart text{fill:var(--dim);font-size:10px}.bars{align-items:flex-end;gap:3px;height:72px;display:flex}.bars .bar{background:var(--surface-3);border-radius:3px 3px 0 0;flex:1;min-height:3px}.bars .bar.on{background:var(--accent)}.toast{left:50%;bottom:calc(var(--nav-h) + var(--safe-bottom) + 74px);z-index:60;background:var(--surface-3);border:1px solid var(--border);color:var(--text);text-align:center;border-radius:999px;max-width:calc(100vw - 32px);padding:11px 16px;font-size:14px;font-weight:600;animation:.18s rise;position:fixed;transform:translate(-50%);box-shadow:0 8px 28px #00000080}.switch{background:var(--surface-3);border:1px solid var(--border);border-radius:999px;flex:none;width:50px;height:30px;transition:background .15s;position:relative}.switch.on{background:var(--good);border-color:var(--good)}.switch:after{content:"";background:#fff;border-radius:50%;width:22px;height:22px;transition:transform .15s;position:absolute;top:3px;left:3px}.switch.on:after{transform:translate(20px)}.setting-row{border-bottom:1px solid var(--border);align-items:center;gap:12px;padding:13px 0;display:flex}.setting-row:last-child{border-bottom:none}.setting-row .grow{flex:1;min-width:0}.segmented{background:var(--surface-2);border:1px solid var(--border);border-radius:11px;gap:3px;padding:3px;display:flex}.segmented button{min-height:34px;color:var(--muted);border-radius:8px;flex:1;font-size:13.5px;font-weight:600}.segmented button.on{background:var(--surface-3);color:var(--text)}.search-wrap{position:relative}.search-wrap svg{width:18px;height:18px;color:var(--dim);pointer-events:none;position:absolute;top:50%;left:12px;transform:translateY(-50%)}.search-wrap .input{padding-left:38px}.scroll-x{scrollbar-width:none;gap:7px;margin:0 -16px;padding-bottom:4px;padding-left:16px;padding-right:16px;display:flex;overflow-x:auto}.scroll-x::-webkit-scrollbar{display:none}.scroll-x .chip{padding:7px 13px;font-size:13px}.update-banner{left:8px;right:8px;bottom:calc(var(--nav-h) + var(--safe-bottom) + 8px);z-index:45;background:var(--surface-3);border:1px solid var(--accent);border-radius:var(--radius);align-items:center;gap:12px;max-width:720px;margin:0 auto;padding:11px 12px;display:flex;position:fixed;box-shadow:0 8px 28px #0000008c}.update-banner .grow{flex:1;min-width:0}.rest-bar~.update-banner{bottom:calc(var(--nav-h) + var(--safe-bottom) + 74px)}.app.no-nav .update-banner{bottom:calc(var(--safe-bottom) + 8px)}.app.no-nav .rest-bar~.update-banner{bottom:calc(var(--safe-bottom) + 76px + 66px)}.rest-lock{z-index:80;background:var(--bg);padding:calc(var(--safe-top) + 24px) 24px calc(var(--safe-bottom) + 24px);touch-action:none;-webkit-user-select:none;user-select:none;justify-content:center;align-items:center;animation:.18s fade;display:flex;position:fixed;inset:0}.rest-lock.done{background:linear-gradient(180deg, var(--good-dim) 0%, var(--bg) 62%)}.rest-lock-inner{text-align:center;flex-direction:column;align-items:center;gap:14px;width:100%;max-width:380px;display:flex}.rest-lock-time{letter-spacing:-.04em;font-variant-numeric:tabular-nums;font-size:76px;font-weight:800;line-height:1}.rest-lock.done .rest-lock-time{color:var(--good)}.rest-lock-track{background:var(--surface-2);border-radius:3px;width:100%;height:6px;overflow:hidden}.rest-lock-fill{background:var(--accent);height:100%;transition:width .25s linear}.hold-btn{border:1px solid var(--border);background:var(--surface-2);touch-action:none;border-radius:14px;width:100%;min-height:58px;margin-top:10px;font-size:16px;font-weight:700;position:relative;overflow:hidden}.hold-fill{background:var(--accent);pointer-events:none;position:absolute;inset:0 auto 0 0}.hold-btn.armed{border-color:var(--good)}.hold-btn.armed .hold-fill{background:var(--good)}.hold-label{position:relative}.theme-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px;display:grid}.theme-card{border:1px solid var(--border);border-radius:var(--radius);text-align:left;padding:11px;transition:transform .1s}.theme-card:active{transform:scale(.98)}.theme-card.on{border-width:2px;padding:10px}.theme-swatches{gap:4px;margin-bottom:9px;display:flex}.theme-swatches span{border-radius:5px;flex:1;height:22px}.theme-name{font-size:14px;font-weight:700}.theme-blurb{margin-top:1px;font-size:11.5px;line-height:1.35}
