:root{color-scheme:light dark;--bg: #f6f7f5;--surface: #ffffff;--text: #1b1f1d;--muted: #646b67;--line: #e2e5e1;--accent: #1f8a5b;--accent-text: #ffffff;--accent-soft: #e0f2e9;--danger: #c23a32;--danger-text: #ffffff;--toast-bg: #1b1f1d;--toast-text: #ffffff;--toast-action: #7fe0b1;--shadow: 0 8px 30px rgb(0 0 0 / .18);--tap: 48px}@media(prefers-color-scheme:dark){:root{--bg: #14171a;--surface: #1e2226;--text: #e9ecea;--muted: #9aa29d;--line: #2e3338;--accent: #3cb582;--accent-text: #08150f;--accent-soft: #1b3a2c;--danger: #e5635a;--danger-text: #190605;--toast-bg: #e9ecea;--toast-text: #14171a;--toast-action: #136b45;--shadow: 0 8px 30px rgb(0 0 0 / .5)}}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;min-height:100dvh;background:var(--bg);color:var(--text);font:17px/1.35 system-ui,-apple-system,Segoe UI,Roboto,sans-serif;-webkit-tap-highlight-color:transparent}h1,h2{margin:0;font-weight:650}p{margin:0}ul{margin:0;padding:0;list-style:none}button,input{font:inherit;color:inherit}button{cursor:pointer;touch-action:manipulation}button:disabled{cursor:default;opacity:.5}:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}input{width:100%;min-width:0;min-height:var(--tap);padding:0 14px;background:var(--surface);border:1px solid var(--line);border-radius:12px;font-size:17px}.button{flex:none;min-height:var(--tap);min-width:48px;padding:0 16px;background:var(--surface);border:1px solid var(--line);border-radius:12px}.button.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-text);font-weight:600}.button.danger{background:var(--danger);border-color:var(--danger);color:var(--danger-text);font-weight:600}.button.danger-outline{color:var(--danger)}.icon-button{flex:none;width:var(--tap);height:var(--tap);padding:0;background:none;border:0;border-radius:12px;color:var(--muted);font-size:15px}.center-message,.login,.empty-start{display:flex;flex-direction:column;gap:16px;max-width:420px;margin:0 auto;padding:48px 16px}.center-message{align-items:center;text-align:center}.login form{display:flex;flex-direction:column;gap:14px}.login label{display:flex;flex-direction:column;gap:6px;color:var(--muted);font-size:15px}.login input{color:var(--text)}.login .button{margin-top:6px}.error{color:var(--danger)}.notice,.muted,.empty{color:var(--muted)}.app{max-width:640px;min-height:100dvh;margin:0 auto;padding-bottom:calc(96px + env(safe-area-inset-bottom))}.sticky{position:sticky;top:0;z-index:2;background:var(--bg);padding-top:env(safe-area-inset-top)}.app-header{display:flex;align-items:center;gap:8px;padding:6px 12px 2px}.title-button{display:flex;flex:1;align-items:center;gap:6px;min-width:0;min-height:var(--tap);padding:0 4px;background:none;border:0;text-align:left}.title-text{overflow:hidden;font-size:22px;font-weight:700;text-overflow:ellipsis;white-space:nowrap}.chevron{color:var(--muted)}.toggle-button{flex:none;min-width:var(--tap);min-height:var(--tap);padding:0 12px;background:none;border:1px solid var(--line);border-radius:12px;color:var(--muted);font-size:15px;font-weight:600}.toggle-button.on{background:var(--accent-soft);border-color:var(--accent);color:var(--text)}.add-form,.inline-form{display:flex;gap:8px}.add-form{padding:6px 12px 10px}.list-body{padding:0 12px}.empty{padding:24px 4px;text-align:center}.items{overflow:hidden;background:var(--surface);border-radius:14px}.items:empty{display:none}.item{display:flex;align-items:stretch}.item+.item{border-top:1px solid var(--line)}.item-check{display:flex;flex:1;align-items:center;gap:12px;min-width:0;min-height:52px;padding:10px 4px 10px 14px;background:none;border:0;text-align:left}.circle{flex:none;width:24px;height:24px;border:2px solid var(--muted);border-radius:50%}.item-name{min-width:0;overflow-wrap:anywhere}.item.checked .item-name{color:var(--muted);text-decoration:line-through}.item.checked .circle{position:relative;background:var(--accent);border-color:var(--accent)}.item.checked .circle:after{content:"";position:absolute;top:2px;left:6px;width:6px;height:11px;border:solid var(--accent-text);border-width:0 2px 2px 0;transform:rotate(45deg)}.icon-button.subtle{align-self:center}.checked-actions{display:flex;flex-wrap:wrap;gap:8px;padding:14px 0}.checked-actions .button{flex:1;background:none;font-size:15px}.status{display:block;width:100%;margin:0;padding:8px 16px;padding-top:calc(8px + env(safe-area-inset-top));background:var(--accent-soft);border:0;font-size:15px;text-align:center}.overlay{position:fixed;inset:0;z-index:10;display:flex;justify-content:flex-start;background:#0006}.overlay.center{align-items:center;justify-content:center;z-index:20;padding:16px}.drawer{display:flex;flex-direction:column;gap:12px;width:min(88vw,380px);height:100%;padding:calc(10px + env(safe-area-inset-top)) 12px calc(12px + env(safe-area-inset-bottom));background:var(--bg);box-shadow:var(--shadow)}.drawer-header,.drawer-footer{display:flex;align-items:center;justify-content:space-between;gap:8px}.drawer-header h2{padding-left:4px;font-size:22px}.drawer-lists{flex:1;overflow-y:auto}.drawer-lists li{display:flex;align-items:center;border-radius:12px}.drawer-lists li.active{background:var(--accent-soft)}.drawer-open{display:flex;flex:1;align-items:center;justify-content:space-between;gap:12px;min-width:0;min-height:var(--tap);padding:8px 4px 8px 12px;background:none;border:0;text-align:left}.drawer-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.count{flex:none;color:var(--muted);font-size:15px}.drawer-footer .muted{min-width:0;overflow:hidden;padding-left:4px;text-overflow:ellipsis}.dialog{display:flex;flex-direction:column;gap:10px;width:min(100%,380px);padding:20px;background:var(--surface);border-radius:16px;box-shadow:var(--shadow)}.dialog h2{font-size:19px;overflow-wrap:anywhere}.dialog p{color:var(--muted)}.dialog-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:8px}.toast{position:fixed;right:12px;bottom:calc(14px + env(safe-area-inset-bottom));left:12px;z-index:5;display:flex;align-items:center;gap:8px;max-width:616px;margin:0 auto;padding:2px 4px 2px 16px;background:var(--toast-bg);border-radius:12px;box-shadow:var(--shadow);color:var(--toast-text)}.toast-text{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.toast-action{flex:none;min-width:var(--tap);min-height:var(--tap);padding:0 12px;background:none;border:0;color:var(--toast-action);font-weight:700}
