:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#23332d;background:#f2f5f1;font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh}button,input{font:inherit}button{cursor:pointer}.page-shell{min-height:100vh;display:grid;place-items:center;padding:40px 20px;background:radial-gradient(circle at 15% 10%,rgba(112,159,137,.14),transparent 28%),radial-gradient(circle at 90% 85%,rgba(206,163,112,.12),transparent 26%),#f2f5f1}.todo-card{width:min(100%,640px);padding:36px;background:#fffffff0;border:1px solid #e1e7e2;border-radius:24px;box-shadow:0 20px 60px #24352e17}.card-header{display:flex;align-items:flex-start;justify-content:space-between;gap:24px}.eyebrow{margin:0 0 8px;color:#6e8f7f;font-size:12px;font-weight:800;letter-spacing:.16em}h1{margin:0;color:#20342b;font-family:Georgia,Times New Roman,serif;font-size:clamp(34px,7vw,46px);font-weight:600;letter-spacing:-.03em}.subtitle{margin:10px 0 0;color:#77827d;font-size:15px}.progress{flex:none;min-width:88px;padding:14px 12px;color:#63736b;background:#eef4f0;border-radius:16px;text-align:center}.progress strong{display:block;color:#47715f;font-size:26px;line-height:1}.progress span{display:block;margin-top:5px;font-size:12px}.add-form{display:flex;gap:10px;margin:32px 0 22px}.add-form input{width:100%;padding:14px 16px;color:#23332d;background:#f8faf8;border:1px solid #dce4de;border-radius:12px;outline:none;transition:border-color .2s,box-shadow .2s}.add-form input:focus{border-color:#729987;box-shadow:0 0 0 4px #72998724}.add-form button{padding:0 20px;color:#fff;background:#47715f;border:0;border-radius:12px;font-weight:700;transition:transform .15s,background .2s}.add-form button:hover:not(:disabled){background:#375d4d;transform:translateY(-1px)}.add-form button:disabled{cursor:not-allowed;opacity:.48}.error{margin:-8px 0 16px;padding:10px 12px;color:#943f3f;background:#fff0f0;border-radius:10px;font-size:14px}.list-area{min-height:170px}.todo-list{display:grid;gap:10px;margin:0;padding:0;list-style:none}.todo-list li{display:flex;align-items:center;gap:13px;padding:13px 14px;background:#fff;border:1px solid #e5eae6;border-radius:13px;transition:border-color .2s,transform .2s}.todo-list li:hover{border-color:#cdd9d1;transform:translateY(-1px)}.check-button{flex:none;width:23px;height:23px;display:grid;place-items:center;padding:0;color:#fff;background:#fff;border:2px solid #9bb1a5;border-radius:50%;font-size:13px;font-weight:800}.completed .check-button{background:#648b78;border-color:#648b78}.todo-title{flex:1;overflow-wrap:anywhere}.completed .todo-title{color:#9aa39e;text-decoration:line-through}.delete-button{padding:7px 9px;color:#9b6661;background:transparent;border:0;border-radius:8px;font-size:13px}.delete-button:hover{background:#fff0ef}.empty-state{display:grid;place-items:center;align-content:center;min-height:170px;margin:0;color:#8a9690;text-align:center}.empty-state span{display:grid;place-items:center;width:42px;height:42px;margin-bottom:10px;color:#5d806f;background:#edf4f0;border-radius:50%;font-weight:800}.empty-state p{margin:0}footer{margin-top:25px;padding-top:18px;color:#9aa39e;border-top:1px solid #eef1ef;font-size:12px;text-align:center}.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}@media(max-width:560px){.page-shell{padding:18px 12px;place-items:start center}.todo-card{padding:24px 18px;border-radius:18px}.card-header{gap:12px}.subtitle{max-width:230px}.add-form{margin-top:26px}.add-form button{padding:0 16px}}
