:root{color-scheme:dark;--bg: #0a0a0a;--fg: #f4f4f4;--muted: #888;--accent: #ff5b1f;--panel: #161616;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--bg);color:var(--fg)}button{font:inherit;color:var(--fg);background:var(--panel);border:1px solid #333;padding:1rem 1.5rem;border-radius:8px;cursor:pointer}button.primary{background:var(--accent);border-color:var(--accent);color:#000;font-weight:700}.setup{padding:3rem;max-width:900px;margin:0 auto}.setup h1{font-size:3rem;margin:0 0 .5rem}.setup .suggested{color:var(--muted);margin-bottom:2rem}.workouts{display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.workout-btn{display:flex;flex-direction:column;align-items:flex-start;gap:.25rem;padding:1.5rem;text-align:left}.workout-btn .day{text-transform:uppercase;color:var(--muted);font-size:.75rem;letter-spacing:.1em}.workout-btn .name{font-size:1.5rem;font-weight:700}.workout-btn .meta{color:var(--muted);font-size:.9rem}.timer{display:grid;grid-template-rows:auto 1fr auto auto auto auto;gap:1rem;padding:2rem;height:100vh}.timer.paused{filter:grayscale(.4) brightness(.7)}.timer-header{display:flex;justify-content:space-between;align-items:baseline}.timer-header .workout-name{font-size:1.5rem;font-weight:700}.timer-header .round{color:var(--muted);font-size:1.25rem}.timer-header .elapsed{color:var(--muted);font-variant-numeric:tabular-nums}.big-clock{font-size:clamp(8rem,28vw,22rem);font-weight:800;text-align:center;line-height:1;color:var(--accent);font-variant-numeric:tabular-nums;align-self:center}.exercise-current,.exercise-next{background:var(--panel);padding:1.5rem;border-radius:12px}.exercise-current{border-left:6px solid var(--accent)}.exercise-next{opacity:.7}.exercise-current .label,.exercise-next .label{font-size:.75rem;letter-spacing:.2em;color:var(--muted)}.exercise-current .name{font-size:2.5rem;font-weight:800}.exercise-next .name{font-size:1.5rem;font-weight:700}.exercise-current .meta,.exercise-next .meta{color:var(--muted);margin-top:.25rem}.progress{background:#222;height:8px;border-radius:4px;overflow:hidden}.progress .bar{background:var(--accent);height:100%;transition:width .25s linear}.controls{display:flex;gap:1rem;justify-content:center}.setup-header{display:flex;justify-content:space-between;align-items:baseline}.setup-header h1{margin:0}button.ghost{background:transparent;border-color:#333}.program-line{color:var(--muted);font-size:.9rem;margin:.5rem 0 1rem;display:flex;gap:.5rem;align-items:center}.program-line .dot{opacity:.4}.voice-row{margin-top:2rem;display:flex;gap:1rem;align-items:center;border-top:1px solid #222;padding-top:1.5rem}.voice-row .label{color:var(--muted);font-size:.85rem;text-transform:uppercase;letter-spacing:.1em}.voice-buttons{display:flex;gap:.5rem;flex-wrap:wrap}.pill{background:var(--panel);border:1px solid #333;color:var(--fg);padding:.5rem 1rem;border-radius:999px;font-size:.9rem}.pill.active{background:var(--accent);border-color:var(--accent);color:#000;font-weight:700}.program{padding:2rem;max-width:900px;margin:0 auto;display:grid;gap:1rem}.program header{display:flex;justify-content:space-between;align-items:center}.program h2{margin:0}.program .current{background:var(--panel);padding:1rem;border-radius:8px;display:flex;justify-content:space-between;align-items:center;gap:1rem}.program .copy-row{display:flex;gap:1rem;align-items:center;flex-wrap:wrap}.program .copy-row .hint{color:var(--muted);font-size:.9rem}.program textarea{background:var(--panel);border:1px solid #333;color:var(--fg);padding:1rem;border-radius:6px;font:.85rem ui-monospace,Menlo,monospace;resize:vertical;min-height:200px}.program .file-row{display:flex;gap:1rem;align-items:center}.program .file-btn{display:inline-block;padding:.75rem 1.25rem;background:var(--panel);border:1px solid #333;border-radius:8px;cursor:pointer}.program .error{color:#ff7a59;background:#ff5b1f14;padding:.75rem 1rem;border-radius:6px}.program .info{color:#5fe;background:#5feec814;padding:.75rem 1rem;border-radius:6px}.program .schema-help summary{cursor:pointer;color:var(--muted);padding:.5rem 0}.program .schema-help pre{background:var(--panel);padding:1rem;border-radius:6px;overflow:auto;font-size:.8rem;white-space:pre-wrap}.log{padding:3rem;max-width:600px;margin:0 auto;display:grid;gap:1.5rem}.log label{display:flex;flex-direction:column;gap:.5rem}.log input,.log textarea{background:var(--panel);border:1px solid #333;color:var(--fg);padding:.75rem;border-radius:6px;font:inherit}
