:root{--bg:#0c0d0f;--surface:#16181b;--surface-2:#1f2226;--surface-3:#2a2e33;--line:#262a2f;--text:#f2f3f4;--muted:#9aa1a9;--dim:#6b727a;--accent:#d7ff3c;--accent-ink:#10130a;--accent-soft:#d7ff3c1f;--warm:#ffb547;--drop:#7cc4ff;--danger:#ff6b6b;--radius:16px;--radius-sm:10px;--safe-b:env(safe-area-inset-bottom,0px);--safe-t:env(safe-area-inset-top,0px);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;overscroll-behavior-y:none;margin:0;font:16px/1.4 system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,sans-serif}body.no-scroll{overflow:hidden}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer;touch-action:manipulation;background:0 0;border:0;padding:0}button:disabled{opacity:.4;cursor:default}input,select,textarea{background:var(--surface-2);border-radius:var(--radius-sm);border:1px solid #0000;outline:none;width:100%;min-height:44px;padding:11px 12px}input:focus,select:focus,textarea:focus{border-color:var(--accent)}input::placeholder,textarea::placeholder{color:var(--dim)}textarea{resize:none}select{appearance:none;background-image:linear-gradient(45deg, transparent 50%, var(--muted) 50%), linear-gradient(135deg, var(--muted) 50%, transparent 50%);background-position:calc(100% - 17px),calc(100% - 12px);background-repeat:no-repeat;background-size:5px 5px;padding-right:30px}h1,h2,p{margin:0}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.mono{font-variant-numeric:tabular-nums;font-feature-settings:"tnum"}.muted{color:var(--muted)}.dim{color:var(--dim)}.small{font-size:13px}.center{text-align:center}.left{text-align:left}.pad{padding:24px}.grow{flex:1;min-width:0}.accent{color:var(--accent)}.row{align-items:center;display:flex}.row.wrap{flex-wrap:wrap}.between{justify-content:space-between}.baseline{align-items:flex-end}.center-row{flex-wrap:wrap;justify-content:center}.gap-xs{gap:4px}.gap-sm{gap:8px}.stack{flex-direction:column;gap:10px;display:flex}.clamp{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.app{max-width:560px;padding:calc(var(--safe-t) + 8px) 16px calc(190px + var(--safe-b));margin:0 auto}.screen{flex-direction:column;gap:16px;animation:.18s ease-out fade-in;display:flex}@keyframes fade-in{0%{opacity:0;transform:translateY(4px)}}.section-title{text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin:4px 0 10px;font-size:13px;font-weight:600}.section-head{justify-content:space-between;align-items:center;display:flex}.section-head .section-title{margin:0}.topbar{align-items:center;gap:8px;min-height:52px;display:flex}.topbar-title{flex:1;min-width:0}.topbar h1{letter-spacing:-.02em;white-space:nowrap;text-overflow:ellipsis;font-size:24px;font-weight:750;overflow:hidden}.topbar-sub{color:var(--muted);font-size:13px}.icon-btn{width:40px;height:40px;color:var(--muted);border-radius:12px;flex:none;place-items:center;display:grid}.icon-btn:active{background:var(--surface-2)}.icon-btn.sm{background:var(--surface-2);width:34px;height:34px;font-size:14px}.icon-btn.danger{color:var(--danger)}.btn{white-space:nowrap;border-radius:12px;justify-content:center;align-items:center;gap:8px;min-height:44px;padding:0 16px;font-size:15px;font-weight:650;transition:transform 80ms,background .15s;display:inline-flex}.btn:active:not(:disabled){transform:scale(.97)}.btn-primary{background:var(--accent);color:var(--accent-ink)}.btn-secondary{background:var(--surface-2)}.btn-ghost{color:var(--accent)}.btn-ghost:active{background:var(--accent-soft)}.btn-danger-text{color:var(--danger);font-weight:550}.btn-block{width:100%}.btn-lg{border-radius:14px;min-height:56px;font-size:16px}.btn-xl{border-radius:18px;width:100%;min-height:72px;font-size:22px}.btn-sm{border-radius:10px;min-height:34px;padding:0 12px;font-size:14px}.card{background:var(--surface);border-radius:var(--radius);text-align:left;flex-direction:column;gap:10px;width:100%;padding:14px;display:flex}button.card:active{background:var(--surface-2)}.card-kicker{text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-size:12px;font-weight:600}.card-title{align-items:center;gap:8px;font-size:16px;font-weight:650;display:inline-flex}.card-active{background:linear-gradient(135deg, #d7ff3c1a, var(--surface) 60%);border:1px solid #d7ff3c59;flex-direction:row;align-items:center;gap:12px}.card-active .grow{flex-direction:column;display:flex}.big{font-size:20px;font-weight:700}.pulse{background:var(--accent);border-radius:50%;flex:none;width:10px;height:10px;animation:1.6s infinite pulse;box-shadow:0 0 #d7ff3c99}@keyframes pulse{70%{box-shadow:0 0 0 10px #d7ff3c00}to{box-shadow:0 0 #d7ff3c00}}.card-celebrate{background:linear-gradient(135deg, #d7ff3c29, var(--surface) 70%);color:var(--text);flex-direction:row;align-items:center;gap:14px}.card-celebrate svg{color:var(--accent);flex:none}.tag{background:var(--surface-3);color:var(--muted);text-transform:uppercase;letter-spacing:.04em;border-radius:999px;align-items:center;padding:3px 8px;font-size:11px;font-weight:600;display:inline-flex}.tag-strong{background:var(--accent-soft);color:var(--accent)}.tags{flex-wrap:wrap;gap:6px;display:flex}.home-head{justify-content:space-between;align-items:center;padding-top:8px;display:flex}.brand{letter-spacing:-.03em;font-size:30px;font-weight:800}.brand:after{content:".";color:var(--accent)}.stats-row{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.stat{background:var(--surface);border-radius:14px;min-width:0;padding:12px}.stat-label{color:var(--muted);font-size:12px}.stat-value{font-variant-numeric:tabular-nums;white-space:nowrap;text-overflow:ellipsis;margin-top:2px;font-size:19px;font-weight:700;overflow:hidden}.stat-sub{color:var(--dim);font-size:12px}.tpl-card{flex-direction:row;align-items:center;gap:12px}.tpl-main{text-align:left;flex-direction:column;flex:1;gap:3px;min-width:0;display:flex}.tpl-card .btn{min-width:56px}.list-sub{color:var(--muted);font-size:13px}.list-sub.dim{color:var(--dim)}.empty{background:var(--surface);border:1px dashed var(--surface-3);border-radius:var(--radius);text-align:center;flex-direction:column;align-items:center;gap:12px;padding:28px 18px;display:flex}.empty-title{font-size:17px;font-weight:650}.empty-body{color:var(--muted);flex-direction:column;align-items:center;gap:14px;display:flex}.hist-card{gap:6px}.hist-meta{font-variant-numeric:tabular-nums;gap:14px;font-size:14px;display:flex}.record-row{flex-direction:row;align-items:center;gap:12px}.record-row svg{color:var(--accent)}.plain-list{flex-direction:column;gap:6px;margin:0;padding-left:20px;display:flex}.done-sets{flex-direction:column;gap:6px;display:flex}.done-set{align-items:center;gap:12px;display:flex}.workout-head{z-index:5;padding:calc(var(--safe-t) + 10px) 16px 10px;margin:calc(-8px - var(--safe-t)) -16px 0;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--line);background:#0c0d0feb;align-items:center;gap:12px;display:flex;position:sticky;top:0}.workout-head-main{flex:1;min-width:0}.title-input{letter-spacing:-.01em;background:0 0;border:0;border-bottom:1px solid #0000;border-radius:0;min-height:0;padding:0;font-size:20px;font-weight:750}.title-input:focus{border-color:var(--accent)}.title-input.big{padding:6px 0;font-size:24px}.workout-meta{color:var(--muted);gap:6px;font-size:14px;display:flex}.workout-meta .mono{color:var(--accent);font-weight:650}.ex-card{padding:14px 10px 8px}.is-superset{box-shadow:inset 3px 0 0 var(--accent)}.ex-head{justify-content:space-between;align-items:center;gap:8px;padding:0 4px;display:flex}.ex-name{color:var(--accent);text-align:left;font-size:17px;font-weight:700}.ex-tags{flex-wrap:wrap;gap:6px;padding:0 4px;display:flex}.tag-btn{background:var(--surface-2);color:var(--muted);font-variant-numeric:tabular-nums;border-radius:999px;align-self:flex-start;align-items:center;gap:5px;padding:5px 10px;font-size:12.5px;display:inline-flex}.tag-btn.is-static{cursor:default}.tag-btn.is-accent{background:var(--accent-soft);color:var(--accent)}.ex-notes{min-height:34px;color:var(--muted);background:0 0;border-radius:8px;padding:6px 4px;font-size:14px}.ex-notes:focus{background:var(--surface-2);color:var(--text)}.sets{flex-direction:column;gap:4px;display:flex}.set-row{border-radius:12px;grid-template-columns:40px 1fr 72px 60px 48px;align-items:center;gap:6px;padding:3px 2px;transition:background .2s;display:grid}.set-header{color:var(--dim);text-transform:uppercase;letter-spacing:.04em;padding-bottom:0;font-size:11px;font-weight:600}.set-header span{text-align:center}.set-row.is-done{background:var(--accent-soft)}.set-row.is-flash{animation:.35s shake}.set-row.is-flash .set-input:last-of-type{border-color:var(--danger)}@keyframes shake{25%{transform:translate(-4px)}75%{transform:translate(4px)}}.set-type{background:var(--surface-2);font-variant-numeric:tabular-nums;border-radius:9px;flex:none;justify-self:center;place-items:center;width:32px;height:32px;font-size:14px;font-weight:700;display:inline-grid}.set-type.type-warmup{color:var(--warm);background:#ffb54724}.set-type.type-drop{color:var(--drop);background:#7cc4ff24}.set-type.type-failure{color:var(--danger);background:#ff6b6b24}.set-prev{color:var(--dim);font-variant-numeric:tabular-nums;text-align:center;white-space:nowrap;text-overflow:ellipsis;min-height:40px;font-size:13px;overflow:hidden}.set-input{text-align:center;font-variant-numeric:tabular-nums;min-height:42px;padding:8px 4px;font-size:17px;font-weight:650}.is-done .set-input{background:0 0}.set-check{background:var(--surface-2);width:44px;height:42px;color:var(--dim);border-radius:11px;justify-self:end;place-items:center;transition:background .15s,color .15s,transform .1s;display:grid}.set-check:active{transform:scale(.92)}.set-check.is-on{background:var(--accent);color:var(--accent-ink)}.workout-notes{min-height:70px}.sheet-backdrop{z-index:50;background:#0009;justify-content:center;align-items:flex-end;animation:.15s fade;display:flex;position:fixed;inset:0}@keyframes fade{0%{opacity:0}}.sheet{background:var(--surface);width:100%;max-width:560px;max-height:88dvh;padding-bottom:var(--safe-b);border-radius:22px 22px 0 0;flex-direction:column;animation:.2s cubic-bezier(.2,.9,.3,1) slide-up;display:flex}.sheet-full{height:92dvh;max-height:92dvh}@keyframes slide-up{0%{opacity:.6;transform:translateY(40px)}}.sheet-handle{background:var(--surface-3);border-radius:4px;width:40px;height:4px;margin:10px auto 4px}.sheet-title{padding:6px 18px 10px;font-size:18px;font-weight:700}.sheet-body{flex-direction:column;flex:1;gap:12px;padding:0 16px 16px;display:flex;overflow-y:auto}.sheet-footer{background:linear-gradient(transparent, var(--surface) 30%);padding:12px 0 4px;position:sticky;bottom:0}.menu{flex-direction:column;gap:10px;display:flex}.menu-item{background:var(--surface-2);text-align:left;border-radius:12px;align-items:center;gap:12px;width:100%;padding:14px;font-weight:550;display:flex}.menu-item.is-active{outline:2px solid var(--accent)}.menu-item.danger{color:var(--danger)}.form{flex-direction:column;gap:14px;display:flex}.field{flex-direction:column;gap:6px;min-width:0;display:flex}.field>span:first-child{color:var(--muted);font-size:13px;font-weight:550}.field-row{justify-content:space-between;align-items:center;gap:12px;min-height:44px;display:flex}.field-row select{width:auto;min-width:110px}.tpl-grid,.measure-grid{grid-template-columns:1fr 1fr;gap:10px;display:grid}.stepper{background:var(--surface-2);border-radius:var(--radius-sm);align-items:center;min-height:44px;display:flex;overflow:hidden}.stepper button{width:44px;height:44px;color:var(--accent);flex:none;font-size:22px}.stepper button:active{background:var(--surface-3)}.stepper span{text-align:center;font-variant-numeric:tabular-nums;flex:1;min-width:52px;font-weight:700}.switch{appearance:none;background:var(--surface-3);cursor:pointer;border-radius:999px;flex:none;width:48px;height:28px;min-height:0;padding:0;transition:background .15s;position:relative}.switch:after{content:"";background:var(--text);border-radius:50%;width:22px;height:22px;transition:transform .15s;position:absolute;top:3px;left:3px}.switch:checked{background:var(--accent)}.switch:checked:after{background:var(--accent-ink);transform:translate(20px)}.inline-input{min-height:0;color:var(--muted);background:0 0;border-radius:0;padding:2px 0;font-size:14px}.chips{scrollbar-width:none;gap:6px;margin:0 -16px;padding:0 16px;display:flex;overflow-x:auto}.sheet .chips{margin:0;padding:0}.chips::-webkit-scrollbar{display:none}.chips.wrap{flex-wrap:wrap;margin:0;padding:0}.chip{background:var(--surface-2);color:var(--muted);border-radius:999px;flex:none;min-height:36px;padding:8px 13px;font-size:14px;font-weight:550}.chip.is-active{background:var(--accent);color:var(--accent-ink)}.segmented{background:var(--surface);border-radius:12px;gap:2px;padding:3px;display:flex}.segmented button{min-height:38px;color:var(--muted);white-space:nowrap;border-radius:9px;flex:1;padding:0 6px;font-size:14px;font-weight:600}.segmented button.is-active{background:var(--surface-3);color:var(--text)}.segmented-sm button{min-height:32px;font-size:13px}.row.wrap>.segmented{flex:auto}.exlist{flex-direction:column;gap:10px;display:flex}.search{align-items:center;display:flex;position:relative}.search svg{color:var(--dim);width:18px;height:18px;position:absolute;left:12px}.search input{padding-left:38px}.list{flex-direction:column;display:flex}.list-item{text-align:left;border-radius:12px;align-items:center;gap:12px;width:100%;padding:10px 4px;display:flex}.list-item.card{flex-direction:row;padding:14px}.list .list-item+.list-item{border-top:1px solid var(--line);border-radius:0}.list-item.is-selected{background:var(--accent-soft)}.avatar{background:var(--surface-2);width:40px;height:40px;color:var(--accent);border-radius:12px;flex:none;place-items:center;font-weight:700;display:grid}.list-main{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.list-title{align-items:center;gap:8px;font-weight:600;display:flex}.list-value{flex-direction:column;align-items:flex-end;font-size:17px;display:flex}.list-value small{color:var(--muted);font-size:11px}.check{border:2px solid var(--surface-3);border-radius:8px;flex:none;place-items:center;width:26px;height:26px;display:grid}.check.is-on{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.chart{touch-action:pan-y;-webkit-user-select:none;user-select:none;width:100%;position:relative}.chart svg{display:block;overflow:visible}.chart-empty{color:var(--dim);border:1px dashed var(--surface-3);border-radius:12px;place-items:center;font-size:14px;display:grid}.chart .grid{stroke:var(--line);stroke-width:1px}.chart .tick{fill:var(--dim);font-variant-numeric:tabular-nums;font-size:10.5px}.chart .line{fill:none;stroke:var(--accent);stroke-width:2px;stroke-linejoin:round;stroke-linecap:round}.chart .crosshair{stroke:var(--muted);stroke-width:1px;stroke-dasharray:3 3}.chart .dot{fill:var(--accent);stroke:var(--surface);stroke-width:2px}.chart .dot-pr{fill:var(--accent);stroke:var(--surface);stroke-width:2px;filter:drop-shadow(0 0 4px #d7ff3cb3)}.chart .dot-hover{fill:var(--text);stroke:var(--surface);stroke-width:2px}.chart .bar{fill:var(--accent);opacity:.85}.chart .bar-hover{opacity:1;fill:var(--text)}.tooltip{background:var(--surface-3);pointer-events:none;white-space:nowrap;color:var(--muted);border-radius:10px;flex-direction:column;align-items:center;padding:6px 10px;font-size:12px;display:flex;position:absolute;transform:translate(-50%);box-shadow:0 6px 20px #0006}.tooltip strong{color:var(--text);font-variant-numeric:tabular-nums;font-size:14px}.legend-pr{color:var(--muted);align-items:center;gap:6px;font-size:12px;display:inline-flex}.dot-pr-legend{background:var(--accent);border-radius:50%;width:10px;height:10px;box-shadow:0 0 6px #d7ff3cb3}.hbars{flex-direction:column;gap:4px;display:flex}.hbar{text-align:left;border-radius:10px;grid-template-columns:96px 1fr 76px;align-items:center;gap:10px;padding:7px 8px;font-size:14px;display:grid}.hbar.is-selected{background:var(--surface)}.hbar-label{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.hbar-track{background:var(--surface-2);border-radius:4px;height:10px;overflow:hidden}.hbar-fill{background:var(--accent);opacity:.55;border-radius:0 4px 4px 0;height:100%;display:block}.hbar.is-selected .hbar-fill{opacity:1}.hbar-value{text-align:right;font-variant-numeric:tabular-nums;font-weight:600}.hbar-value small{color:var(--dim);font-size:11px;font-weight:400}.hero-num{letter-spacing:-.02em;font-size:34px;font-weight:750}.hero-num small{color:var(--muted);font-size:16px;font-weight:500}.delta{font-variant-numeric:tabular-nums;text-align:right;flex-direction:column;font-weight:650;display:flex}.delta small{color:var(--dim);font-size:12px;font-weight:400}.circuit-ex{flex-direction:row;align-items:center;gap:12px}.circuit-num{background:var(--surface-2);width:30px;height:30px;color:var(--accent);border-radius:9px;flex:none;place-items:center;font-weight:700;display:grid}.run{text-align:center;min-height:calc(100dvh - 24px);padding-bottom:calc(16px + var(--safe-b));gap:12px}.app:has(.run){padding-bottom:0}.run-head{justify-content:space-between;align-items:center;gap:8px;display:flex}.run-title{text-overflow:ellipsis;white-space:nowrap;font-weight:650;overflow:hidden}.run-phase{letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-top:4vh;font-size:18px;font-weight:800}.run-work .run-phase,.run-minute .run-phase,.run-amrap .run-phase{color:var(--accent)}.run-rest .run-phase{color:var(--drop)}.run-prep .run-phase{color:var(--warm)}.run-clock{letter-spacing:-.04em;font-size:clamp(84px,28vw,150px);font-weight:800;line-height:1}.is-paused .run-clock{opacity:.4}.run-progress{background:var(--surface-2);border-radius:6px;height:6px;margin:0 8%;overflow:hidden}.run-progress span{background:var(--accent);height:100%;transition:width .2s linear;display:block}.run-rest .run-progress span{background:var(--drop)}.run-prep .run-progress span{background:var(--warm)}.run-now{flex-direction:column;gap:4px;margin-top:2vh;display:flex}.run-ex{letter-spacing:-.01em;font-size:28px;font-weight:750}.run-note{color:var(--muted);min-height:22px;font-size:16px}.run-next{color:var(--dim);font-size:14px}.run-rounds{font-size:18px;font-weight:650}.run-rounds .mono{color:var(--accent);font-size:40px;font-weight:800}.run-list{text-align:left;flex-direction:column;gap:6px;margin:0 auto;padding-left:22px;font-size:17px;display:flex}.run-actions{flex-direction:column;gap:10px;margin-top:auto;display:flex}.run-actions .row .btn{min-height:52px}.dock{z-index:20;pointer-events:none;flex-direction:column;align-items:center;display:flex;position:fixed;bottom:0;left:0;right:0}.dock>*{pointer-events:auto;width:100%;max-width:560px}.active-banner{background:var(--surface-2);border:1px solid #d7ff3c4d;border-radius:14px;align-items:center;gap:10px;margin:0 auto 6px;padding:10px 14px;font-size:14px;font-weight:600;display:flex;box-shadow:0 8px 24px #00000080;width:calc(100% - 24px)!important}.active-banner-cta{color:var(--accent)}.restbar{background:var(--surface-3);border-radius:16px;align-items:center;gap:10px;margin:0 auto 6px;padding:10px 10px 10px 14px;display:flex;position:relative;overflow:hidden;box-shadow:0 8px 24px #00000080;width:calc(100% - 24px)!important}.restbar-progress{background:#d7ff3c21;transition:width .2s linear;position:absolute;top:0;bottom:0;left:0}.restbar.is-done{background:var(--accent);color:var(--accent-ink)}.restbar-info{flex-direction:column;flex:1;min-width:0;display:flex;position:relative}.restbar-label{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;font-size:12px;overflow:hidden}.restbar.is-done .restbar-label{color:var(--accent-ink);font-weight:650}.restbar-time{font-size:24px;font-weight:800;line-height:1.1}.restbar-actions{gap:6px;display:flex;position:relative}.restbar-actions button{font-variant-numeric:tabular-nums;background:#ffffff14;border-radius:10px;min-width:46px;height:40px;font-size:14px;font-weight:650}.restbar-actions .is-skip{background:var(--accent);color:var(--accent-ink);padding:0 12px}.tabbar{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-top:1px solid var(--line);padding-bottom:var(--safe-b);background:#101113f0;grid-template-columns:repeat(5,1fr);display:grid;max-width:none!important}.tabbar button{color:var(--dim);flex-direction:column;align-items:center;gap:3px;padding:9px 0 8px;font-size:11px;font-weight:600;display:flex}.tabbar button.is-active{color:var(--accent)}
