:root{--bg:#f7f4ef;--card:#fff;--text:#1c1b19;--text-secondary:#635f58;--border:#e2ddd4;--accent:#1f5c46;--accent-contrast:#fff;--danger:#b3261e;--font:system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--fs-sm:14px;--fs-md:16px;--fs-lg:22px;--s1:4px;--s2:8px;--s3:12px;--s4:16px;--s6:24px;--s8:32px;--r-sm:6px;--r-md:10px;--content-max:560px;--touch:44px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root{--bg:#171614;--card:#211f1c;--text:#edeae4;--text-secondary:#a8a398;--border:#36332e;--accent:#7cc4a0;--accent-contrast:#10241b;--danger:#f2857c;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}*{box-sizing:border-box;margin:0;padding:0}body{background:var(--bg);color:var(--text);font-family:var(--font);font-size:var(--fs-md);line-height:1.5}main{max-width:var(--content-max);padding:var(--s8) var(--s4);margin:0 auto}h1{font-size:var(--fs-lg);font-weight:600}.text-secondary{color:var(--text-secondary);font-size:var(--fs-sm)}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}h2{font-size:var(--fs-sm);color:var(--text-secondary);margin:var(--s6) 0 var(--s2);font-weight:600}label.field{font-size:var(--fs-sm);color:var(--text-secondary);margin-bottom:var(--s3);display:block}input[type=email],input[type=password],input[type=text]{width:100%;min-height:var(--touch);margin-top:var(--s1);padding:0 var(--s3);font:inherit;font-size:var(--fs-md);color:var(--text);background:var(--card);border:1px solid var(--border);border-radius:var(--r-sm);display:block}.btn{min-height:var(--touch);padding:0 var(--s4);font:inherit;font-size:var(--fs-md);border-radius:var(--r-sm);cursor:pointer;border:1px solid #0000}.btn:disabled{cursor:progress}.btn-primary{background:var(--accent);color:var(--accent-contrast);font-weight:600}.btn-secondary{color:var(--text);border-color:var(--border);font-size:var(--fs-sm);background:0 0}.btn-block{width:100%;margin-top:var(--s1)}.error{color:var(--danger);font-size:var(--fs-sm);margin:0 0 var(--s3)}.login{flex-direction:column;justify-content:center;min-height:100vh;display:flex}.login header{text-align:center;margin-bottom:var(--s6)}.login header p{margin-top:var(--s1)}.card{background:var(--card);border:1px solid var(--border);border-radius:var(--r-md);padding:var(--s6)}.top{justify-content:space-between;align-items:center;gap:var(--s3);display:flex}.top .email{margin-top:var(--s1);word-break:break-all}.add-form{margin-top:var(--s6)}.add{gap:var(--s2);display:flex}.add input{flex:1;margin-top:0}.add-form .error{margin-top:var(--s2)}ul{gap:var(--s2);list-style:none;display:grid}.todo{background:var(--card);border:1px solid var(--border);border-radius:var(--r-sm);min-height:var(--touch);align-items:center;display:flex}.todo-toggle{flex:1;display:flex}.todo label{align-items:center;gap:var(--s3);padding:var(--s2) var(--s3);min-height:var(--touch);cursor:pointer;flex:1;display:flex}.todo input[type=checkbox]{width:calc(var(--s4) + var(--s1));height:calc(var(--s4) + var(--s1));accent-color:var(--accent);flex:none}.todo .title{overflow-wrap:anywhere}.todo.done .title{color:var(--text-secondary);text-decoration:line-through}.del{width:var(--touch);height:var(--touch);color:var(--text-secondary);font-size:var(--fs-md);cursor:pointer;border-radius:var(--r-sm);background:0 0;border:0;flex:none}.del:hover{color:var(--danger)}.empty{color:var(--text-secondary);padding:var(--s3) 0}.counter{margin-top:var(--s6);text-align:center}.loading{margin-top:var(--s6)}
