@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800;900&display=swap";:root{--bg: #0a0a0a;--surface: #111111;--surface-raised: #181818;--border: #1f1f1f;--accent: #22c55e;--accent-hover: #16a34a;--accent-dim: rgba(34, 197, 94, .12);--text: #f0f0f0;--muted: #555555;--font: "Inter", sans-serif}*{margin:0;padding:0;box-sizing:border-box}body{background-color:var(--bg);color:var(--text);font-family:var(--font);min-height:100vh;display:flex;justify-content:center;align-items:flex-start;padding-top:5rem;background-image:linear-gradient(rgba(34,197,94,.03) 1px,transparent 1px),linear-gradient(90deg,rgba(34,197,94,.03) 1px,transparent 1px);background-size:40px 40px}#root{width:100%;max-width:600px;padding:0 1rem}h1{font-size:2.5rem;font-weight:800;text-align:center;margin-bottom:2rem;letter-spacing:-1px}h1 .accent{color:var(--accent)}h1 span{color:#199747}main{display:flex;flex-direction:column;gap:2rem}main>div{background:var(--surface);border:1px solid var(--border);border-radius:16px;padding:24px;box-shadow:0 10px 30px -10px #000c,0 0 1px 1px inset #ffffff0d;transition:all .3s cubic-bezier(.25,.8,.25,1);position:relative;overflow:hidden}main>div:before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent,var(--accent),transparent);opacity:.5;transition:opacity .3s ease}main>div:hover{transform:translateY(-4px);box-shadow:0 20px 40px -10px #000000e6,0 0 1px 1px inset #ffffff14}main>div:hover:before{opacity:1}main>div>div{display:flex;gap:12px}input:not([type=checkbox]){flex:1;background:var(--surface-raised);border:1px solid var(--border);border-radius:12px;padding:16px 20px;color:var(--text);font-family:inherit;font-size:1rem;outline:none;transition:all .2s ease;box-shadow:inset 0 2px 4px #0003}input:not([type=checkbox]):focus{border-color:var(--accent);box-shadow:inset 0 2px 4px #0003,0 0 0 3px var(--accent-dim)}button{background:linear-gradient(135deg,var(--accent),var(--accent-hover));color:#000;font-family:var(--font);font-weight:700;font-size:1rem;padding:0 24px;border-radius:12px;border:none;cursor:pointer;transition:all .2s ease;box-shadow:0 4px 12px #22c55e4d;text-shadow:0 1px 1px rgba(255,255,255,.2)}button:hover{transform:translateY(-2px);box-shadow:0 6px 16px #22c55e66}button:active{transform:translateY(1px);box-shadow:0 2px 8px #22c55e4d}ul{display:flex;flex-direction:column;gap:16px}li{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:16px 20px;display:flex;align-items:center;justify-content:space-between;box-shadow:0 4px 12px #0006,0 0 1px 1px inset #ffffff08;transition:all .25s cubic-bezier(.2,.8,.2,1);animation:slideIn .4s cubic-bezier(.2,.8,.2,1) forwards}@keyframes slideIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}li:hover{transform:translateY(-2px) scale(1.01);box-shadow:0 8px 24px -4px #0009,0 0 1px 1px inset #ffffff0f;border-color:#22c55e4d;background:linear-gradient(to right,var(--surface),var(--surface-raised))}li>div:first-child{display:flex;align-items:center;gap:16px;font-size:1.05rem;cursor:pointer}.checkbox{appearance:none;width:24px;height:24px;border:2px solid var(--border);border-radius:6px;background:var(--surface-raised);cursor:pointer;position:relative;transition:all .2s ease;box-shadow:inset 0 1px 3px #0000004d;flex-shrink:0}.checkbox:checked{background:var(--accent);border-color:var(--accent);box-shadow:0 0 10px #22c55e4d}.checkbox:checked:after{content:"";position:absolute;left:7px;top:3px;width:5px;height:10px;border:solid #000;border-width:0 2px 2px 0;transform:rotate(45deg)}.todo-text{transition:color .2s}li.completed .todo-text{color:var(--muted);text-decoration:line-through;text-decoration-color:var(--muted)}li>div:last-child>button{background:transparent;color:var(--muted);padding:8px;border-radius:8px;box-shadow:none;font-size:1.2rem;line-height:1;display:flex;align-items:center;justify-content:center}li>div:last-child>button:first-child:hover{background:#f973161a;color:#f97316;transform:translateY(0);box-shadow:none}li>div:last-child>button:last-child:hover{background:#ef44441a;color:#ef4444;transform:translateY(0);box-shadow:none}li>div:last-child>button:active{transform:scale(.9)}li>div:last-child{display:flex;gap:8px}
