:root{--bg:#f6f7f9;--card:#fff;--text:#1f2937;--muted:#6b7280;--border:#e5e7eb;--accent:#16a34a;--accent-soft:#dcfce7;--danger:#dc2626;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;-webkit-text-size-adjust:100%;font-family:system-ui,-apple-system,Segoe UI,Arial,sans-serif}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--bg:#111418;--card:#1b1f25;--text:#e5e7eb;--muted:#9ca3af;--border:#2d333b;--accent:#22c55e;--accent-soft:#14361f}}*{box-sizing:border-box}body{background:var(--bg);color:var(--text);margin:0}button,input{font:inherit;color:inherit}button{cursor:pointer}.app{max-width:640px;padding:max(16px, env(safe-area-inset-top)) 16px calc(32px + env(safe-area-inset-bottom));margin:0 auto}.header{justify-content:space-between;align-items:baseline;margin-bottom:12px;display:flex}.header h1{margin:0;font-size:1.5rem}.count{color:var(--muted);font-size:.95rem}input{border:1px solid var(--border);background:var(--card);border-radius:12px;outline:none;width:100%;padding:12px 14px;font-size:16px}input:focus{border-color:var(--accent)}.add{grid-template-columns:1fr auto;gap:8px;margin-bottom:12px;display:grid}.primary{background:var(--accent);color:#fff;border:0;border-radius:12px;min-height:46px;padding:0 18px;font-weight:600}.primary:disabled{opacity:.5;cursor:default}.toolbar{flex-wrap:wrap;gap:8px;margin-bottom:12px;display:flex}.search{flex:100%}.filters{background:var(--card);border:1px solid var(--border);border-radius:12px;padding:3px;display:flex}.filters button{color:var(--muted);background:0 0;border:0;border-radius:9px;padding:8px 14px}.filters button.active{background:var(--accent-soft);color:var(--accent);font-weight:600}.list{background:var(--card);border:1px solid var(--border);border-radius:14px;margin:0;padding:0;list-style:none;overflow:hidden}.row{border-bottom:1px solid var(--border);align-items:stretch;display:flex}.row:last-child{border-bottom:0}.row-main{text-align:start;background:0 0;border:0;flex:1;align-items:center;gap:12px;min-width:0;padding:14px;display:flex}.check{border:2px solid var(--border);color:#fff;border-radius:50%;flex:none;place-items:center;width:24px;height:24px;font-size:14px;display:grid}.done .check{background:var(--accent);border-color:var(--accent)}.text{flex-direction:column;min-width:0;display:flex}.name{overflow-wrap:anywhere;font-size:1.05rem}.note{color:var(--muted);overflow-wrap:anywhere;font-size:.85rem}.done .name{color:var(--muted);text-decoration:line-through}.delete{color:var(--muted);background:0 0;border:0;flex:none;padding:0 16px;font-size:1rem}.delete:hover{color:var(--danger)}.done-section{margin-top:20px}.done-header{color:var(--muted);justify-content:space-between;align-items:center;margin:0 4px 8px;font-size:.9rem;display:flex}.link{color:var(--danger);background:0 0;border:0;padding:4px}.empty{text-align:center;color:var(--muted);justify-items:center;gap:12px;padding:48px 16px;display:grid}.banner{color:#92400e;background:#fef3c7;border-radius:10px;margin-bottom:12px;padding:10px 14px;font-size:.9rem}.toast{bottom:calc(24px + env(safe-area-inset-bottom));color:#fff;background:#111827;border-radius:999px;padding:10px 18px;font-size:.9rem;position:fixed;left:50%;transform:translate(-50%);box-shadow:0 4px 16px #0003}.count{align-items:baseline;gap:10px;display:flex}.link.muted{color:var(--muted);font-size:.85rem}.login{place-items:center;min-height:100dvh;display:grid}.login-card{background:var(--card);border:1px solid var(--border);text-align:center;border-radius:16px;gap:12px;width:100%;max-width:360px;padding:28px 22px;display:grid}.login-card h1{margin:0;font-size:1.5rem}.muted-text{color:var(--muted);margin:0}.login-error{color:var(--danger);font-size:.9rem}.pw-field{position:relative}.pw-field input{padding-inline-start:46px}.pw-toggle{inset-block:0;background:0 0;border:0;padding:0 10px;font-size:1.2rem;position:absolute;left:4px}.row-main{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;touch-action:manipulation}.row{transition:background-color .6s}.row.pressing{background:color-mix(in srgb, var(--danger) 14%, transparent)}.hint{text-align:center;color:var(--muted);margin:18px 0 0;font-size:.8rem}.toast{align-items:center;gap:14px;display:flex}.toast-undo{color:#4ade80;background:0 0;border:0;padding:2px 4px;font-weight:700}
