:root{--bg: #f6f4ef;--surface: #ffffff;--surface-2: #f0ede5;--text: #1d1c19;--muted: #6b665c;--border: #e3ded2;--accent: #a8661b;--accent-soft: #f6e7cf;--fire: #d9480f;--fire-soft: #fde4d4;--money: #2b7a4b;--money-soft: #dcf0e3;--danger: #b42318;--focus: #2563eb;--radius: 14px;--shadow: 0 1px 2px rgb(0 0 0 / .05), 0 2px 8px rgb(0 0 0 / .04);--tabbar: 64px;color-scheme:light}@media(prefers-color-scheme:dark){:root{--bg: #11100e;--surface: #1b1a17;--surface-2: #24221e;--text: #f1eee7;--muted: #a59f93;--border: #2f2c27;--accent: #e3a650;--accent-soft: #3a2d1a;--fire: #ff8a4c;--fire-soft: #3d2416;--money: #5cc489;--money-soft: #183323;--danger: #f97066;--focus: #60a5fa;--shadow: none;color-scheme:dark}}*{box-sizing:border-box}html,body{margin:0;background:var(--bg);color:var(--text);font:16px/1.45 system-ui,-apple-system,Segoe UI,Roboto,sans-serif;-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;overflow-x:clip}button,input,select{font:inherit;color:inherit}:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.num{font-variant-numeric:tabular-nums}.app{max-width:640px;margin:0 auto;min-height:100dvh;padding:env(safe-area-inset-top) 16px calc(var(--tabbar) + env(safe-area-inset-bottom) + 24px)}.page-title{font-size:1.6rem;font-weight:700;margin:20px 0 12px;letter-spacing:-.01em}.daynav{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:16px 0 8px}.daynav h1{font-size:1.5rem;margin:0;text-align:center;flex:1}.daynav .sub{display:block;font-size:.8rem;color:var(--muted);font-weight:500}.icon-btn{width:44px;height:44px;border-radius:50%;border:1px solid var(--border);background:var(--surface);display:grid;place-items:center;cursor:pointer;font-size:1.1rem}.icon-btn:disabled{opacity:.35;cursor:default}.stats-row{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:12px 0 20px}.stat{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:10px 12px;box-shadow:var(--shadow)}.stat .label{font-size:.75rem;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}.stat .value{font-size:1.25rem;font-weight:700}.stat.money .value{color:var(--money)}.section-title{display:flex;align-items:baseline;justify-content:space-between;font-size:.85rem;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);margin:20px 4px 8px;font-weight:600}.list{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow)}.row{display:flex;align-items:center;gap:12px;width:100%;min-height:56px;padding:10px 14px;border:0;border-top:1px solid var(--border);background:transparent;text-align:left;cursor:pointer}.row:first-child{border-top:0}.row:hover{background:var(--surface-2)}.row:disabled{cursor:progress;opacity:.6}.row .emoji{width:32px;font-size:1.4rem;text-align:center;flex:none}.row .main{flex:1;min-width:0}.row .name,.row .meta{display:block}.row .name{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.row .meta{font-size:.8rem;color:var(--muted)}.pts{font-weight:700;white-space:nowrap}.pts.double{color:var(--fire)}.badge{display:inline-block;padding:1px 8px;border-radius:999px;font-size:.75rem;font-weight:700;background:var(--accent-soft);color:var(--accent)}.badge.fire{background:var(--fire-soft);color:var(--fire)}.ready .row{background:linear-gradient(90deg,var(--fire-soft),transparent 70%)}.done .row .name{text-decoration:line-through;text-decoration-color:var(--muted)}.check{width:28px;height:28px;border-radius:50%;border:2px solid var(--border);flex:none;display:grid;place-items:center;font-size:.9rem}.done .check{background:var(--money);border-color:var(--money);color:#fff}.search{position:sticky;top:0;z-index:5;padding:8px 0;background:var(--bg)}.search input{width:100%;height:48px;padding:0 16px;border-radius:999px;border:1px solid var(--border);background:var(--surface);font-size:16px}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:16px;box-shadow:var(--shadow);margin-bottom:16px}.field{display:grid;gap:6px;margin-bottom:14px}.field>span{font-size:.85rem;font-weight:600;color:var(--muted)}.field input,.field select{width:100%;min-width:0;height:46px;padding:0 12px;border-radius:10px;border:1px solid var(--border);background:var(--bg);font-size:16px}.field .hint{font-size:.8rem;color:var(--muted)}.field .error{font-size:.8rem;color:var(--danger)}.inline{display:flex;gap:10px;align-items:end}.inline>*{flex:1;min-width:0}.btn{height:46px;padding:0 18px;border-radius:10px;border:1px solid var(--border);background:var(--surface);font-weight:600;cursor:pointer}.btn.primary{background:var(--accent);border-color:var(--accent);color:#fff}.btn.danger{color:var(--danger)}.btn:disabled{opacity:.5;cursor:default}.btn.block{width:100%}.seg,.days{border:0;margin:0;min-width:0}.seg{display:grid;grid-auto-flow:column;gap:4px;padding:4px;border-radius:12px;background:var(--surface-2)}.seg button{height:38px;border:0;border-radius:9px;background:transparent;font-weight:600;cursor:pointer;color:var(--muted)}.seg button[aria-pressed=true]{background:var(--surface);color:var(--text);box-shadow:var(--shadow)}.days{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}.days button{height:44px;border-radius:10px;border:1px solid var(--border);background:var(--bg);font-weight:700;cursor:pointer}.days button[aria-pressed=true]{background:var(--accent);border-color:var(--accent);color:#fff}.presets{display:flex;gap:6px;flex-wrap:wrap}.presets button{border:1px solid var(--border);background:transparent;border-radius:999px;padding:4px 12px;font-size:.85rem;cursor:pointer}.toggle{display:flex;align-items:center;gap:10px;min-height:44px}.toggle input{width:22px;height:22px}.balance{text-align:center;padding:24px 16px}.balance .amount{font-size:2.6rem;font-weight:800;color:var(--money);letter-spacing:-.02em}.balance .amount.negative{color:var(--danger)}.balance .breakdown{color:var(--muted);font-size:.9rem}.chart{width:100%;height:auto;max-height:260px;display:block}.chart .bar{fill:var(--accent)}.chart .bar.empty{fill:var(--border)}.chart text{fill:var(--muted);font-size:10px}.chart .grid{stroke:var(--border);stroke-width:1}.summary-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin-bottom:16px}.tabbar{position:fixed;left:0;right:0;bottom:0;z-index:10;display:grid;grid-template-columns:repeat(5,1fr);height:calc(var(--tabbar) + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom);background:color-mix(in srgb,var(--surface) 92%,transparent);backdrop-filter:blur(12px);border-top:1px solid var(--border)}.tabbar a{display:grid;place-items:center;align-content:center;gap:2px;text-decoration:none;color:var(--muted);font-size:.7rem;font-weight:600}.tabbar a .ico{font-size:1.3rem;line-height:1}.tabbar a[aria-current=page]{color:var(--accent)}.empty{text-align:center;color:var(--muted);padding:28px 16px}.toast{position:fixed;left:50%;bottom:calc(var(--tabbar) + env(safe-area-inset-bottom) + 12px);transform:translate(-50%);max-width:min(560px,calc(100vw - 32px));background:var(--text);color:var(--bg);padding:12px 16px;border-radius:12px;z-index:20;box-shadow:0 8px 24px #0003;font-size:.95rem}.toast.error{background:var(--danger);color:#fff}.center{min-height:80dvh;display:grid;place-items:center;text-align:center}.brand{font-size:2rem;font-weight:800;letter-spacing:-.02em}.brand span{color:var(--accent)}.muted{color:var(--muted)}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}@media(prefers-reduced-motion:no-preference){.row{transition:background .15s}}
