:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;display:flex;place-items:center;min-width:320px;min-height:100vh}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media (prefers-color-scheme: light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}:root{--bg-color: #ffffff;--text-color: #000000}body{background-color:var(--bg-color);color:var(--text-color);transition:background-color .3s,color .3s}#root{max-width:1280px;margin:0 auto;padding:2rem;text-align:center}.logo{height:6em;padding:1.5em;will-change:filter;transition:filter .3s}.logo:hover{filter:drop-shadow(0 0 2em #646cffaa)}.logo.react:hover{filter:drop-shadow(0 0 2em #61dafbaa)}@keyframes logo-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (prefers-reduced-motion: no-preference){a:nth-of-type(2) .logo{animation:logo-spin infinite 20s linear}}.card{padding:2em;background:var(--bg-color);color:var(--text-color);border:1px solid #ccc;border-radius:8px}.read-the-docs{color:#888}[data-theme=dark]{--bg-color: #121212;--text-color: #ffffff}:root{--primary: #6366f1;--primary-light: #818cf8;--primary-dark: #4f46e5;--success: #22c55e;--danger: #ef4444;--gray-100: #f3f4f6;--gray-200: #e5e7eb;--gray-300: #d1d5db;--gray-500: #6b7280;--gray-700: #374151;--gray-900: #111827;--bg: #f5f7ff;--text: #111827}[data-theme=dark]{--primary: #818cf8;--primary-light: #a5b4fc;--primary-dark: #4f46e5;--success: #22c55e;--danger: #ef4444;--gray-100: #1f2937;--gray-200: #374151;--gray-300: #4b5563;--gray-500: #9ca3af;--gray-700: #d1d5db;--gray-900: #f9fafb;--bg: #111827;--text: #f9fafb}*{margin:0;padding:0;box-sizing:border-box}body{font-family:Inter,sans-serif;color:var(--text);background-color:var(--bg);line-height:1.5;min-height:100vh;display:flex;justify-content:center;align-items:center;padding:2rem 1rem;transition:background-color .3s,color .3s}.todo-app{width:100%;max-width:540px;background:var(--gray-100);border-radius:8px;box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d;overflow:hidden;transition:background .3s}.app-header{padding:1.5rem;background:linear-gradient(to right,var(--primary),var(--primary-dark));color:#fff;text-align:center}.app-header h1{font-size:1.75rem;font-weight:700;margin-bottom:.5rem}.app-header p{font-size:.875rem;opacity:.9}.todo-form{padding:1.5rem;border-bottom:1px solid var(--gray-200);display:flex;gap:.75rem}.todo-input{flex:1;padding:.75rem 1rem;border:1px solid var(--gray-300);border-radius:4px;font-size:1rem;background:var(--gray-100);color:var(--text);transition:border-color .2s,box-shadow .2s,background .3s}.todo-input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #6366f133}.add-button{background-color:var(--primary);color:#fff;border:none;border-radius:4px;padding:.75rem 1.25rem;font-weight:600;cursor:pointer;transition:background-color .2s,transform .1s}.add-button:hover{background-color:var(--primary-dark)}.add-button:active{transform:scale(.98)}.todo-list{list-style:none;padding:0;max-height:400px;overflow-y:auto}.todo-list::-webkit-scrollbar{width:6px}.todo-list::-webkit-scrollbar-track{background:var(--gray-200)}.todo-list::-webkit-scrollbar-thumb{background-color:var(--gray-300);border-radius:20px}.todo-item{padding:1rem 1.5rem;border-bottom:1px solid var(--gray-200);display:flex;align-items:center;gap:1rem;transition:background-color .2s}.todo-item:hover{background-color:var(--gray-200)}.todo-checkbox{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:20px;height:20px;border:2px solid var(--gray-300);border-radius:4px;cursor:pointer;position:relative;transition:border-color .2s,background-color .2s}.todo-checkbox:checked{background-color:var(--success);border-color:var(--success)}.todo-checkbox:checked:after{content:"✓";position:absolute;color:#fff;font-size:12px;top:50%;left:50%;transform:translate(-50%,-50%)}.todo-text{flex:1;font-size:1rem;color:var(--text);transition:color .2s,text-decoration .2s}.todo-item.completed .todo-text{color:var(--gray-500);text-decoration:line-through}.todo-actions{display:flex;gap:.5rem}.todo-button{background:none;border:none;cursor:pointer;color:var(--gray-500);transition:color .2s}.todo-button:hover{color:var(--gray-700)}.todo-button.edit:hover{color:var(--primary)}.todo-button.delete:hover{color:var(--danger)}.app-footer{padding:1rem 1.5rem;display:flex;justify-content:space-between;align-items:center;background-color:var(--gray-200);color:var(--gray-500);font-size:.875rem}.todo-count{font-weight:500}.clear-button{background:none;border:none;color:var(--gray-500);cursor:pointer;font-size:.875rem;transition:color .2s}.clear-button:hover{color:var(--danger)}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.todo-item{animation:fadeIn .3s ease-out}@media (max-width: 480px){.todo-form{flex-direction:column}.add-button{width:100%}.app-footer{flex-direction:column;gap:.75rem}}
