@import "https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:wght@500;600;700&display=swap";:root{color:#57475e;font-synthesis:none;text-rendering:optimizelegibility;background:#fff7fa;font-family:DM Sans,sans-serif}*{box-sizing:border-box}body{background:linear-gradient(135deg,#fff5f8,#f4efff);min-width:320px;min-height:100vh;margin:0}button,input,textarea{font:inherit}button{cursor:pointer}.dashboard{width:min(100% - 32px,760px);margin:0 auto;padding:24px 0 40px}.topbar{justify-content:space-between;align-items:center;padding:12px 4px 30px;display:flex}.brand{color:#8c689c;align-items:center;gap:10px;font-size:18px;font-weight:700;display:flex}.brand-icon{color:#c58cae;font-size:29px}.heart{color:#bd8ebd;font-size:28px}.welcome{padding:20px 5px 26px}.eyebrow{color:#b184aa;letter-spacing:2px;margin:0 0 10px;font-size:10px;font-weight:700}h1,h2{font-family:Playfair Display,Georgia,serif}.welcome h1{color:#795d85;margin:0 0 10px;font-size:clamp(32px,7vw,43px)}.subtitle{color:#9a839b;font-size:14px;line-height:1.7}.date-card{background:linear-gradient(110deg,#f5dfe9,#e9def8);border-radius:20px;justify-content:space-between;align-items:center;gap:12px;margin-bottom:20px;padding:22px;display:flex}.date-card h2{color:#745d80;margin:0;font-size:18px}.date-card input{color:#705b7d;background:#ffffffc9;border:1px solid #d8c2df;border-radius:10px;min-width:0;max-width:145px;padding:9px}.card{background:#fff;border:1px solid #f3e5ef;border-radius:22px;margin-bottom:20px;padding:24px;box-shadow:0 8px 30px #87658e12}.section-heading{justify-content:space-between;align-items:center;gap:12px;display:flex}.card h2{color:#785e83;margin:0 0 17px;font-size:23px}.count{color:#9b76ad;background:#f2e9f9;border-radius:30px;padding:9px 13px;font-size:13px;font-weight:700}.progress-track{background:#f3e9f3;border-radius:20px;height:9px;margin-top:14px;overflow:hidden}.progress-fill{background:linear-gradient(90deg,#e7a9c2,#b89ad9);border-radius:20px;height:100%;transition:width .3s}.progress-label{color:#a58da7;margin:8px 0 20px;font-size:11px}.task-form{gap:9px;margin-bottom:17px;display:flex}.task-form input{color:#634f69;background:#fffafd;border:1px solid #eadce9;border-radius:12px;outline:none;flex:1;min-width:0;padding:13px}.task-form input:focus,.lesson-card textarea:focus{border-color:#bd9aca}.add-button{color:#fff;background:#b99acb;border:none;border-radius:12px;width:46px;font-size:25px}.task-list{gap:10px;display:grid}.task-item{background:#fff7fa;border-radius:12px;justify-content:space-between;align-items:center;gap:10px;padding:12px;display:flex}.task-label{cursor:pointer;flex:1;align-items:center;gap:11px;min-width:0;display:flex}.task-label input{opacity:0;width:1px;height:1px;position:absolute}.custom-check{background:#fff;border:1.5px solid #d7b7d5;border-radius:6px;flex:0 0 19px;height:19px}.task-label input:checked+.custom-check{background:#b49acb;border-color:#b49acb}.task-label input:checked+.custom-check:after{content:"✓";color:#fff;text-align:center;font-size:13px;display:block}.task-text{overflow-wrap:anywhere;font-size:14px}.completed .task-text{color:#b7a7b7;text-decoration:line-through}.delete-button{color:#c28da9;background:0 0;border:none;font-size:22px}.empty-state{color:#b19cb1;text-align:center;padding:15px 0;font-size:13px}.lesson-card{background:linear-gradient(145deg,#fff,#fcf7ff)}.lesson-description{color:#9a849e;margin-bottom:17px;font-size:13px;line-height:1.7}.lesson-card textarea{resize:vertical;color:#634f69;background:#fffafd;border:1px solid #eaddec;border-radius:14px;outline:none;width:100%;min-height:150px;padding:15px;line-height:1.7}.lesson-footer{justify-content:space-between;align-items:center;gap:10px;margin-top:14px;display:flex}.lesson-footer span{color:#a68eaa;font-size:11px}.save-button{color:#fff;background:#b49acb;border:none;border-radius:11px;padding:11px 17px;font-weight:600}.save-button:hover,.add-button:hover{background:#9879b2}footer{text-align:center;color:#b093ac;padding:15px;font-size:12px}@media (width<=480px){.dashboard{width:min(100% - 22px,760px);padding-top:12px}.card{padding:19px}.date-card{padding:17px}.date-card h2{font-size:15px}}
