@import "https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap";:root{--bg:#0f1117;--surface:#1a1d27;--surface-hover:#22263a;--border:#2a2e3f;--text-primary:#e4e6ed;--text-secondary:#8b8fa3;--accent:#6366f1;--accent-hover:#818cf8;--accent-glow:#6366f133;--danger:#ef4444;--danger-hover:#f87171;--success:#22c55e;--radius:12px;--radius-sm:8px;--transition:.2s ease}*{box-sizing:border-box;margin:0;padding:0}body{background:var(--bg);color:var(--text-primary);-webkit-font-smoothing:antialiased;min-height:100vh;font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif}#root{justify-content:center;min-height:100vh;display:flex}.app{width:100%;max-width:640px;padding:48px 20px 40px}.app-header{text-align:center;margin-bottom:36px}.app-header h1{background:linear-gradient(135deg, var(--accent), #a78bfa);color:#0000;letter-spacing:-.02em;-webkit-background-clip:text;background-clip:text;font-size:2rem;font-weight:700}.subtitle{color:var(--text-secondary);margin-top:4px;font-size:.875rem}.app-main{flex-direction:column;gap:20px;display:flex}.task-form-row{gap:10px;display:flex}.task-form-row input{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);color:var(--text-primary);transition:border-color var(--transition), box-shadow var(--transition);outline:none;flex:1;padding:12px 16px;font-family:inherit;font-size:.938rem}.task-form-row input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-glow)}.task-form-row input::placeholder{color:var(--text-secondary)}.task-form-row button{background:var(--accent);color:#fff;border-radius:var(--radius);cursor:pointer;transition:background var(--transition), transform var(--transition);white-space:nowrap;border:none;padding:12px 24px;font-family:inherit;font-size:.875rem;font-weight:600}.task-form-row button:hover:not(:disabled){background:var(--accent-hover);transform:translateY(-1px)}.task-form-row button:disabled{opacity:.5;cursor:not-allowed}.form-error{color:var(--danger);margin-top:6px;font-size:.813rem}.task-filter{background:var(--surface);border-radius:var(--radius);gap:8px;padding:4px;display:flex}.task-filter button{border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;transition:all var(--transition);background:0 0;border:none;flex:1;padding:8px 12px;font-family:inherit;font-size:.813rem;font-weight:500}.task-filter button:hover{color:var(--text-primary);background:var(--surface-hover)}.task-filter button.active{color:#fff;background:var(--accent)}.task-list{flex-direction:column;gap:8px;list-style:none;display:flex}.empty-state{text-align:center;color:var(--text-secondary);padding:40px 0;font-size:.938rem}.task-item{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);transition:all var(--transition);align-items:center;gap:12px;padding:12px 16px;display:flex}.task-item:hover{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent-glow)}.task-item.busy{opacity:.6;pointer-events:none}.task-checkbox{width:20px;height:20px;accent-color:var(--accent);cursor:pointer;flex-shrink:0}.task-title{cursor:default;word-break:break-word;transition:color var(--transition), text-decoration var(--transition);flex:1;font-size:.938rem}.task-item.completed .task-title{color:var(--text-secondary);text-decoration:line-through}.task-edit-input{background:var(--bg);border:1px solid var(--accent);border-radius:var(--radius-sm);color:var(--text-primary);box-shadow:0 0 0 3px var(--accent-glow);outline:none;flex:1;padding:6px 10px;font-family:inherit;font-size:.938rem}.task-actions{opacity:0;transition:opacity var(--transition);gap:4px;display:flex}.task-item:hover .task-actions{opacity:1}.btn-edit,.btn-delete{border:1px solid var(--border);border-radius:var(--radius-sm);width:32px;height:32px;color:var(--text-secondary);cursor:pointer;transition:all var(--transition);background:0 0;justify-content:center;align-items:center;font-size:.875rem;display:flex}.btn-edit:hover{color:var(--accent);border-color:var(--accent);background:var(--accent-glow)}.btn-delete:hover{color:var(--danger);border-color:var(--danger);background:#ef44441a}.loading{color:var(--text-secondary);flex-direction:column;align-items:center;gap:12px;padding:40px 0;font-size:.875rem;display:flex}.spinner{border:3px solid var(--border);border-top-color:var(--accent);border-radius:50%;width:32px;height:32px;animation:.7s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.error-banner{border-radius:var(--radius);color:var(--danger-hover);background:#ef44441a;border:1px solid #ef44444d;justify-content:space-between;align-items:center;padding:12px 16px;font-size:.875rem;display:flex}.error-banner button{background:var(--danger);color:#fff;border-radius:var(--radius-sm);cursor:pointer;transition:background var(--transition);border:none;padding:6px 14px;font-family:inherit;font-size:.813rem;font-weight:600}.error-banner button:hover{background:var(--danger-hover)}.app-footer{text-align:center;color:var(--text-secondary);margin-top:32px;font-size:.75rem}@media (width<=480px){.app{padding:24px 16px 32px}.task-form-row{flex-direction:column}.task-form-row button{width:100%}.task-actions{opacity:1}}
