*{margin:0;padding:0;box-sizing:border-box}:root{--bg: #fafafa;--surface: #ffffff;--text-primary: #1a1a2e;--text-secondary: #6b7280;--text-muted: #9ca3af;--accent: #6366f1;--accent-light: #818cf8;--accent-glow: rgba(99, 102, 241, .15);--success: #10b981;--success-glow: rgba(16, 185, 129, .15);--danger: #ef4444;--border: #e5e7eb;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .04);--shadow-md: 0 4px 12px rgba(0, 0, 0, .06);--shadow-lg: 0 8px 30px rgba(0, 0, 0, .08);--radius: 16px;--radius-sm: 12px}body{font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;background:var(--bg);color:var(--text-primary);min-height:100vh;line-height:1.6;-webkit-font-smoothing:antialiased}.app{min-height:100vh;padding:40px 20px 60px;background:radial-gradient(ellipse at top,rgba(99,102,241,.05) 0%,transparent 50%),var(--bg)}.container{max-width:560px;margin:0 auto}.header{text-align:center;margin-bottom:48px;animation:fadeIn .6s ease-out}.title{font-size:clamp(2.5rem,8vw,3.5rem);font-weight:600;letter-spacing:-.03em;background:linear-gradient(135deg,var(--text-primary) 0%,var(--accent) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-bottom:8px}.subtitle{color:var(--text-secondary);font-size:1.1rem;font-weight:400}.input-container{display:flex;gap:12px;margin-bottom:32px;animation:slideUp .5s ease-out .1s both}.todo-input{flex:1;padding:18px 24px;font-size:1rem;font-family:inherit;border:2px solid var(--border);border-radius:var(--radius);background:var(--surface);color:var(--text-primary);transition:all .25s ease;box-shadow:var(--shadow-sm)}.todo-input:focus{outline:none;border-color:var(--accent);box-shadow:var(--shadow-md),0 0 0 4px var(--accent-glow)}.todo-input::placeholder{color:var(--text-muted)}.add-btn{width:56px;height:56px;border:none;border-radius:var(--radius);background:linear-gradient(135deg,var(--accent) 0%,var(--accent-light) 100%);color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .25s ease;box-shadow:var(--shadow-md),0 4px 16px var(--accent-glow);flex-shrink:0}.add-btn:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg),0 6px 24px var(--accent-glow)}.add-btn:active{transform:translateY(0)}.filters{display:flex;gap:8px;margin-bottom:24px;padding:6px;background:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow-sm);animation:slideUp .5s ease-out .2s both}.filter-btn{flex:1;padding:12px 16px;border:none;border-radius:var(--radius-sm);background:transparent;color:var(--text-secondary);font-size:.875rem;font-weight:500;font-family:inherit;cursor:pointer;transition:all .25s ease}.filter-btn:hover{color:var(--text-primary);background:var(--bg)}.filter-btn.active{background:var(--accent);color:#fff;box-shadow:0 2px 8px var(--accent-glow)}.todo-list{list-style:none;display:flex;flex-direction:column;gap:12px}.todo-item{display:flex;align-items:center;gap:16px;padding:20px 24px;background:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow-sm);transition:all .3s ease;animation:slideUp .4s ease-out both}.todo-item:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.checkbox{width:28px;height:28px;border:2px solid var(--border);border-radius:50%;background:transparent;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .3s ease;flex-shrink:0;padding:0}.checkbox:hover{border-color:var(--accent);background:var(--accent-glow)}.check-icon{width:14px;height:14px;opacity:0;transform:scale(0);transition:all .3s cubic-bezier(.34,1.56,.64,1)}.todo-item.completed .checkbox{background:linear-gradient(135deg,var(--success) 0%,#34d399 100%);border-color:var(--success);box-shadow:0 2px 8px var(--success-glow)}.todo-item.completed .check-icon{opacity:1;transform:scale(1);color:#fff}.todo-text{flex:1;font-size:1rem;color:var(--text-primary);transition:all .3s ease;word-break:break-word}.todo-item.completed .todo-text{color:var(--text-muted);text-decoration:line-through;text-decoration-color:var(--text-muted)}.delete-btn{width:36px;height:36px;border:none;border-radius:10px;background:transparent;color:var(--text-muted);cursor:pointer;display:flex;align-items:center;justify-content:center;opacity:0;transition:all .25s ease;flex-shrink:0}.todo-item:hover .delete-btn{opacity:1}.delete-btn:hover{background:#ef44441a;color:var(--danger)}.clear-btn{display:block;width:100%;margin-top:24px;padding:16px;border:2px dashed var(--border);border-radius:var(--radius);background:transparent;color:var(--text-secondary);font-size:.9rem;font-weight:500;font-family:inherit;cursor:pointer;transition:all .25s ease}.clear-btn:hover{border-color:var(--danger);color:var(--danger);background:#ef44440d}.empty-state{text-align:center;padding:64px 24px;animation:fadeIn .6s ease-out .3s both}.empty-icon{color:var(--accent);margin-bottom:24px;opacity:.6}.empty-text{font-size:1.25rem;font-weight:500;color:var(--text-primary);margin-bottom:8px}.empty-subtext{color:var(--text-muted);font-size:.95rem}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 600px){.app{padding:24px 16px 40px}.header{margin-bottom:32px}.input-container{margin-bottom:24px}.todo-input{padding:16px 20px}.add-btn{width:52px;height:52px}.filters{gap:4px;padding:4px}.filter-btn{padding:10px 12px;font-size:.8rem}.todo-item{padding:16px 20px;gap:14px}.delete-btn{opacity:.7}.empty-state{padding:48px 20px}}@media (hover: none){.todo-item:hover{transform:none;box-shadow:var(--shadow-sm)}.delete-btn{opacity:.6}.add-btn:hover{transform:none}}@media (prefers-reduced-motion: reduce){*{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
