:root{--color-bg:#121417;--color-surface:#1f2124;--color-text:#fff;--color-muted:#8a9097;--color-border:#3a4048;--color-accent:#beed55;--color-on-accent:#15180d;--color-ok:var(--color-accent);--color-warning:#ffba3a;--color-danger:#f55e5b;--color-focus:var(--color-accent);--color-category-1:#84d489;--color-category-2:#72c5ff;--color-category-3:#f2ae59;--color-category-4:#c2adff;--color-category-5:#fc9ac9;--color-category-6:#ff9d82;--color-category-7:#a8b2bd;--color-category-8:#9be0d8;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-6:1.5rem;--space-8:2rem;--radius-sm:.375rem;--radius-md:.75rem;--radius-lg:1.25rem;--radius-full:999px;--font-family:Onest, system-ui, sans-serif;--font-size-sm:.875rem;--font-size-md:1rem;--font-size-lg:1.25rem;--font-size-xl:2.5rem;--size-tap:2.75rem;--size-chart:9rem}body{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;font-family:var(--font-family);font-size:var(--font-size-md);background:var(--color-bg);color:var(--color-text);margin:0}main{max-width:32rem;margin:var(--space-6) auto var(--space-8);padding:0 var(--space-4)}h1,h2,h3{line-height:1.2}.app-name{font-size:var(--font-size-lg);margin:0 0 var(--space-4)}.muted{color:var(--color-muted)}.sr-only{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}input,select,textarea,button,.button{font:inherit;padding:var(--space-2) var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-text)}button,.button{justify-content:center;align-items:center;gap:var(--space-2);min-height:var(--size-tap);background:var(--color-accent);color:var(--color-on-accent);cursor:pointer;border-color:#0000;text-decoration:none;display:inline-flex}button.ghost{color:var(--color-text);background:0 0;border-color:#0000}button.secondary,.button.secondary{background:var(--color-surface);color:var(--color-text);border-color:var(--color-border)}button.danger{color:var(--color-danger);background:0 0;border-color:#0000}:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}form{gap:var(--space-2);margin-bottom:var(--space-4);flex-wrap:wrap;display:flex}.field{gap:var(--space-1);flex-direction:column;flex:1;min-width:6rem;display:flex}.field>span{font-size:var(--font-size-sm);color:var(--color-muted)}.field.wide{flex-basis:100%}.chips{gap:var(--space-2);margin:0 0 var(--space-4);border:0;flex-wrap:wrap;min-width:0;padding:0;display:flex}.chips button{min-height:var(--size-tap);background:var(--color-surface);color:var(--color-text);border-color:var(--color-border);border-radius:var(--radius-full)}.chips button[aria-pressed=true]{border-color:var(--color-accent);box-shadow:inset 0 0 0 1px var(--color-accent)}.swatch{width:var(--space-3);height:var(--space-3);border-radius:var(--radius-full);flex:none;display:inline-block}.monthbar{justify-content:center;align-items:center;gap:var(--space-2);padding:var(--space-1) 0;display:flex}.monthbar .month{text-align:center;min-width:10rem;font-size:var(--font-size-lg);margin:0;font-weight:700}.monthbar button{font-size:var(--font-size-lg);padding:0 var(--space-3)}.tabs{gap:var(--space-1);border-bottom:1px solid var(--color-border);margin-bottom:var(--space-4);display:flex;overflow-x:auto}.tabs button{border-radius:var(--radius-md) var(--radius-md) 0 0;color:var(--color-muted);border-bottom:2px solid #0000}.tabs button[aria-current=page]{color:var(--color-accent);border-bottom-color:var(--color-accent);font-weight:700}.screen-title{font-size:var(--font-size-md);color:var(--color-muted);margin:0 0 var(--space-2);font-weight:400}.total{align-items:baseline;gap:var(--space-2);margin:0 0 var(--space-4);display:flex}.total-amount{font-size:var(--font-size-xl);font-weight:700}.amounts{align-items:flex-end;gap:var(--space-1);flex-direction:column;min-width:8rem;display:flex}.share{color:var(--color-muted);font-size:var(--font-size-sm)}.empty{padding:var(--space-6) var(--space-4);text-align:center;color:var(--color-muted);background:var(--color-surface);border:1px dashed var(--color-border);border-radius:var(--radius-md)}ul{margin:0;padding:0;list-style:none}.rows li{justify-content:space-between;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);margin-bottom:var(--space-2);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);display:flex}.rows .name{align-items:center;gap:var(--space-2);min-width:0;display:flex}.rows .note{color:var(--color-muted);font-size:var(--font-size-sm)}.day{margin-bottom:var(--space-4)}.day-head{justify-content:space-between;gap:var(--space-2);font-size:var(--font-size-sm);margin:0 var(--space-1) var(--space-2);display:flex}.limitbar{width:100%}.limitbar-track{height:var(--space-2);background:var(--color-border);border-radius:var(--radius-full);overflow:hidden}.limitbar-fill{background:var(--color-ok);border-radius:var(--radius-full);height:100%}.limitbar.warn .limitbar-fill{background:var(--color-warning)}.limitbar.over .limitbar-fill{background:var(--color-danger)}.limitbar-text{margin:var(--space-1) 0 0;font-size:var(--font-size-sm);color:var(--color-muted)}.limitbar.warn .limitbar-text{color:var(--color-warning)}.limitbar.over .limitbar-text{color:var(--color-danger)}.chart{margin:0 0 var(--space-4)}.chart-plot{height:var(--size-chart);padding:var(--space-2);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);align-items:flex-end;gap:1px;display:flex;position:relative}.chart-bar{background:var(--color-accent);border-radius:var(--radius-sm) var(--radius-sm) 0 0;border:0;flex:1;align-self:flex-end;min-width:0;min-height:2px;padding:0;position:relative}.chart-average{border-top:1px dashed var(--color-muted);position:absolute;left:0;right:0}.chart-tip{margin-bottom:var(--space-1);padding:var(--space-1) var(--space-2);font-size:var(--font-size-sm);white-space:nowrap;background:var(--color-text);color:var(--color-on-accent);border-radius:var(--radius-sm);pointer-events:none;position:absolute;bottom:100%;left:50%;transform:translate(-50%)}.chart-legend{gap:var(--space-2) var(--space-4);margin:var(--space-2) 0 0;font-size:var(--font-size-sm);flex-wrap:wrap;display:flex}.chart-legend li{align-items:center;gap:var(--space-2);display:flex}.chart figcaption{margin-top:var(--space-2);font-size:var(--font-size-sm)}.landing .tagline{font-size:var(--font-size-lg)}.landing .price{font-weight:700}.landing ul{margin-bottom:var(--space-4)}.landing li{gap:var(--space-2);margin-bottom:var(--space-2);display:flex}.landing li:before{content:"✓";color:var(--color-accent)}.cta{gap:var(--space-2);margin-bottom:var(--space-8);display:flex}.draft{padding:var(--space-2) var(--space-3);border:1px solid var(--color-danger);border-radius:var(--radius-md)}footer{max-width:32rem;margin:var(--space-8) auto;padding:0 var(--space-4);color:var(--color-muted)}footer a{color:inherit}.form-actions{gap:var(--space-2);flex-basis:100%;display:flex}.row-actions{gap:var(--space-1);display:flex}.color-picker{gap:var(--space-2);margin:0 0 var(--space-4);border:0;flex-wrap:wrap;min-width:0;padding:0;display:flex}.color-picker input[type=radio]{appearance:none;width:var(--space-6);height:var(--space-6);border-radius:var(--radius-full);cursor:pointer;border:2px solid #0000;padding:0}.color-picker input[type=radio]:checked{border-color:var(--color-text)}
