*{box-sizing:border-box}
html,body{margin:0;padding:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Arial,sans-serif;background:#fafafa;color:#111}
.container{max-width:720px;margin:0 auto;padding:16px}
header h1{margin:8px 0 4px 0}
.subtitle{margin:0;color:#444}
.card{background:#fff;border:1px solid #eee;border-radius:12px;padding:16px;margin-top:12px}
.bullets{margin:8px 0 0 16px}
.mt{margin-top:16px}
.grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin-top:8px}
.task{padding:16px;border:1px solid #e0e0e0;border-radius:10px;background:#f8f8f8;font-size:16px;cursor:pointer}
.task.done{background:#d1ffd6;border-color:#b6f1be}
.progress{height:28px;background:#eee;border-radius:14px;overflow:hidden}
#progressBar{height:100%;width:0%;display:flex;align-items:center;justify-content:center;font-weight:600}
.row{display:flex;gap:8px;flex-wrap:wrap}
button{border:none;padding:12px 14px;border-radius:10px;background:#e8e8e8;cursor:pointer}
button:hover{filter:brightness(0.97)}
.primary{display:inline-block;text-decoration:none;background:#111;color:#fff;padding:12px 16px;border-radius:10px}
.footer{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:16px auto 24px auto}
.footer nav{display:flex;gap:12px}
.small{color:#666;font-size:12px}
@media(min-width:600px){.grid{grid-template-columns:repeat(3,1fr)}}
