:root{--bg: #0a0a0a;--fg: #f4f4f5;--muted: #a1a1aa;--green: #22c55e;--green-press: #16a34a;--amber: #f59e0b;--panel: #18181b;--danger: #ef4444}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{margin:0;min-height:100%;background:var(--bg);color:var(--fg);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,system-ui,sans-serif;font-size:18px}#app{min-height:100dvh;padding:env(safe-area-inset-top) 20px env(safe-area-inset-bottom);max-width:480px;margin:0 auto}h1{font-size:2rem;font-weight:700;letter-spacing:-.03em;margin:1.5rem 0 .5rem}.sub{color:var(--muted);margin:0 0 2rem}.btn{display:block;width:100%;border:0;border-radius:16px;font-size:1.25rem;font-weight:700;padding:1.1rem 1rem;margin:.6rem 0;color:var(--fg);background:var(--panel);cursor:pointer}.btn:active{transform:scale(.98)}.btn-start{background:var(--green);color:#052e16;font-size:2rem;min-height:88px;margin-top:2rem}.btn-start:active{background:var(--green-press)}.btn-next{background:var(--green);color:#052e16;font-size:1.75rem;min-height:80px}.btn-pause{background:#3f2a0a;color:var(--amber)}.btn-danger{background:#3f1212;color:var(--danger)}.row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.step-meta{color:var(--muted);font-size:.95rem;margin-top:1.5rem}.exercise{font-size:clamp(2.4rem,12vw,3.4rem);font-weight:800;letter-spacing:-.04em;line-height:.95;margin:.6rem 0 .4rem}.amount{font-size:3.5rem;font-weight:700;color:var(--green);margin:0 0 .5rem}.clock{font-variant-numeric:tabular-nums;color:var(--muted);margin-bottom:1.5rem}.progress{height:6px;background:#27272a;border-radius:99px;overflow:hidden;margin:1rem 0 1.5rem}.progress>span{display:block;height:100%;background:var(--green)}.sheet{position:fixed;inset:0;background:var(--bg);overflow:auto;padding:env(safe-area-inset-top) 20px env(safe-area-inset-bottom);max-width:480px;margin:0 auto}.sheet h2{margin-top:1.25rem}.sheet p,.sheet li{color:var(--muted);line-height:1.45}.stat-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:1rem 0}.stat{background:var(--panel);border-radius:14px;padding:1rem}.stat b{display:block;font-size:1.4rem;margin-top:.25rem}.days{display:grid;grid-template-columns:repeat(10,1fr);gap:6px;margin:1rem 0 1.5rem}.day{aspect-ratio:1;border-radius:4px;background:#27272a}.day.done{background:var(--green)}.paused-banner{color:var(--amber);font-weight:700;margin-bottom:.5rem}
