:root{--bg: #0b0d10;--surface: #14181d;--surface-2: #1b2027;--text: #f2f5f8;--muted: #9aa6b2;--accent: #4cc2ff;--accent-ink: #06212e;--good: #3ddc97;--warn: #ffb454;--radius: 14px;--tap: 48px}:root[data-theme=light]{--bg: #f4f6f8;--surface: #ffffff;--surface-2: #eef1f4;--text: #11161b;--muted: #5b6770;--accent: #0a7ea4;--accent-ink: #ffffff}*{box-sizing:border-box}html,body{margin:0;background:var(--bg);color:var(--text);font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-size:17px;line-height:1.4}#app{max-width:560px;margin:0 auto;padding:20px 16px 64px}h1{font-size:1.6rem;margin:0 0 4px}.muted{color:var(--muted)}.screen-header{margin-bottom:20px}.tm-card{background:var(--surface);border-radius:var(--radius);padding:16px;margin-bottom:16px}.tm-card-title{font-size:1.1rem;margin:0 0 2px}.tm-card-sub{color:var(--muted);font-size:.85rem;margin:0 0 14px}.tm-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.tm-field{display:flex;flex-direction:column;gap:4px}.tm-field-label{font-size:.8rem;color:var(--muted)}.tm-input,.pref-input{background:var(--surface-2);border:1px solid transparent;border-radius:10px;color:var(--text);font-size:1.25rem;font-variant-numeric:tabular-nums;padding:10px 12px;min-height:var(--tap);width:100%}.tm-input:focus,.pref-input:focus{outline:none;border-color:var(--accent)}.tm-unit{font-size:.75rem;color:var(--muted)}.pref-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 0}.pref-input{max-width:150px;font-size:1rem}.save-status{min-height:20px;color:var(--good);font-size:.85rem;transition:opacity .2s;opacity:0}.save-status.flash{opacity:1}.primary-btn{background:var(--accent);color:var(--accent-ink);border:none;border-radius:12px;font-size:1.05rem;font-weight:600;padding:14px 18px;min-height:var(--tap);width:100%;cursor:pointer}.home-placeholder h1{margin-top:12px}.primary-btn+.primary-btn{margin-top:10px}.primary-btn.ghost{background:var(--surface-2);color:var(--text)}.error{color:var(--warn);white-space:pre-wrap}.home-header,.screen-header{margin-bottom:18px}.home-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.home-titles h1{margin:0}.gear-link,.back-link{color:var(--accent);text-decoration:none;font-size:.95rem;display:inline-block;min-height:36px;padding:6px 2px}.back-link{margin-bottom:6px}.screen-header h1{font-size:1.35rem;line-height:1.2}.block-section{margin-bottom:22px}.block-heading{display:flex;align-items:baseline;gap:10px;margin:0 0 10px}.block-tag{font-weight:700;letter-spacing:.02em;text-transform:uppercase;font-size:.78rem;color:var(--accent)}.block-range{font-size:.78rem}.week-card{background:var(--surface);border-radius:var(--radius);padding:12px;margin-bottom:10px}.week-label{font-size:.92rem;color:var(--muted);margin-bottom:10px}.day-row{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.day-tile{display:flex;flex-direction:column;justify-content:space-between;gap:8px;min-height:64px;padding:12px;border-radius:12px;background:var(--surface-2);color:var(--text);text-decoration:none;border:1px solid transparent}.day-tile.done{border-color:color-mix(in srgb,var(--good) 55%,transparent)}.day-tile-name{font-weight:600;font-size:.95rem}.day-tile-mark{font-size:.78rem;color:var(--good);min-height:1em}.banners{display:flex;flex-direction:column;gap:10px;margin-bottom:16px}.banner{border-radius:12px;padding:12px 14px;font-size:.92rem;line-height:1.35;border-left:4px solid var(--muted);background:var(--surface)}.banner.advice{border-left-color:var(--accent)}.banner.warn{border-left-color:var(--warn)}.banner.medical{border-left-color:#ff6b6b}.banner-note{color:var(--muted)}.banner-sub{margin:6px 0 0;font-size:.85rem;color:var(--muted)}.prep-note{background:var(--surface);border-radius:12px;padding:12px 14px;color:var(--muted);font-size:.9rem;margin-bottom:16px}.exercise-card,.tension-card{background:var(--surface);border-radius:var(--radius);padding:14px;margin-bottom:14px}.exercise-name{font-size:1.05rem;margin:0 0 12px}.sets-wrap{display:flex;flex-direction:column;gap:10px}.set-row{background:var(--surface-2);border-radius:12px;padding:12px;border:1px solid transparent}.set-row.active{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent) inset}.set-row.logged{opacity:.78}.set-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:10px}.set-target{display:flex;flex-wrap:wrap;gap:4px 10px;font-size:.85rem;color:var(--muted)}.set-id{font-weight:600;color:var(--text)}.load-value{font-size:1.5rem;font-weight:700;font-variant-numeric:tabular-nums;color:var(--accent);white-space:nowrap}.load-value.choice{font-size:1rem;color:var(--muted);font-weight:600}.set-controls{display:grid;grid-template-columns:1fr auto;gap:10px;margin-bottom:10px}.ctl{display:flex;flex-direction:column;gap:4px}.ctl-label{font-size:.75rem;color:var(--muted)}.num-field{display:flex;align-items:stretch;gap:6px}.step-btn{width:var(--tap);min-width:var(--tap);height:var(--tap);border:none;border-radius:10px;background:var(--surface);color:var(--text);font-size:1.6rem;line-height:1;cursor:pointer}.num-input{background:var(--bg);border:1px solid color-mix(in srgb,var(--muted) 30%,transparent);border-radius:10px;color:var(--text);font-size:1.1rem;font-variant-numeric:tabular-nums;text-align:center;width:4.5rem;min-height:var(--tap)}.num-input.big{font-size:1.6rem;font-weight:700;width:5.5rem}.num-input:focus{outline:none;border-color:var(--accent)}.rpe{margin-bottom:10px}.rpe-chips{display:flex;flex-wrap:wrap;gap:6px}.rpe-chip{min-width:44px;min-height:44px;border-radius:10px;border:1px solid color-mix(in srgb,var(--muted) 30%,transparent);background:var(--bg);color:var(--text);font-size:.95rem;font-variant-numeric:tabular-nums;cursor:pointer}.rpe-chip.on{background:var(--accent);color:var(--accent-ink);border-color:var(--accent);font-weight:700}.set-foot{display:flex}.log-btn{flex:1;min-height:var(--tap);border:none;border-radius:10px;background:var(--accent);color:var(--accent-ink);font-size:1rem;font-weight:700;cursor:pointer}.set-row.logged .log-btn{background:color-mix(in srgb,var(--good) 30%,var(--surface));color:var(--text)}.add-set-btn{margin-top:10px;width:100%;min-height:44px;border:1px dashed color-mix(in srgb,var(--muted) 40%,transparent);border-radius:10px;background:transparent;color:var(--muted);font-size:.9rem;cursor:pointer}.set-flags{margin-top:8px}.set-flag{margin:6px 0 0;font-size:.82rem;border-radius:8px;padding:6px 10px}.set-flag.cap{background:color-mix(in srgb,var(--warn) 18%,transparent);color:var(--warn)}.set-flag.soft{background:color-mix(in srgb,var(--muted) 16%,transparent);color:var(--muted)}.set-notes{margin:10px 0 0;font-size:.82rem;color:var(--muted)}.tension-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-bottom:8px}.toggle-row{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:44px}.toggle-input{width:26px;height:26px}.meta-row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:8px}.meta-row.col{flex-direction:column;align-items:stretch;gap:6px}.meta-input,.meta-notes{background:var(--bg);border:1px solid color-mix(in srgb,var(--muted) 30%,transparent);border-radius:10px;color:var(--text);font-size:1rem;padding:10px 12px;min-height:var(--tap);width:100%;max-width:60%}.meta-row.col .meta-notes{max-width:100%}.rest-timer{position:sticky;bottom:12px;display:flex;align-items:center;gap:10px;background:var(--surface);border-radius:var(--radius);padding:10px 14px;margin-top:16px;box-shadow:0 6px 20px #00000059}.rest-timer.ring{animation:ringflash .5s ease-in-out 3}@keyframes ringflash{0%,to{background:var(--surface)}50%{background:color-mix(in srgb,var(--accent) 35%,var(--surface))}}.rest-label{font-size:.8rem;color:var(--muted)}.rest-display{font-size:1.5rem;font-weight:700;font-variant-numeric:tabular-nums;flex:1}.rest-btn{min-height:40px;padding:0 16px;border:none;border-radius:10px;background:var(--accent);color:var(--accent-ink);font-weight:600;cursor:pointer}.rest-btn.ghost{background:var(--surface-2);color:var(--text)}.home-nav{display:flex;gap:16px}.trend-caption{color:var(--muted);font-size:.85rem;background:var(--surface);border-radius:12px;padding:12px 14px;margin-bottom:16px}.progress-card,.suggestion-card{background:var(--surface);border-radius:var(--radius);padding:14px;margin-bottom:14px}.progress-card-head{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin-bottom:8px}.progress-card-head .exercise-name{margin:0}.empty-trend{font-size:.88rem;margin:6px 0 0}.trend-svg{width:100%;height:auto;display:block}.trend-svg .axis{stroke:color-mix(in srgb,var(--muted) 40%,transparent);stroke-width:1}.trend-svg .trend-line{stroke:var(--accent);stroke-width:2.5;stroke-linecap:round}.trend-svg .trend-dot{fill:var(--accent)}.trend-svg .tick{fill:var(--muted);font-size:10px}.trend-svg .point-label{fill:var(--text);font-size:10px;font-weight:700}.suggestions-heading{font-size:1.05rem;margin:18px 0 10px}.suggestion-card{border-left:4px solid var(--warn)}.suggestion-row{display:flex;align-items:baseline;justify-content:space-between;padding:6px 0;border-top:1px solid color-mix(in srgb,var(--muted) 18%,transparent)}.suggestion-val{font-size:1.2rem;font-variant-numeric:tabular-nums;color:var(--warn)}.suggestion-hint{margin:10px 0 0;font-size:.8rem;color:var(--muted)}.suggestions-empty{font-size:.85rem}.day-tile.in-progress{border-color:color-mix(in srgb,var(--accent) 55%,transparent)}.day-tile.in-progress .day-tile-mark{color:var(--accent)}.day-tile.complete{border-color:color-mix(in srgb,var(--good) 70%,transparent);background:color-mix(in srgb,var(--good) 12%,var(--surface-2))}.num-field.no-stepper{justify-content:flex-start}.num-field.no-stepper .num-input.big{width:7rem}.rpe-field{display:flex;flex-direction:column;gap:8px}.rpe-chip.rpe-other{min-width:auto;padding:0 12px;font-size:.8rem;color:var(--muted)}.rpe-chip.rpe-other.on{color:var(--accent-ink)}.rpe-custom{display:flex;align-items:center;gap:8px}.num-input.rpe-custom-input{width:5rem}.set-foot{gap:8px}.mini-btn{min-height:var(--tap);padding:0 14px;border:1px solid color-mix(in srgb,var(--muted) 30%,transparent);border-radius:10px;background:transparent;color:var(--muted);font-size:.85rem;cursor:pointer}.set-note-row{margin-top:8px}.set-note-input{width:100%;min-height:var(--tap);padding:8px 12px;border:1px solid color-mix(in srgb,var(--muted) 30%,transparent);border-radius:10px;background:var(--bg);color:var(--text);font-size:.9rem}.set-row.skipped{opacity:.55;border-style:dashed;border-color:color-mix(in srgb,var(--muted) 45%,transparent)}.set-row.skipped .set-controls,.set-row.skipped .rpe{opacity:.5}.exercise-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.exercise-head .exercise-name{margin:0}.rename-wrap{flex:0 0 auto}.rename-btn{border:1px solid color-mix(in srgb,var(--muted) 30%,transparent);border-radius:10px;background:transparent;color:var(--muted);font-size:.78rem;padding:6px 10px;min-height:36px;cursor:pointer}.rename-editor{margin-top:10px;display:flex;flex-direction:column;gap:8px}.rename-input{width:100%;min-height:var(--tap);padding:8px 12px;border:1px solid color-mix(in srgb,var(--accent) 50%,transparent);border-radius:10px;background:var(--bg);color:var(--text);font-size:.95rem}.keep-load-row{font-size:.82rem;color:var(--muted)}.rename-note{margin:0 0 12px;font-size:.8rem;color:var(--muted)}.complete-card{margin:18px 0 8px}.complete-btn{width:100%;min-height:52px;border:1px solid color-mix(in srgb,var(--good) 50%,transparent);border-radius:var(--radius);background:transparent;color:var(--text);font-size:1rem;font-weight:700;cursor:pointer}.complete-card.done .complete-btn{background:color-mix(in srgb,var(--good) 30%,var(--surface));border-color:var(--good)}
