:root{color-scheme:light dark;--bg: #ffffff;--bg-raised: #ffffff;--bg-subtle: #f6f6f7;--bg-hover: #f0f0f2;--fg: #1b1b1b;--fg-muted: #6b6b70;--fg-faint: #9a9aa1;--border: #e3e3e6;--border-strong: #c9c9cf;--accent: #2563eb;--accent-fg: #ffffff;--danger: #b3261e;--danger-bg: #fdecea;--success: #0a7d2c;--warn: #7a5b00;--warn-bg: #fff6e0;--row-pad-y: 2px;--row-pad-x: 4px;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-size:15px;line-height:1.45;color:var(--fg);background-color:var(--bg)}@media (prefers-color-scheme: dark){:root{--bg: #17171a;--bg-raised: #1f1f23;--bg-subtle: #202024;--bg-hover: #27272c;--fg: #ececee;--fg-muted: #9d9da5;--fg-faint: #6d6d75;--border: #2e2e34;--border-strong: #43434b;--accent: #6d9bff;--accent-fg: #10131a;--danger: #ff8a80;--danger-bg: #3a1f1d;--success: #6ddc8c;--warn: #e6c46a;--warn-bg: #352d13}}*{box-sizing:border-box}body{margin:0;min-height:100vh;background-color:var(--bg);color:var(--fg)}button{font:inherit;color:inherit;cursor:pointer}input{font:inherit;color:inherit}#root{min-height:100vh}.center{min-height:100vh;display:flex;align-items:center;justify-content:center}.card{border:1px solid var(--border);border-radius:12px;padding:24px;max-width:320px;width:100%;text-align:center;background:var(--bg-raised)}.card h1{margin-top:0}.error{color:var(--danger)}.workspace{min-height:100vh;display:flex;flex-direction:column}.topbar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:6px 12px;border-bottom:1px solid var(--border)}.brand{font-weight:600;background:none;border:none;padding:0;font-size:inherit;font-family:inherit;color:inherit;cursor:pointer}.content{flex:1;padding:12px}.empty{color:var(--fg-muted)}.topbar-actions{display:flex;align-items:center;gap:4px}.screen,.list,.home{max-width:720px}.home-toolbar{display:flex;justify-content:flex-end;margin-bottom:8px}.sortpicker{display:inline-flex;align-items:center;gap:6px;font-size:.8rem;color:var(--fg-muted)}.sortpicker select{font:inherit;padding:2px 4px;border:1px solid var(--border-strong);border-radius:5px;background:var(--bg-raised);color:var(--fg)}.listcards{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.listcard{border:1px solid var(--border);border-radius:8px;background:var(--bg-raised);overflow:hidden}.listcard-row{display:flex;align-items:center;gap:4px;padding:8px 8px 8px 6px}.listcard-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px;padding:2px 4px;border:none;border-radius:6px;background:none;color:inherit;text-align:left}.listcard-main:hover{background:var(--bg-hover)}.listcard-main:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.listcard-name{font-weight:600}.listcard-preview{display:flex;flex-direction:column;font-size:.8rem;color:var(--fg-muted)}.listcard-line{display:block;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.listcard-line.empty{color:var(--fg-faint);font-style:italic}.listcard-count{flex:none;font-size:.75rem;font-variant-numeric:tabular-nums;color:var(--fg-muted)}.listcard-count.done{color:var(--success)}.listcard-bar{height:2px;background:var(--bg-subtle)}.listcard-bar div{height:100%;background:var(--accent)}.listcard.deleted{display:flex;align-items:center;gap:8px;padding:6px 8px;color:var(--fg-muted);background:none;border-style:dashed}.listcard.deleted .listcard-name{flex:1;min-width:0;font-weight:400;text-decoration:line-through;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.listcard .dnd-reject{margin:0;border-radius:0}.listhead{display:flex;align-items:center;gap:4px;margin-bottom:10px}.listtitle{flex:1;min-width:0;margin:0;font-size:1.25rem;font-weight:600;line-height:1.3}.listtitle .text{width:100%;padding:2px 6px;border:1px solid transparent;border-radius:6px;background:none;font:inherit;color:inherit}.listtitle .text:hover{background:var(--bg-subtle)}.listtitle .text:focus{outline:none;border-color:var(--accent);background:var(--bg-raised)}.listtitle .text::placeholder{color:var(--fg-faint);font-weight:400}.icon{width:1em;height:1em;display:block}.iconbutton{flex:none;display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;padding:0;border:none;border-radius:5px;background:none;color:var(--fg-faint);font-size:17px;line-height:0}.iconbutton:hover{background:var(--bg-hover);color:var(--fg)}.iconbutton:focus-visible{outline:2px solid var(--accent);outline-offset:1px;color:var(--fg)}.iconbutton.danger:hover{color:var(--danger)}.iconbutton.restore{color:var(--success)}.iconbutton.primary{background:var(--accent);color:var(--accent-fg)}.iconbutton.primary:hover{background:var(--accent);color:var(--accent-fg);filter:brightness(1.1)}.addrow{display:flex;align-items:center;gap:6px;margin-bottom:8px}.addrow.below{margin-top:8px;margin-bottom:0}.addrow .text{flex:1;padding:4px 8px;border:1px solid var(--border-strong);border-radius:6px;background:var(--bg-raised);color:var(--fg)}.addrow .text::placeholder{color:var(--fg-faint)}.addrow .iconbutton{width:28px;height:28px}.items{list-style:none;margin:0;padding:0}.item .row{display:flex;align-items:center;gap:2px;padding:var(--row-pad-y) var(--row-pad-x);border-radius:5px}.item .row:hover{background:var(--bg-subtle)}.item .text{flex:1;min-width:0;padding:2px 4px;border:1px solid transparent;border-radius:4px;background:none;color:inherit}.item .text:focus{outline:none;border-color:var(--accent);background:var(--bg-raised)}.item.deleted{color:var(--fg-muted)}.item.deleted .text{text-decoration:line-through}.check{display:inline-flex;flex:none;padding:0 3px}.check input{margin:0;width:15px;height:15px;accent-color:var(--accent)}.drag-handle{cursor:grab;touch-action:none;color:var(--fg-faint);opacity:.55}.item .row:hover .drag-handle,.drag-handle:focus-visible{opacity:1}.disclosure{width:20px;height:20px;font-size:15px}.iconbutton.open-list{width:20px;height:20px;font-size:14px;opacity:.65}.item .row:hover .open-list,.open-list:focus-visible{opacity:1}.drop-indicator{height:2px;margin-block:-1px;margin-right:8px;border-radius:1px;background:var(--accent);list-style:none;pointer-events:none}.drag-overlay-row{padding:4px 10px;border:1px solid var(--border-strong);border-radius:6px;background:var(--bg-raised);color:var(--fg);box-shadow:0 4px 12px #00000040;font:inherit}.iconbutton.move-to{width:20px;height:20px;font-size:14px;opacity:.55}.item .row:hover .move-to,.move-to:focus-visible,.move-to[aria-expanded=true]{opacity:1}.movemenu{list-style:none;margin:2px 0 4px;padding:4px;max-width:320px;border:1px solid var(--border-strong);border-radius:8px;background:var(--bg-raised);box-shadow:0 4px 12px #0000002e}.movemenu button{display:block;width:100%;padding:4px 8px;border:none;border-radius:5px;background:none;color:var(--fg);font:inherit;text-align:left;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.movemenu button:hover{background:var(--bg-hover)}.movemenu button:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.movemenu-promote{margin-top:4px;border-top:1px solid var(--border);padding-top:4px}.movemenu-promote button{color:var(--fg-muted)}.dnd-reject{margin:0 0 8px;padding:4px 8px;border-radius:6px;background:var(--danger-bg);color:var(--danger);font-size:.8rem}.repair-notice{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:0 0 8px;padding:4px 8px;border-radius:6px;background:var(--warn-bg);color:var(--warn);font-size:.8rem}.repair-notice .dismiss{color:inherit;font-size:15px}.update-banner{position:fixed;left:50%;bottom:20px;transform:translate(-50%);display:flex;align-items:center;gap:12px;padding:10px 14px;border-radius:8px;background:#1b1b1b;color:#fff;font-size:.85rem;box-shadow:0 4px 16px #00000040;z-index:100}.update-banner-actions{display:flex;gap:4px}.update-banner button{font:inherit;padding:3px 10px;border:1px solid #4a4a4a;border-radius:6px;background:#2f2f2f;color:#fff}.update-banner .dismiss{border:none;background:none;color:#fff;cursor:pointer;opacity:.8}.connection-badge{font-size:.75rem;color:var(--fg-muted)}.connection-badge.offline{color:var(--danger)}.connection-badge.syncing{color:var(--warn)}.action{font:inherit;padding:4px 10px;border:1px solid var(--border-strong);border-radius:6px;background:var(--bg-raised);color:var(--fg)}.action:hover{background:var(--bg-hover)}.recently-deleted{margin-top:20px;border-top:1px dashed var(--border);padding-top:6px}.recently-deleted h2{margin:4px 0;font-size:.8rem;font-weight:600;color:var(--fg-muted)}
