:root{--bg: #f6f5f2;--surface: #ffffff;--surface-2: #efeee9;--text: #1b1c1e;--muted: #6b6d72;--line: #e2e1db;--accent: #2f6f4f;--accent-text: #ffffff;--overdue: #b3261e;--today: #b06c00;--soon: #8a7a2f;--ok: #3f7a52;--shadow: 0 1px 2px rgba(0, 0, 0, .06), 0 6px 18px rgba(0, 0, 0, .05);--radius: 14px;color-scheme:light dark}@media(prefers-color-scheme:dark){:root{--bg: #16171a;--surface: #1f2125;--surface-2: #272a2f;--text: #eceef1;--muted: #a3a8b0;--line: #32353b;--accent: #4f9c73;--accent-text: #0d1210;--overdue: #ef8a80;--today: #e0a857;--soon: #cdbf79;--ok: #7fbd96;--shadow: 0 1px 2px rgba(0, 0, 0, .4), 0 8px 24px rgba(0, 0, 0, .35)}}*{box-sizing:border-box}html,body{margin:0;background:var(--bg);color:var(--text);font:16px/1.45 -apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;-webkit-text-size-adjust:100%}#app{max-width:560px;margin:0 auto;padding:max(12px,env(safe-area-inset-top)) 14px calc(28px + env(safe-area-inset-bottom))}header.top{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding:6px 2px 14px}header.top h1{font-size:22px;letter-spacing:-.01em;margin:0}header.top .who{color:var(--muted);font-size:14px}.banner{background:var(--surface-2);border:1px solid var(--line);border-radius:10px;padding:8px 12px;margin-bottom:12px;font-size:14px;color:var(--muted)}ul.chores{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}li.chore{background:var(--surface);border:1px solid var(--line);border-left:5px solid var(--status, var(--line));border-radius:var(--radius);box-shadow:var(--shadow);display:flex;flex-direction:column;overflow:hidden}li.chore .main{display:flex;align-items:stretch}li.chore[data-status=overdue]{--status: var(--overdue)}li.chore[data-status=today]{--status: var(--today)}li.chore[data-status=soon]{--status: var(--soon)}li.chore[data-status=ok]{--status: var(--ok)}.chore .open{flex:1 1 auto;text-align:left;background:none;border:0;color:inherit;font:inherit;padding:12px 10px 12px 13px;cursor:pointer;min-width:0}.chore .name{font-weight:620;font-size:17px;display:block}.chore .due{display:block;font-size:14px;color:var(--status, var(--muted));font-weight:560;margin-top:1px}.chore .meta{display:block;font-size:13px;color:var(--muted);margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chore .note{display:block;font-size:13px;color:var(--muted);font-style:italic;margin-top:2px}.chore .actions{display:flex;flex-direction:column;align-items:stretch;justify-content:center;gap:6px;padding:10px 10px 10px 0;flex:0 0 auto}button{font:inherit;cursor:pointer}.btn{background:var(--accent);color:var(--accent-text);border:0;border-radius:11px;padding:11px 16px;font-weight:620;min-height:44px;min-width:84px}.btn:active{transform:translateY(1px)}.btn[disabled]{opacity:.5}.btn-quiet{background:var(--surface-2);color:var(--text);border:1px solid var(--line);border-radius:10px;padding:6px 10px;font-size:13px;min-height:32px}.btn-link{background:none;border:0;color:var(--accent);padding:4px 2px;font-size:14px;font-weight:560;text-decoration:underline}.undo{font-size:13px;color:var(--muted);padding:0 10px 10px 13px}.toolbar{display:flex;gap:8px;margin-top:18px;flex-wrap:wrap}.empty{color:var(--muted);text-align:center;padding:36px 10px}dialog{border:0;padding:0;background:transparent;max-width:100%;max-height:100%}dialog::backdrop{background:#00000073}dialog .sheet{background:var(--surface);color:var(--text);border-radius:16px;padding:18px;width:min(520px,calc(100vw - 20px));max-height:85vh;overflow:auto;box-shadow:var(--shadow)}dialog h2{margin:0 0 12px;font-size:19px}dialog .row{display:flex;gap:10px;justify-content:flex-end;margin-top:16px;flex-wrap:wrap}dialog .row.spread{justify-content:space-between}label{display:block;font-size:14px;color:var(--muted);margin:12px 0 4px}input[type=text],input[type=number],input[type=password],input[type=date],textarea{width:100%;font:inherit;color:var(--text);background:var(--bg);border:1px solid var(--line);border-radius:10px;padding:11px 12px;min-height:44px}textarea{min-height:72px;resize:vertical}.hint{font-size:13px;color:var(--muted);margin-top:6px}.error{color:var(--overdue);font-size:14px;margin-top:10px}table.tally{width:100%;border-collapse:collapse;font-size:15px}table.tally th,table.tally td{text-align:left;padding:8px 6px;border-bottom:1px solid var(--line)}table.tally td.num,table.tally th.num{text-align:right;font-variant-numeric:tabular-nums}ol.log{list-style:none;margin:8px 0 0;padding:0;font-size:15px}ol.log li{display:flex;justify-content:space-between;gap:10px;padding:7px 2px;border-bottom:1px solid var(--line)}ol.log .by{color:var(--muted)}#toast{position:fixed;left:50%;transform:translate(-50%);bottom:calc(18px + env(safe-area-inset-bottom));background:var(--text);color:var(--bg);padding:11px 16px;border-radius:12px;font-size:15px;max-width:calc(100vw - 28px);box-shadow:var(--shadow);z-index:10}.login{max-width:340px;margin:14vh auto 0}.login h1{font-size:26px;margin:0 0 4px}.login p{color:var(--muted);margin:0 0 18px;font-size:15px}.login .btn{width:100%;margin-top:18px}
