:root{--bg: #0f1115;--panel: #181b21;--panel2: #20242c;--line: #2b3039;--text: #eef1f5;--muted: #9aa3b1;--accent: #7ee0a1;--accent-ink: #08210f;--warn: #f2c46d;--danger: #ff7a7a;--r: 14px;color-scheme:dark}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{margin:0;background:var(--bg);color:var(--text)}body{font:16px/1.4 -apple-system,BlinkMacSystemFont,SF Pro Text,system-ui,sans-serif;padding:env(safe-area-inset-top) 0 calc(env(safe-area-inset-bottom) + 24px);-webkit-font-smoothing:antialiased}body.resting{padding-bottom:calc(env(safe-area-inset-bottom) + 110px)}#app{max-width:560px;margin:0 auto;padding:0 16px}button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}button:disabled{opacity:.45;cursor:default}h1,h2,h3{margin:0;letter-spacing:-.01em}h1{font-size:26px}h2{font-size:22px;margin:2px 0 4px}.h-sm{font-size:19px}.eyebrow{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--accent)}.muted{color:var(--muted)}.small{font-size:13px}.center{text-align:center}.grow{flex:1;min-width:0}.top{display:flex;align-items:center;gap:12px;padding:18px 0 14px;justify-content:space-between}.top.sticky{position:sticky;top:0;z-index:5;background:var(--bg);margin:0 -16px;padding:calc(env(safe-area-inset-top)*0 + 12px) 16px 10px}.icon{font-size:30px;line-height:1;width:36px;height:44px;margin-left:-8px;color:var(--muted)}.btn{background:var(--accent);color:var(--accent-ink);font-weight:650;border-radius:12px;padding:10px 16px;min-height:44px}.btn.big{display:block;width:100%;font-size:18px;min-height:54px;margin-top:14px}.btn.ghost{background:var(--panel2);color:var(--text);font-weight:550}.btn.wide{display:block;width:100%;margin-top:10px}.btn.danger{background:transparent;color:var(--danger)}.sync{font-size:13px;color:var(--muted);padding:8px 0;min-height:44px}.sync.synced{color:var(--accent)}.sync.offline,.sync.pending{color:var(--warn)}.sync.locked{color:var(--danger)}.hero{background:var(--panel);border:1px solid var(--line);border-radius:var(--r);padding:18px}.preview{list-style:none;margin:14px 0 0;padding:0;border-top:1px solid var(--line)}.preview li{display:flex;justify-content:space-between;gap:12px;padding:9px 0;border-bottom:1px solid var(--line);font-size:15px}.preview li span:last-child{white-space:nowrap}.section{font-size:13px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin:28px 0 10px}.days{display:grid;grid-template-columns:minmax(0,1fr);gap:8px}.day{display:flex;align-items:center;gap:14px;text-align:left;background:var(--panel);border:1px solid var(--line);border-radius:var(--r);padding:12px 14px;min-height:60px}.day.is-next{border-color:var(--accent)}.day-no{width:30px;height:30px;border-radius:50%;background:var(--panel2);display:grid;place-items:center;font-weight:700;flex:none}.day-main{flex:1;display:flex;flex-direction:column;min-width:0}.day-main .muted{font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.recent-row{display:flex;flex-direction:column;padding:10px 0;border-bottom:1px solid var(--line);font-size:15px}.progress{height:4px;background:var(--panel2);border-radius:2px;margin:0 0 14px;overflow:hidden}.progress div{height:100%;background:var(--accent);transition:width .3s}.card{background:var(--panel);border:1px solid var(--line);border-radius:var(--r);margin-bottom:10px;overflow:hidden}.card.complete:not(.open){opacity:.6}.card.open{border-color:#3a4150}.card-head{display:flex;align-items:center;gap:12px;width:100%;text-align:left;padding:14px;min-height:60px}.card-title{display:flex;flex-direction:column;min-width:0}.card-title .muted{font-size:14px}.dot{flex:none;width:38px;height:38px;border-radius:50%;border:2px solid var(--line);display:grid;place-items:center;font-size:12px;font-weight:700;color:var(--muted)}.dot.part{border-color:var(--warn);color:var(--warn)}.dot.full{background:var(--accent);border-color:var(--accent);color:var(--accent-ink);font-size:18px}.card-body{padding:0 14px 14px}.meta{font-size:13px;color:var(--muted)}.why{margin:8px 0 0;font-size:14px;color:var(--accent)}.note{margin:6px 0 0;font-size:14px;color:var(--warn)}.last{margin:6px 0 0;font-size:13px;color:var(--muted)}.sets{margin-top:12px;display:grid;gap:8px}.set{display:flex;align-items:center;gap:8px}.set-no{width:18px;text-align:center;color:var(--muted);font-weight:600;font-size:14px;flex:none}.stepper{flex:1;display:flex;align-items:center;background:var(--panel2);border-radius:12px;height:48px;min-width:0}.stepper button{width:36px;height:48px;font-size:22px;color:var(--muted);flex:none}.stepper input{width:100%;min-width:0;background:none;border:0;color:var(--text);font:600 18px/1 inherit;text-align:right;padding:0;outline:none}.stepper .unit{font-size:12px;color:var(--muted);padding-left:3px;flex:none}.tick{flex:none;width:48px;height:48px;border-radius:12px;border:2px solid var(--line);font-size:22px;font-weight:700;color:var(--accent-ink)}.set.done .tick{background:var(--accent);border-color:var(--accent)}.set.done .stepper{background:#1b2a21}.card-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.card-actions .btn{min-height:40px;padding:8px 14px;font-size:15px}#rest{position:fixed;left:0;right:0;bottom:0;z-index:10;background:#1c2a22;border-top:1px solid #2d4636;padding:12px 16px calc(env(safe-area-inset-bottom) + 12px);overflow:hidden}.rest-fill{position:absolute;left:0;top:0;height:3px;background:var(--accent);transition:width .25s linear}.rest-row{display:flex;align-items:center;gap:10px;max-width:560px;margin:0 auto}.rest-row>div{flex:1;min-width:0}.rest-label{font-size:13px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.rest-time{font-size:30px;font-weight:700;font-variant-numeric:tabular-nums}.scrim{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000008c;z-index:20}.sheet{position:fixed;left:0;right:0;bottom:0;z-index:21;background:var(--panel);border-radius:20px 20px 0 0;padding:22px 16px calc(env(safe-area-inset-bottom) + 18px);max-width:560px;margin:0 auto}.sheet.tall{max-height:84vh;display:flex;flex-direction:column}.text{width:100%;background:var(--panel2);border:1px solid var(--line);color:var(--text);border-radius:12px;font:inherit;font-size:17px;padding:12px 14px;margin-top:12px;outline:none}.swap-list{overflow-y:auto;margin-top:8px;-webkit-overflow-scrolling:touch}.swap-item{display:flex;flex-direction:column;width:100%;text-align:left;padding:11px 2px;border-bottom:1px solid var(--line);min-height:52px}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.stats div{background:var(--panel);border:1px solid var(--line);border-radius:var(--r);padding:14px;display:flex;flex-direction:column}.stats b{font-size:24px}.stats span{color:var(--muted);font-size:13px}.prs{padding-left:18px;margin:0 0 12px}.prs li{margin:6px 0}
