:root{--bg:#0f1113;--surface:#1a1d21;--surface-2:#15171a;--surface-3:#23272c;--line:#2a2e34;--line-soft:#22262b;--text:#f2f2ef;--muted:#a3a9af;--accent:#c6f432;--accent-hover:#daff6b;--accent-ink:#0f1113;--accent-soft-bg:#1e2615;--accent-soft-line:#3a4a1c;--accent-soft-text:#cdd2c4;--badge-done-bg:#26301a;--warn:#ffb35c;--warn-bg:#2e2416;--display:"Barlow Condensed", "Arial Narrow", sans-serif;--body:Inter, system-ui, -apple-system, sans-serif;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body{background:var(--bg);color:var(--text);font-family:var(--body);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;margin:0}button,input,select{font:inherit;color:inherit}button{cursor:pointer}button:disabled{cursor:default;opacity:.5}a{color:var(--accent)}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.app{max-width:480px;min-height:100dvh;margin:0 auto;position:relative}.screen{padding:calc(24px + env(safe-area-inset-top)) 20px calc(110px + env(safe-area-inset-bottom));flex-direction:column;gap:22px;display:flex}.eyebrow{color:var(--muted);font-size:13px;font-weight:500}.kicker{color:var(--accent);text-transform:uppercase;letter-spacing:1px;font-size:12px;font-weight:600}.h1{font-family:var(--display);letter-spacing:.5px;text-transform:uppercase;margin:0;font-size:40px;font-weight:700;line-height:1}.h2{font-family:var(--display);text-transform:uppercase;margin:0;font-size:32px;font-weight:700;line-height:1}.section-title{color:var(--muted);text-transform:uppercase;letter-spacing:1px;margin:0;font-size:13px;font-weight:600}.step-title{margin:0;font-size:15px;font-weight:600}.muted{color:var(--muted)}.small{font-size:13px}.num{font-family:var(--display);font-weight:600}.stack{flex-direction:column;gap:10px;display:flex}.stack-sm{flex-direction:column;gap:4px;display:flex}.spread{justify-content:space-between;align-items:center;gap:12px;display:flex}.header{justify-content:space-between;align-items:flex-end;gap:12px;display:flex}.card{background:var(--surface);border:1px solid var(--line);border-radius:20px;flex-direction:column;gap:16px;padding:20px;display:flex}.list-card{background:var(--surface);border:1px solid var(--line);border-radius:16px;flex-direction:column;display:flex}.list-card>*+*{border-top:1px solid var(--line)}.list-item{justify-content:space-between;align-items:center;gap:12px;padding:14px 16px;display:flex}.btn{white-space:nowrap;border:none;border-radius:14px;justify-content:center;align-items:center;gap:8px;height:52px;padding:0 18px;font-size:16px;font-weight:600;text-decoration:none;display:inline-flex}.btn-primary{background:var(--accent);color:var(--accent-ink)}.btn-primary:hover{background:var(--accent-hover);color:var(--accent-ink)}.btn-secondary{background:var(--surface-3);color:var(--text)}.btn-ghost{color:var(--text);border:1px solid var(--line);background:0 0}.btn-sm{border-radius:12px;height:44px;font-size:14px}.icon-btn{border:1px solid var(--line);background:var(--surface);width:44px;height:44px;color:var(--text);border-radius:22px;flex:none;justify-content:center;align-items:center;text-decoration:none;display:inline-flex}.icon-btn.plain{color:var(--muted);background:0 0;border:none;border-radius:10px}.week-strip{grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;display:grid}.week-cell{background:var(--surface);border:1px solid var(--line);height:78px;color:var(--text);font:inherit;border-radius:12px;flex-direction:column;justify-content:center;align-items:center;gap:3px;padding:0;display:flex}.week-cell .d{letter-spacing:.3px;color:var(--muted);font-size:11px;font-weight:600}.week-cell .n{font-family:var(--display);font-size:22px;font-weight:700;line-height:1}.week-cell .where{height:16px;color:var(--accent);display:inline-flex}.week-cell.rest .n,.week-cell.done .where{color:var(--muted)}.week-cell.today{border-color:var(--accent)}.week-cell.today .d{color:var(--accent)}.week-cell.selected{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.week-cell.selected .d,.week-cell.selected .n,.week-cell.selected .where{color:var(--accent-ink)}.card-actions{grid-template-columns:repeat(auto-fit,minmax(0,1fr));gap:8px;display:grid}.card.dimmed .ex-row{opacity:.6}.reschedule-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.reschedule-fields .input{appearance:none;min-width:0;padding:0 8px;font-size:14px}.reschedule-fields .input::-webkit-date-and-time-value{text-align:left}.ex-row{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;padding:10px 0;display:flex}.delta{color:var(--accent-ink);background:var(--accent);border-radius:6px;padding:2px 6px;font-size:12px;font-weight:600}.delta.down{background:var(--warn)}.day-row{background:var(--surface-2);border:1px solid var(--line-soft);text-align:left;width:100%;color:var(--text);border-radius:14px;align-items:center;gap:12px;padding:12px 14px;display:flex}.day-row.today{background:var(--surface);border-color:var(--accent)}.day-row.rest{opacity:.75}.day-row.current,.day-row.current:disabled{opacity:1;background:var(--surface);border-color:var(--accent);cursor:default}.day-row .wd{width:40px;color:var(--muted);flex:none;font-size:13px;font-weight:600}.day-row .body{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.day-row .title{font-size:15px;font-weight:600}.day-row .sub{color:var(--muted);font-size:12px}.badge{background:var(--surface-3);color:var(--muted);white-space:nowrap;border-radius:999px;padding:4px 10px;font-size:12px;font-weight:600}.badge.done{background:var(--badge-done-bg);color:var(--accent)}.badge.today{background:var(--accent);color:var(--accent-ink)}.badge.skipped{background:var(--warn-bg);color:var(--warn)}.reschedule{background:var(--surface);border:1px solid var(--line);border-radius:14px;flex-direction:column;gap:10px;margin-top:-4px;padding:14px;display:flex}.field{color:var(--muted);flex-direction:column;flex:1;gap:6px;min-width:0;font-size:12px;font-weight:600;display:flex}.input{border:1px solid var(--line);background:var(--surface-2);height:44px;color:var(--text);border-radius:12px;width:100%;padding:0 12px;font-size:15px}.bar-track{background:var(--surface-3);border-radius:4px;height:8px;overflow:hidden}.bar-fill{background:var(--accent);border-radius:4px;height:8px}.tabbar{width:100%;max-width:480px;padding:8px 12px calc(12px + env(safe-area-inset-bottom));background:var(--surface-2);border-top:1px solid var(--line);z-index:10;grid-template-columns:repeat(3,minmax(0,1fr));display:grid;position:fixed;bottom:0;left:50%;transform:translate(-50%)}.tab{min-height:52px;color:var(--muted);flex-direction:column;justify-content:center;align-items:center;gap:4px;font-size:11px;font-weight:500;text-decoration:none;display:flex}.tab.active{color:var(--accent);font-weight:600}.chips{flex-wrap:wrap;gap:8px;display:flex}.chip{background:var(--surface);height:44px;color:var(--text);border:1px solid var(--line);border-radius:22px;flex:none;align-items:center;gap:6px;padding:0 16px;font-size:14px;font-weight:600;display:inline-flex}.chip.on{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}.chip.light.on{background:var(--text);color:var(--bg);border-color:var(--text)}.pills{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;display:grid}.pill{height:48px;font-family:var(--display);background:var(--surface);color:var(--text);border:1px solid var(--line);border-radius:12px;font-size:22px;font-weight:700}.pill.on{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}.link-btn{color:var(--accent);font:inherit;background:0 0;border:none;align-self:flex-start;align-items:center;gap:6px;padding:4px 0;font-size:14px;font-weight:600;display:inline-flex}.chip-all{color:var(--accent);border-style:dashed}.pills.two{grid-template-columns:repeat(2,minmax(0,1fr))}.pill.text{font-family:var(--body);font-size:15px;font-weight:600}.goal-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.goal{background:var(--surface);border:1px solid var(--line);color:var(--text);text-align:left;font:inherit;border-radius:14px;flex-direction:column;gap:4px;padding:12px;display:flex}.goal .t{font-family:var(--display);font-size:20px;font-weight:700;line-height:1.1}.goal .d{color:var(--muted);font-size:12px;line-height:1.4}.goal.on{border-color:var(--accent);background:var(--accent-soft-bg)}.goal.on .t{color:var(--accent)}.goal.on .d{color:var(--accent-soft-text)}.scroll-x{scrollbar-width:none;gap:8px;margin:0 -20px;padding:0 20px;display:flex;overflow-x:auto}.session{flex-direction:column;min-height:100dvh;display:flex}.session-head{padding:calc(20px + env(safe-area-inset-top)) 20px 12px;justify-content:space-between;align-items:center;gap:12px;display:flex}.segments{align-items:center;gap:6px;padding:0 20px;display:flex}.segment{background:0 0;border:none;flex:1;height:20px;padding:8px 0}.segment span{background:var(--line);border-radius:2px;height:4px;display:block}.segment.done span{background:var(--accent-soft-line)}.segment.current span{background:var(--accent)}.session-main{flex-direction:column;flex:1;gap:16px;padding:20px;display:flex}.hint{background:var(--accent-soft-bg);border:1px solid var(--accent-soft-line);border-radius:14px;align-items:flex-start;gap:12px;padding:14px;display:flex}.hint.warn{background:var(--warn-bg);border-color:#4a3a22}.hint .t{color:var(--accent);font-size:14px;font-weight:600}.hint.warn .t{color:var(--warn)}.hint .d{color:var(--accent-soft-text);font-size:13px;line-height:1.45}.sets-head,.set-row{grid-template-columns:36px minmax(0,1fr) 64px 44px 40px 44px;align-items:center;gap:6px;padding:0 10px;display:grid}.sets-head{color:var(--muted);text-transform:uppercase;letter-spacing:.5px;font-size:11px;font-weight:600}.set-row{border-radius:12px;height:52px}.set-row.done{background:var(--surface-2);border:1px solid var(--line-soft)}.set-row.current{background:var(--surface);border:1px solid var(--accent)}.set-row.todo{border:1px dashed var(--line);color:var(--muted)}button.set-row{width:100%;font:inherit;color:inherit;text-align:left;cursor:pointer}.set-row.editing{border-color:var(--accent);background:var(--surface)}.set-editor{background:var(--surface);border:1px solid var(--line);border-radius:14px;flex-direction:column;gap:10px;padding:12px;display:flex}.set-row .big{font-family:var(--display);font-size:20px;font-weight:600}.check{background:var(--accent);width:28px;height:28px;color:var(--accent-ink);border-radius:14px;justify-content:center;align-items:center;display:flex}.check.empty{background:0 0;border:2px solid #3a3f46}.session-foot{padding:16px 20px calc(20px + env(safe-area-inset-bottom));background:var(--surface-2);border-top:1px solid var(--line);flex-direction:column;gap:14px;display:flex;position:sticky;bottom:0}.stepper{background:var(--surface);border:1px solid var(--line);border-radius:14px;justify-content:space-between;align-items:center;padding:4px;display:flex}.stepper button{background:var(--surface-3);width:44px;height:44px;color:var(--text);border:none;border-radius:10px;font-size:22px}.stepper input{text-align:center;width:70px;font-family:var(--display);-moz-appearance:textfield;background:0 0;border:none;font-size:26px;font-weight:700}.stepper input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.stepper input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.rpe{grid-template-columns:repeat(5,minmax(0,1fr));gap:6px;display:grid}.rpe button{border:1px solid var(--line);background:var(--surface);border-radius:12px;flex-direction:column;justify-content:center;align-items:center;gap:1px;height:52px;padding:0;display:flex}.rpe button .v{font-family:var(--display);font-size:20px;font-weight:700;line-height:1}.rpe button .l{color:var(--muted);font-size:10px}.rpe button.on{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.rpe button.on .l{color:var(--accent-ink)}.rest-timer{background:var(--surface);border:1px solid var(--line);border-radius:16px;flex-direction:column;gap:10px;padding:16px;display:flex}.rest-timer .clock{font-family:var(--display);font-size:36px;font-weight:700;line-height:1}.chart text{fill:var(--muted);font-size:11px;font-family:var(--body)}.chart .grid{stroke:var(--line);stroke-width:1px}.chart .line{fill:none;stroke:var(--accent);stroke-width:2px;stroke-linejoin:round;stroke-linecap:round}.chart .dot{fill:var(--accent);stroke:var(--surface);stroke-width:2px}.chart .hover-line{stroke:var(--muted);stroke-width:1px;stroke-dasharray:3 3}.tooltip{background:var(--surface-3);border:1px solid var(--line);white-space:nowrap;pointer-events:none;border-radius:8px;padding:6px 8px;font-size:12px;position:absolute;transform:translate(-50%,-110%)}.empty-state{text-align:center;flex-direction:column;align-items:center;gap:12px;padding:32px 16px;display:flex}.error{color:var(--warn);font-size:13px}.stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.stats .v{font-family:var(--display);font-size:28px;font-weight:700;line-height:1.1}.edit-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}@keyframes spin{to{transform:rotate(360deg)}}.segment-add{width:44px;height:32px;color:var(--accent);background:0 0;border:none;flex:none;justify-content:center;align-items:center;margin:-6px -10px -6px 0;display:flex}.segment-add span{border:1px solid var(--accent-soft-line);border-radius:11px;justify-content:center;align-items:center;width:22px;height:22px;display:flex}.sheet-backdrop{z-index:20;background:#0009;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.sheet{background:var(--surface-2);border:1px solid var(--line);width:100%;max-width:480px;max-height:85dvh;padding:20px 20px calc(24px + env(safe-area-inset-bottom));border-bottom:none;border-radius:24px 24px 0 0;flex-direction:column;gap:16px;display:flex;overflow-y:auto}.avatar{flex:none;display:block}.avatar-bg{fill:var(--surface);stroke:var(--line);stroke-width:1.5px}.avatar-body{stroke:var(--text)}.avatar-head{fill:var(--text);stroke:none}.avatar-far{stroke:#6b7279}.avatar-gear{stroke:#3c424a}.avatar-gear-fill{fill:#3c424a}.avatar-load{fill:var(--accent);stroke:var(--bg);stroke-width:1.5px}.avatar-load-far{fill:#7d9a27}.avatar-load-line{stroke:var(--accent)}.warmups{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;display:grid}.warmup{background:var(--surface);border:1px dashed var(--line);height:44px;color:var(--muted);font:inherit;border-radius:12px;justify-content:center;align-items:center;gap:4px;display:inline-flex}.warmup .num{color:var(--text);font-size:18px}.warmup.done{border-style:solid;border-color:var(--line-soft);background:var(--surface-2);color:var(--accent)}.chip-sm{height:36px;padding:0 12px;font-size:13px}.chip-input{align-items:center;gap:4px;display:inline-flex}.chip-input .input{width:72px;height:36px;padding:0 10px}.chip-input .icon-btn{width:36px;height:36px}.chev{color:var(--muted);flex:none;transition:transform .15s;display:inline-flex}[aria-expanded=true]>.chev{transform:rotate(90deg)}.plan-day{background:var(--surface);border-color:var(--line)}.plan-day.open{border-color:var(--accent)}.collapse-head{width:100%;color:inherit;text-align:left;font:inherit;background:0 0;border:none;justify-content:space-between;align-items:center;gap:12px;padding:0;display:flex}.input[type=date],.input[type=time]{appearance:none;min-width:0}.day-head{align-items:center;gap:12px;display:flex}.where-badge{background:var(--accent);width:48px;height:48px;color:var(--accent-ink);border-radius:24px;flex:none;justify-content:center;align-items:center;display:inline-flex}.collapse-head .bar-track{display:block}
