@import"https://fonts.googleapis.com/css2?family=DM+Mono:ital,wght@0,300;0,400;0,500;1,400&family=DM+Sans:wght@300;400;500;600&display=swap";:root{--bg: #0d0d0f;--surface: #17171a;--surface2: #1f1f24;--border: rgba(255, 255, 255, .07);--border-focus: rgba(255, 255, 255, .22);--accent: #b5f542;--accent-dim: rgba(181, 245, 66, .12);--text: #f0f0f0;--text-secondary: rgba(240, 240, 240, .42);--text-muted: rgba(240, 240, 240, .22);--done-text: rgba(240, 240, 240, .3);--danger: #ff4d6d;--danger-dim: rgba(255, 77, 109, .1);--radius: 10px;--radius-sm: 6px;--mono: "DM Mono", monospace;--sans: "DM Sans", sans-serif;--transition: .18s ease}[data-theme=light]{--bg: #f5f5f0;--surface: #ffffff;--surface2: #ebebeb;--border: rgba(0, 0, 0, .09);--border-focus: rgba(0, 0, 0, .3);--accent: #1a6b00;--accent-dim: rgba(26, 107, 0, .08);--text: #0d0d0f;--text-secondary: rgba(13, 13, 15, .45);--text-muted: rgba(13, 13, 15, .22);--done-text: rgba(13, 13, 15, .3);--danger: #d42b4a;--danger-dim: rgba(212, 43, 74, .07)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%;min-height:100svh}body{font-family:var(--sans);background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;transition:background var(--transition),color var(--transition)}.app{min-height:100svh;display:flex;flex-direction:column;align-items:center;padding:60px 16px 80px;position:relative}.app:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;background-image:linear-gradient(var(--border) 1px,transparent 1px),linear-gradient(90deg,var(--border) 1px,transparent 1px);background-size:40px 40px;pointer-events:none;z-index:0}.card{position:relative;z-index:1;width:100%;max-width:560px}.header{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:36px}.logo{font-family:var(--mono);font-size:11px;font-weight:500;letter-spacing:.18em;text-transform:uppercase;color:var(--text-muted);margin-bottom:6px}.title{font-family:var(--mono);font-size:32px;font-weight:300;letter-spacing:-.03em;color:var(--text);line-height:1}.title span{color:var(--accent)}.theme-btn{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:50%;border:1px solid var(--border);background:var(--surface);color:var(--text-secondary);cursor:pointer;transition:all var(--transition);flex-shrink:0;margin-top:4px}.theme-btn:hover{border-color:var(--border-focus);color:var(--text)}.input-row{display:flex;gap:8px;margin-bottom:12px}.todo-input{flex:1;height:48px;padding:0 16px;font-family:var(--sans);font-size:15px;color:var(--text);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);outline:none;transition:border-color var(--transition),background var(--transition)}.todo-input::placeholder{color:var(--text-muted)}.todo-input:focus{border-color:var(--border-focus);background:var(--surface2)}.add-btn{width:48px;height:48px;border-radius:var(--radius);border:1px solid var(--border);background:var(--accent);color:#0d0d0f;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all var(--transition)}.add-btn:hover{filter:brightness(1.1);transform:scale(1.03)}.add-btn:active{transform:scale(.97)}.filters{display:flex;gap:4px;margin-bottom:20px}.filter-btn{font-family:var(--mono);font-size:11px;font-weight:500;letter-spacing:.08em;text-transform:uppercase;padding:5px 12px;border-radius:var(--radius-sm);border:1px solid transparent;background:transparent;color:var(--text-secondary);cursor:pointer;transition:all var(--transition)}.filter-btn:hover{color:var(--text)}.filter-btn.active{background:var(--accent-dim);border-color:var(--accent);color:var(--accent)}[data-theme=light] .filter-btn.active{color:var(--accent)}.todo-list{display:flex;flex-direction:column;gap:6px}.todo-item{display:flex;align-items:center;gap:12px;padding:14px 16px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);transition:border-color var(--transition),opacity var(--transition),transform var(--transition);animation:slide-in .2s ease both}@keyframes slide-in{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.todo-item:hover{border-color:var(--border-focus)}.todo-item.done{opacity:.55}.checkbox{width:22px;height:22px;border-radius:6px;border:1.5px solid var(--border-focus);background:transparent;flex-shrink:0;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all var(--transition);color:#0d0d0f}.checkbox:hover{border-color:var(--accent)}.checkbox.checked{background:var(--accent);border-color:var(--accent)}.todo-text{flex:1;font-size:15px;line-height:1.4;color:var(--text);word-break:break-word;transition:color var(--transition)}.todo-item.done .todo-text{text-decoration:line-through;color:var(--done-text)}.delete-btn{width:30px;height:30px;border-radius:var(--radius-sm);border:none;background:transparent;color:var(--text-muted);cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all var(--transition);opacity:0}.todo-item:hover .delete-btn{opacity:1}.delete-btn:hover{background:var(--danger-dim);color:var(--danger)}.footer{display:flex;align-items:center;justify-content:space-between;margin-top:16px;padding:0 2px}.count{font-family:var(--mono);font-size:11px;letter-spacing:.06em;color:var(--text-muted)}.clear-btn{font-family:var(--mono);font-size:11px;letter-spacing:.06em;text-transform:uppercase;border:none;background:transparent;color:var(--text-muted);cursor:pointer;padding:4px 0;transition:color var(--transition)}.clear-btn:hover{color:var(--danger)}.empty{text-align:center;padding:48px 0 32px}.empty-label{font-family:var(--mono);font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--text-muted)}@media (max-width: 560px){.app{padding:40px 12px 60px}.title{font-size:26px}.todo-input{font-size:16px}}
