*,:before,:after{box-sizing:border-box;-webkit-tap-highlight-color:transparent;margin:0;padding:0}:root{--bg:#f5f4f0;--bg-card:#fff;--text-primary:#1a1a1a;--text-secondary:#6b6b65;--text-muted:#a0a09a;--border:#1a1a1a1a;--border-strong:#1a1a1a2e;--accent:#1a1a1a;--accent-text:#fff;--done-line:#b0afa9;--danger:#c0392b;--shadow-lift:0 8px 32px #0000001f, 0 2px 8px #00000014;--font-display:"Contrail One", Georgia, serif;--font-body:"DM Sans", system-ui, sans-serif;--radius:14px;--radius-sm:8px;--transition:.15s ease}@media (prefers-color-scheme:dark){:root{--bg:#141413;--bg-card:#1f1f1d;--text-primary:#f0ede6;--text-secondary:#8a8a82;--text-muted:#5a5a54;--border:#f0ede614;--border-strong:#f0ede624;--accent:#f0ede6;--accent-text:#141413;--done-line:#4a4a46;--shadow-lift:0 8px 32px #0006, 0 2px 8px #0000004d}}html,body,#root{height:100%}body{background:var(--bg);color:var(--text-primary);font-family:var(--font-body);-webkit-font-smoothing:antialiased;font-size:16px;line-height:1.5}button{font-family:var(--font-body);cursor:pointer;color:inherit;background:0 0;border:none}input{font-family:var(--font-body)}.lists-container{flex-direction:column;gap:6px;padding:.75rem 1.5rem 0;display:flex}.list-item{background:var(--bg-card);border-radius:var(--radius-sm);border:1px solid var(--border);transition:border-color var(--transition), opacity var(--transition), box-shadow .2s ease;cursor:pointer;-webkit-user-select:none;user-select:none;touch-action:manipulation;align-items:center;gap:12px;min-height:60px;padding:18px 16px;display:flex}.list-item:hover{border-color:var(--border-strong)}.list-item.dragging{opacity:0}.list-item.drag-overlay{box-shadow:var(--shadow-lift);border-color:var(--border-strong);touch-action:none;cursor:default}.list-info{flex-direction:column;flex:1;gap:4px;display:flex}.list-name{color:var(--text-primary);flex:1;font-size:16px;font-weight:500;line-height:1.4}.list-count{color:var(--text-muted);margin-left:.25rem;font-weight:400}.list-delete-btn{width:28px;height:28px;color:var(--text-muted);opacity:0;transition:color var(--transition);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex}.list-item:hover .list-delete-btn,.list-item:focus-within .list-delete-btn{opacity:1}.list-delete-btn:hover{color:var(--danger)}@media (hover:none){.list-delete-btn{opacity:.5}}.app{max-width:560px;min-height:100dvh;margin:0 auto;padding:0 0 4rem}.app-header{background:var(--bg);z-index:10;border-bottom:1px solid var(--border);padding:3rem 1.5rem 1rem;position:sticky;top:0}.header-top{justify-content:space-between;align-items:baseline;gap:.75rem;margin-bottom:.5rem;display:flex}.back-btn{width:32px;height:32px;color:var(--text-secondary);transition:background var(--transition), color var(--transition);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;margin-left:-4px;display:flex}.back-btn:hover{background:var(--bg-card);color:var(--text-primary)}.app-title{font-family:var(--font-display);letter-spacing:-.02em;color:var(--text-primary);flex:1;font-size:2.4rem;font-style:italic;font-weight:400}.app-title.editable{cursor:pointer;transition:background var(--transition);border-radius:8px;margin:-4px -8px;padding:4px 8px}.app-title.editable:hover{background:var(--bg-card)}.title-input{font-family:var(--font-display);letter-spacing:-.02em;color:var(--text-primary);background:var(--bg-card);border:2px solid var(--border-strong);border-radius:8px;outline:none;flex:1;padding:4px 8px;font-size:2.4rem;font-style:italic;font-weight:400}.title-input:focus{border-color:var(--accent)}.task-count{color:var(--text-muted);align-items:center;gap:1rem;min-height:20px;font-size:13px;display:flex}.clear-done-btn{color:var(--danger);opacity:.7;transition:opacity var(--transition);padding:0;font-size:13px}.clear-done-btn:hover{opacity:1}.reorder-btn{color:var(--text-secondary);border:1px solid var(--border-strong);transition:background var(--transition), color var(--transition), border-color var(--transition);letter-spacing:.01em;border-radius:100px;padding:6px 14px;font-size:13px;font-weight:500}.reorder-btn:hover{background:var(--bg-card)}.reorder-btn.active{background:var(--accent);color:var(--accent-text);border-color:var(--accent)}.add-form{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);transition:border-color var(--transition);align-items:center;gap:0;margin:1rem 1.5rem 0;display:flex;overflow:hidden}.add-form:focus-within{border-color:var(--border-strong)}.add-input{color:var(--text-primary);background:0 0;border:none;outline:none;flex:1;padding:14px 16px;font-size:15px}.add-input::placeholder{color:var(--text-muted)}.add-submit{height:48px;color:var(--text-muted);transition:color var(--transition);flex-shrink:0;align-items:center;padding:0 16px;display:flex}.add-submit:not(:disabled):hover{color:var(--text-primary)}.add-submit:disabled{cursor:default;opacity:.3}.reorder-hint{color:var(--text-muted);letter-spacing:.02em;padding:.75rem 1.5rem 0;font-size:12px}.todo-list{flex-direction:column;gap:6px;padding:.75rem 1.5rem 0;display:flex}.todo-item{background:var(--bg-card);border-radius:var(--radius-sm);border:1px solid var(--border);transition:border-color var(--transition), opacity var(--transition), box-shadow .2s ease;-webkit-user-select:none;user-select:none;touch-action:manipulation;align-items:center;gap:12px;min-height:52px;padding:13px 14px;display:flex}.todo-item.dragging{opacity:0}.todo-item.drag-overlay{box-shadow:var(--shadow-lift);border-color:var(--border-strong);touch-action:none}.check-btn{width:28px;height:28px;color:var(--text-primary);transition:transform var(--transition);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex}.check-btn:active{transform:scale(.88)}.drag-handle,.drag-handle-overlay{width:28px;height:28px;color:var(--text-muted);cursor:grab;touch-action:none;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.drag-handle:active{cursor:grabbing}.todo-text{color:var(--text-primary);transition:color var(--transition);flex:1;font-size:15px;line-height:1.4}.todo-item.done .todo-text{color:var(--text-muted);text-decoration:line-through;-webkit-text-decoration-color:var(--done-line);text-decoration-color:var(--done-line)}.delete-btn{width:28px;height:28px;color:var(--text-muted);opacity:0;transition:color var(--transition);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex}.todo-item:hover .delete-btn,.todo-item:focus-within .delete-btn{opacity:1}.delete-btn:hover{color:var(--danger)}@media (hover:none){.delete-btn{opacity:.5}}.completed-section{margin-top:1.5rem;padding:0 1.5rem}.completed-header{width:100%;color:var(--text-secondary);letter-spacing:.01em;justify-content:space-between;align-items:center;padding:10px 0;font-size:13px;font-weight:500;display:flex}.completed-header:hover{color:var(--text-primary)}.completed-title{align-items:center;gap:6px;display:flex}.completed-chevron{color:var(--text-muted);transition:transform var(--transition);justify-content:center;align-items:center;display:flex}.completed-chevron.expanded{transform:rotate(180deg)}.completed-list{margin-top:0;padding:0}.empty-state{text-align:center;color:var(--text-muted);padding:4rem 1.5rem;font-size:15px}
