*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--bg:#0a0a10;--surface:#141420;--surface2:#1c1c2e;--border:#2a2a3e;--text:#c0c0d0;--text-dim:#6a6a80;--text-hi:#ececf4;--accent:#a78bfa;--accent2:#c4b5fd;--glow:#a78bfa40;--urgent:#f87171;--high:#fb923c;--normal:#60a5fa;--low:#818cf8;--radius:12px;--radius-sm:8px}html{font-size:16px}body{background:var(--bg);color:var(--text);-webkit-tap-highlight-color:transparent;min-height:100dvh;font-family:system-ui,-apple-system,Segoe UI,sans-serif}#app{max-width:640px;margin:0 auto;padding:16px 16px 80px}.topbar{background:var(--bg);z-index:10;justify-content:space-between;align-items:center;padding:8px 0 16px;display:flex;position:sticky;top:0}.topbar h1{color:var(--text-hi);letter-spacing:-.4px;font-size:22px;font-weight:700}.btn-add{border:2px solid var(--accent);background:var(--surface2);width:44px;height:44px;color:var(--accent);cursor:pointer;border-radius:50%;justify-content:center;align-items:center;font-size:24px;font-weight:300;line-height:1;transition:background .15s,box-shadow .15s,transform .1s;display:flex}.btn-add:active{background:var(--accent);color:var(--bg);box-shadow:0 0 20px var(--glow);transform:scale(.94)}.filters{-webkit-overflow-scrolling:touch;gap:6px;margin-bottom:16px;padding-bottom:4px;display:flex;overflow-x:auto}.filters select{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);min-width:0;color:var(--text-dim);appearance:none;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath d='M3 5l3 3 3-3' stroke='%236a6a80' fill='none' stroke-width='1.5'/%3E%3C/svg%3E");background-position:right 10px center;background-repeat:no-repeat;flex:1;padding:10px 28px 10px 12px;font-size:14px}.task-list{flex-direction:column;gap:10px;display:flex}.task-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);border-left:4px solid var(--border);flex-direction:column;gap:10px;padding:14px;transition:background .15s;display:flex}.task-card:active{background:var(--surface2)}.task-card.priority-urgent{border-left-color:var(--urgent)}.task-card.priority-high{border-left-color:var(--high)}.task-card.priority-normal{border-left-color:var(--normal)}.task-card.priority-low{border-left-color:var(--low)}.task-body h3{color:var(--text-hi);word-break:break-word;font-size:16px;font-weight:600;line-height:1.3}.task-body h3.completed{color:var(--text-dim);text-decoration:line-through}.task-notes{color:var(--text-dim);margin-top:4px;font-size:13px;line-height:1.45}.task-meta{flex-wrap:wrap;gap:5px;margin-top:8px;display:flex}.badge{text-transform:uppercase;letter-spacing:.2px;border-radius:6px;padding:3px 9px;font-size:11px;font-weight:600;display:inline-block}.status-inbox{color:#94a3b8;background:#64748b33}.status-todo{color:var(--normal);background:#60a5fa33}.status-in_progress{color:#facc15;background:#facc1533}.status-waiting{color:#c084fc;background:#c084fc33}.status-complete{color:#4ade80;background:#4ade8033}.status-archived{color:#64748b;background:#64748b26}.priority-urgent{color:var(--urgent);background:#f8717133}.priority-high{color:var(--high);background:#fb923c33}.priority-normal{color:var(--normal);background:#60a5fa33}.priority-low{color:var(--low);background:#818cf833}.category{color:var(--accent2);background:#a78bfa26}.task-due{color:var(--text-dim);font-size:11px}.task-actions{justify-content:flex-end;align-items:center;gap:6px;display:flex}.sel-sm{border:1px solid var(--border);background:var(--bg);color:var(--text-dim);appearance:none;cursor:pointer;border-radius:6px;min-width:70px;padding:6px 8px;font-size:12px}.btn-del{width:36px;height:36px;color:var(--text-dim);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:8px;justify-content:center;align-items:center;font-size:16px;transition:all .15s;display:flex}.btn-del:active{border-color:var(--urgent);color:var(--urgent)}.empty-state,.loading,.error-state{text-align:center;color:var(--text-dim);padding:48px 16px}.empty-icon{margin-bottom:10px;font-size:40px;display:block}.error-state{color:var(--urgent)}.modal-overlay{-webkit-backdrop-filter:blur(4px);z-index:100;background:#000000b3;justify-content:center;align-items:flex-end;padding:16px;display:flex;position:fixed;inset:0}.modal-overlay.hidden{display:none}.modal{background:var(--surface2);border:1px solid var(--border);border-radius:16px 16px 0 0;width:100%;max-width:500px;padding:24px 20px 32px;animation:.2s ease-out slideUp}@keyframes slideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}.input-title{border:2px solid var(--border);border-radius:var(--radius);background:var(--surface);width:100%;color:var(--text-hi);outline:none;padding:16px;font-size:18px;font-weight:500;transition:border-color .15s}.input-title:focus{border-color:var(--accent)}.input-title::placeholder{color:var(--text-dim)}.detail-row{gap:8px;margin-bottom:12px;display:flex}.detail-row select{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);color:var(--text);appearance:none;cursor:pointer;flex:1;padding:12px 10px;font-size:14px}.detail-row select:focus{border-color:var(--accent);outline:none}.input-notes{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);width:100%;color:var(--text);resize:none;outline:none;margin-bottom:16px;padding:12px;font-family:inherit;font-size:14px}.input-notes:focus{border-color:var(--accent)}.input-notes::placeholder{color:var(--text-dim)}.modal-actions{justify-content:flex-end;gap:10px;display:flex}.modal-step.hidden{display:none}.btn-next,.btn-save{border-radius:var(--radius-sm);background:var(--accent);color:var(--bg);cursor:pointer;-webkit-appearance:none;border:none;flex:1;padding:14px;font-size:16px;font-weight:600;transition:background .15s}.btn-next:active,.btn-save:active{background:var(--accent2)}.btn-cancel,.btn-back{border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-dim);cursor:pointer;background:0 0;padding:14px 20px;font-size:14px;transition:border-color .15s}.btn-cancel:active,.btn-back:active{border-color:var(--accent)}@media (width>=640px){.modal{border-radius:16px;margin-bottom:40px}.task-card{flex-direction:row;justify-content:space-between;align-items:flex-start;gap:12px}.task-actions{flex-shrink:0}}
