:root{--bg: #13161c;--surface: #1c2029;--surface-2: #262b36;--fg: #eef0f4;--muted: #a2aab8;--line: #353b48;--accent: #8cabff;--accent-fg: #0d1526;--accent-soft: #233253;--iso: #b9cf7a;--iso-soft: #2d3522;--warn: #f0b57a;--warn-soft: #3d2a14;--danger: #ff7b6b;--radius: 12px;--radius-sm: 8px;--font-body: "Barlow", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-display: "Barlow Condensed", "Arial Narrow", system-ui, sans-serif;color-scheme:dark}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{font-family:var(--font-body);font-size:16px;line-height:1.5;color:var(--fg);background:var(--bg);-webkit-font-smoothing:antialiased}h1,h2,h3{font-family:var(--font-display);line-height:1.1;margin:0;text-wrap:balance}p{margin:0}.screen{min-height:100%;display:flex;flex-direction:column;gap:24px;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px));padding-block:calc(16px + env(safe-area-inset-top,0px)) calc(24px + env(safe-area-inset-bottom,0px));max-width:640px;margin:0 auto}.screen.center{justify-content:center;align-items:center}.screen.login{justify-content:center}.topbar{display:flex;align-items:center;justify-content:space-between}.avatar{width:36px;height:36px;border-radius:50%;border:1px solid var(--line)}.eyebrow{font-family:var(--font-display);font-weight:600;text-transform:uppercase;letter-spacing:.12em;font-size:.85rem;color:var(--muted)}.wordmark{font-size:3rem;font-weight:700}.wordmark .accent{color:var(--accent)}.tagline,.muted{color:var(--muted);max-width:40ch}.hero{display:grid;gap:10px}.error{color:var(--danger);background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-sm);padding:10px 12px}.btn{font:inherit;font-family:var(--font-display);font-weight:600;font-size:1.1rem;letter-spacing:.04em;text-transform:uppercase;text-decoration:none;text-align:center;color:var(--fg);background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:14px 18px;cursor:pointer;min-height:52px}.btn-primary{background:var(--accent);color:var(--accent-fg);border-color:var(--accent)}.btn-block{display:block;width:100%}.btn:focus-visible{outline:3px solid var(--accent);outline-offset:2px}.screen{padding-bottom:calc(88px + env(safe-area-inset-bottom,0px))}h1{font-size:2.2rem;font-weight:700}h2{font-size:1.5rem;font-weight:700}h2 a{color:inherit;text-decoration:none}a{color:var(--accent)}.small{font-size:.9rem}.block{display:grid;gap:12px}.back{font-family:var(--font-display);font-weight:600;text-transform:uppercase;letter-spacing:.06em;font-size:.9rem;text-decoration:none;color:var(--muted);margin-bottom:-12px}.linkbtn{font:inherit;color:var(--muted);background:none;border:0;padding:12px;cursor:pointer;text-decoration:underline}.tabbar{position:fixed;left:0;right:0;bottom:0;display:flex;background:var(--surface);border-top:1px solid var(--line);padding-bottom:env(safe-area-inset-bottom,0px);z-index:5}.tabbar a{flex:1;text-align:center;padding:14px 8px;font-family:var(--font-display);font-weight:600;text-transform:uppercase;letter-spacing:.06em;font-size:1rem;color:var(--muted);text-decoration:none;min-height:56px}.tabbar a.active{color:var(--accent);box-shadow:inset 0 3px 0 var(--accent)}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;display:grid}.card-next{padding:16px;gap:10px;text-decoration:none;color:inherit}.card-next h1{font-size:2.4rem}.daylist{list-style:none;margin:0;padding:0;display:grid;gap:6px}.dayrow{display:grid;grid-template-columns:40px minmax(0,1fr) auto;align-items:center;gap:12px;padding:10px 12px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-sm);color:inherit;text-decoration:none;min-height:60px}.dayrow.is-next{border-color:var(--accent);background:var(--accent-soft)}.dayrow.rest{color:var(--muted)}.dayno{font-family:var(--font-display);font-weight:700;font-size:1.5rem;width:40px;height:40px;border-radius:50%;background:var(--surface-2);display:grid;place-items:center}.dayrow.strength .dayno{background:var(--accent);color:var(--accent-fg)}.dayrow.cardio .dayno{background:var(--iso-soft);color:var(--iso)}.daytitle{display:grid;min-width:0}.daytitle b{font-family:var(--font-display);font-weight:600;font-size:1.15rem}.daytitle small{color:var(--muted)}.daydur{font-family:var(--font-display);font-weight:600;color:var(--muted);font-size:.95rem;white-space:nowrap}.card-head{padding:14px 16px 8px;display:grid;gap:6px}.card-head h2{font-size:1.6rem}.card-body{padding:12px 16px 16px;display:grid;gap:12px}.pills{display:flex;flex-wrap:wrap;gap:6px}.pill{display:inline-block;font-family:var(--font-display);text-transform:uppercase;letter-spacing:.06em;font-size:.8rem;font-weight:600;padding:2px 8px;border-radius:4px}.pill.compound{background:var(--accent-soft);color:var(--accent)}.pill.isolation,.pill.core{background:var(--iso-soft);color:var(--iso)}.pill.db{background:var(--warn-soft);color:var(--warn)}.photos-link{display:block}.photos{display:grid;grid-template-columns:1fr 1fr;gap:2px;background:var(--line);border-radius:var(--radius-sm);overflow:hidden}.photos figure{margin:0;position:relative;background:var(--surface-2)}.photos img{display:block;width:100%;aspect-ratio:3 / 2;object-fit:cover}.photos figcaption{position:absolute;left:8px;bottom:8px;font-family:var(--font-display);text-transform:uppercase;letter-spacing:.08em;font-size:.8rem;font-weight:700;padding:2px 8px;border-radius:4px;background:#141820c7;color:#fff}.sets{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.sets div{background:var(--surface-2);border-radius:var(--radius-sm);padding:8px 10px;min-width:0}.sets b{display:block;font-family:var(--font-display);font-size:1.25rem;font-weight:700;line-height:1.1}.sets small,.mini small{color:var(--muted);text-transform:uppercase;letter-spacing:.06em;font-size:.72rem;font-family:var(--font-display);font-weight:600}.how{margin:0;padding-left:22px;display:grid;gap:6px}.linklist{margin:0;padding-left:22px}.note{background:var(--surface-2);border-left:4px solid var(--accent);padding:12px 14px;border-radius:0 var(--radius-sm) var(--radius-sm) 0}.note.warn{border-left-color:var(--warn);background:var(--warn-soft)}.steps{margin:0;padding:0;list-style:none;counter-reset:s;display:grid;gap:12px}.steps>li{counter-increment:s;display:grid;grid-template-columns:36px minmax(0,1fr);column-gap:12px;row-gap:2px;align-items:start}.steps>li:before{grid-column:1;grid-row:1 / span 3;content:counter(s);font-family:var(--font-display);font-weight:700;font-size:1.2rem;width:36px;height:36px;border-radius:50%;background:var(--accent);color:var(--accent-fg);display:grid;place-items:center}.steps>li strong{grid-column:2;font-weight:600}.steps>li span{grid-column:2;color:var(--muted)}.steps>li a.vid{grid-column:2;justify-self:start;display:inline-flex;align-items:center;gap:6px;margin-top:6px;font-family:var(--font-display);font-weight:600;letter-spacing:.04em;text-transform:uppercase;font-size:.9rem;padding:8px 14px;border-radius:999px;background:var(--accent-soft);color:var(--accent);text-decoration:none}.steps>li a.vid:before{content:"▶";font-size:.75em}.grid2{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px}.mini{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:14px 16px;display:grid;gap:6px;min-width:0}.mini b{font-family:var(--font-display);font-size:1.2rem;font-weight:700}.mini.zone b{font-size:2.4rem;color:var(--accent);line-height:1}table{border-collapse:collapse;width:100%;font-variant-numeric:tabular-nums}th,td{text-align:left;padding:8px 6px;border-bottom:1px solid var(--line);vertical-align:top}th{font-family:var(--font-display);text-transform:uppercase;letter-spacing:.06em;font-size:.8rem;color:var(--muted);font-weight:600}td.num{white-space:nowrap}tr.rest td{color:var(--muted)}tr.strength td{font-weight:600}.calc{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:16px;display:grid;gap:12px}.calc label{display:grid;gap:6px;font-weight:600}.calc input{font:inherit;font-size:1.3rem;padding:10px 12px;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface-2);color:var(--fg);width:160px;max-width:100%;min-height:52px}.calc-out{display:grid;gap:6px;font-variant-numeric:tabular-nums}.calc-out div{display:grid;grid-template-columns:1fr auto auto;gap:12px;padding:8px 10px;background:var(--surface-2);border-radius:var(--radius-sm);align-items:baseline}.calc-out div.work{background:var(--accent-soft)}.calc-out b{font-family:var(--font-display);font-size:1.2rem}.btn:disabled{opacity:.5;cursor:default}.screen.has-timer{padding-top:calc(76px + env(safe-area-inset-top,0px))}.timer{position:fixed;top:0;left:0;right:0;z-index:6;display:grid;grid-template-columns:auto 1fr auto auto;align-items:center;gap:12px;padding:10px 16px;padding-top:calc(10px + env(safe-area-inset-top,0px));background:var(--accent);color:var(--accent-fg)}.timer.over{background:var(--iso)}.timer-label{font-family:var(--font-display);font-weight:600;text-transform:uppercase;letter-spacing:.08em;font-size:.85rem}.timer-time{font-family:var(--font-display);font-weight:700;font-size:2rem;line-height:1;font-variant-numeric:tabular-nums}.timer-btn{font:inherit;font-family:var(--font-display);font-weight:600;background:#00000026;color:inherit;border:0;border-radius:var(--radius-sm);padding:8px 12px;min-height:40px;cursor:pointer}.slot-collapsed{grid-template-columns:40px minmax(0,1fr);align-items:center;gap:12px;padding:12px 14px;text-align:left;font:inherit;color:inherit;cursor:pointer;min-height:64px}.slot-collapsed.done{border-color:var(--iso)}.slot-no{font-family:var(--font-display);font-weight:700;font-size:1.3rem;width:40px;height:40px;border-radius:50%;background:var(--surface-2);display:grid;place-items:center}.slot-collapsed.done .slot-no{background:var(--iso-soft);color:var(--iso)}.slot-text{display:grid;min-width:0}.slot-text b{font-family:var(--font-display);font-weight:600;font-size:1.15rem}.slot-text small{color:var(--muted)}.slot-active{border-color:var(--accent)}.sets .hint{background:var(--accent-soft)}.sets div span{display:block}.slot-active .sets{grid-template-columns:1fr 1fr}.warmups,.setlist{list-style:none;margin:0;padding:0;display:grid;gap:6px}.warmups label{display:flex;align-items:center;gap:12px;padding:10px 12px;background:var(--surface-2);border-radius:var(--radius-sm);min-height:48px}.warmups input,.toggle input{width:24px;height:24px;accent-color:var(--accent);flex:none}.setlist li{display:grid;grid-template-columns:auto 1fr auto auto;align-items:center;gap:10px;padding:8px 12px;background:var(--surface-2);border-radius:var(--radius-sm)}.setlist b{font-family:var(--font-display);font-size:1.15rem}.setlist .x{font:inherit;background:none;border:0;color:var(--muted);padding:8px;cursor:pointer}.entry{display:grid;gap:12px;padding:12px;background:var(--surface-2);border-radius:var(--radius-sm)}.stepper{display:grid;gap:4px}.stepper-label,.field{font-family:var(--font-display);font-weight:600;text-transform:uppercase;letter-spacing:.06em;font-size:.8rem;color:var(--muted)}.stepper-row{display:grid;grid-template-columns:56px 1fr 56px;gap:8px}.stepper-btn{font:inherit;font-size:1.6rem;font-weight:600;background:var(--surface);color:var(--fg);border:1px solid var(--line);border-radius:var(--radius-sm);min-height:56px;cursor:pointer}.stepper-value{display:flex;align-items:center;justify-content:center;gap:6px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-sm);min-height:56px;padding:0 8px}.stepper-value input{font:inherit;font-family:var(--font-display);font-weight:700;font-size:1.6rem;width:5ch;text-align:right;background:none;border:0;color:var(--fg);-moz-appearance:textfield}.stepper-value input::-webkit-outer-spin-button,.stepper-value input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.stepper-value span{color:var(--muted);font-family:var(--font-display);font-weight:600}.toggle{display:flex;align-items:center;gap:12px;min-height:44px}.card-finish{padding:16px;gap:12px}.field{display:grid;gap:6px}.field textarea{font:inherit;font-family:var(--font-body);text-transform:none;letter-spacing:normal;color:var(--fg);background:var(--surface-2);border:1px solid var(--line);border-radius:var(--radius-sm);padding:10px 12px;resize:vertical}.summary{list-style:none;margin:0;padding:0;display:grid;gap:8px}.summary li{display:grid;gap:2px;padding:10px 12px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-sm)}.summary-name{font-family:var(--font-display);font-weight:600;font-size:1.1rem}.summary-sets{font-family:var(--font-display);font-weight:700;font-size:1.3rem}.warmups-head{font-family:var(--font-display);font-weight:600;text-transform:uppercase;letter-spacing:.06em;font-size:.8rem;color:var(--muted);padding:4px 2px 0}.entry-plan{font-size:.95rem;color:var(--muted)}.entry-plan b{color:var(--fg)}.warmups small{font-size:.85rem}.tabbar a{font-size:.85rem;padding:14px 4px}.card-pad{padding:16px;gap:10px}.warn-text{color:var(--warn)}.linkbtn.left{text-align:left;padding:4px 0}.form{display:grid;gap:12px}.field>span:first-child,.field-label{font-family:var(--font-display);font-weight:600;text-transform:uppercase;letter-spacing:.06em;font-size:.8rem;color:var(--muted)}.field input,.field-row>input,.rounds input,.field textarea{font:inherit;font-size:1.1rem;color:var(--fg);background:var(--surface-2);border:1px solid var(--line);border-radius:var(--radius-sm);padding:10px 12px;min-height:48px;width:100%;min-width:0}.field-row{display:flex;align-items:center;gap:8px}.field-row input{flex:1}.field-unit{color:var(--muted);font-family:var(--font-display);font-weight:600}.grid2.tight,.grid3.tight{gap:8px}.grid2.tight{grid-template-columns:1fr 1fr}.grid3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.rounds{display:grid;gap:6px}.round{display:grid;grid-template-columns:76px 1fr 1fr;gap:8px;align-items:center}.round span{color:var(--muted)}.historyrow .dayrow{position:relative;grid-template-columns:40px minmax(0,1fr) auto}.historyrow .x{font:inherit;background:none;border:0;color:var(--muted);padding:8px;cursor:pointer}table .x{font:inherit;background:none;border:0;color:var(--muted);padding:0 4px;cursor:pointer}.sessionlist{list-style:none;margin:0;padding:0;display:grid;gap:6px}.sessionlist li{display:grid;grid-template-columns:auto 1fr;gap:12px;align-items:baseline;padding:8px 12px;background:var(--surface-2);border-radius:var(--radius-sm)}.sessionlist b{font-family:var(--font-display);font-size:1.1rem}.chart{margin:0;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:12px 12px 6px;display:grid;gap:6px}.chart figcaption{display:flex;justify-content:space-between;align-items:baseline;gap:12px}.chart figcaption span{font-family:var(--font-display);font-weight:600;text-transform:uppercase;letter-spacing:.06em;font-size:.8rem;color:var(--muted)}.chart figcaption b{font-family:var(--font-display);font-size:1.2rem;font-variant-numeric:tabular-nums}.chart svg{width:100%;height:auto;display:block;touch-action:pan-y}.chart-grid{stroke:var(--line);stroke-width:1}.chart-tick{fill:var(--muted);font-size:11px;font-family:var(--font-body)}.chart-line{fill:none;stroke:var(--accent);stroke-width:2;stroke-linejoin:round;stroke-linecap:round}.chart-dot{fill:var(--surface);stroke:var(--accent);stroke-width:2}.chart-cross{stroke:var(--muted);stroke-width:1;stroke-dasharray:3 3}
