@import "https://fonts.googleapis.com/css2?family=Instrument+Serif:ital@0;1&family=Montserrat:ital,wght@0,100..900;1,100..900&display=swap";@import "https://fonts.googleapis.com/css2?family=DM+Sans:ital,opsz,wght@0,9..40,100..1000;1,9..40,100..1000&family=Instrument+Serif:ital@0;1&family=Montserrat:ital,wght@0,100..900;1,100..900&display=swap";:root{--bg:#f7f5f2;--surface:#fff;--surface-alt:#f0ede9;--accent:#c1440e;--accent-hover:#a33a0c;--text-primary:#1a1714;--text-secondary:#6b6560;--text-muted:#a09890;--border:#e5e0d8;--shadow-sm:0 1px 3px #0000000f;--shadow-md:0 4px 12px #00000014;--radius:10px;--indent:28px;--transition:.15s ease;font-size:16px}[data-theme=dark]{--bg:#1a1714;--surface:#242018;--surface-alt:#2c2820;--accent:#e8601a;--accent-hover:#d45516;--text-primary:#f0ede9;--text-secondary:#a09890;--text-muted:#6b6560;--border:#3a3530;--shadow-sm:0 1px 3px #0003;--shadow-md:0 4px 12px #0000004d}*,:before,:after{box-sizing:border-box;margin:0;padding:0}ul{list-style:none}body{background:var(--bg);color:var(--text-primary);-webkit-font-smoothing:antialiased;min-height:100vh;padding:24px 16px 96px;font-family:DM Sans,sans-serif;font-weight:400}main{width:100%;margin:0 auto}h1{letter-spacing:-.02em;color:var(--text-primary);cursor:pointer;margin-bottom:32px;font-family:Instrument Serif,serif;font-size:clamp(2rem,6vw,2.8rem);font-weight:400;line-height:1}h1:hover{opacity:.7}h2{letter-spacing:.12em;text-transform:uppercase;color:var(--text-muted);margin:48px 0 12px;font-family:DM Sans,sans-serif;font-size:.7rem;font-weight:600}.title-edit-input{letter-spacing:-.02em;color:var(--text-primary);border:none;border-bottom:2px solid var(--accent);background:0 0;outline:none;width:100%;margin-bottom:32px;padding:0;font-family:Instrument Serif,serif;font-size:2.8rem;font-weight:400;line-height:1}form{gap:8px;margin-bottom:8px;display:flex}form input[type=text]{border:1.5px solid var(--border);border-radius:var(--radius);background:var(--surface);height:40px;color:var(--text-primary);transition:border-color var(--transition), box-shadow var(--transition);outline:none;flex:1;padding:0 14px;font-family:DM Sans,sans-serif;font-size:.9rem}form input[type=text]::placeholder{color:var(--text-muted)}form input[type=text]:focus{border-color:var(--accent);box-shadow:0 0 0 3px #c1440e1a}form button[type=submit]{background:var(--accent);color:#fff;border-radius:var(--radius);cursor:pointer;height:40px;transition:background var(--transition), transform var(--transition);white-space:nowrap;border:none;padding:0 16px;font-family:DM Sans,sans-serif;font-size:.85rem;font-weight:500}form button[type=submit]:hover{background:var(--accent-hover)}form button[type=submit]:active{transform:scale(.97)}ul,li{flex-direction:column;gap:4px;display:flex}li li{padding-left:var(--indent)}[data-depth]{background:var(--surface);border:1.5px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm);transition:box-shadow var(--transition), border-color var(--transition);align-items:center;gap:6px;min-height:46px;padding:10px 12px;display:flex}[data-depth]:hover{box-shadow:var(--shadow-md);border-color:#d4cec6}.drag-handle{width:20px;height:20px;color:var(--text-muted);opacity:0;transition:opacity var(--transition), color var(--transition);appearance:none;box-shadow:none;border:none;border-radius:0;outline:none;flex-shrink:0;justify-content:center;align-items:center;padding:0;font-size:1rem;display:flex;cursor:grab!important;background:0 0!important}[data-depth]:hover .drag-handle{opacity:1}.drag-handle:hover{color:var(--text-secondary);background:0 0}.drag-handle:active{cursor:grabbing!important}[data-depth] button[aria-label=Toggle\ subtasks]{width:22px;height:22px;color:var(--text-muted);cursor:pointer;transition:background var(--transition), color var(--transition);background:0 0;border:none;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;padding:0;font-size:.6rem;display:flex}[data-depth] button[aria-label=Toggle\ subtasks]:hover{background:var(--surface-alt);color:var(--text-primary)}[data-depth] input[type=checkbox]{appearance:none;border:1.5px solid var(--border);background:var(--surface);cursor:pointer;width:18px;height:18px;transition:background var(--transition), border-color var(--transition);border-radius:5px;flex-shrink:0;position:relative}[data-depth] input[type=checkbox]:hover{border-color:var(--accent)}[data-depth] input[type=checkbox]:checked{background:var(--accent);border-color:var(--accent)}[data-depth] input[type=checkbox]:checked:after{content:"";border:2px solid #fff;border-top:none;border-left:none;width:5px;height:9px;position:absolute;top:1.5px;left:4px;transform:rotate(45deg)}[data-depth] span{color:var(--text-primary);transition:color var(--transition);flex:1;font-size:.92rem;line-height:1.4}[data-depth] span[style*=line-through]{color:var(--text-muted)!important;opacity:1!important}[data-depth] button[aria-label=Edit\ task],[data-depth] button[aria-label=Delete\ task]{border:1.5px solid var(--border);cursor:pointer;height:28px;transition:all var(--transition);opacity:0;background:0 0;border-radius:6px;flex-shrink:0;padding:0 10px;font-family:DM Sans,sans-serif;font-size:.75rem;font-weight:500}[data-depth]:hover button[aria-label=Edit\ task],[data-depth]:hover button[aria-label=Delete\ task]{opacity:1}[data-depth] button[aria-label=Edit\ task]{color:var(--text-secondary)}[data-depth] button[aria-label=Edit\ task]:hover{background:var(--surface-alt);color:var(--text-primary);border-color:#c8c0b8}[data-depth] button[aria-label=Delete\ task]{color:var(--text-muted)}[data-depth] button[aria-label=Delete\ task]:hover{color:var(--accent);background:#fef2ee;border-color:#f5c484}h2+ul [data-depth]{background:var(--surface-alt);box-shadow:none;border-color:#0000}h2+ul [data-depth] span{color:var(--text-muted)}[data-depth][style*="opacity 0.4"]{border-style:dashed}li li form,li form{margin-top:2px;margin-bottom:0}li li form input[type=text],li form input[type=text]{background:var(--bg);border-color:#0000;height:36px;font-size:.85rem}li li form input[type=text]:focus,li form input[type=text]:focus{background:var(--surface);border-color:var(--accent)}li li form button[type=submit],li form button[type=submit]{background:var(--surface-alt);height:36px;color:var(--text-secondary);border:1.5px solid var(--border);padding:0 12px;font-size:.8rem}li li form button[type=submit]:hover,li form button[type=submit]:hover{background:var(--accent);color:#fff;border-color:var(--accent)}.inline-edit-input{border:1.5px solid var(--accent);background:var(--surface);height:28px;color:var(--text-primary);border-radius:6px;outline:none;flex:1;padding:0 10px;font-family:DM Sans,sans-serif;font-size:.92rem;box-shadow:0 0 0 3px #c1440e1a}[data-depth] button[aria-label=Save\ edit]{background:var(--accent);color:#fff;cursor:pointer;height:28px;transition:background var(--transition);border:none;border-radius:6px;flex-shrink:0;padding:0 10px;font-family:DM Sans,sans-serif;font-size:.75rem;font-weight:500}[data-depth] button[aria-label=Save\ edit]:hover{background:var(--accent-hover)}[data-depth] button[aria-label=Cancel\ edit]{border:1.5px solid var(--border);height:28px;color:var(--text-secondary);cursor:pointer;transition:all var(--transition);background:0 0;border-radius:6px;flex-shrink:0;padding:0 10px;font-family:DM Sans,sans-serif;font-size:.75rem;font-weight:500}[data-depth] button[aria-label=Cancel\ edit]:hover{background:var(--surface-alt);color:var(--text-primary)}[data-depth] button[aria-label="Drag to reorder"]{appearance:none;box-shadow:none;outline:none}form input[type=text]:hover{background:var(--surface);border-color:#c8c0b8}.header-row{justify-content:space-between;align-items:flex-start;margin-bottom:32px;display:flex}.header-row h1{margin-bottom:0}.theme-toggle{border:1.5px solid var(--border);background:var(--surface);width:38px;height:38px;color:var(--text-secondary);cursor:pointer;transition:all var(--transition);box-shadow:var(--shadow-sm);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:1rem;display:flex}.theme-toggle:hover{border-color:var(--accent);color:var(--accent);box-shadow:var(--shadow-md)}.empty-state{color:var(--text-muted);text-align:center;letter-spacing:.01em;padding:48px 0;font-size:.9rem}.task-count{color:var(--text-muted);letter-spacing:.01em;margin-top:4px;margin-bottom:12px;font-size:.8rem}@keyframes slideIn{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeOut{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-6px)}}li{animation:.2s forwards slideIn}[data-depth] input[type=checkbox]:checked~span{transition:color .3s,opacity .3s}.history-bar{background:var(--surface);border-top:1.5px solid var(--border);z-index:100;justify-content:center;gap:8px;padding:12px 16px;display:flex;bottom:0;left:0;right:0;box-shadow:0 -4px 12px #0000000f}.history-btn{border:1.5px solid var(--border);border-radius:var(--radius);height:34px;color:var(--text-secondary);cursor:pointer;transition:all var(--transition);background:0 0;padding:0 16px;font-family:DM Sans,sans-serif;font-size:.8rem;font-weight:500}.history-btn:hover:not(:disabled){background:var(--surface-alt);color:var(--text-primary);border-color:#c8c0b8}.history-btn:disabled{opacity:.35;cursor:not-allowed}.drag-overlay{background:var(--surface);border:1.5px solid var(--accent);border-radius:var(--radius);box-shadow:var(--shadow-md);color:var(--text-primary);cursor:grabbing;opacity:.95;padding:10px 14px;font-family:DM Sans,sans-serif;font-size:.92rem}.app-header{justify-content:space-between;align-items:center;width:100%;max-width:680px;margin:0 auto;padding:24px 16px 16px;display:flex}.app-title{letter-spacing:-.02em;color:var(--text-primary);cursor:default;margin-bottom:0;font-family:Instrument Serif,serif;font-size:clamp(2rem,6vw,2.8rem);font-weight:400}.app-title:hover{opacity:1}.list-container{background:var(--surface);border:1.5px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm);transition:box-shadow var(--transition), border-color var(--transition);margin-bottom:16px;padding:20px 16px}.list-container:hover{box-shadow:var(--shadow-md);border-color:#d4cec6}.list-container>form{margin-top:8px}.list-header{cursor:pointer;justify-content:space-between;align-items:center;gap:8px;margin-bottom:12px;display:flex}.list-title{color:var(--text-primary);cursor:pointer;text-transform:none;letter-spacing:normal;flex:1;margin:0;font-family:Instrument Serif,serif;font-size:1.6rem;font-weight:400;line-height:1}.list-title:hover{opacity:.7}.list-delete-btn{border:1.5px solid var(--border);width:28px;height:28px;color:var(--text-muted);cursor:pointer;transition:all var(--transition);background:0 0;border-radius:50%;flex-shrink:0;justify-content:center;align-self:center;align-items:center;font-size:.7rem;display:flex}.list-delete-btn:hover{color:var(--accent);background:#fef2ee;border-color:#f5c4b4}.completed-label{letter-spacing:.12em;text-transform:uppercase;color:var(--text-muted);margin:48px 0 12px;font-size:.7rem;font-weight:600}.history-bar-inline{border-top:1.5px solid var(--border);gap:8px;margin-top:16px;padding-top:12px;display:flex}.add-list-form{gap:8px;margin-bottom:16px;display:flex}.add-list-form input[type=text]{border:1.5px solid var(--border);border-radius:var(--radius);background:var(--surface);height:40px;color:var(--text-primary);transition:border-color var(--transition), box-shadow var(--transition);outline:none;flex:1;padding:0 14px;font-family:DM Sans,sans-serif;font-size:.9rem}.add-list-form input[type=text]:focus{border-color:var(--accent);box-shadow:0 0 0 3px #c1440e1a}.add-list-form button[type=submit]{background:var(--accent);color:#fff;border-radius:var(--radius);cursor:pointer;height:40px;transition:background var(--transition);white-space:nowrap;border:none;padding:0 16px;font-family:DM Sans,sans-serif;font-size:.85rem;font-weight:500}.add-list-form button[type=submit]:hover{background:var(--accent-hover)}.list-fav-btn{border:1.5px solid var(--border);width:28px;height:28px;color:var(--text-muted);cursor:pointer;transition:all var(--transition);opacity:.1;background:0 0;border-radius:50%;flex-shrink:0;justify-content:center;align-self:center;align-items:center;font-size:.75rem;display:flex}.list-container:hover .list-fav-btn{opacity:1}.list-fav-btn.pinned{opacity:1;border-color:var(--accent);color:var(--accent)}.list-fav-btn:hover{background:var(--surface-alt);border-color:#c8c0b8}.section-headings{letter-spacing:.12em;text-transform:uppercase;color:var(--text-muted);margin-bottom:12px;font-family:DM Sans,sans-serif;font-size:.7rem;font-weight:600}.list-section{margin-bottom:32px}.list-drag-handle{width:20px;height:20px;color:var(--text-muted);cursor:grab;opacity:0;transition:opacity var(--transition), color var(--transition);appearance:none;box-shadow:none;border:none;outline:none;flex-shrink:0;justify-content:center;align-items:center;padding:0;font-size:1rem;display:flex;background:0 0!important}.list-container:hover .list-drag-handle{opacity:1}.list-drag-handle:hover{color:var(--text-secondary)}.list-drag-handle:active{cursor:grabbing}@media (width>=520px){.app-header{padding:32px 24px 16px}}@media (width>=720px){body{padding:48px 32px 96px}main{flex-direction:column;gap:0;display:flex}.app-header{padding:48px 32px 16px}.add-list-form{max-width:650px;margin:0 auto 16px}main>.empty-state{column-span:all}.lists-column{column-count:2;column-gap:16px}.list-container{break-inside:avoid;margin-bottom:16px}.add-list-form{column-span:all;max-width:650px;margin:0 auto 16px}}@media (width>=1100px){.lists-column{column-count:3}}@media (width>=1400px){.lists-column{column-count:4}}
