svg.svelte-1d9jvwv{width:100%;height:auto;display:block}.grid.svelte-1d9jvwv{stroke:var(--line)}.tick.svelte-1d9jvwv{fill:var(--sub);font-size:10px}.goal1.svelte-1d9jvwv{stroke:var(--green2);stroke-dasharray:4 3}.goal2.svelte-1d9jvwv{stroke:var(--gold);stroke-dasharray:4 3}.proj.svelte-1d9jvwv{stroke:var(--sub);stroke-width:2px;stroke-dasharray:3 3}.lineMain.svelte-1d9jvwv{fill:none;stroke:var(--green);stroke-width:2.5px;stroke-linejoin:round}@media (prefers-color-scheme:dark){.lineMain.svelte-1d9jvwv{stroke:var(--green2)}circle.svelte-1d9jvwv{fill:var(--green2)}}circle.svelte-1d9jvwv{fill:var(--green)}circle.now.svelte-1d9jvwv{fill:var(--accent)}.top.svelte-1uha8ag{color:#fff;padding:18px 18px 16px;padding-top:calc(18px + env(safe-area-inset-top));background:linear-gradient(135deg,#2f6f4f,#3f9a6b)}.top.svelte-1uha8ag small:where(.svelte-1uha8ag){opacity:.9;font-size:12px}.row.svelte-1uha8ag{justify-content:space-between;align-items:flex-end;gap:8px;margin-top:4px;display:flex}.right.svelte-1uha8ag{text-align:right}.big.svelte-1uha8ag{font-size:40px;font-weight:800;line-height:1.1}.big.svelte-1uha8ag span:where(.svelte-1uha8ag){font-size:18px}.big.mid.svelte-1uha8ag{font-size:28px}.bar.svelte-1uha8ag{background:#ffffff4d;border-radius:6px;height:10px;margin:10px 0 4px;overflow:hidden}.bar.svelte-1uha8ag i:where(.svelte-1uha8ag){background:#fff;height:100%;display:block}.card.svelte-1uha8ag{background:var(--card);border-radius:14px;margin:10px 12px;padding:12px 14px;box-shadow:0 1px 3px #00000014}h2.svelte-1uha8ag{color:var(--sub);margin:0 0 8px;font-size:14px}.note.svelte-1uha8ag{color:var(--sub);margin:4px 0 6px;font-size:12px}ol.svelte-1uha8ag,ul.svelte-1uha8ag{margin:0;padding-left:1.4em;font-size:14px;line-height:1.8}.soon.svelte-1uha8ag ul:where(.svelte-1uha8ag){color:var(--sub);font-size:12.5px}.link.svelte-1uha8ag{color:var(--green2);background:0 0;border:none;padding:6px 0;font-size:14px;font-weight:700}form.svelte-1uha8ag{gap:6px;margin-top:4px;display:flex}input[type=date].svelte-1uha8ag{flex:1.3}input.svelte-1uha8ag{border:1px solid var(--line);background:var(--bg);min-width:0;color:var(--text);border-radius:8px;flex:1;padding:8px;font-size:16px}form.svelte-1uha8ag button:where(.svelte-1uha8ag){background:var(--green2);color:#fff;border:none;border-radius:8px;padding:8px 14px;font-size:15px;font-weight:700}.warn.svelte-1uha8ag{color:#c0392b;font-size:13px}.ok.svelte-1uha8ag{color:var(--green2);font-size:13px}
