:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;--bg:#f6f5f1;--surface:#fff;--surface-2:#efede7;--line:#e2dfd6;--text:#1c1b18;--muted:#6b675d;--faint:#9a9588;--accent:#1f6f4a;--accent-ink:#fff;--accent-soft:#e2f0e8;--in:#1f6f4a;--out:#1c1b18;--warn:#9a5b00;--warn-soft:#fbf0dc;--bad:#b3261e;--bad-soft:#fbe5e3;--r:14px;--r-sm:10px;--gap:12px;--pad:16px;--font:system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--fs-xs:12px;--fs-s:14px;--fs:16px;--fs-l:20px;--fs-xl:40px;--tab-h:64px;--touch:44px;--t:.16s ease;--shadow:0 1px 2px #0000000f, 0 4px 16px #0000000d}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--bg:#121311;--surface:#1b1c1a;--surface-2:#242522;--line:#30312d;--text:#ecebe6;--muted:#a3a097;--faint:#6f6c64;--accent:#5fc493;--accent-ink:#0c1f15;--accent-soft:#1d3328;--in:#5fc493;--out:#ecebe6;--warn:#f0b25a;--warn-soft:#33270f;--bad:#f28b82;--bad-soft:#3a1c1a;--shadow:none}}@media (prefers-reduced-motion:reduce){:root{--t:0s}}*{box-sizing:border-box}html,body{background:var(--bg);color:var(--text);font:var(--fs)/1.4 var(--font);-webkit-text-size-adjust:100%;margin:0}body{min-height:100dvh}button,input,select,textarea{font:inherit;color:inherit}a{color:var(--accent)}h1,h2,h3{margin:0;font-weight:600}h2{font-size:var(--fs-l)}h3{font-size:var(--fs-s);color:var(--muted);text-transform:uppercase;letter-spacing:.04em;margin:20px 0 8px}p{margin:0}.app{max-width:560px;padding:var(--pad) var(--pad) calc(var(--tab-h) + 32px + env(safe-area-inset-bottom));margin:0 auto}.stack{gap:var(--gap);display:grid}.row{align-items:center;gap:8px;display:flex}.between{justify-content:space-between}.wrap{flex-wrap:wrap}.grow{flex:1;min-width:0}.muted{color:var(--muted)}.faint{color:var(--faint)}.small{font-size:var(--fs-s)}.xs{font-size:var(--fs-xs)}.ellipsis{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.center{text-align:center}.num{font-variant-numeric:tabular-nums;text-align:right;white-space:nowrap}.in{color:var(--in)}.big{font-size:var(--fs-xl);letter-spacing:-.02em;font-weight:650;line-height:1.1}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:var(--pad);box-shadow:var(--shadow)}.card.tight{padding:12px var(--pad)}.list{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);overflow:hidden}.list>*{padding:12px var(--pad);border-top:1px solid var(--line);min-height:var(--touch)}.list>:first-child{border-top:0}.list>button{text-align:left;cursor:pointer;background:0 0;border-bottom:0;border-left:0;border-right:0;align-items:center;gap:8px;width:100%;display:flex}.list>button:active{background:var(--surface-2)}.btn{min-height:var(--touch);border-radius:var(--r-sm);border:1px solid var(--line);background:var(--surface);cursor:pointer;transition:transform var(--t), background var(--t);padding:0 16px;font-weight:550}.btn:active{transform:scale(.98)}.btn.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.btn.danger{color:var(--bad)}.btn.block{width:100%}.btn:disabled{opacity:.5;cursor:default}.link{color:var(--accent);cursor:pointer;min-height:var(--touch);background:0 0;border:0;padding:0;font-weight:550}.chips{flex-wrap:wrap;gap:8px;display:flex}.chip{border:1px solid var(--line);background:var(--surface);cursor:pointer;min-height:36px;font-size:var(--fs-s);border-radius:999px;padding:0 12px}.chip[aria-pressed=true]{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}.chip.add{color:var(--muted);border-style:dashed}input,select,textarea{min-height:var(--touch);border-radius:var(--r-sm);border:1px solid var(--line);background:var(--surface);width:100%;padding:8px 12px}textarea{resize:vertical;min-height:120px}input:focus-visible,select:focus-visible,textarea:focus-visible,button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}label{font-size:var(--fs-s);color:var(--muted);gap:4px;display:grid}.note{border-radius:var(--r-sm);background:var(--warn-soft);color:var(--warn);font-size:var(--fs-s);padding:10px 12px}.note.bad{background:var(--bad-soft);color:var(--bad)}.note.info{background:var(--surface-2);color:var(--muted)}.note button{color:inherit;text-decoration:underline}.stats{grid-template-columns:repeat(4,1fr);gap:8px;display:grid}.stats>div{gap:2px;display:grid}.stats .num{text-align:left;font-weight:600}.bars>div{grid-template-columns:1fr auto;gap:2px 12px;padding:8px 0;display:grid}.bar{background:var(--surface-2);border-radius:3px;grid-column:1/-1;height:6px;overflow:hidden}.bar>i{background:var(--accent);border-radius:3px;height:100%;display:block}.tabs{height:calc(var(--tab-h) + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom);background:var(--surface);border-top:1px solid var(--line);z-index:5;justify-content:center;display:flex;position:fixed;inset:auto 0 0}.tabs nav{grid-template-columns:repeat(4,1fr);width:100%;max-width:560px;display:grid}.tabs a{color:var(--muted);font-size:var(--fs-xs);align-content:center;place-items:center;gap:2px;text-decoration:none;display:grid;position:relative}.tabs a[aria-current=page]{color:var(--accent);font-weight:600}.tabs svg{width:24px;height:24px}.badge{background:var(--accent);color:var(--accent-ink);border-radius:999px;place-items:center;min-width:18px;height:18px;padding:0 5px;font-size:11px;display:grid;position:absolute;top:6px;left:calc(50% + 6px)}.sheet-bg{z-index:10;animation:fade var(--t);background:#00000059;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.sheet{background:var(--bg);border-radius:var(--r) var(--r) 0 0;width:100%;max-width:560px;max-height:92dvh;padding:var(--pad) var(--pad) calc(var(--pad) + env(safe-area-inset-bottom));animation:rise var(--t);overflow:auto}@keyframes fade{0%{opacity:0}}@keyframes rise{0%{transform:translateY(24px)}}.fab{right:max(16px,50% - 264px);bottom:calc(var(--tab-h) + 16px + env(safe-area-inset-bottom));z-index:4;box-shadow:var(--shadow);border-radius:999px;padding:0 20px;position:fixed}details summary{cursor:pointer;color:var(--muted);font-size:var(--fs-s);min-height:var(--touch);align-items:center;display:flex}pre{white-space:pre-wrap;word-break:break-word;font-size:var(--fs-s);background:var(--surface-2);border-radius:var(--r-sm);margin:0;padding:12px}.seg{border:1px solid var(--line);border-radius:var(--r-sm);grid-auto-columns:1fr;grid-auto-flow:column;display:grid;overflow:hidden}.seg button{min-height:var(--touch);background:var(--surface);cursor:pointer;border:0}.seg button[aria-pressed=true]{background:var(--accent);color:var(--accent-ink)}
