:root{color-scheme:light dark;--bg: #0f1218;--surface: #171b24;--card: #1c2230;--border: #2a3347;--text: #e8ecf4;--muted: #8b95a8;--accent: #5b8cff;--accent-dim: #3d62b3;--danger: #f07178;--radius: 10px;font-family:Segoe UI,system-ui,sans-serif;line-height:1.45}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:radial-gradient(1200px 600px at 10% -10%,#1a2740,var(--bg));color:var(--text)}#root{min-height:100vh}h1,h2{margin:0 0 .35rem;font-weight:650;letter-spacing:-.02em}button,input,select,textarea{font:inherit;color:inherit}.muted{color:var(--muted)}.sm{font-size:.875rem}.stack{display:flex;flex-direction:column;gap:.85rem}.row{display:flex;align-items:center}.row.gap{gap:.5rem;justify-content:flex-end}.field{display:flex;flex-direction:column;gap:.35rem;font-size:.9rem}.field input,.field textarea,.field select{padding:.55rem .65rem;border-radius:8px;border:1px solid var(--border);background:var(--surface)}.card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:1.1rem 1.25rem;box-shadow:0 12px 40px #00000040}.btn{border-radius:8px;border:1px solid var(--border);padding:.45rem .85rem;background:var(--surface);cursor:pointer}.btn:hover{filter:brightness(1.08)}.btn.primary{background:linear-gradient(180deg,var(--accent),var(--accent-dim));border-color:transparent;color:#fff;font-weight:600}.btn.ghost{background:transparent}.btn.danger{color:var(--danger);border-color:#4a3034}.btn.sm{padding:.25rem .5rem;font-size:.85rem}.error-text,.error-banner{color:#ffb4b8;margin:0}.error-banner{padding:.65rem .85rem;border-radius:8px;background:#2a181c;border:1px solid #4a3034}.auth-shell,.page-shell{max-width:720px;margin:0 auto;padding:2rem 1.25rem 3rem}.auth-card{max-width:400px;margin:4rem auto}.top-bar{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:1.25rem}.filter-row{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem .75rem}.filter-label{font-size:.95rem}.setting-toggle{display:flex;align-items:center;gap:.5rem;margin-top:.75rem;font-size:.95rem;cursor:pointer;-webkit-user-select:none;user-select:none}.setting-toggle input{width:1rem;height:1rem;accent-color:var(--accent)}.todo-subtree{display:flex;flex-direction:column;gap:.35rem;border-left:1px solid var(--border);margin-left:.35rem;margin-top:.25rem;padding-left:.35rem}.filter-number{width:4.5rem;padding:.4rem .5rem;border-radius:8px;border:1px solid var(--border);background:var(--surface)}select{padding:.4rem .5rem;border-radius:8px;border:1px solid var(--border);background:var(--surface)}.add-row{display:flex;gap:.6rem;margin-bottom:1rem}.add-row .grow{flex:1;min-width:0;padding:.55rem .65rem;border-radius:8px;border:1px solid var(--border);background:var(--surface)}.todo-list{display:flex;flex-direction:column;gap:.65rem}.settings-panel{margin-top:1.25rem}.empty-hint{text-align:center;padding:2rem 1rem}.todo-item{border:1px solid var(--border);border-radius:var(--radius);background:var(--card);overflow:hidden}.todo-item-row{display:flex;align-items:center;gap:.45rem;padding:.55rem .65rem}.drag-handle{cursor:grab;border:none;background:transparent;color:var(--muted);padding:.2rem .35rem;font-size:1rem;line-height:1;touch-action:none}.drag-handle:active{cursor:grabbing}.drag-placeholder{display:inline-block;width:1.75rem;flex-shrink:0}.add-subtask-row{display:flex;gap:.5rem;margin-bottom:.75rem;align-items:center}.add-subtask-row .grow{flex:1;min-width:0;padding:.45rem .55rem;border-radius:8px;border:1px solid var(--border);background:var(--surface)}.subtask-tree{display:flex;flex-direction:column;gap:.5rem}.todo-item-nested{border-radius:var(--radius)}.error-text.sm{font-size:.85rem}.todo-title-btn{flex:1;min-width:0;display:flex;align-items:center;gap:.45rem;border:none;background:transparent;text-align:left;padding:.25rem .35rem;border-radius:6px;cursor:pointer}.todo-title-btn:hover{background:#ffffff0a}.chevron{width:.45rem;height:.45rem;border-right:2px solid var(--muted);border-bottom:2px solid var(--muted);transform:rotate(-45deg);transition:transform .15s ease;flex-shrink:0}.chevron.open{transform:rotate(45deg)}.name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.name.done{text-decoration:line-through;color:var(--muted)}.priority-pill{font-size:.72rem;padding:.1rem .35rem;border-radius:999px;background:#2a3347;color:var(--muted);flex-shrink:0}.todo-actions{display:flex;gap:.25rem;flex-shrink:0}.todo-item-detail{border-top:1px solid var(--border);padding:.75rem .85rem .85rem;background:#0000001f}.edit-inline{margin-bottom:1rem}.edit-inline-row{display:flex;flex-wrap:wrap;gap:.75rem}.edit-inline-row .grow{flex:1;min-width:140px}.edit-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.5rem}.label{font-size:.75rem;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin-bottom:.35rem}.notes-body{margin:0;white-space:pre-wrap;font-size:.9rem;font-family:ui-monospace,monospace}.subtask-list{list-style:none;margin:0;padding:0}.subtask-row{display:flex;align-items:center;gap:.45rem;padding:.25rem 0;font-size:.9rem}.subtask-row .done{text-decoration:line-through;color:var(--muted)}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000008c;display:flex;align-items:center;justify-content:center;padding:1rem;z-index:50}.modal{width:min(520px,100%);max-height:90vh;overflow:auto}
