:root{font-family:system-ui,-apple-system,Arial,sans-serif;background:#fff0f7;color:#291824;font-synthesis:none}*{box-sizing:border-box}body{margin:0;background:radial-gradient(circle at 90% -4%,#ffb0d9 0,transparent 36%),#fff0f7;min-height:100vh}header{background:#251523;color:white;border-bottom:6px solid #db358b;padding:26px 5%}header h1{font-family:Georgia,serif;font-size:clamp(2rem,5vw,3.4rem);line-height:1.05;margin:9px 0 12px}header h1 span{color:#f9d8a0}.eyebrow{letter-spacing:.16em;font-weight:700;color:#f3a4d1;font-size:.7rem}header>p:last-child{color:#ffc5df}main{max-width:1020px;margin:auto;padding:25px 5%}.banner{border-left:5px solid #da398c;padding:12px 15px;background:#ffe0ee;border-radius:8px;margin-bottom:16px}.card{background:#fffcfe;border:1px solid #ebb9d6;border-radius:16px;padding:22px;box-shadow:4px 5px 0 #f6bad8;margin:14px 0 20px}.row{display:flex;align-items:center;gap:15px}.spread{justify-content:space-between}.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(155px,1fr));gap:14px}.stats .card{display:flex;flex-direction:column;gap:9px}.stats strong{font-size:2rem;color:#ab1d6c}.stats .smaller{font-size:1.25rem}h2{font-family:Georgia,serif;color:#861556;font-size:1.5rem;margin:0 0 13px}label{display:block;margin:12px 0 6px;font-weight:700}input{display:block;border:2px solid #e1a0c3;border-radius:10px;width:100%;max-width:570px;padding:12px;font:inherit;background:#fff;color:#291824}button{border:2px solid #c93186;border-radius:30px;padding:10px 16px;background:white;color:#871657;font:inherit;font-weight:750;cursor:pointer;margin:10px 4px 5px 0}button.primary{background:#d12f89;color:white}button:disabled{opacity:.5;cursor:wait}button:focus-visible,input:focus-visible,a:focus-visible{outline:3px solid #8c205f;outline-offset:2px}a{color:#8c205f;font-weight:bold}.small,.subtle{font-size:.9rem;color:#6f4d65}.message{font-weight:700;color:#841157}.tasks{padding-top:12px}.task{display:flex;align-items:center;justify-content:space-between;gap:10px;border-bottom:1px solid #efd1e1;padding:13px 0}.task.completed .taskTitle{text-decoration:line-through;opacity:.6}.modules{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px}.modules article{background:#fff0f7;border-radius:12px;padding:15px;display:grid;gap:8px}.modules small{color:#7a5570}footer{padding:25px;text-align:center;color:#754d68;font-size:.8rem}[hidden]{display:none!important}@media(max-width:580px){main{padding:16px}header{padding:20px}.card{padding:16px}.task{align-items:flex-start;flex-direction:column}}