@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{font-family:'DM Sans',sans-serif;color:#202a38;background:#f4f6fa;font-size:16px;--blue:#254fd4;--muted:#647083;--line:#e0e5ef}*{box-sizing:border-box}body{margin:0}.shell{max-width:1240px;margin:auto;padding:0 40px}header{display:flex;align-items:center;justify-content:space-between;padding:28px 0;border-bottom:1px solid var(--line)}.brand{font-family:Manrope,sans-serif;font-weight:800;font-size:25px;letter-spacing:-1px;color:inherit;text-decoration:none;display:flex;align-items:center;gap:10px}.logo{display:grid;place-items:center;background:var(--blue);color:white;width:39px;height:39px;border-radius:12px;font-size:29px}.tag{font:600 12px 'DM Sans',sans-serif;letter-spacing:1.5px;margin-left:20px;color:var(--muted)}button,select,input,textarea{font:inherit}button{cursor:pointer;border:1px solid var(--line);border-radius:9px;padding:10px 15px;background:white;color:#28354c;font-weight:600}button:hover{background:#eef2ff;border-color:#9bade9}button:disabled{cursor:default;opacity:.5}.primary{background:var(--blue);color:white;border-color:var(--blue)}.primary:hover{background:#1e40ae;color:white}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #dc9c23;outline-offset:3px}.intro{display:flex;justify-content:space-between;align-items:center;padding:44px 0 38px;gap:36px}.eyebrow{font-size:12px;font-weight:700;letter-spacing:1.7px;color:var(--muted)}h1{font:800 46px/1.14 Manrope,sans-serif;letter-spacing:-2px;margin:14px 0}h1 em{font-style:normal;color:var(--blue)}p{line-height:1.6}h2{font:800 20px Manrope,sans-serif;margin:0}h3{margin:0;font-size:17px}.intro p,.muted{color:var(--muted)}.level{background:#172c66;color:white;border-radius:20px;padding:26px;width:315px;flex-shrink:0;box-shadow:0 12px 35px #172c6615}.level .eyebrow,.level p{color:#c8d3f4}.level h2{font-size:28px;margin:12px 0 20px}.level p{font-size:14px;margin:10px 0}.level>span:last-child{display:inline-block;background:#ffffff15;padding:6px 10px;border-radius:7px;font-size:14px}.bar{height:7px;background:#e2e7f3;border-radius:5px;overflow:hidden}.bar i{height:100%;display:block;background:#527bfa;transition:width .3s}.level .bar{background:#ffffff22}.level .bar i{background:#aed9ff}.columns{display:grid;grid-template-columns:minmax(0,1fr) 325px;gap:30px}.sectionhead{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:18px}.pill{font:500 14px 'DM Sans';background:#e8edfb;color:var(--blue);padding:4px 8px;border-radius:6px;margin-left:5px}.budget{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:14px}select{border:1px solid var(--line);padding:9px;border-radius:8px;background:white;color:#202a38}.quest,.card,.goal{background:white;border:1px solid var(--line);border-radius:15px}.quest{display:flex;gap:15px;padding:21px;margin-bottom:12px;align-items:flex-start}.check{flex-shrink:0;width:29px;height:29px;padding:0;border:2px solid #bdc9e2;border-radius:50%;color:var(--blue)}.quest.done .check{background:var(--blue);color:white;border-color:var(--blue)}.quest.done h3{text-decoration:line-through;color:var(--muted)}.questbody{flex:1;min-width:0}.quest h3{line-height:1.45;overflow-wrap:anywhere}.quest p{margin:5px 0 12px;font-size:14px;color:var(--muted)}.questactions{display:flex;gap:9px;align-items:center;flex-wrap:wrap}.questactions button{font-size:14px;padding:6px 10px}.xpchip{color:#a46a00;font-weight:700;font-size:14px}.card{padding:23px;margin-bottom:20px}.card p{font-size:14px}.momentum{background:#eaf0fe;border-color:#d9e3ff}.momentum h2{margin:14px 0}.week{display:flex;justify-content:space-between;gap:5px}.day{text-align:center;font-size:12px;color:var(--muted)}.day b{width:30px;height:30px;display:grid;place-items:center;background:white;border-radius:50%;margin:5px 0 7px;color:#8b98ae}.day.active b{background:var(--blue);color:white}.coin{font-size:14px;font-weight:700;color:#94610c;background:#fff2cf;border-radius:6px;padding:6px 8px}.reward{border-bottom:1px solid var(--line);padding:13px 0;display:flex;gap:12px;align-items:center;justify-content:space-between;font-size:14px}.reward button{padding:7px 9px;font-size:14px;white-space:nowrap}label{display:block;font-size:14px;font-weight:600;margin:16px 0 7px}input,textarea{width:100%;border:1px solid #ccd4e2;border-radius:8px;padding:11px;background:white;color:#202a38}textarea{resize:vertical;line-height:1.65}.inline{display:flex;gap:12px;align-items:end}.inline>div{flex:1}.inline input{width:85px}.inline button{flex:1}.inline select{width:100%}form>.inline{margin-bottom:16px}#rewardform .inline{margin-top:9px}.goalshead{margin-top:35px}.goalshead>span{font-size:14px;color:var(--muted)}.goal{padding:22px;margin-bottom:14px}.goal summary{cursor:pointer;list-style:none}.goal summary h3{display:flex;justify-content:space-between;gap:16px}.goal summary p{font-size:14px;color:var(--muted);margin:9px 0 14px}.goal summary span{font-size:14px;color:var(--blue);white-space:nowrap}.goal ol{padding-left:22px;font-size:14px;line-height:1.8}.goal li{padding:6px 0;overflow-wrap:anywhere}.goal li.completed{text-decoration:line-through;color:var(--muted)}.goaltools{display:flex;gap:8px;flex-wrap:wrap}.goaltools button{font-size:14px}.empty{padding:35px 25px;background:white;border:1px dashed #b6c5e4;border-radius:15px}.empty h3{margin-bottom:9px}.empty p{color:var(--muted)}.focus{background:#172c66;color:white;padding:25px;border-radius:15px;margin:20px 0}.focus .eyebrow{color:#aebfe9}.focus h3{margin:12px 0}.focus strong{display:block;font:800 48px Manrope;margin-top:15px}.focus p{color:#d1daf0;font-size:14px}.badge{padding:13px 0;border-bottom:1px solid var(--line);font-size:14px;color:#8993a3}.badge.earned{color:var(--blue);font-weight:700}.storage{font-size:12px;line-height:1.8;color:var(--muted)}.textbutton{border:0;padding:0;background:none;font-size:12px;color:var(--blue)}footer{display:flex;justify-content:space-between;border-top:1px solid var(--line);margin-top:44px;padding:25px 0;color:var(--muted);font-size:12px;letter-spacing:1px}dialog{border:1px solid var(--line);border-radius:18px;width:min(600px,calc(100% - 28px));padding:28px;max-height:90vh}dialog::backdrop{background:#12234d80;backdrop-filter:blur(3px)}dialog .muted{font-size:14px}dialog .primary{margin-top:18px;width:100%}#toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);background:#152955;color:white;padding:15px 23px;border-radius:12px;box-shadow:0 5px 30px #0002;z-index:10;max-width:90%;display:none}#toast.show{display:block}@media(max-width:900px){.columns{grid-template-columns:1fr}.tag{display:none}aside{display:grid;grid-template-columns:1fr 1fr;gap:18px}.card{margin:0}.intro{gap:20px}h1{font-size:39px}.level{width:270px}.storage{grid-column:1/-1}}@media(max-width:600px){.shell{padding:0 18px}header{padding:20px 0}.brand{font-size:21px}header button{font-size:14px}.intro{display:block;padding:26px 0}.intro h1{font-size:38px}.level{width:100%;margin-top:24px;padding:22px}.level h2{margin:8px 0 14px}.columns{gap:24px}.sectionhead{flex-wrap:wrap}.budget{margin-top:0}aside{display:block}.card{margin-bottom:16px}.quest{padding:17px;gap:12px}footer span{display:none}dialog{padding:20px}.inline{flex-wrap:wrap}}@media(prefers-reduced-motion:reduce){*{transition:none!important}}

.locked .shell,.locked dialog{display:none}#loginpanel{max-width:430px;margin:70px auto;padding:32px}body:not(.locked) #loginpanel{display:none}.syncbar{display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;align-items:center;padding:14px 0;font-size:14px;color:#465777}#syncactions{width:100%}#syncactions[hidden]{display:none}#loginerror{color:#9d2334;font-size:14px}
