:root{color-scheme:light;--paper:#e9e8e2;--surface:#f8f7f2;--field:#fff;--ink:#171b18;--muted:#626962;--accent:#ff6a3d;--accent-soft:rgba(255,106,61,.16);--line:#c8cbc4;--green:#315d47;--button-ink:#fff;--r:18px;--shadow:0 18px 60px rgba(25,30,25,.12);font-family:Bahnschrift,Arial,"Segoe UI",sans-serif}
:root[data-theme="dark"]{color-scheme:dark;--paper:#121511;--surface:#1d221d;--field:#282e27;--ink:#f3f4ed;--muted:#a8afa6;--line:#3d463c;--green:#9bc6a9;--button-ink:#111510;--shadow:0 18px 60px rgba(0,0,0,.34)}
:root[data-accent="lime"]{--accent:#39ff14;--accent-soft:rgba(57,255,20,.16)}:root[data-accent="orange"]{--accent:#ff5f1f;--accent-soft:rgba(255,95,31,.17)}:root[data-accent="purple"]{--accent:#bf00ff;--accent-soft:rgba(191,0,255,.16)}:root[data-accent="red"]{--accent:#bb2649;--accent-soft:rgba(187,38,73,.17)}
*{box-sizing:border-box}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}body{margin:0;background:radial-gradient(circle at 88% 4%,var(--accent-soft),transparent 32%),linear-gradient(145deg,var(--paper),color-mix(in srgb,var(--paper) 94%,var(--accent) 6%));background-attachment:fixed;color:var(--ink);transition:background-color .2s,color .2s}button,input,textarea{font:inherit}.shell{width:min(100%,620px);margin:auto;padding:22px 14px 64px}.topbar,.top-actions,.section-actions{display:flex;align-items:center}.topbar{justify-content:space-between;border-bottom:1px solid var(--line);padding-bottom:18px;margin-bottom:26px}.top-actions,.section-actions{gap:10px}.brand{color:inherit;text-decoration:none;font-weight:800;letter-spacing:.02em}.brand span{display:inline-grid;place-items:center;width:30px;height:30px;margin-right:8px;border-radius:50%;background:var(--ink);color:var(--paper)}button{cursor:pointer}.text-button,.outline-button,.icon-button,.color-button{border:0;background:transparent;color:inherit}.icon-button{display:grid;place-items:center;width:42px;height:42px;border:1px solid var(--line);border-radius:50%;font-size:22px}.color-button{display:flex;align-items:center;gap:8px;height:42px;border:1px solid var(--line);border-radius:99px;padding:0 13px;font-weight:700}.color-dot{width:14px;height:14px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.text-button span{display:inline-grid;place-items:center;min-width:25px;height:25px;margin-left:6px;border-radius:50%;background:var(--ink);color:var(--paper);font-size:12px}.eyebrow{margin:0 0 8px;text-transform:uppercase;letter-spacing:.045em;font-size:13px;font-weight:800;color:var(--green)}.workout{background:color-mix(in srgb,var(--surface) 96%,transparent);border:1px solid var(--line);box-shadow:var(--shadow);padding:32px;border-radius:var(--r)}.section-heading{display:flex;justify-content:space-between;align-items:end;padding-bottom:24px;border-bottom:1px solid var(--line)}.workout-heading{min-width:0}.workout-title-button{display:grid;gap:2px;text-align:left;border:0;background:transparent;color:var(--ink);padding:0}.workout-title-button span{font-size:clamp(34px,7vw,48px);line-height:1;font-weight:800;letter-spacing:-.035em}.workout-title-button small{color:var(--muted);font-size:12px;font-weight:600}.workout-meta{margin:10px 0 0;color:var(--muted);font-size:14px}h2{font-size:36px;line-height:1.15;margin:0}.subheading{font-size:20px;margin:0}.outline-button{border:1px solid var(--ink);border-radius:99px;padding:11px 16px;font-weight:700}.exercise-list{list-style:none;margin:0;padding:0}.exercise{display:grid;grid-template-columns:32px 1fr;gap:12px;align-items:center;padding:18px 8px;border-bottom:1px solid var(--line);border-radius:12px;transition:background-color .2s}.exercise-index{font-style:italic;color:var(--accent)}.exercise h3{margin:0 0 4px;font-size:20px;letter-spacing:0}.exercise p{margin:0;color:var(--muted);font-size:15px}.record-button{grid-column:2;width:100%;border:0;border-radius:99px;background:var(--ink);color:var(--paper);padding:12px 16px;font-weight:700}.exercise.done{background:var(--accent-soft);box-shadow:inset 4px 0 0 var(--accent)}.exercise.done .record-button{background:var(--accent);color:#fff}.exercise.done h3{color:var(--ink)}.summary{display:grid;grid-template-columns:1fr 1fr;gap:20px;align-items:end;padding-top:24px}.summary span{display:block;color:var(--muted);font-size:13px;margin-bottom:3px}.summary strong{font-size:27px}.summary .primary-button{grid-column:1/-1;width:100%}.primary-button{border:0;border-radius:99px;background:var(--accent);color:#fff;padding:15px 22px;font-weight:800}.primary-button:disabled{background:var(--line);color:var(--muted);cursor:not-allowed}.empty-state{text-align:center;padding:44px 20px;border-bottom:1px solid var(--line)}.empty-state h3{font-size:22px;margin:0}.empty-state p,.dialog-note{color:var(--muted);margin:8px 0 20px}dialog{width:min(620px,calc(100% - 28px));max-height:calc(100vh - 28px);border:1px solid var(--line);border-radius:var(--r);background:var(--surface);color:var(--ink);padding:0;box-shadow:var(--shadow)}dialog::backdrop{background:rgba(10,12,10,.7)}dialog form{padding:30px;display:grid;gap:18px;position:relative}.close-button{position:absolute;right:18px;top:16px;width:42px;height:42px;display:grid;place-items:center;border:1px solid var(--line);border-radius:50%;background:var(--field);color:var(--ink);font-size:26px;line-height:1;padding:0}.close-button:hover{border-color:var(--accent);background:var(--accent-soft)}.field-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}label{display:grid;gap:7px;color:var(--muted);font-size:13px;font-weight:700}input,textarea{width:100%;border:1px solid var(--line);border-radius:10px;background:var(--field);padding:12px;color:var(--ink)}textarea{min-height:90px;resize:vertical}.sets-header,.set-row{display:grid;grid-template-columns:34px 1fr 1fr 42px;gap:10px;align-items:center}.sets-header{color:var(--muted);font-size:12px;font-weight:800;padding:0 2px}.sets-list{display:grid;gap:10px}.set-number{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:var(--accent-soft);color:var(--accent);font-weight:800}.set-row input{text-align:center;font-weight:700}.program-list{display:grid;gap:10px;max-height:42vh;overflow:auto;padding-right:3px}.program-row{display:grid;grid-template-columns:32px 1fr 42px;gap:10px;align-items:center}.program-number{color:var(--accent);font-weight:800}.remove-button{width:42px;height:42px;border:1px solid var(--line);border-radius:10px;background:transparent;color:var(--muted);font-size:22px}.remove-button:disabled{opacity:.25;cursor:not-allowed}.add-button{border:1px dashed var(--muted);border-radius:12px;background:transparent;color:var(--ink);padding:13px;font-weight:700}.color-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.swatch{min-height:94px;border:2px solid transparent;border-radius:14px;padding:18px;text-align:left;color:#fff;display:grid;align-content:end}.swatch span{font-size:18px;font-weight:800}.swatch small{opacity:.82}.swatch[aria-pressed="true"]{border-color:var(--ink);box-shadow:0 0 0 3px var(--surface),0 0 0 5px var(--ink)}.swatch-lime{background:linear-gradient(135deg,#a6e83e,#5d9d12)}.swatch-orange{background:linear-gradient(135deg,#ff8b4b,#e54b25)}.swatch-purple{background:linear-gradient(135deg,#a47aed,#6440bd)}.swatch-red{background:linear-gradient(135deg,#ef5965,#b92135)}.history-list{display:grid;gap:12px;max-height:58vh;overflow:auto;padding-right:3px}.history-card{border:1px solid var(--line);border-radius:14px;padding:16px;background:var(--field)}.history-head{display:flex;align-items:start;justify-content:space-between;gap:16px;margin-bottom:12px}.history-head h3{margin:0;font-size:19px}.history-head time{color:var(--accent);font-weight:800;white-space:nowrap}.history-stats{color:var(--muted);font-size:14px;margin:4px 0 0}.history-card textarea{min-height:72px}.history-empty{text-align:center;padding:28px 12px;color:var(--muted)}.toast{position:fixed;left:50%;bottom:24px;translate:-50% 20px;background:var(--ink);color:var(--paper);border-radius:99px;padding:12px 18px;opacity:0;pointer-events:none;transition:.2s}.toast.show{opacity:1;translate:-50% 0}:focus-visible{outline:3px solid #3d8aff;outline-offset:3px}
@media(max-width:760px){.shell{padding:16px 14px 36px}.topbar{margin-bottom:14px}.workout{padding:20px 18px}.section-heading{align-items:start;gap:16px;flex-direction:column}.workout-title-button span{font-size:38px}.section-actions{width:100%;align-items:stretch}.section-actions button{flex:1}.section-heading h2{font-size:30px}.outline-button{padding:10px 11px}.exercise{grid-template-columns:25px 1fr;padding:17px 6px}.record-button{grid-column:2;width:100%;margin-top:3px}.summary{grid-template-columns:1fr 1fr}.summary .primary-button{grid-column:1/-1;width:100%}.field-grid{grid-template-columns:1fr}.toast{width:calc(100% - 28px);text-align:center}}
@media(max-width:430px){.brand{font-size:14px}.color-label{display:none}.color-button{width:42px;padding:0;justify-content:center}.top-actions{gap:6px}.section-actions{flex-direction:column}.program-row{grid-template-columns:25px 1fr 42px}.color-grid{grid-template-columns:1fr}dialog form{padding:26px 20px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
.topbar-title{font-size:13px;font-weight:800;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}.menu-button{width:46px;height:42px;border:1px solid var(--line);border-radius:12px;background:var(--surface);display:grid;align-content:center;gap:5px;padding:0 12px}.menu-button span{display:block;height:2px;border-radius:2px;background:var(--ink)}.menu-dialog{width:min(480px,calc(100% - 28px))}.menu-list{display:grid;gap:10px}.menu-list>button{width:100%;display:grid;grid-template-columns:44px 1fr auto;gap:12px;align-items:center;text-align:left;border:1px solid var(--line);border-radius:14px;background:var(--field);color:var(--ink);padding:14px}.menu-list>button:hover{border-color:var(--accent);background:var(--accent-soft)}.menu-list strong,.menu-list small{display:block}.menu-list strong{font-size:17px}.menu-list small{margin-top:3px;color:var(--muted)}.menu-icon{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:var(--accent-soft);color:var(--accent);font-size:20px;font-weight:800}.menu-count{display:grid;place-items:center;min-width:28px;height:28px;border-radius:50%;background:var(--ink);color:var(--paper);font-size:12px;font-weight:800}.theme-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:10px}.theme-grid button{border:1px solid var(--line);border-radius:12px;background:var(--field);color:var(--ink);padding:14px;font-weight:800}.theme-grid button[aria-pressed="true"]{border-color:var(--accent);box-shadow:inset 0 0 0 2px var(--accent);background:var(--accent-soft)}
@media(max-width:430px){.topbar-title{font-size:12px}.menu-list>button{grid-template-columns:40px 1fr auto;padding:12px}.menu-list small{font-size:12px}}
.saved-workouts{display:grid;gap:10px;border-top:1px solid var(--line);padding-top:18px}.workout-switcher{display:grid;gap:8px}.workout-choice{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;border:1px solid var(--line);border-radius:12px;background:transparent;color:var(--ink);padding:12px 14px;text-align:left;font-weight:800}.workout-choice[aria-current="true"]{border-color:var(--accent);background:var(--accent-soft)}.workout-choice span{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.workout-choice small{color:var(--accent);font-weight:800}.topbar{padding-bottom:10px;margin-bottom:14px}.topbar-title{font-size:15px;font-style:italic;font-weight:900;letter-spacing:-.015em;transform:skew(-8deg);color:var(--ink)}input:focus-visible,textarea:focus-visible{outline:3px solid var(--accent-soft);border-color:var(--accent);box-shadow:0 0 0 1px var(--accent);outline-offset:2px}
.set-row,.sets-header{grid-template-columns:30px minmax(72px,1fr) minmax(88px,1.15fr) 36px;gap:7px}.set-number{width:28px;height:28px}.stepper{display:grid;grid-template-columns:minmax(0,1fr) 30px;border:1px solid var(--line);border-radius:11px;overflow:hidden;background:var(--field)}.stepper input{min-width:0;border:0;border-radius:0;background:transparent;padding:10px 5px;text-align:center;font-size:22px;font-weight:900;appearance:textfield}.stepper input::-webkit-inner-spin-button,.stepper input::-webkit-outer-spin-button{appearance:none;margin:0}.stepper input:focus-visible{outline:0;box-shadow:inset 0 0 0 2px var(--accent)}.step-controls{display:grid;grid-template-rows:1fr 1fr;border-left:1px solid var(--line)}.step-controls button{display:grid;place-items:center;min-height:27px;border:0;background:var(--accent-soft);color:var(--accent);padding:0;font-size:10px;line-height:1}.step-controls button+button{border-top:1px solid var(--line)}.step-controls button:active{background:var(--accent);color:#fff}.set-row>.remove-button{width:36px;height:56px;border-radius:11px}
