:root{--bg:#f3f5f2;--card:#fff;--ink:#14201b;--muted:#56635c;--accent:#0e7a55;--accent-ink:#0a5a3f;--line:#ecf0ed;--chip:#e6eee9;--warn-bg:#fcefd6;--warn:#6e4300;--danger:#b3391a}@media (prefers-color-scheme:dark){:root{--bg:#101713;--card:#19231e;--ink:#eaf1ed;--muted:#a2b1a9;--accent:#3fc08f;--accent-ink:#7fdcb5;--line:#25322b;--chip:#243029;--warn-bg:#3a2c10;--warn:#f2cf8a;--danger:#ff8d70}}*{box-sizing:border-box}body{background:var(--bg);color:var(--ink);-webkit-tap-highlight-color:transparent;margin:0;font-family:Plus Jakarta Sans,system-ui,-apple-system,Segoe UI,Roboto,sans-serif}button,input,select,textarea{font:inherit;color:inherit}a{color:var(--accent-ink)}h1{letter-spacing:-.02em;margin:0;font-size:26px;font-weight:800}h2{color:var(--muted);margin:8px 4px 0;font-size:12px;font-weight:700}.muted{color:var(--muted)}.small{font-size:12px}.num{font-variant-numeric:tabular-nums}.center{justify-content:center;align-items:center;min-height:100dvh;display:flex}.screen{max-width:520px;padding:20px 16px calc(96px + env(safe-area-inset-bottom));flex-direction:column;gap:12px;min-height:100dvh;margin:0 auto;display:flex}.card{background:var(--card);border-radius:20px;padding:16px}.card.flush{padding:4px 16px}.row{align-items:center;gap:12px;display:flex}.between{justify-content:space-between}.grow{flex:1;min-width:0}.ellipsis{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.nav{left:12px;right:12px;bottom:calc(14px + env(safe-area-inset-bottom));background:#14201b;border-radius:22px;justify-content:space-around;align-items:center;max-width:496px;height:64px;margin:0 auto;display:flex;position:fixed}.nav a{color:#b4c0b9;border-radius:16px;flex-direction:column;justify-content:center;align-items:center;gap:2px;width:70px;height:48px;font-size:11px;font-weight:600;text-decoration:none;display:flex}.nav a.active{color:#fff;background:#0e7a55}.btn{background:var(--accent);color:#fff;cursor:pointer;border:0;border-radius:24px;justify-content:center;align-items:center;min-height:48px;padding:0 20px;font-size:15px;font-weight:700;text-decoration:none;display:inline-flex}.btn.ghost{background:var(--chip);color:var(--ink)}.btn.danger{color:var(--danger);background:0 0}.btn:disabled{opacity:.5;cursor:default}.btn.block{width:100%}.field{flex-direction:column;gap:4px;display:flex}.field label{color:var(--muted);font-size:12px;font-weight:700}.input{border:1.5px solid var(--line);background:var(--card);border-radius:14px;width:100%;min-height:48px;padding:0 14px}textarea.input{resize:vertical;min-height:84px;padding:12px 14px}.input:focus-visible,.btn:focus-visible,.chip:focus-visible,.nav a:focus-visible,.item:focus-visible{outline:3px solid var(--accent);outline-offset:2px}.chips{flex-wrap:wrap;gap:8px;display:flex}.chip{background:var(--chip);cursor:pointer;border:0;border-radius:20px;align-items:center;gap:6px;min-height:40px;padding:0 14px;font-size:13px;font-weight:600;display:inline-flex}.chip.on{color:#fff;background:#14201b}.seg{background:var(--chip);border-radius:14px;gap:3px;padding:3px;display:flex}.seg button{cursor:pointer;background:0 0;border:0;border-radius:11px;flex:1;min-height:40px;font-size:13px;font-weight:700}.seg button[aria-pressed=true]{color:#fff;background:#14201b}.item{border-bottom:1px solid var(--line);text-align:left;cursor:pointer;background:0 0;border-top:0;border-left:0;border-right:0;align-items:center;gap:12px;width:100%;min-height:60px;padding:8px 0;display:flex}.item:last-child{border-bottom:0}.emoji{background:var(--chip);border-radius:12px;flex:none;justify-content:center;align-items:center;width:40px;height:40px;font-size:20px;display:flex}.amount{font-variant-numeric:tabular-nums;white-space:nowrap;font-weight:700}.amount.in{color:var(--accent-ink)}.day{color:var(--muted);justify-content:space-between;margin:10px 4px 0;font-size:12px;font-weight:700;display:flex}.notice{background:var(--warn-bg);color:var(--warn);border:2px solid #e8b64f;border-radius:16px;padding:12px 14px;font-size:13px}.err{color:var(--danger);font-size:13px;font-weight:600}.big{letter-spacing:-.02em;font-variant-numeric:tabular-nums;font-size:34px;font-weight:800}.sheet-wrap{z-index:10;background:#0006;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.sheet{background:var(--bg);width:100%;max-width:520px;max-height:92dvh;padding:18px 16px calc(24px + env(safe-area-inset-bottom));border-radius:24px 24px 0 0;flex-direction:column;gap:12px;display:flex;overflow:auto}
