@import "https://fonts.googleapis.com/css2?family=Playfair+Display:wght@400;700;900&family=JetBrains+Mono:wght@400;500&display=swap";*{box-sizing:border-box;margin:0;padding:0}:root{--bg-primary:#0a0a0a;--bg-secondary:#111;--bg-tertiary:#1a1a1a;--bg-accent:#f5f0e8;--text-primary:#f5f0e8;--text-secondary:#a0998a;--text-muted:#5a5550;--accent-primary:#e8e0d0;--accent-secondary:#c4b8a8;--accent-highlight:#ff6b35;--danger:#f44;--success:#4f8;--border-color:#2a2a2a;--border-accent:#3a3a3a;--shadow-sm:0 2px 8px #0006;--shadow-md:0 8px 32px #0009;--radius-sm:2px;--radius-md:4px;--transition:all .15s cubic-bezier(.4, 0, .2, 1);--font-display:"Playfair Display", Georgia, serif;--font-mono:"JetBrains Mono", "SF Mono", monospace}@media (prefers-color-scheme:light){:root{--bg-primary:#f5f0e8;--bg-secondary:#fffcf7;--bg-tertiary:#ebe5da;--bg-accent:#0a0a0a;--text-primary:#1a1a1a;--text-secondary:#4a4540;--text-muted:#8a8580;--accent-primary:#1a1a1a;--accent-secondary:#3a3530;--accent-highlight:#ff6b35;--border-color:#d4cfc5;--border-accent:#c4bfb5;--shadow-sm:0 2px 8px #00000014;--shadow-md:0 8px 32px #0000001f}}body{font-family:var(--font-mono);background:var(--bg-primary);color:var(--text-primary);letter-spacing:-.01em;-webkit-font-smoothing:antialiased;min-height:100vh;font-size:14px;line-height:1.6}#app{justify-content:center;min-height:100vh;padding:60px 24px;display:flex}.container{width:100%;max-width:520px}.header{margin-bottom:48px;position:relative}.header:before{content:"";background:var(--accent-highlight);width:4px;height:100%;position:absolute;top:0;left:-24px}.header h1{font-family:var(--font-display);letter-spacing:-.03em;color:var(--text-primary);margin-bottom:12px;font-size:3.5rem;font-weight:900;line-height:1}.subtitle{font-family:var(--font-mono);color:var(--text-muted);text-transform:uppercase;letter-spacing:.15em;font-size:11px}.input-section{border:1px solid var(--border-color);background:var(--bg-secondary);gap:8px;margin-bottom:8px;padding:4px;display:flex}.input-hint{color:var(--text-muted);text-transform:uppercase;letter-spacing:.1em;margin-bottom:32px;padding-left:4px;font-size:10px}.todo-input{font-family:var(--font-mono);color:var(--text-primary);background:0 0;border:none;outline:none;flex:1;padding:14px 16px;font-size:14px}.todo-input::placeholder{color:var(--text-muted);font-style:italic}.add-btn{background:var(--accent-highlight);color:#fff;cursor:pointer;width:48px;height:48px;transition:var(--transition);border:none;justify-content:center;align-items:center;display:flex}.add-btn:hover{background:#ff8555;transform:scale(1.02)}.add-btn:active{transform:scale(.98)}.progress-section{border-bottom:1px solid var(--border-color);align-items:center;gap:16px;margin-bottom:24px;padding:16px 0;display:flex}.progress-bar{background:var(--border-color);flex:1;height:2px;overflow:hidden}.progress-fill{background:var(--accent-highlight);height:100%;transition:width .4s cubic-bezier(.4,0,.2,1)}.progress-text{color:var(--text-muted);text-transform:uppercase;letter-spacing:.1em;white-space:nowrap;font-variant-numeric:tabular-nums;font-size:11px}.filters{border:1px solid var(--border-color);gap:0;margin-bottom:24px;display:flex}.filter-btn{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.1em;border:none;border-right:1px solid var(--border-color);color:var(--text-muted);cursor:pointer;transition:var(--transition);background:0 0;flex:1;justify-content:center;align-items:center;gap:8px;padding:12px 16px;font-size:11px;font-weight:500;display:flex}.filter-btn:last-child{border-right:none}.filter-btn:hover{color:var(--text-primary);background:var(--bg-tertiary)}.filter-btn.active{background:var(--bg-accent);color:var(--bg-primary)}.filter-btn .count{color:var(--accent-highlight);background:#ff6b3533;border-radius:2px;padding:2px 6px;font-size:10px}.filter-btn.active .count{color:inherit;background:#00000026}.todo-list{flex-direction:column;gap:2px;list-style:none;display:flex}.todo-item{background:var(--bg-secondary);border:1px solid var(--border-color);transition:var(--transition);align-items:center;gap:16px;padding:16px;display:flex;position:relative}.todo-item:before{content:"";background:var(--accent-highlight);width:0;height:100%;transition:width .2s;position:absolute;top:0;left:0}.todo-item:hover:before{width:3px}.todo-item:hover{background:var(--bg-tertiary);border-color:var(--border-accent)}.todo-item.completed{opacity:.5}.todo-item.completed .todo-text{color:var(--text-muted);text-decoration:line-through}.checkbox{border:2px solid var(--border-accent);cursor:pointer;width:20px;height:20px;transition:var(--transition);background:0 0;flex-shrink:0;justify-content:center;align-items:center;display:flex}.checkbox:hover{border-color:var(--accent-highlight)}.checkbox.checked{background:var(--accent-highlight);border-color:var(--accent-highlight);color:#fff}.todo-text{word-break:break-word;font-size:14px;font-family:var(--font-mono);flex:1}.delete-btn{width:28px;height:28px;color:var(--text-muted);cursor:pointer;transition:var(--transition);opacity:0;background:0 0;border:1px solid #0000;flex-shrink:0;justify-content:center;align-items:center;display:flex}.todo-item:hover .delete-btn{opacity:1}.delete-btn:hover{border-color:var(--danger);color:var(--danger)}.footer{margin-top:24px}.clear-btn{width:100%;font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.1em;border:1px solid var(--border-color);color:var(--text-muted);cursor:pointer;transition:var(--transition);background:0 0;padding:12px 20px;font-size:11px;font-weight:500}.clear-btn:hover{border-color:var(--danger);color:var(--danger)}.empty-state{text-align:center;border:1px dashed var(--border-color);padding:64px 24px}.empty-icon{opacity:.3;margin-bottom:24px}.empty-state p{color:var(--text-muted);text-transform:uppercase;letter-spacing:.1em;font-size:12px}.app-footer{border-top:1px solid var(--border-color);text-align:center;margin-top:64px;padding-top:24px}.app-footer p{color:var(--text-muted);text-transform:uppercase;letter-spacing:.15em;font-size:10px}.app-footer a{color:var(--accent-highlight);transition:var(--transition);text-decoration:none}.app-footer a:hover{text-decoration:underline}@media (max-width:480px){#app{padding:40px 16px}.header:before{left:-16px}.header h1{font-size:2.5rem}.filters{flex-direction:column}.filter-btn{border-right:none;border-bottom:1px solid var(--border-color)}.filter-btn:last-child{border-bottom:none}.todo-item .delete-btn{opacity:1}}@keyframes fadeIn{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.todo-item{animation:.2s fadeIn}
