:root{--text:#b7b7b7;--text-h:#f7fafc;--muted:#8f8f8f;--bg:#0d0f12;--surface:#1f1f1ff0;--surface-strong:#333;--field:#171717;--border:#ffffff1a;--accent:#ff4a32;--accent-strong:#ff7a68;--accent-bg:#ff4a3224;--focus:#ff4a3257;--work:#ff3f34;--rest:#37d978;--track:#ffffff1f;--phase-color:var(--work);--shadow-soft:0 24px 70px #00000057;--sans:Inter, ui-sans-serif, system-ui, "Segoe UI", Roboto, sans-serif;--heading:Inter, ui-sans-serif, system-ui, "Segoe UI", Roboto, sans-serif;--mono:"SFMono-Regular", ui-monospace, Consolas, monospace;font:18px/145% var(--sans);letter-spacing:0;color:var(--text);background:var(--bg);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}body{margin:0}button,input{font:inherit}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:var(--heading);color:var(--text-h);letter-spacing:0;font-weight:900}h1{font-size:52px;line-height:1}h2{font-size:30px;line-height:1.15}#root{min-height:100svh}@media (width<=980px){h1{font-size:40px}}@media (width<=560px){h1{font-size:32px}}.app-shell{background:var(--bg);min-height:100svh;padding:28px}.app-shell.run-mode{background:radial-gradient(circle at 50% 45%, color-mix(in srgb, var(--phase-color) 18%, transparent), transparent 52%), linear-gradient(320deg, #ffffff0a, transparent 48%), var(--bg);flex-direction:column;height:100dvh;display:flex;overflow:hidden}.app-shell.run-mode .runner{flex:1;min-height:0}.app-shell.run-mode .timer-panel{height:100%;min-height:0;box-shadow:none;background:0 0;border:0}.app-header{justify-content:center;max-width:1220px;margin:0 auto 28px;display:flex}.tabs{border:1px solid var(--border);background:var(--surface);width:auto;box-shadow:var(--shadow-soft);border-radius:999px;grid-template-columns:1fr 1fr;gap:8px;margin:0 auto;padding:8px;display:grid}.tabs button,.runner-controls button,.exercise-actions button,.primary-button,.drag-handle,.add-exercise-card{min-height:58px;color:var(--text-h);font:inherit;cursor:pointer;touch-action:manipulation;background:0 0;border:1px solid #0000;border-radius:999px;padding:0 22px;font-size:16px;font-weight:900;transition:border-color .18s,background .18s,transform .18s,color .18s}.tabs button{place-items:center;width:58px;min-width:58px;padding:0;display:grid}.tabs svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2.8px;width:27px;height:27px}.tabs button.active,.primary-button{color:#fff;background:var(--accent)}.tabs button:hover,.runner-controls button:hover,.exercise-actions button:hover,.primary-button:hover,.drag-handle:hover,.add-exercise-card:hover{transform:translateY(-1px)}button:disabled{cursor:not-allowed;opacity:.45;transform:none}button:focus-visible,input:focus-visible{outline:4px solid var(--focus);outline-offset:3px}.builder,.runner{max-width:1220px;margin:0 auto}.builder{text-align:left}.builder-toolbar{border:1px solid var(--border);background:var(--surface);width:fit-content;box-shadow:var(--shadow-soft);text-align:center;border-radius:999px;margin:0 auto 14px;padding:9px 16px}.builder-toolbar p,.set-line{color:var(--text)}.builder-toolbar p{opacity:.82;font-size:14px;font-weight:800}.workout-settings{grid-template-columns:repeat(4,minmax(120px,1fr));gap:10px;margin-bottom:18px;display:grid}.setting-control,.exercise-card,.timer-panel{border:1px solid var(--border);background:var(--surface);box-shadow:var(--shadow-soft);border-radius:8px}.setting-control{grid-template-columns:68px minmax(0,1fr) 30px;align-items:center;gap:8px;padding:10px 12px;display:grid;position:relative}label span{color:var(--muted);letter-spacing:0;text-transform:uppercase;font-size:14px;font-weight:900}.setting-icon{width:58px;height:46px;color:var(--accent);background:var(--accent-bg);border-radius:999px;place-items:center;display:grid}.setting-icon.dual-icon{grid-template-columns:1fr 1fr;gap:6px;width:72px;padding:0 10px}.setting-icon svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2.3px;width:25px;height:25px}.setting-control>small{color:var(--text);font-size:13px;font-weight:800}label{gap:10px;min-width:0;display:grid}input{box-sizing:border-box;border:1px solid var(--border);width:100%;min-width:0;height:64px;color:var(--text-h);background:var(--field);font:inherit;text-align:center;border-radius:8px;padding:0 16px;font-size:24px;font-weight:900}.setting-control input{height:44px;padding:0 8px;font-size:20px}.exercise-list{gap:12px;display:grid}.exercise-card{grid-template-columns:minmax(260px,1fr) 54px;align-items:center;gap:12px;padding:12px;transition:border-color .18s,opacity .18s,transform .18s;display:grid}.exercise-card.dragging{border-color:var(--accent);opacity:.72;transform:scale(.995)}.exercise-card-header{align-items:center;gap:12px;min-width:0;display:flex}.exercise-card-header label{flex:1}.drag-handle,.icon-button,.add-exercise-card{border:1px solid var(--border);color:var(--text-h);background:var(--surface-strong);place-items:center;display:grid}.drag-handle,.icon-button{border-radius:50%;flex:0 0 54px;width:54px;height:54px;min-height:54px;padding:0;font-size:22px;font-weight:900}.drag-handle{color:var(--muted);cursor:grab;touch-action:none}.drag-handle:active{cursor:grabbing}.icon-button{color:var(--accent-strong)}.exercise-name-field{grid-template-columns:38px minmax(0,1fr);align-items:center}.exercise-name-field span{width:38px;height:38px;color:var(--accent);background:var(--accent-bg);border-radius:50%;place-items:center;display:grid}.exercise-name-field input{text-align:left}.exercise-actions{justify-content:flex-end;gap:10px;display:flex}.exercise-actions button,.runner-controls button:not(.primary-button){border-color:var(--border);background:var(--surface-strong)}.add-exercise-card{width:100%;min-height:58px;color:var(--accent);border-style:dashed;font-size:30px;line-height:1}.runner{grid-template-columns:minmax(0,1fr);align-items:stretch;min-height:0;display:grid}.timer-panel{text-align:center;align-content:center;justify-items:center;min-height:660px;padding:42px;display:grid;position:relative;overflow:hidden}.timer-panel:before{content:"";background:linear-gradient(140deg, color-mix(in srgb, var(--phase-color) 16%, transparent), transparent 35%), linear-gradient(320deg, #ffffff0d, transparent 34%);pointer-events:none;position:absolute;inset:0}.app-shell.run-mode .timer-panel:before{background:0 0}.app-shell.run-mode:has(.timer-panel.work){--phase-color:var(--work)}.app-shell.run-mode:has(.timer-panel.rest){--phase-color:var(--rest)}.timer-panel.work{--phase-color:var(--work)}.timer-panel.rest,.timer-panel.complete{--phase-color:var(--rest)}.timer-panel h2{text-transform:uppercase;margin-bottom:14px;font-size:54px;position:relative}.next-exercise-name{min-height:32px;color:var(--rest);text-transform:uppercase;place-items:center;margin:-4px 0 22px;font-size:22px;font-weight:900;display:grid;position:relative}.timer-ring{aspect-ratio:1;background:conic-gradient(var(--phase-color) var(--phase-progress), #343434 0), #343434;border-radius:50%;place-items:center;width:min(430px,72vw);display:grid;position:relative;box-shadow:inset 0 0 0 18px #ffffff0a,0 30px 80px #00000052}.timer-ring:before{content:"";background:var(--bg);border-radius:50%;position:absolute;inset:34px;box-shadow:inset 0 0 0 1px #ffffff14,inset 0 0 0 10px #ffffff05}.ring-knob{transform:rotate(var(--phase-progress));border-radius:50%;position:absolute;inset:0}.ring-knob:before{content:"";background:var(--phase-color);border:5px solid #fff;border-radius:50%;width:34px;height:34px;position:absolute;top:-4px;left:50%;transform:translate(-50%);box-shadow:0 8px 22px #00000059}.timer{color:var(--text-h);font-family:var(--mono);font-size:92px;font-weight:900;line-height:.95;position:relative}.set-line{margin-top:24px;font-size:26px;font-weight:900}.interval-dots{flex-wrap:wrap;justify-content:center;gap:9px;width:min(430px,100%);margin:22px auto 4px;display:flex}.interval-dots span{opacity:.75;background:#5a5a5a;border-radius:999px;width:13px;height:13px}.interval-dots span.work.done,.interval-dots span.work.active{background:var(--work)}.interval-dots span.rest.done,.interval-dots span.rest.active{background:var(--rest)}.interval-dots span.active{opacity:1;outline:3px solid #fff}.interval-dots span.done{opacity:1}.complete-mark{aspect-ratio:1;width:min(260px,60vw);color:var(--rest);background:color-mix(in srgb, var(--rest) 12%, var(--surface));border-radius:50%;place-items:center;margin:22px 0 20px;display:grid;box-shadow:inset 0 0 0 14px #ffffff0a,0 30px 80px #00000047}.complete-mark svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2.8px;width:48%;height:48%}.runner-controls{flex-wrap:wrap;justify-content:center;gap:10px;margin-top:16px;display:flex}.runner-controls button{width:58px;min-width:58px;height:58px;min-height:58px;padding:0}.control-button{place-items:center;display:grid;box-shadow:0 14px 28px #00000038}.control-button svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2.8px;width:28px;height:28px}@media (width<=980px){.app-shell{padding:18px}.app-header,.builder-toolbar,.runner{grid-template-columns:1fr}.tabs{width:auto}.workout-settings{grid-template-columns:repeat(2,minmax(0,1fr))}.timer-panel{min-height:560px;padding:30px 20px}.timer-panel h2{font-size:38px}.timer-ring{width:min(350px,82vw)}.timer{font-size:72px}}@media (width<=560px){.app-shell{padding:12px}.app-shell.run-mode{padding:10px}.app-shell.run-mode .app-header{margin-bottom:8px}.app-shell.run-mode .tabs{padding:5px}.app-shell.run-mode .tabs button{width:48px;min-width:48px;min-height:48px}.tabs button,.exercise-actions button,.primary-button{padding:0 12px;font-size:14px}.builder-toolbar{padding:14px}.workout-settings{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.setting-control{grid-template-columns:1fr;justify-items:center;gap:6px;padding:10px}.setting-control>small{display:none}.setting-control input{width:100%;height:42px;font-size:18px}.exercise-card-header{align-items:center}.drag-handle,.icon-button{width:50px;min-width:50px;height:50px;min-height:50px}input{height:58px;font-size:20px}.setting-control input{height:44px}.runner-controls{flex-wrap:nowrap;justify-content:center;display:flex}.runner-controls button{width:54px;min-width:54px;height:54px;min-height:54px;padding:0}.timer-panel{min-height:0;padding:16px 14px}.app-shell.run-mode .timer-panel{align-content:center}.timer-panel h2{margin-bottom:8px;font-size:30px}.next-exercise-name{min-height:24px;margin:-2px 0 12px;font-size:16px}.timer-ring{width:min(380px,94vw,52dvh)}.timer{font-size:58px}.set-line{margin-top:14px;font-size:20px}.interval-dots{gap:7px;margin:14px auto 0}.interval-dots span{width:11px;height:11px}}
