*{margin:0;padding:0;box-sizing:border-box}:root{--bg-primary: #ffffff;--bg-secondary: #f8fafc;--bg-tertiary: #f1f5f9;--text-primary: #1e293b;--text-secondary: #64748b;--text-muted: #94a3b8;--border: #e2e8f0;--border-light: #f1f5f9;--accent-blue: #3b82f6;--accent-green: #10b981;--accent-red: #ef4444;--accent-amber: #f59e0b;--shadow-sm: 0 1px 2px 0 rgb(0 0 0 / .05);--shadow-md: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--shadow-lg: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--space-xs: .25rem;--space-sm: .5rem;--space-md: 1rem;--space-lg: 1.5rem;--space-xl: 2rem;--font-size-sm: .875rem;--font-size-base: 1rem;--font-size-lg: 1.125rem;--font-size-xl: 1.25rem;--font-size-2xl: 1.5rem;--font-size-3xl: 1.875rem;--radius-sm: .375rem;--radius-md: .5rem;--radius-lg: .75rem;--radius-xl: 1rem}.dark{--bg-primary: #0f172a;--bg-secondary: #1e293b;--bg-tertiary: #334155;--text-primary: #f8fafc;--text-secondary: #cbd5e1;--text-muted: #94a3b8;--border: #334155;--border-light: #475569;--accent-blue: #60a5fa;--accent-green: #34d399;--accent-red: #f87171;--accent-amber: #fbbf24}html{font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background-color:var(--bg-primary);color:var(--text-primary);transition:background-color .3s ease,color .3s ease}body{background-color:var(--bg-primary);color:var(--text-primary);font-size:var(--font-size-base);line-height:1.6;min-height:100vh}#root{max-width:768px;width:100%;margin:0 auto;padding:var(--space-xl);min-height:100vh;display:flex;flex-direction:column;gap:var(--space-xl)}h1{font-size:var(--font-size-2xl);font-weight:700;color:var(--text-primary);margin:0}header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-lg)}.theme-toggle{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-md);background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-lg);color:var(--text-primary);font-size:var(--font-size-sm);font-weight:500;cursor:pointer;transition:all .2s ease}.theme-toggle:hover{background:var(--bg-tertiary);border-color:var(--accent-blue);transform:translateY(-1px);box-shadow:var(--shadow-md)}.theme-toggle:active{transform:translateY(0)}.tab-container{display:flex;background:var(--bg-secondary);border-radius:var(--radius-lg);padding:var(--space-xs);border:1px solid var(--border)}.tab-button{flex:1;padding:var(--space-md);background:transparent;border:none;border-radius:var(--radius-md);color:var(--text-secondary);font-size:var(--font-size-sm);font-weight:500;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;gap:var(--space-sm)}.tab-button:hover{background:var(--bg-tertiary);color:var(--text-primary)}.tab-button.tab-selected{background:var(--bg-primary);color:var(--text-primary);box-shadow:var(--shadow-sm)}.tab-button span{background:var(--accent-blue);color:#fff;padding:2px 6px;border-radius:var(--radius-sm);font-size:.75rem;font-weight:600;min-width:20px;text-align:center}.todo-list{display:flex;flex-direction:column;gap:var(--space-md)}.todo-item{background:var(--bg-primary);border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--space-lg);transition:all .2s ease;display:flex;align-items:center;gap:var(--space-md);position:relative;overflow:hidden}.todo-item:hover{border-color:var(--accent-blue);box-shadow:var(--shadow-md)}.todo-item.todo-complete{opacity:.6;background:var(--bg-secondary)}.todo-item.todo-complete .todo-text{text-decoration:line-through;color:var(--text-muted)}.todo-item.todo-favorite{border-left:4px solid var(--accent-amber)}.todo-item.todo-favorite:before{content:"⭐";position:absolute;top:var(--space-sm);right:var(--space-sm);font-size:.75rem}.todo-content{flex:1;display:flex;flex-direction:column;gap:var(--space-xs)}.todo-text{font-size:var(--font-size-base);font-weight:500;color:var(--text-primary);background:transparent;border:none;outline:none;padding:var(--space-xs);border-radius:var(--radius-sm);transition:all .2s ease}.todo-text:focus{background:var(--bg-secondary);border:1px solid var(--accent-blue)}.todo-text.editable{cursor:pointer;position:relative;border-radius:var(--radius-sm);transition:all .2s ease}.todo-text.editable:hover{background:var(--bg-secondary)}.edit-indicator{opacity:0;font-size:.75rem;margin-left:var(--space-sm);transition:opacity .2s ease}.todo-text.editable:hover .edit-indicator{opacity:1}.todo-actions{display:flex;gap:var(--space-sm);align-items:center}.todo-actions button{padding:var(--space-sm) var(--space-md);border:none;border-radius:var(--radius-md);font-size:var(--font-size-sm);font-weight:500;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;gap:var(--space-xs)}.btn-complete{background:var(--accent-green);color:#fff}.btn-complete:hover{background:#059669;transform:translateY(-1px)}.btn-delete{background:var(--bg-secondary);color:var(--accent-red);border:1px solid var(--border)}.btn-delete:hover{background:var(--accent-red);color:#fff;transform:translateY(-1px)}.btn-star{background:var(--bg-secondary);color:var(--accent-amber);border:1px solid var(--border)}.btn-star:hover{background:var(--accent-amber);color:#fff;transform:translateY(-1px)}.btn-star.starred{background:var(--accent-amber);color:#fff}.input-container{display:flex;gap:var(--space-md);background:var(--bg-primary);border:2px solid var(--border);border-radius:var(--radius-lg);padding:var(--space-md);transition:all .2s ease}.input-container:focus-within{border-color:var(--accent-blue);box-shadow:0 0 0 3px #3b82f61a}.todo-input{flex:1;background:transparent;border:none;outline:none;font-size:var(--font-size-base);color:var(--text-primary)}.todo-input::placeholder{color:var(--text-muted)}.btn-add{background:var(--accent-blue);color:#fff;border:none;border-radius:var(--radius-md);padding:var(--space-sm) var(--space-lg);font-size:var(--font-size-sm);font-weight:600;cursor:pointer;transition:all .2s ease}.btn-add:hover{background:#2563eb;transform:translateY(-1px);box-shadow:var(--shadow-md)}.btn-add:active{transform:translateY(0)}@media (max-width: 768px){#root{padding:var(--space-md);gap:var(--space-md)}.todo-item{flex-direction:column;align-items:flex-start;gap:var(--space-md)}.todo-actions{width:100%;justify-content:flex-end}h1{font-size:var(--font-size-xl)}.input-container{flex-direction:column;gap:var(--space-sm)}}@keyframes slideIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.todo-item{animation:slideIn .3s ease-out}*:focus{outline:2px solid var(--accent-blue);outline-offset:2px}button:focus,input:focus{outline:none}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.confirmation-modal{background:var(--bg-primary);border-radius:var(--radius-xl);padding:var(--space-xl);max-width:400px;width:90%;box-shadow:var(--shadow-lg);border:1px solid var(--border)}.confirmation-modal h3{font-size:var(--font-size-lg);font-weight:600;color:var(--accent-red);margin-bottom:var(--space-md);text-align:center}.confirmation-modal p{font-size:var(--font-size-base);color:var(--text-secondary);margin-bottom:var(--space-xl);text-align:center;line-height:1.5}.modal-actions{display:flex;gap:var(--space-md);justify-content:center}.modal-actions button{padding:var(--space-sm) var(--space-lg);border:none;border-radius:var(--radius-md);font-size:var(--font-size-sm);font-weight:500;cursor:pointer;transition:all .2s ease;min-width:80px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
