:root{--bg: #0f1419;--surface: #1a2332;--surface-hover: #243044;--border: #2d3a4f;--text: #e8edf4;--muted: #8b9cb3;--accent: #3d9cf5;--accent-hover: #5aadff;--success: #34c759;--danger: #ff6b6b;--radius: 12px;--font: "DM Sans", system-ui, sans-serif}*,*:before,*:after{box-sizing:border-box}body{margin:0;min-height:100vh;font-family:var(--font);background:var(--bg);background-image:radial-gradient(ellipse 80% 50% at 50% -20%,rgba(61,156,245,.15),transparent),radial-gradient(ellipse 60% 40% at 100% 100%,rgba(52,199,89,.08),transparent);color:var(--text);line-height:1.5;-webkit-font-smoothing:antialiased}#root{min-height:100vh}.root-layout{min-height:100vh;display:flex;align-items:flex-start;justify-content:center;padding:2.5rem 1.25rem 4rem}.app{width:100%;max-width:520px}.header{text-align:center;margin-bottom:2rem}.eyebrow{margin:0 0 .5rem;font-size:.75rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--accent)}.header h1{margin:0 0 .5rem;font-size:2.25rem;font-weight:700;letter-spacing:-.02em}.subtitle{margin:0;color:var(--muted);font-size:.95rem}.card{background:var(--surface);border:1px solid var(--border);border-radius:calc(var(--radius) + 4px);padding:1.5rem;box-shadow:0 24px 48px #00000059}.add-form{display:flex;gap:.75rem;margin-bottom:1.25rem}.add-input{flex:1;padding:.75rem 1rem;font:inherit;font-size:1rem;color:var(--text);background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);outline:none;transition:border-color .15s,box-shadow .15s}.add-input::placeholder{color:var(--muted)}.add-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px #3d9cf540}.btn{font:inherit;font-weight:600;font-size:.9rem;padding:.75rem 1.25rem;border:none;border-radius:var(--radius);cursor:pointer;transition:background .15s,opacity .15s}.btn:disabled{opacity:.45;cursor:not-allowed}.btn-primary{background:var(--accent);color:#fff}.btn-primary:hover:not(:disabled){background:var(--accent-hover)}.btn-ghost{background:transparent;color:var(--muted);padding:.4rem .65rem;font-size:.8rem}.btn-ghost:hover:not(:disabled){color:var(--danger);background:#ff6b6b1a}.filters{display:flex;gap:.35rem;padding:.25rem;background:var(--bg);border-radius:var(--radius);margin-bottom:1.25rem}.filter-btn{flex:1;font:inherit;font-size:.85rem;font-weight:500;padding:.5rem .75rem;border:none;border-radius:calc(var(--radius) - 4px);background:transparent;color:var(--muted);cursor:pointer;transition:background .15s,color .15s}.filter-btn:hover{color:var(--text)}.filter-btn--active{background:var(--surface-hover);color:var(--text)}.list-section{min-height:120px}.status,.empty{text-align:center;color:var(--muted);font-size:.9rem;padding:2rem 1rem;margin:0}.status--error{color:var(--danger)}.todo-list{list-style:none;margin:0;padding:0}.todo-item{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.85rem 0;border-bottom:1px solid var(--border)}.todo-item:last-child{border-bottom:none}.todo-check{display:flex;align-items:flex-start;gap:.75rem;flex:1;cursor:pointer;min-width:0}.todo-check input[type=checkbox]{width:1.15rem;height:1.15rem;margin-top:.15rem;accent-color:var(--success);flex-shrink:0}.todo-text{word-break:break-word}.todo-item--done .todo-text{text-decoration:line-through;color:var(--muted)}.footer{display:flex;align-items:center;justify-content:space-between;margin-top:1.25rem;padding-top:1rem;border-top:1px solid var(--border);font-size:.85rem;color:var(--muted)}.footer-count{font-weight:500}
