.todo{grid-template-columns:220px minmax(0,1fr);gap:32px;max-width:1000px;margin:0 auto;display:grid}.todo-lists{flex-direction:column;gap:12px;display:flex}.todo-lists ul{flex-direction:column;gap:2px;margin:0;padding:0;list-style:none;display:flex}.list-link{color:var(--muted);border-radius:8px;justify-content:space-between;align-items:center;gap:8px;padding:8px 10px;font-weight:500;text-decoration:none;display:flex}.list-link:hover{background:var(--surface-2);color:var(--text)}.list-link.active{background:var(--surface-2);color:var(--accent)}.list-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.list-count{font-variant-numeric:tabular-nums;color:var(--muted);font-size:12px}.new-list,.quick-add,.rename-form{gap:8px;display:flex}.new-list input,.quick-add input,.rename-form input,.task-editor input,.task-editor select,.task-editor textarea{background:var(--surface);border:1px solid var(--border);border-radius:8px;min-width:0;padding:8px 10px}.new-list input,.quick-add input,.rename-form input{flex:1}.todo-main{flex-direction:column;gap:16px;min-width:0;display:flex}.list-header{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.list-header h1{overflow-wrap:anywhere;font-size:28px}.rename-form{width:100%}.rename-form input{font-size:20px;font-weight:600}.confirm{color:var(--muted);flex-wrap:wrap;align-items:center;gap:8px;display:inline-flex}.spacer{flex:1}.quick-add input{padding:11px 12px}.empty{color:var(--muted);margin:8px 0}.tasks{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);margin:0;padding:0;list-style:none}.task+.task{border-top:1px solid var(--border)}.task-row{align-items:flex-start;gap:12px;padding:10px 14px;display:flex}.check{appearance:none;border:1.5px solid var(--muted);cursor:pointer;background:0 0;border-radius:6px;flex:none;place-content:center;width:20px;height:20px;margin:2px 0 0;display:grid}.check:after{content:"";border:solid var(--on-accent);opacity:0;border-width:0 0 2px 2px;width:10px;height:6px;transform:rotate(-45deg)translate(1px,-1px)}.check:checked{background:var(--accent);border-color:var(--accent)}.check:checked:after{opacity:1}.task-main{text-align:left;cursor:pointer;background:0 0;border:0;flex-wrap:wrap;flex:1;align-items:baseline;gap:4px 10px;min-width:0;padding:0;display:flex}.task-title{overflow-wrap:anywhere}.task.done .task-title{color:var(--muted);text-decoration:line-through}.task-meta{flex-wrap:wrap;gap:6px;display:inline-flex}.chip{background:var(--surface-2);color:var(--muted);white-space:nowrap;border-radius:999px;padding:0 8px;font-size:12px;line-height:20px}.chip.overdue{background:color-mix(in srgb, var(--danger) 16%, transparent);color:var(--danger)}.chip.prio-1{color:var(--prio-low)}.chip.prio-2{color:var(--prio-med)}.chip.prio-3{color:var(--danger)}.chip.quiet{background:0 0;padding:0}.done-toggle{color:var(--muted);cursor:pointer;background:0 0;border:0;align-self:flex-start;padding:4px 0}.done-toggle:hover{color:var(--text)}.done-section{flex-direction:column;gap:8px;display:flex}.task-editor{flex-direction:column;gap:14px;padding:4px 14px 16px 46px;display:flex}.editor-row{flex-wrap:wrap;gap:14px;display:flex}.task-editor .field{max-width:none}.task-editor .field.wide{width:100%}.task-editor textarea{resize:vertical;font:inherit;color:inherit}.editor-actions{align-items:center;gap:8px;display:flex}@media (width<=720px){.todo{grid-template-columns:minmax(0,1fr);gap:16px}.todo-lists ul{flex-flow:wrap}.list-link{white-space:nowrap}.task-editor{padding-left:14px}}.pane-heading{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin:4px 10px 0;font-size:11px;font-weight:600}.list-count.alert{background:color-mix(in srgb, var(--danger) 16%, transparent);color:var(--danger);border-radius:999px;padding:0 7px}.view-section{flex-direction:column;gap:10px;display:flex}.view-section h2{align-items:baseline;gap:8px;font-size:18px;display:flex}.view-section h2.alert{color:var(--danger)}.view-section .count{color:var(--muted);font-variant-numeric:tabular-nums;font-size:13px;font-weight:400}.day-group{flex-direction:column;gap:8px;display:flex}.day-group h3{color:var(--muted);font-size:14px;font-weight:600}.chip.list-chip{background:0 0;padding:0}.quick-add select{background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:8px 10px}.page .quick-add input{background:var(--surface);border:1px solid var(--border);border-radius:8px;flex:1;min-width:0;padding:11px 12px}.section-block{flex-direction:column;gap:10px;margin-top:8px;display:flex}.section-header{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.section-header h2{align-items:baseline;gap:8px;font-size:18px;display:flex}.section-header .count{color:var(--muted);font-variant-numeric:tabular-nums;font-size:13px;font-weight:400}.btn.quiet{color:var(--muted);background:0 0;border-color:#0000;padding:4px 8px}.btn.quiet:hover{background:var(--surface-2);color:var(--text)}.section-add,.new-section,.subtask-add{gap:8px;display:flex}.section-add input,.new-section input,.subtask-add input,.page .quick-add input[type=search]{background:var(--surface);border:1px solid var(--border);border-radius:8px;flex:1;min-width:0;padding:8px 10px}.new-section{margin-top:8px}.drag-handle{color:var(--muted);cursor:grab;touch-action:none;background:0 0;border:0;flex:none;margin:-2px -4px -2px -8px;padding:2px 4px;font-size:16px;line-height:1.4}.drag-handle:hover{color:var(--text)}.task.dragging{z-index:5;background:var(--surface-2);position:relative;box-shadow:0 6px 20px #00000038}.subtasks{flex-direction:column;gap:8px;display:flex}.subtasks-label{font-weight:500}.subtasks ul{flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;display:flex}.subtask{align-items:center;gap:10px;display:flex}.subtask .check{margin:0}.subtask-title{background:0 0;border:1px solid #0000;border-radius:6px;flex:1;min-width:0;padding:4px 6px}.subtask-title:hover,.subtask-title:focus{border-color:var(--border);background:var(--surface)}.subtask.done .subtask-title{color:var(--muted);text-decoration:line-through}.icon-btn{width:28px;height:28px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:6px;flex:none;font-size:18px;line-height:1}.icon-btn:hover{background:var(--surface-2);color:var(--danger)}.field .inline{align-items:center;gap:8px;display:inline-flex}.field .interval{width:64px}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#f4ecdc;--surface:#fbf6ec;--surface-2:#efe5d0;--border:#d8c9ab;--text:#2a2219;--muted:#6d5f49;--accent:#8a5b0a;--accent-hover:#724a05;--on-accent:#fff9ee;--focus:#2f6a9e;--danger:#a8452f;--prio-low:#4d6e8a;--prio-med:#946010;--radius:10px;--sidebar-w:232px;--font:system-ui, -apple-system, "Segoe UI", Roboto, sans-serif}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#15120e;--surface:#1e1a15;--surface-2:#28231c;--border:#3b3329;--text:#ece3d1;--muted:#a3957c;--accent:#c08a28;--accent-hover:#d3a040;--on-accent:#1a1409;--focus:#7db0e6;--danger:#d9795f;--prio-low:#8fb0d0;--prio-med:#e0a550}}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#15120e;--surface:#1e1a15;--surface-2:#28231c;--border:#3b3329;--text:#ece3d1;--muted:#a3957c;--accent:#c08a28;--accent-hover:#d3a040;--on-accent:#1a1409;--focus:#7db0e6;--danger:#d9795f;--prio-low:#8fb0d0;--prio-med:#e0a550}*,:before,:after{box-sizing:border-box}html,body,#root{height:100%}body{background:var(--bg);color:var(--text);font:15px/1.5 var(--font);-webkit-text-size-adjust:100%;margin:0}:focus-visible{outline:2px solid var(--focus);outline-offset:2px}h1,h2,h3{margin:0;line-height:1.2}button,select,input{font:inherit;color:inherit}.shell{grid-template-columns:var(--sidebar-w) 1fr;height:100%;display:grid}.sidebar{background:var(--surface);border-right:1px solid var(--border);flex-direction:column;gap:24px;padding:20px 14px;display:flex}.brand{letter-spacing:.01em;align-items:center;gap:10px;padding:0 10px;font-size:20px;font-weight:650;display:flex}.brand img{width:28px;height:28px}.nav{flex-direction:column;gap:2px;display:flex}.nav-link{color:var(--muted);border-radius:8px;align-items:center;gap:10px;padding:9px 10px;font-weight:500;text-decoration:none;display:flex}.nav-link:hover{background:var(--surface-2);color:var(--text)}.nav-link.active{background:var(--surface-2);color:var(--accent)}.nav-spacer{flex:1}.main{padding:32px clamp(16px,4vw,48px) 48px;overflow:auto}.page{flex-direction:column;gap:20px;max-width:880px;margin:0 auto;display:flex}.page h1{font-size:28px}.lede{color:var(--muted);margin:0}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:16px 18px}.field{flex-direction:column;gap:6px;max-width:280px;display:flex}.field label{font-weight:500}.field select{background:var(--bg);border:1px solid var(--border);border-radius:8px;padding:8px 10px}.btn{border:1px solid var(--border);background:var(--surface);cursor:pointer;border-radius:8px;padding:8px 14px}.btn:hover{background:var(--surface-2)}.btn.primary{background:var(--accent);border-color:var(--accent);color:var(--on-accent);font-weight:500}.btn.primary:hover{background:var(--accent-hover)}.btn.danger{color:var(--danger);border-color:var(--danger)}.btn:disabled{opacity:.5;cursor:default}.sr-only{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.toast{left:calc(var(--sidebar-w) + 16px);z-index:10;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);align-items:center;gap:12px;padding:10px 12px 10px 16px;display:flex;position:fixed;bottom:16px;box-shadow:0 6px 24px #0000002e}.update-banner{z-index:10;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);align-items:center;gap:12px;padding:12px 14px;display:flex;position:fixed;bottom:16px;right:16px;box-shadow:0 6px 24px #0000002e}@media (width<=720px){.shell{grid-template-rows:1fr auto;grid-template-columns:1fr}.sidebar{padding:6px 6px calc(6px + env(safe-area-inset-bottom));border-right:0;border-top:1px solid var(--border);flex-direction:row;order:2}.brand,.nav-spacer{display:none}.nav{flex-direction:row;flex:1;justify-content:space-around}.nav-link{flex-direction:column;gap:2px;padding:6px 8px;font-size:12px}.main{padding-top:20px}.toast{justify-content:space-between;bottom:76px;left:16px;right:16px}.update-banner{bottom:140px;left:16px}}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}.modules{flex-direction:column;gap:12px;display:flex}.modules h2{font-size:18px}.modules ul{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.modules li{border-top:1px solid var(--border);justify-content:space-between;align-items:center;gap:16px;padding:12px 0;display:flex}.modules li p{margin:2px 0 0}.switch{cursor:pointer;flex:none;align-items:center;gap:8px;font-weight:500;display:inline-flex}.switch input{width:18px;height:18px;accent-color:var(--accent)}.backup{flex-direction:column;gap:16px;display:flex}.backup h2{font-size:18px}.backup h3{font-size:15px;font-weight:600}.backup p{margin:0}.backup-part{flex-direction:column;gap:10px;display:flex}.backup .file-part{border-top:1px solid var(--border);padding-top:16px}.row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.check-row{cursor:pointer;align-items:flex-start;gap:10px;display:flex}.check-row input{accent-color:var(--accent);margin-top:4px}.problem{color:var(--danger)}.import-box{background:var(--bg);border:1px solid var(--border);border-radius:8px;flex-direction:column;gap:10px;padding:12px 14px;display:flex}.sync-notice{z-index:10;background:var(--surface);border:1px solid var(--border);color:var(--muted);opacity:0;border-radius:999px;padding:6px 12px;font-size:13px;animation:.2s .6s forwards sync-notice-in;position:fixed;top:12px;right:16px;box-shadow:0 2px 10px #0000001f}@keyframes sync-notice-in{to{opacity:1}}
