:root{--color-bg: #1a1a1a;--color-surface: #242424;--color-surface-subtle: #2a2a2a;--color-surface-strong: #333333;--color-text: #ffffff;--color-text-muted: #b0b0b0;--color-text-subtle: #8a8a8a;--color-border: #333333;--color-border-strong: #4a4a4a;--color-brand: #00d9ff;--color-brand-strong: #00b8d9;--color-brand-soft: rgba(0, 217, 255, .12);--color-on-brand: #1a1a1a;--color-accent: #ff2e7e;--color-accent-soft: rgba(255, 46, 126, .14);--color-success: #3dd68c;--color-success-soft: rgba(61, 214, 140, .14);--color-warning: #ffb020;--color-warning-soft: rgba(255, 176, 32, .16);--color-danger: #ff5c5c;--color-danger-soft: rgba(255, 92, 92, .16);--color-focus: #00d9ff;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-6: 24px;--space-8: 32px;--space-12: 48px;--radius-sm: 4px;--radius-md: 12px;--radius-lg: 20px;--radius-sheet: 40px;--radius-pill: 999px;--control-min: 48px;--content-max: 720px;--nav-height: 80px;--text-xs: 11px;--text-sm: 14px;--text-md: 16px;--text-lg: 20px;--text-xl: 48px;--font-body: Manrope, ui-sans-serif, system-ui, sans-serif;--font-display: "Clash Grotesk", Manrope, ui-sans-serif, system-ui, sans-serif;--ease: cubic-bezier(.25, .46, .45, .94)}*,*:before,*:after{box-sizing:border-box}html,body{margin:0;min-height:100%;background:var(--color-bg);color:var(--color-text);-webkit-tap-highlight-color:transparent}body{font-family:var(--font-body)}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}.program-actions-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:var(--space-2);margin-top:var(--space-3)}.program-actions-row .ghost{width:100%;min-width:0}.manage-program{min-height:48px;border:1px solid var(--color-border-strong);background:transparent;color:var(--color-text-muted);border-radius:var(--radius-sm);padding:10px 14px;font-weight:700}.manage-program:hover,.manage-program:focus-visible{border-color:var(--color-accent);color:var(--color-accent)}.modal-backdrop{position:fixed;inset:0;z-index:100;display:flex;align-items:flex-end;justify-content:center;padding:var(--space-3);padding-bottom:calc(var(--space-3) + env(safe-area-inset-bottom));background:#000000b8;overscroll-behavior:contain}.action-modal{width:min(100%,460px);max-height:min(86dvh,640px);overflow-y:auto;background:var(--color-surface);border:1px solid var(--color-border-strong);border-radius:var(--radius-lg) var(--radius-lg) var(--radius-md) var(--radius-md);padding:var(--space-6);box-shadow:0 16px 48px #00000073}.action-modal h2{margin:var(--space-2) 0 0;font-family:var(--font-display);font-size:clamp(1.45rem,7vw,1.9rem);line-height:1.05}.modal-lead{margin:var(--space-2) 0 var(--space-4);color:var(--color-text-muted)}.modal-option{width:100%;min-height:72px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:4px;margin-top:var(--space-3);padding:14px 16px;text-align:left;border-radius:var(--radius-md);border:1px solid var(--color-border);background:var(--color-surface-subtle);color:var(--color-text)}.modal-option strong{font-size:var(--text-md)}.modal-option span{color:var(--color-text-muted);font-size:12px;line-height:1.45}.archive-option:hover,.archive-option:focus-visible{border-color:var(--color-warning)}.delete-option{border-color:#ff5c5c73;background:var(--color-danger-soft)}.delete-option strong{color:var(--color-danger)}.delete-option:hover,.delete-option:focus-visible{border-color:var(--color-danger)}.modal-cancel{width:100%;min-height:48px;margin-top:var(--space-4);background:transparent;border:0;color:var(--color-text-muted);font-weight:700}.workout-list,.workout,.workout-ex-row,.workout-ex-body,.exec-card{min-width:0}.exec-actions>button{flex:1 1 calc(50% - var(--space-2));min-width:0}@media(min-width:560px){.modal-backdrop{align-items:center;padding:var(--space-6)}.action-modal{border-radius:var(--radius-lg)}}@media(max-width:380px){.workout-ex-row{gap:var(--space-2);padding-left:0;padding-right:0}.workout-ex-thumb{width:40px;height:40px}.exec-card{padding:var(--space-3)}.exec-actions>button{flex-basis:100%}.program-actions-row{grid-template-columns:1fr}}@media(max-width:330px){.action-modal{padding:var(--space-4)}}
