:root{--ink:#17212b;--muted:#62707e;--brand:#146c94;--bg:#f4f7f9;--card:#fff;--ok:#16794b;--danger:#b42318}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:16px system-ui,-apple-system,sans-serif}main{max-width:760px;margin:auto;padding:16px 14px 90px}.bar{display:flex;gap:8px;justify-content:space-between;align-items:center;margin-bottom:14px}h1{font-size:23px;margin:0}h2{font-size:18px;margin:4px 0 10px}.card{background:var(--card);border-radius:14px;padding:14px;margin:10px 0;box-shadow:0 1px 2px #0012}.tabs{position:fixed;bottom:0;left:0;right:0;background:#fff;border-top:1px solid #dde5ea;display:flex;justify-content:center;z-index:3}.tabs button{flex:1;max-width:190px;padding:14px 4px;border:0;background:transparent;color:var(--muted);font-size:13px}.tabs button.active{color:var(--brand);font-weight:700;border-top:3px solid var(--brand)}button{background:var(--brand);color:white;border:0;border-radius:10px;padding:11px 13px;font-weight:650;font-size:15px}button.secondary{background:#e6f0f5;color:var(--brand)}button.danger{background:#fff0ef;color:var(--danger)}button:disabled{opacity:.45}input,select,textarea{width:100%;border:1px solid #c8d4dc;border-radius:9px;padding:10px;background:white;font:inherit}label{display:block;font-size:13px;color:var(--muted);margin:9px 0 4px}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:8px}.sets{display:grid;grid-template-columns:46px 1fr 1fr 1fr 30px;gap:6px;align-items:center;margin:7px 0}.sets input{min-width:0;padding:9px 5px;text-align:center}.pill{display:inline-block;background:#e7f4f8;color:#07536e;border-radius:100px;padding:3px 8px;font-size:12px}.muted,small{color:var(--muted)}.success{color:var(--ok)}.error{color:var(--danger);margin:8px 0}.exercise{border-left:4px solid #c2d6de}.exercise.done{border-left-color:var(--ok)}.previous{font-size:12px;color:var(--muted);margin:6px 0}.timer{font-variant-numeric:tabular-nums;font-size:28px;font-weight:700}.hidden{display:none}@media(min-width:600px){main{padding-top:28px}.card{padding:18px}}
