:root{font-family:ui-rounded,"Segoe UI",system-ui,sans-serif;color:#333047;background:#f8f7fc;font-synthesis:none;--purple:#7761c4;--muted:#79758c;--border:#ece9f3;--green:#36876d}*{box-sizing:border-box}body{margin:0}button,input,textarea{font:inherit}button,a,input,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer;border:0}button:disabled{cursor:default;opacity:.5}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid #af98f3;outline-offset:3px}[hidden]{display:none!important}a{color:inherit;text-decoration:none}h1,h2,h3,p{margin:0}button{min-height:44px}header{padding:22px max(24px,calc((100vw - 1180px)/2));background:#fff;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;align-items:center;gap:20px}.brand{display:flex;align-items:center;gap:12px;font-size:20px;font-weight:750;letter-spacing:-.5px}.brand-icon{background:#eee9fa;color:var(--purple);font-size:29px;width:46px;height:46px;border-radius:15px;display:grid;place-items:center}.brand small{display:block;font-size:11px;color:var(--muted);font-weight:500;letter-spacing:1px;margin-top:2px}.header-actions{display:flex;align-items:center;gap:16px}#sync{font-size:12px;color:var(--green)}.quiet,.icon-button{background:transparent;color:#777089}.icon-button{width:40px;border:1px solid var(--border);border-radius:12px;font-size:22px}.quiet{font-size:13px}main{max-width:1180px;padding:36px 24px 0;margin:auto}.greeting{display:flex;align-items:center;justify-content:space-between;margin-bottom:28px}.eyebrow{font-size:10px;font-weight:750;letter-spacing:1.65px;color:var(--purple)}.greeting h1{font-size:29px;letter-spacing:-1px;margin:9px 0}.greeting h1 span{font-size:25px}.greeting p{font-size:14px;color:var(--muted)}.profile{background:#eeebf7;padding:10px 16px;border-radius:99px;font-size:12px;color:#726393}.dashboard{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:28px}.progress-card{background:#eee9fa;border:1px solid #e6ddf7;border-radius:22px;padding:25px 28px;display:grid;grid-template-columns:1fr auto;align-items:center;gap:19px}.progress-card h2{font-size:20px;font-weight:650;margin:9px 0}.progress-card p{font-size:12px;color:#7b7197}.progress-ring{border:6px solid #d9ceef;border-top-color:#9279cd;border-radius:50%;width:86px;height:86px;display:flex;flex-direction:column;align-items:center;justify-content:center}.progress-ring strong{font-size:23px;color:#6f55ad}.progress-ring span{font-size:10px;color:#837298}progress{border:0;appearance:none;height:7px;border-radius:10px;overflow:hidden;width:100%;background:#ded6ee}progress::-webkit-progress-bar{background:#ded6ee;border-radius:10px}progress::-webkit-progress-value{background:#9780d2;border-radius:10px}progress::-moz-progress-bar{background:#9780d2}.progress-card progress{grid-column:1/-1}.section-heading{display:flex;justify-content:space-between;align-items:center;margin:28px 0 17px}.section-heading h2{font-size:18px}.section-heading h2 span{font-size:10px;font-weight:500;background:#efedf5;padding:5px 8px;border-radius:7px;margin-left:9px;color:#888094}.section-heading>span{font-size:11px;color:var(--muted)}.task{background:white;border:1px solid var(--border);border-radius:17px;margin-bottom:12px;padding:17px 20px;transition:border-color .2s}.task.done{border-color:#c7e1d6;background:#fcfefd}.task-top{display:flex;align-items:center;gap:14px}.task-icon{height:44px;width:44px;display:grid;place-items:center;border-radius:13px;background:#f7ede5;font-size:23px;flex-shrink:0}.task:nth-child(3n+2) .task-icon{background:#fcf2d9}.task:nth-child(3n) .task-icon{background:#eaf0fb}.task-body{flex:1}.task h3{font-size:14px;font-weight:650}.time{font-size:10px;color:var(--muted);margin-bottom:4px;letter-spacing:.3px}.task-check{width:25px;height:25px;accent-color:#7d68bd;cursor:pointer;flex-shrink:0}.task-note{margin:14px 0 0 58px}.task-note label{display:block;font-size:11px;color:#81778f;margin-bottom:6px}.task-note textarea{width:100%;background:#faf9fc;border:1px solid #eeebf2;border-radius:9px;resize:vertical;padding:10px 12px;min-height:43px;font-size:12px;color:#4c435c}.task-note textarea:disabled{opacity:1;color:#766e83}.task-status{font-size:10px;color:var(--green);margin:6px 0 0 58px}.free-tag{font-size:10px;color:#998155;background:#fbf4df;padding:5px 9px;border-radius:7px}.task.free{background:#fbfaf6;border-style:dashed}.task.free p{font-size:11px;color:#9a8f79;margin-top:5px}.closing-note{text-align:center;font-size:12px;color:#817890;line-height:1.8;margin:23px 0}.closing-note span{font-size:11px}.reward-card,.calendar-card{border:1px solid var(--border);border-radius:22px;padding:25px;background:white;margin-bottom:20px}.reward-card{text-align:center;background:#fffcf5;border-color:#f0e6ce}.reward-card .eyebrow{font-size:9px;color:#a98c52}.trophy{font-size:52px;line-height:1.4;margin:15px 0 8px}.reward-card h2{font-size:19px;margin-bottom:13px}.reward-card p{font-size:11px;color:#9a8d71;line-height:1.6}.score{margin:8px 0 15px}.score strong{font-size:42px;letter-spacing:-2px;color:#857047}.score span{font-size:21px;color:#b6a88f}.reward-card progress{background:#efe7d7;margin-bottom:12px}.reward-card progress::-webkit-progress-bar{background:#efe7d7}.reward-card progress::-webkit-progress-value{background:#d6b56f}.reward-target{border-top:1px solid #eee5d2;margin-top:19px;padding-top:16px;font-size:15px}.reward-target span{font-size:10px;color:#a68f63;margin-left:3px}.calendar-heading{display:flex;justify-content:space-between}.calendar-heading h2{font-size:16px}.calendar-heading>span{color:#ac98d6}.month-navigation{display:flex;align-items:center;justify-content:space-between;margin:10px 0}.month-navigation button{background:transparent;font-size:24px;color:#a196b4;width:35px}.month-navigation strong{font-size:12px;text-transform:capitalize}.weekdays,.calendar{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}.weekdays{font-size:10px;color:#a69eaf;text-align:center;margin-bottom:8px}.calendar button,.calendar .blank{min-height:30px;height:30px;font-size:11px;background:transparent;border-radius:9px;color:#776e85;padding:0}.calendar button.today{border:1px solid #9b85c8;color:#745cb0}.calendar button.positive{background:#e3f3eb;color:#318765}.calendar button.negative{background:#fbe9e8;color:#bc7272}.calendar button.future{color:#c9c4cf}.calendar .score-mark{font-size:8px;display:block;line-height:8px}.legend{display:flex;gap:11px;font-size:8px;color:#9a91a5;margin-top:17px;justify-content:center}.legend i{display:inline-block;width:6px;height:6px;border-radius:50%;background:#e5e0ec;margin-right:4px}.legend i.green{background:#8cc8a7}.legend i.red{background:#e4a0a0}.calendar-note{font-size:10px;text-align:center;color:#a098ab;margin-top:15px;line-height:1.5}.tip-card{background:#f0edf8;border-radius:17px;padding:19px;display:flex;gap:12px}.tip-card>span{font-size:23px}.tip-card h3{font-size:12px;margin:2px 0 7px}.tip-card p{font-size:11px;color:#8b7e9d;line-height:1.65}footer{margin-top:25px;padding:22px 0;border-top:1px solid var(--border);font-size:11px;color:#a49aae;display:flex;justify-content:space-between}.login-wrap{display:grid;grid-template-columns:1fr 1fr;min-height:100vh}.welcome{background:#eee8fb;padding:40px 9%;position:relative;overflow:hidden}.welcome-content{max-width:420px;margin:65px auto 0}.welcome h1{font-size:clamp(36px,4.1vw,60px);line-height:1.14;letter-spacing:-2px;margin:19px 0}.welcome h1 em{font-style:normal;color:#8b71c8}.welcome p{color:#8e80a5;font-size:16px;line-height:1.8}.orbit{position:relative;width:280px;height:245px;margin:20px auto}.orbit-star{font-size:170px;position:absolute;left:70px;top:7px;color:#edc46c;transform:rotate(-10deg);text-shadow:0 12px 0 #d8b65e33}.float{position:absolute;display:grid;place-items:center;background:#ffffffaa;border-radius:22px;width:62px;height:62px;font-size:30px;box-shadow:0 9px 25px #7f639018}.one{top:25px;left:0;transform:rotate(-12deg)}.two{right:0;bottom:20px;transform:rotate(9deg)}.three{bottom:0;left:10px;transform:rotate(-7deg)}.spark{position:absolute;right:4px;top:5px;color:#a58ac8;font-size:33px}.welcome-note{display:block;text-align:center;color:#a494b5;font-size:11px}.login-side{display:grid;place-items:center;padding:35px}.login-card{width:100%;max-width:340px}.hello{font-size:32px}.login-card h2{font-size:28px;letter-spacing:-.7px;margin:13px 0 8px}.login-card>p{font-size:13px;color:var(--muted);margin-bottom:30px}.login-card label{font-size:12px;font-weight:650;display:block;margin:18px 0 8px}.login-card input{width:100%;background:white;border:1px solid #e4dfec;border-radius:11px;padding:14px;font-size:13px}.password-wrap{position:relative}.password-wrap input{padding-right:77px}.password-wrap button{position:absolute;right:8px;top:2px;background:transparent;font-size:11px;color:#9788af}.remember{color:#9485ac;font-size:10px;margin-top:13px}.primary{display:flex;justify-content:space-between;background:#8068be;color:white;border-radius:11px;padding:15px 18px;width:100%;font-size:13px;font-weight:650}.login-foot{font-size:11px;text-align:center;color:#a498b3;margin-top:25px}.login-card .error{margin:12px 0;font-size:12px;color:#b05d66}.error{background:#fff1f0;color:#a24d55;padding:12px;border-radius:9px;font-size:12px;margin-bottom:16px}.error:empty{display:none}.loading{position:fixed;inset:0;display:grid;place-items:center;color:#8068be;background:#f8f7fc}dialog{border:1px solid var(--border);border-radius:20px;padding:24px;max-width:540px;width:calc(100% - 32px);max-height:85vh;color:#43384f}dialog::backdrop{background:#30253e66}.dialog-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.dialog-heading h2{font-size:18px}.dialog-heading button{background:#f4f0fa;border-radius:9px;width:40px}.history-row{border-bottom:1px solid var(--border);padding:12px 0;font-size:13px}.history-row p{font-size:12px;margin-top:6px;color:#8b7b97;white-space:pre-wrap;overflow-wrap:anywhere}#confetti{position:fixed;inset:0;pointer-events:none;overflow:hidden;z-index:10}.confetto{position:absolute;top:-40px;font-size:25px;animation:fall 3.5s ease-in forwards}.unlocked{box-shadow:0 0 0 3px #e5c67155}@keyframes fall{to{transform:translateY(110vh) rotate(600deg)}}@media(max-width:850px){.dashboard{grid-template-columns:minmax(0,1fr) 280px;gap:18px}.greeting h1{font-size:25px}.profile{display:none}.reward-card,.calendar-card{padding:20px}.header-actions{gap:8px}}@media(max-width:680px){header{padding:15px 18px;gap:8px;flex-wrap:wrap}.brand{font-size:17px}.brand-icon{width:37px;height:37px;font-size:25px}.brand small{font-size:9px}.header-actions{gap:7px}.header-actions #sync{position:absolute;top:76px;right:20px;font-size:10px}.quiet{font-size:12px}.icon-button{border:0;width:28px}main{padding:37px 16px 0}.greeting{margin-bottom:23px}.greeting h1{font-size:25px;margin-top:11px}.greeting p{font-size:12px}.eyebrow{font-size:9px}.dashboard{display:flex;flex-direction:column;gap:6px}.progress-card{padding:20px;gap:15px}.progress-card h2{font-size:17px}.progress-ring{width:70px;height:70px}.progress-ring strong{font-size:20px}.task{padding:16px}.task-note{margin-left:0}.task h3{font-size:13px}.task-status{margin-left:0}.section-heading>span{font-size:10px}aside{display:grid;grid-template-columns:1fr;gap:16px}.reward-card,.calendar-card{margin:0}.reward-card{padding:24px}.trophy{margin:8px 0;font-size:40px}.reward-card h2{margin-bottom:10px}.reward-target{margin-top:14px}.calendar button{height:38px}.calendar .score-mark{line-height:11px}.legend{font-size:10px}.calendar-note{font-size:11px}footer{font-size:9px}.login-wrap{grid-template-columns:1fr}.welcome{padding:23px}.welcome-content{margin:25px auto 0;max-width:350px}.welcome h1{font-size:34px;letter-spacing:-1px}.welcome-content>.eyebrow{font-size:8px}.welcome p,.orbit,.welcome-note{display:none}.welcome h1 br{display:none}.welcome h1{margin-bottom:6px}.login-side{padding:28px 25px 40px;align-items:start}.hello{display:none}.login-card h2{font-size:24px}.login-card>p{margin-bottom:20px}.free-tag{font-size:8px;padding:5px}.greeting h1 span{font-size:22px}}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
