:root{--bg:#f7f5f0;--card:#fff;--ink:#1f2a44;--muted:#6b7280;--line:#e5e1d8;--accent:#2f5d8a;--ok:#2e7d4f;--warn:#b26a00;--bad:#b3261e;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root{--bg:#14171f;--card:#1d222c;--ink:#e8e6e1;--muted:#9aa1ad;--line:#2c3340;--accent:#7fb0e0;--ok:#6cc28f;--warn:#e0a54a;--bad:#ef8a83;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}*{box-sizing:border-box}body{background:var(--bg);color:var(--ink);margin:0;font:16px/1.4 system-ui,-apple-system,Segoe UI,Roboto,sans-serif}.app{max-width:640px;padding:0 16px calc(88px + env(safe-area-inset-bottom));margin:0 auto}h1{margin:16px 0 2px;font-size:1.5rem}h2{align-items:center;gap:8px;margin:20px 0 8px;font-size:1.05rem;display:flex}.day,.small-text{color:var(--muted);font-size:.85rem}.loading{text-align:center;padding:40px 16px}button,.button{font:inherit;border:1px solid var(--line);background:var(--card);color:var(--ink);cursor:pointer;border-radius:10px;justify-content:center;align-items:center;min-height:44px;padding:10px 14px;display:inline-flex}button:disabled{opacity:.45}button.primary{background:var(--accent);color:#fff;border-color:var(--accent)}@media (prefers-color-scheme:dark){button.primary{color:#10141b}}button.small{min-height:34px;padding:4px 10px;font-size:.85rem}button.link{color:var(--accent);background:0 0;border:none;min-height:0;padding:6px 4px}button.link.h{color:var(--ink);padding:0;font-size:1.05rem;font-weight:600}.card{background:var(--card);border:1px solid var(--line);border-radius:12px;margin:8px 0;padding:12px}.card.done,.card.failed{opacity:.7}.card.projected{border-style:dashed}.card.waiting{background:0 0}.card.flag{border-color:var(--warn)}.card.compact{padding:8px 12px}.card-head{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.label{font-weight:600}.status{color:var(--muted);white-space:nowrap;font-size:.8rem}.s-done{color:var(--ok);font-size:1rem}.s-failed{color:var(--warn)}.why{color:var(--muted);margin-top:2px;font-size:.85rem}.criterion{margin-top:6px;font-size:.85rem}.hint{color:var(--muted);margin-top:4px;font-size:.8rem}.actions{flex-wrap:wrap;gap:8px;margin-top:10px;display:flex}.actions .primary{flex:100%}.note,input,select,textarea{font:inherit;color:var(--ink);background:var(--bg);border:1px solid var(--line);border-radius:8px;width:100%;padding:8px}.picker{border-top:1px solid var(--line);margin-top:10px;padding-top:8px}.picker-title{margin-bottom:6px;font-size:.9rem;font-weight:600}.bars{grid-template-columns:repeat(auto-fill,minmax(48px,1fr));gap:6px;display:grid}.bar{padding:8px 0}.steps{margin:4px 0;padding-left:20px;font-size:.9rem}.run{border-top:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:8px;padding:6px 0;display:flex}.run.done .run-label{color:var(--muted);text-decoration:line-through}.run-label{flex:1}.dur{color:var(--muted);font-size:.8rem}.tick{border-radius:50%;width:36px;height:36px;min-height:36px;padding:0}.tick.on{background:var(--ok);color:#fff;border-color:var(--ok)}.tick-badge{color:var(--ok)}.divider{text-align:center;color:var(--muted);border-top:2px dashed var(--line);margin:24px 0 8px;padding-top:8px;font-weight:600}.divider.done{color:var(--ok);border-color:var(--ok)}.sub{color:var(--muted);margin-top:8px;font-size:.85rem}details.bonus{margin:8px 0}details.bonus summary{cursor:pointer;color:var(--accent);padding:8px 0}.banner{background:var(--accent);color:#fff;text-align:left;border:none;border-radius:0;width:calc(100% + 32px);margin:0 -16px;padding:10px 16px;font-size:.9rem;display:block}.banner.red{background:var(--bad)}.banner.amber{background:var(--warn)}.toast{left:50%;bottom:calc(76px + env(safe-area-inset-bottom));background:var(--ink);color:var(--bg);border-radius:12px;align-items:center;gap:12px;width:max-content;max-width:calc(100% - 32px);padding:8px 8px 8px 16px;display:flex;position:fixed;transform:translate(-50%);box-shadow:0 4px 16px #00000040}.toast .link{color:var(--bg);font-weight:700;text-decoration:underline}nav{background:var(--card);border-top:1px solid var(--line);padding-bottom:env(safe-area-inset-bottom);display:flex;position:fixed;bottom:0;left:0;right:0}nav button{min-height:56px;color:var(--muted);background:0 0;border:none;border-radius:0;flex:1}nav button.on{color:var(--accent);font-weight:700}.ladder{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:4px 12px}.rung{border-bottom:1px solid var(--line);align-items:center;gap:10px;padding:6px 0;display:flex}.rung:last-child{border-bottom:none}.bpm{text-align:right;width:36px;color:var(--muted);font-weight:700}.units{flex-wrap:wrap;gap:4px;display:flex}.chip{background:var(--accent);color:#fff;border-radius:999px;padding:2px 8px;font-size:.8rem}.chip.off{background:var(--line);color:var(--muted)}.chip.paused{color:var(--accent);border:1px dashed var(--accent);background:0 0}.row{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:8px;padding:6px 0;font-size:.9rem;display:flex}.row select{width:auto}.form{grid-template-columns:1fr 1fr;gap:10px;display:grid}.form h2{grid-column:1/-1}.form label{color:var(--muted);flex-direction:column;gap:4px;font-size:.85rem;display:flex}.form label.wide,.form label.check{grid-column:1/-1}.form label.check{color:var(--ink);flex-direction:row;align-items:center}.form label.check input{width:auto}.preview{gap:4px;margin-top:10px;font-size:.85rem;display:grid}.error{color:var(--bad);margin-top:6px;font-size:.85rem}.list-item{justify-content:space-between;width:100%;margin:4px 0}textarea.pool{margin-top:6px}.log{max-height:50vh;overflow:auto}
