@font-face{font-family:DM Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/dm-sans-latin-400-normal-CW0RaeGs.woff2)format("woff2"),url(/assets/dm-sans-latin-400-normal-BwCSEQnW.woff)format("woff")}@font-face{font-family:DM Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/dm-sans-latin-500-normal-B9HHJjqV.woff2)format("woff2"),url(/assets/dm-sans-latin-500-normal-Dr3UlScf.woff)format("woff")}@font-face{font-family:DM Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/dm-sans-latin-600-normal-Aqo67rzb.woff2)format("woff2"),url(/assets/dm-sans-latin-600-normal-BmdmIIQ2.woff)format("woff")}@font-face{font-family:DM Sans;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/dm-sans-latin-700-normal-DvUfVpUG.woff2)format("woff2"),url(/assets/dm-sans-latin-700-normal-CUSSCpQX.woff)format("woff")}:root{color:#2e2942;font-synthesis:none;--accent:#7a61ae;--accent-dark:#624a96;--lavender:#efeaf7;--muted:#827b91;--line:#e9e5ef;--gold:#f4d187;background:#f8f7fa;font-family:DM Sans,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-weight:400}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button,a,label.file-button{-webkit-tap-highlight-color:transparent}button{cursor:pointer;color:inherit;touch-action:manipulation;background:0 0;border:0}button:disabled{cursor:default;opacity:.55}:is(button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible){outline-offset:3px;outline:3px solid #bca0e6}button{transition:background .18s,transform .18s,box-shadow .18s}button:active:not(:disabled){transform:scale(.975)}h1,h2,h3,h4,p{margin:0}h1{letter-spacing:-1.6px;font-family:Georgia,Times New Roman,serif;font-size:43px;font-weight:400;line-height:1.14}h2{letter-spacing:-.5px;font-size:19px;font-weight:600}h3{letter-spacing:-.25px;font-size:17px;font-weight:600}h4{margin:22px 0 12px;font-size:15px}p{line-height:1.6}small{font-size:12px}svg{flex-shrink:0}a{color:inherit;text-decoration:none}.theme-ocean{--accent:#49878d;--accent-dark:#326d73;--lavender:#e6f0f1}.app{min-height:100svh;display:flex}.sidebar{z-index:5;background:#f0edf6;border-right:1px solid #e6e1ed;flex-direction:column;width:208px;padding:36px 18px 24px;display:flex;position:fixed;top:0;bottom:0;left:0}.brand{letter-spacing:-.25px;align-items:center;gap:12px;padding:0 8px;font-size:15px;line-height:1.45;display:flex}.brand strong{white-space:nowrap;font-size:21px;font-weight:600}.brand-dot{color:var(--accent)}.brand-mark{width:35px;height:43px;color:var(--accent);place-items:center;display:grid;position:relative;transform:rotate(-12deg)}.little-spark{color:#b5a0d1;font-size:14px;position:absolute;top:0;right:-3px}.nav-caption{letter-spacing:1.6px;color:#9990a8;margin:50px 12px 18px;font-size:9px;font-weight:600}.sidebar nav{flex-direction:column;gap:10px;display:flex}.nav-button{text-align:left;white-space:nowrap;color:#7a728b;border-radius:12px;align-items:center;gap:12px;min-height:52px;padding:16px 14px;font-size:14px;font-weight:500;display:flex;position:relative}.nav-button.active{color:var(--accent-dark);background:#e3daf0;font-weight:600}.nav-button:hover{background:#e7e0f1}.nav-dot{background:var(--accent);border-radius:50%;width:5px;height:5px;margin-left:auto}.sidebar-bottom{margin-top:auto}.sidebar-note{color:#9184a7;padding:20px 12px 28px}.sidebar-note>span{margin-bottom:12px;font-family:Georgia;font-size:33px;display:block}.sidebar-note p{font-size:14px}.sidebar-note strong{color:#6e6089;font-weight:500}.parent-link{color:#81778f;align-items:center;gap:9px;min-height:44px;margin:0 auto;font-size:12px;display:flex}.parent-link svg:last-child{opacity:.6;margin-left:4px}.local-note{color:#9d94a8;justify-content:center;align-items:center;gap:6px;margin-top:10px;font-size:10px;display:flex}.local-note>span,.saved-dot{background:#8caa92;border-radius:50%;width:5px;height:5px;display:inline-block}.workspace{width:calc(100% - 208px);min-width:0;margin-left:208px}.topbar{border-bottom:1px solid var(--line);background:#faf9fc;justify-content:space-between;align-items:center;gap:16px;height:83px;padding:0 42px;display:flex}.date-label{color:var(--muted);align-items:center;gap:10px;font-size:12px;display:flex}.top-actions{align-items:center;gap:21px;display:flex}.bank-pill{background:#fff8e9;border:1px solid #f1e6c9;border-radius:30px;align-items:center;gap:8px;min-height:42px;padding:10px 16px;font-size:12px;display:flex}.star-icon{color:#c9a14f}.bank-pill strong{font-size:15px}.bank-pill span{color:#8c805f}.avatar{color:#8d689e;background:#e9dff1;border:3px solid #f5edf9;border-radius:50%;width:38px;height:38px;font-family:Georgia;font-size:20px}.workspace main{max-width:1320px;margin:0 auto;padding:34px 42px 20px}.page-heading{justify-content:space-between;align-items:center;gap:24px;min-height:96px;margin-bottom:28px;animation:.4s ease-out enter;display:flex}.eyebrow{letter-spacing:1.8px;color:var(--accent);align-items:center;gap:7px;margin-bottom:10px;font-size:9px;font-weight:600;display:flex}.hello-spark{color:#b89ecf;letter-spacing:0;font-size:37px}.page-heading p{color:var(--muted);margin-top:10px;font-size:13px}.today-ring{background:conic-gradient(var(--accent) var(--progress), #e9e2f2 0deg);border-radius:50%;flex-shrink:0;width:94px;height:94px;padding:5px;transition:background .5s}.today-ring>div{background:#f8f7fa;border-radius:50%;flex-direction:column;justify-content:center;align-items:center;gap:3px;width:100%;height:100%;display:flex}.today-ring strong{font-size:25px;font-weight:500;line-height:1}.today-ring small{color:#a197b0;font-size:15px}.today-ring span{color:#93869e;font-size:9px}.today-layout{grid-template-columns:minmax(0,1.65fr) minmax(245px,1fr);gap:28px;display:grid}.section-title{justify-content:space-between;align-items:center;gap:12px;margin:0 0 17px;display:flex}.section-title>span{color:#8f859b;font-size:11px}.task-list{flex-direction:column;gap:11px;display:flex}.task{text-align:left;background:#fff;border:1px solid #ece8f0;border-radius:15px;align-items:center;gap:17px;width:100%;min-height:91px;padding:14px 17px;animation:.45s both enter;display:flex;box-shadow:0 2px 5px #31224903}.task:nth-child(2){animation-delay:40ms}.task:nth-child(3){animation-delay:80ms}.task:nth-child(4){animation-delay:.12s}.task:nth-child(5){animation-delay:.16s}.task:hover:not(:disabled){border-color:#d4c6e6;transform:translateY(-1px);box-shadow:0 5px 20px #59317909}.task-art{color:#b47fa5;background:#f2e8f0;border-radius:13px;flex-shrink:0;place-items:center;width:50px;height:54px;display:grid}.task-1 .task-art{color:#799e8b;background:#e9f0ed}.task-2 .task-art{color:#c39866;background:#f7eddf}.task-3 .task-art{color:#8c8fc4;background:#e9eafa}.task-4 .task-art{color:#7d9dae;background:#e6eff4}.task-copy{flex-direction:column;flex:1;gap:4px;min-width:0;display:flex}.task-copy>strong{font-size:15px;font-weight:600}.task-copy>span:nth-child(2){color:#92899c;font-size:10.5px;line-height:1.4}.task-meta{color:#9b8da8;align-items:center;gap:4px;font-size:9px;line-height:1.5;display:flex}.task-meta>span{margin:0 3px}.task-control{flex-direction:column;flex-shrink:0;align-items:center;gap:5px;min-width:45px;display:flex}.task{position:relative}.task-details-trigger{border-radius:inherit;z-index:1;width:100%;height:100%;position:absolute;top:0;bottom:0;left:0;right:0}.task>.task-art,.task>.task-copy{z-index:2;pointer-events:none;position:relative}.task>.task-control{z-index:3;justify-content:center;align-self:stretch;min-width:58px;min-height:58px;padding:5px;position:relative}.completion-circle{color:#aa92c2;background:#fcfaff;border:1.5px solid #dcd0ed;border-radius:50%;place-items:center;width:33px;height:33px;display:grid}.task-control small{color:#9b8da8;align-items:center;gap:3px;font-size:9px;display:flex}.task.done{background:#f3eff8;border-color:#e4d9ee}.task.done .task-art{color:var(--accent);background:#e8deef}.task.done .task-copy>strong{color:#716185}.completion-check{color:#fff;background:#a18abd;border-radius:50%;place-items:center;width:33px;height:33px;animation:.35s ease-out pop;display:grid}.gentle-note{color:#988ba4;justify-content:center;align-items:center;gap:7px;margin-top:20px;font-size:11px;display:flex}.heart-mark{color:#ab97ba;font-family:Georgia;font-size:19px;line-height:1}.today-context{flex-direction:column;gap:17px;display:flex}.star-bank{color:#fff;background:#302944;border-radius:18px;min-height:185px;padding:24px;position:relative;overflow:hidden}.constellation{pointer-events:none;opacity:.8;width:280px;height:210px;position:absolute;top:-10px;right:-60px}.bank-label{color:#beb2d3;letter-spacing:1.6px;font-size:9px;position:relative}.big-balance{letter-spacing:-2px;align-items:center;gap:12px;margin-top:8px;font-size:56px;font-weight:500;line-height:1.2;display:flex;position:relative}.big-balance .star-icon{color:#f2d28d}.star-bank p{color:#beb3cf;margin-top:5px;font-size:10px;position:relative}.star-bank button{color:#e2d6f2;align-items:center;gap:12px;min-height:26px;margin-top:18px;padding:0;font-size:10px;display:flex;position:relative}.goal-card{background:#f2edf8;border:1px solid #e8dff1;border-radius:18px;padding:20px 22px;position:relative}.goal-card .eyebrow{letter-spacing:1.3px;margin-bottom:0;font-size:8px}.goal-art{color:#ad8caf;justify-content:center;align-items:center;height:76px;display:flex;position:relative}.goal-art:before{content:"";background:#e8dced;border-radius:50%;width:66px;height:66px;position:absolute}.goal-art svg{position:relative;transform:rotate(-7deg)}.goal-art span,.goal-art i{color:#c5a5ca;font-size:16px;font-style:normal;position:absolute;top:21%;right:28%}.goal-art i{font-size:21px;top:60%;left:23%}.goal-card h3{text-align:center;margin-top:2px;font-family:Georgia;font-size:20px;font-weight:400}.goal-card p{color:#98a;text-align:center;margin:7px 0 13px;font-size:10px}.goal-card p strong{color:#817193;font-weight:500}.meter{background:#e5ddef;border-radius:8px;flex:1;height:5px;overflow:hidden}.meter>span{background:#a98dc9;border-radius:8px;height:100%;transition:width .5s;display:block}.goal-foot{justify-content:space-between;align-items:center;margin-top:8px;display:flex}.goal-foot>span{color:#9b88ad;align-items:center;gap:4px;font-size:10px;display:flex}.goal-foot strong{color:var(--accent)}.goal-foot button{color:var(--accent);place-items:center;width:35px;height:28px;display:grid}.weekly-mini{gap:15px;padding:2px;display:flex}.weekly-mini>div{flex:1}.weekly-mini>svg{color:#c1afd1;margin-top:7px}.weekly-mini h3{justify-content:space-between;align-items:center;gap:10px;margin-bottom:12px;font-size:12px;display:flex}.weekly-mini h3>span{align-items:center;gap:4px;font-size:13px;font-weight:500;display:flex}.weekly-mini small{color:#9e93aa;font-size:10px}.weekly-mini p{color:#9c8da9;margin-top:9px;font-size:9px;line-height:1.6}.main-footer{color:#aaa1b3;justify-content:space-between;align-items:center;padding-top:26px;font-size:9px;display:flex}.main-footer>span{align-items:center;gap:6px;display:flex}.main-footer button{color:#998da7;align-items:center;gap:5px;min-height:32px;font-size:9px;display:flex}.primary,.secondary{border-radius:10px;justify-content:center;align-items:center;gap:8px;min-height:44px;padding:12px 17px;font-size:12px;font-weight:600;display:inline-flex}.primary{background:var(--accent);color:#fff}.primary:hover:not(:disabled){background:var(--accent-dark)}.secondary{color:var(--accent-dark);background:#f5f1fa;border:1px solid #e5dbef}.secondary:hover:not(:disabled){background:#ebe2f5}.text-button{color:var(--accent);justify-content:center;align-items:center;gap:7px;min-height:44px;padding:8px 0;font-size:12px;display:inline-flex}.full{width:100%}.muted{color:var(--muted);font-size:13px;line-height:1.7}.stars-layout{grid-template-columns:1fr 1.1fr;gap:30px;display:grid}.star-bank.large{min-height:263px;padding:32px}.large .big-balance{margin-top:20px;font-size:83px}.large .constellation{opacity:.7;width:390px;height:300px;top:-5px;right:-55px}.large p{font-size:12px}.large button{margin-top:24px;font-size:12px}.star-stats{grid-template-columns:1fr 1fr;gap:24px;padding:8px 0;display:grid}.star-stats>div{border-left:1px solid var(--line);flex-direction:column;gap:10px;padding:9px 15px;display:flex}.star-stats>div>span{color:var(--muted);font-size:12px}.star-stats strong{align-items:center;gap:8px;font-size:34px;font-weight:500;display:flex}.star-stats small{color:#a097ab;font-size:10px}.bank-details{grid-template-columns:1fr 1.1fr;gap:30px;margin-top:35px;display:grid}.bonus-explainer{background:#f0ebf7;border-radius:16px;padding:24px}.bonus-explainer>p{color:#91839f;font-size:12px}.bonus-explainer svg{color:var(--accent)}.bonus-tiers{grid-template-columns:repeat(3,1fr);gap:6px;margin-top:24px;display:grid}.bonus-tiers>div{text-align:center;border-radius:12px;flex-direction:column;gap:7px;padding:14px 5px;display:flex}.bonus-tiers strong{color:#776585;font-size:24px;font-weight:500}.bonus-tiers span{color:#998aa6;font-size:10px}.bonus-tiers small{color:#8c779f;font-size:9px}.bonus-tiers .reached{background:#e1d4ef}.ledger{flex-direction:column;display:flex}.ledger-row{border-bottom:1px solid var(--line);align-items:center;gap:12px;padding:13px 0;font-size:12px;display:flex}.ledger-row>div{flex:1;min-width:0}.ledger-row strong{overflow-wrap:anywhere;font-weight:500;display:block}.ledger-row small{color:#9c90a7;overflow-wrap:anywhere;margin-top:5px;font-size:10px;display:block}.ledger-row b{align-items:center;gap:4px;font-weight:500;display:flex}.positive{color:#7c649f}.ledger-icon{background:#fff5df;border-radius:50%;place-items:center;width:32px;height:32px;display:grid}.saving-banner{background:#eeebf6;border-radius:14px;align-items:center;gap:16px;margin-bottom:23px;padding:18px 22px;display:flex}.banner-icon{color:#a18aba;place-items:center;display:grid}.saving-banner strong{color:#75618f;font-size:13px;font-weight:600}.saving-banner p{color:#98a;margin-top:4px;font-size:11px}.banner-stars{color:#bba3d0;white-space:nowrap;margin-left:auto;font-size:24px}.shop-filters{scrollbar-width:thin;gap:7px;padding:0 0 17px;display:flex;overflow:auto}.shop-filters button{white-space:nowrap;color:#9b8da8;border-radius:25px;min-height:40px;padding:10px 14px;font-size:10px}.shop-filters button.selected{color:var(--accent-dark);background:#e8dff1}.shop-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:19px;display:grid}.reward-card{background:#fff;border:1px solid #ebe5f0;border-radius:17px;flex-direction:column;transition:transform .2s,border-color .2s;display:flex;overflow:hidden}.reward-card.saving{border-color:#b99acf;box-shadow:0 0 0 2px #b99acf14}.reward-visual{color:#8f75ae;background:#e8e1f1;place-items:center;height:180px;display:grid;position:relative;overflow:hidden}.reward-photo{object-fit:cover;width:100%;height:100%;transition:transform .45s;display:block;position:absolute;top:0;bottom:0;left:0;right:0}.reward-card:hover .reward-photo{transform:scale(1.035)}.reward-visual>svg{z-index:1;transition:transform .3s;position:relative;transform:rotate(-6deg)}.reward-card:hover .reward-visual>svg{transform:rotate(2deg)translateY(-3px)}.reward-orbit{background:#fff3;border-radius:50%;width:126px;height:126px;position:absolute;transform:translate(20px,10px);box-shadow:0 0 0 22px #fff2}.reward-doodle{opacity:.6;font-family:Georgia;font-size:32px;position:absolute;top:20%;left:20%}.reward-doodle.second{font-size:21px;top:60%;left:auto;right:15%}.reward-1 .reward-visual{color:#bc8e9b;background:#f6e7e8}.reward-2 .reward-visual{color:#bda16e;background:#f2ebdc}.reward-3 .reward-visual{color:#82a699;background:#e2ece9}.reward-4 .reward-visual{color:#889fc2;background:#e3e9f5}.saving-tag{color:#704889;z-index:2;background:#fffffff2;border-radius:20px;align-items:center;gap:5px;padding:7px 10px;font-size:10px;display:flex;position:absolute;bottom:10px;left:10px;box-shadow:0 2px 12px #231c3a18}.reward-info{flex-direction:column;flex:1;padding:19px 18px 16px;display:flex}.reward-category{text-transform:uppercase;letter-spacing:1.15px;color:#a49aac;font-size:8px}.reward-info h3{margin-top:9px;font-family:Georgia;font-size:20px;font-weight:400;line-height:1.2}.reward-info p{color:#9b8fa4;min-height:33px;margin-top:9px;font-size:10px}.reward-price{justify-content:space-between;align-items:center;gap:5px;margin-top:19px;margin-bottom:14px;display:flex}.reward-price strong{align-items:center;gap:5px;font-size:18px;font-weight:500;display:flex}.reward-actions{flex-direction:column;gap:5px;margin-top:auto;display:flex}.reward-actions>.secondary,.saved-goal{width:100%;min-height:40px;font-size:10px}.saved-goal{color:var(--accent);background:#ede4f6;border-radius:10px;justify-content:center;align-items:center;gap:6px;display:flex;opacity:1!important}.redeem-button{min-height:35px;color:var(--accent);justify-content:center;align-items:center;gap:5px;font-size:9px;display:flex}.reward-history{margin-top:36px}.history-list>div,.parent-request{border-bottom:1px solid var(--line);align-items:center;gap:13px;padding:16px 0;display:flex}.history-list>div>div,.parent-request>div:not(.inline-actions){flex:1;min-width:0}.history-list strong,.parent-request strong{overflow-wrap:anywhere;font-size:13px;display:block}.history-list small,.parent-request small{color:#9c90a7;margin-top:5px;font-size:10px;display:block}.reward-small-icon{color:#a387b8;background:#eee5f6;border-radius:12px;flex-shrink:0;place-items:center;width:44px;height:44px;display:grid}.status{color:#9b8aa8;text-align:right;max-width:130px;font-size:10px}.status.approved,.status.delivered{color:#7f9e89}.progress-layout{grid-template-columns:minmax(0,1.8fr) minmax(220px,1fr);gap:26px;margin-bottom:34px;display:grid}.calendar-panel{border:1px solid var(--line);background:#fff;border-radius:18px;padding:20px}.calendar-heading{justify-content:space-between;align-items:center;margin-bottom:15px;display:flex}.calendar-heading h2{font-size:17px}.icon-button{color:#9a87ad;border-radius:10px;flex-shrink:0;place-items:center;width:42px;height:42px;display:inline-grid}.icon-button:hover{background:#f0eaf7}.calendar-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:7px;display:grid}.weekday{text-align:center;color:#afa3b7;margin:7px 0 6px;font-size:10px}.calendar-day{color:#9c8fa9;background:#f7f5fa;border-radius:11px;flex-direction:column;justify-content:center;align-items:center;gap:6px;min-height:50px;font-size:11px;display:flex}.calendar-day strong{color:#9477aa;align-items:center;gap:3px;font-size:10px;font-weight:500;display:flex}.calendar-day small{color:#cfc5d8;font-size:10px;line-height:1}.calendar-day.level-1,.calendar-day.level-2{background:#f0e9f7}.calendar-day.level-3,.calendar-day.level-4{background:#e6d9f0}.calendar-day.level-5{color:#75568f;background:#ddd0ee}.calendar-day.level-5 .star-icon{color:#9a78ba}.calendar-day.is-today{outline-offset:1px;outline:1.5px solid #b89acf}.calendar-day.future{opacity:.45}.calendar-legend{color:#9f90ad;justify-content:center;align-items:center;gap:18px;margin-top:20px;font-size:8px;display:flex}.calendar-legend span{align-items:center;gap:5px;display:flex}.calendar-legend i{background:#f0ecf5;border-radius:3px;width:8px;height:8px}.calendar-legend i.some{background:#e9dff2}.calendar-legend i.full-day{background:#c6b0de}.monthly-summary{background:#eee9f6;border-radius:18px;padding:28px 24px;position:relative;overflow:hidden}.monthly-summary h2{font-family:Georgia;font-size:29px;font-weight:400}.month-total{flex-wrap:wrap;align-items:center;gap:8px;margin:25px 0;display:flex}.month-total strong{letter-spacing:-2px;font-size:53px;font-weight:500;line-height:1}.month-total>span{color:#9b89ac;width:100%;margin-top:2px;font-size:11px}.month-detail{color:#9884aa;border-top:1px solid #ded5e9;justify-content:space-between;gap:10px;padding:13px 0;font-size:10px;display:flex}.month-detail b{color:#826996;font-weight:500}.monthly-summary>p{color:#9985aa;max-width:150px;margin-top:25px;font-size:10px}.month-spark{color:#c7b5d8;position:absolute;bottom:18px;right:20px;transform:rotate(-15deg)}.badges{grid-template-columns:repeat(7,minmax(0,1fr));gap:10px;display:grid}.badge{text-align:center;color:#a99bb5;flex-direction:column;align-items:center;gap:10px;padding:15px 4px;display:flex}.badge>span{color:#c1b4ce;background:#eeebf2;border:3px solid #f6f3f9;border-radius:50%;place-items:center;width:55px;height:55px;display:grid}.badge strong{min-height:26px;font-size:10px;font-weight:500}.badge small{color:#b3a5bf;font-size:8px}.badge .star-icon{color:inherit}.badge.unlocked{color:#9370ac}.badge.unlocked>span{color:#aa7cb9;background:#e8d8f3;border-color:#f1e7f8}.badge.unlocked small{color:#a186b5}.weekly-summaries{margin-top:25px}.week-row{border-bottom:1px solid var(--line);align-items:center;gap:20px;padding:18px 0;display:flex}.week-row>div:first-child{flex-shrink:0;width:150px}.week-row strong{font-size:12px;font-weight:500}.week-row small{color:#ac9ab8;margin-top:4px;font-size:9px;display:block}.week-row>b{align-items:center;gap:5px;font-size:13px;font-weight:500;display:flex}.week-row>span{color:#a490b5;width:110px;font-size:10px}.empty{text-align:center;color:#a18dae;background:#f2eef7;border-radius:14px;flex-direction:column;justify-content:center;align-items:center;gap:12px;padding:28px 18px;display:flex}.empty p{max-width:290px;font-size:12px}.toast{z-index:15;color:#8b7554;white-space:nowrap;background:#fffdf7;border:1px solid #eee1c3;border-radius:16px;align-items:center;gap:12px;max-width:calc(100% - 36px);padding:14px 20px;font-size:12px;animation:.3s ease-out toast-in;display:flex;position:fixed;bottom:26px;left:calc(50% + 104px);transform:translate(-50%);box-shadow:0 10px 35px #3824441c}.toast-star{place-items:center;animation:.6s ease-out star-hop;display:grid}.toast-spark{color:#d7b269;font-size:21px}.modal{color:#302740;background:#fcfbfe;border:1px solid #e5daee;border-radius:22px;width:calc(100% - 40px);max-width:450px;max-height:85svh;padding:28px;overflow:auto;box-shadow:0 24px 100px #20133230}.modal.wide{max-width:850px}.modal::backdrop{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#24203766}.modal-heading{justify-content:space-between;align-items:center;gap:15px;margin-bottom:17px;display:flex}.modal-heading h2{font-family:Georgia;font-size:26px;font-weight:400}.modal-heading .icon-button{width:40px;height:40px}.modal form{margin-top:18px}.modal label{color:#92809f;flex-direction:column;gap:8px;margin-bottom:16px;font-size:11px;display:flex}.modal input,.modal textarea,.modal select{color:#50405e;background:#fff;border:1px solid #ded2e9;border-radius:9px;width:100%;min-width:0;min-height:45px;padding:11px 12px;font-size:13px}.modal input[type=checkbox]{width:18px;height:18px;min-height:0;accent-color:var(--accent);margin:0}.form-error{color:#9a5b7a;background:#f9eef3;border-radius:9px;margin:10px 0 18px;padding:12px;font-size:12px}.wish-list{flex-direction:column;gap:0;margin-top:20px;display:flex}.wish-list>div{border-bottom:1px solid var(--line);padding:13px 0}.wish-list>div>span{align-items:center;gap:9px;font-size:13px;display:flex}.wish-list small{color:#a18aaf;margin-top:7px;padding-left:25px;font-size:10px;display:block}.redeem-art{color:#a283b5;background:#f0e7f6;border-radius:14px;place-items:center;height:106px;margin-bottom:18px;display:grid}.center{text-align:center}.redemption-math{flex-direction:column;gap:16px;margin:24px 0;display:flex}.redemption-math>div{color:#a18aae;justify-content:space-between;align-items:center;font-size:12px;display:flex}.redemption-math strong{color:#7d6290;align-items:center;gap:6px;font-size:17px;font-weight:500;display:flex}.redemption-math>div:last-child{border-top:1px solid var(--line);padding-top:16px}.modal .primary.full{margin-top:14px}.how-steps>div{align-items:flex-start;gap:17px;margin:25px 0;display:flex}.how-steps b{color:#9c7fb2;background:#e9e0f3;border-radius:50%;flex-shrink:0;place-items:center;width:34px;height:34px;font-weight:500;display:grid}.how-steps h3{margin:3px 0 7px;font-size:15px}.how-steps p{color:#9c8aa9;font-size:12px}.parent-intro{color:#9b84ac;align-items:center;gap:8px;margin-bottom:20px;font-size:12px;display:flex}.parent-intro strong{color:#7f6295;align-items:center;gap:5px;margin-left:auto;display:flex}.parent-tabs{border-bottom:1px solid var(--line);gap:4px;padding-bottom:10px;display:flex;overflow:auto}.parent-tabs button{white-space:nowrap;color:#9a83ac;border-radius:8px;align-items:center;gap:6px;min-height:42px;padding:10px 12px;font-size:11px;display:flex}.parent-tabs button.selected{color:#7d5e95;background:#eae0f5}.request-dot{background:#ad7b90;border-radius:50%;width:5px;height:5px}.parent-content{padding-top:24px}.parent-content>h3{margin-bottom:8px}.save-message{color:#799784;background:#edf4ef;border-radius:8px;align-items:center;gap:8px;margin-bottom:17px;padding:10px 13px;font-size:11px;display:flex}.editor-heading{justify-content:space-between;align-items:center;gap:20px;margin-bottom:20px;display:flex}.editor-heading p{margin-top:6px;font-size:12px}.editor-heading>.secondary{flex-shrink:0}.form-grid{grid-template-columns:1fr 1fr;gap:0 16px;display:grid}.span-two{grid-column:span 2}.info-note{color:#9e8cac;background:#f1ebf7;border-radius:10px;margin:15px 0;padding:13px 16px;font-size:11px;line-height:1.7}.task-editor{background:#fff;border:1px solid #e6dcec;border-radius:13px;margin:14px 0;padding:16px}.task-editor.inactive{background:#f7f4fa}.task-editor-title{color:#a385b5;align-items:center;gap:10px;margin-bottom:16px;font-size:13px;display:flex}.task-editor-title>.inline-actions{margin-left:auto}.modal .checkbox-label{flex-direction:row;align-items:center;gap:9px;margin:0 0 0 12px;font-size:11px;display:flex}.task-editor-title .icon-button{width:35px;height:35px}.inline-actions{flex-wrap:wrap;align-items:center;gap:7px;display:flex}.task-fields label:first-child,.task-fields label:nth-child(3){grid-column:1}.task-fields label:nth-child(2){grid-area:1/2}.task-fields label:nth-child(4){grid-area:2/2}.scheduled-sets>div{border-bottom:1px solid var(--line);padding:12px 0;font-size:11px}.scheduled-sets strong{font-weight:500}.scheduled-sets span{float:right;color:#a38bb3;font-size:10px}.scheduled-sets p{color:#a392af;margin-top:6px;font-size:10px}.reward-editor{border:1px solid var(--line);background:#fff;border-radius:13px;padding:18px}.parent-request>.inline-actions .primary,.parent-request>.inline-actions .secondary{padding:10px 12px;font-size:10px}.parent-request>svg{color:#a185b3}.parent-rewards{margin-top:20px}.adjust-form{border:1px solid var(--line);background:#fff;border-radius:14px;margin-bottom:20px;padding:18px}.parent-ledger{max-height:350px;overflow:auto}.modal .setting-checkbox{margin:10px 0 20px}.economics{border-top:1px solid var(--line);margin-top:25px}.economics>p{color:#9e8bac;font-size:11px}.economics>div{grid-template-columns:repeat(4,1fr);gap:12px;margin-top:15px;display:grid}.economics span{color:#9b7caf;text-align:center;background:#eee7f6;border-radius:9px;flex-direction:column;gap:8px;padding:14px 8px;font-size:12px;display:flex}.economics strong{font-weight:500}.economics small{font-size:11px}.backup-actions{gap:13px;margin:24px 0;display:flex}.modal label.file-button{cursor:pointer;color:var(--accent-dark);flex-direction:row;margin:0;display:flex}.file-button input{opacity:0;pointer-events:none;max-width:1px;position:absolute}.file-button:focus-within{outline-offset:3px;outline:3px solid #bca0e6}.import-preview{background:#f0e8f7;border-radius:14px;margin:22px 0;padding:20px}.import-preview h4{margin-top:0}.import-preview p{color:#9b80ad;margin-bottom:15px;font-size:12px}.loading{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:20px;min-height:100svh;padding:30px;display:flex}.loading h1{font-size:37px}.loading p{color:#9a87ab;max-width:550px;font-size:14px}@keyframes enter{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes pop{0%{transform:scale(.5)}70%{transform:scale(1.15)}to{transform:scale(1)}}@keyframes toast-in{0%{opacity:0;translate:0 10px}to{opacity:1;translate:0}}@keyframes star-hop{0%{transform:translateY(15px)rotate(-20deg)scale(.3)}65%{transform:translateY(-8px)rotate(12deg)scale(1.2)}to{transform:translateY(0)rotate(0)scale(1)}}@media (min-width:1450px){.workspace main{padding-top:44px}.today-layout{gap:40px}.task{min-height:105px;padding:20px 24px}.task-copy>strong{font-size:17px}.task-copy>span:nth-child(2){font-size:12px}.task-meta{font-size:10px}.today-context{gap:22px}.star-bank{min-height:218px;padding:28px}.goal-card{padding:24px}.goal-art{height:85px}.weekly-mini h3{font-size:14px}.weekly-mini p{font-size:11px}.shop-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (max-width:1150px) and (min-width:901px){.sidebar{width:183px;padding:30px 12px 21px}.brand{gap:8px;font-size:13px}.brand strong{font-size:19px}.nav-button{gap:11px;padding:15px 13px;font-size:13px}.workspace{width:calc(100% - 183px);margin-left:183px}.workspace main{padding:28px 30px 16px}.topbar{height:74px;padding:0 30px}.today-layout{grid-template-columns:minmax(0,1.65fr) minmax(250px,1fr);gap:22px}.page-heading{min-height:94px;margin-bottom:24px}h1{font-size:40px}.task{gap:13px;min-height:88px;padding:12px 14px}.task-art{width:45px;height:48px}.task-copy>strong{font-size:14px}.task-copy>span:nth-child(2){font-size:10px}.task-list{gap:10px}.star-bank{min-height:180px;padding:23px}.goal-card{padding:19px}.goal-art{height:69px}.weekly-mini p{font-size:9px}.toast{left:calc(50% + 91px)}.progress-layout{grid-template-columns:1.8fr 1fr}.calendar-panel{padding:15px}.calendar-grid{gap:5px}.calendar-day{min-height:48px}.monthly-summary{padding:25px 20px}.badges{gap:5px}.badge strong{font-size:9px}.reward-info{padding:17px 15px}.reward-info h3{font-size:19px}.shop-grid{gap:15px}}@media (max-width:900px){.sidebar{border-right:0;border-bottom:1px solid var(--line);background:#f0edf6;grid-template-columns:1fr auto;align-items:center;gap:18px;width:100%;padding:18px 26px 0;display:grid;position:relative}.app{flex-direction:column}.brand{padding:0;font-size:11px}.brand strong{font-size:19px}.brand br{display:none}.brand>span:last-child{align-items:center;gap:5px;display:flex}.brand-mark{height:35px}.nav-caption,.sidebar-note,.local-note{display:none}.sidebar nav{flex-direction:row;grid-area:2/span 2;justify-content:space-between;gap:10px}.nav-button{border-radius:12px 12px 0 0;flex:1;justify-content:center;gap:9px;min-height:52px;padding:15px 12px;font-size:13px}.nav-dot{display:none}.sidebar-bottom{grid-area:1/2;margin:0}.parent-link{background:#e9e3f1;border-radius:50%;justify-content:center;width:42px;height:42px;margin:0;padding:0;font-size:0}.parent-link>svg:first-child{width:19px;height:19px}.parent-link>svg:last-child{display:none}.workspace{width:100%;margin:0}.topbar{height:67px;padding:0 32px}.workspace main{padding:29px 32px 22px}.page-heading{margin-bottom:27px}.today-layout{grid-template-columns:minmax(0,1.5fr) minmax(245px,1fr);gap:22px}.task{gap:12px;min-height:104px;padding:15px 14px}.task-art{width:44px;height:48px}.task-copy>strong{font-size:14px}.task-copy>span:nth-child(2){font-size:10px}.task-copy{gap:6px}.task-control{min-width:43px}.star-bank{min-height:192px}.goal-card{padding:21px}.goal-art{height:96px}.weekly-mini{padding:4px 0}.weekly-mini h3{font-size:13px}.weekly-mini p{font-size:10px}.toast{left:50%}.shop-grid{gap:16px}.reward-info h3{font-size:19px}.reward-info{padding:17px 14px}.reward-price span{font-size:8px}.bank-details,.stars-layout{gap:22px}.star-stats{gap:12px}.star-stats strong{font-size:30px}.star-stats small{font-size:9px}.progress-layout{grid-template-columns:1.75fr 1fr;gap:20px}.monthly-summary{padding:24px 20px}.calendar-panel{padding:17px}.calendar-grid{gap:5px}.calendar-legend{gap:10px}.badges{gap:4px}.badge strong{font-size:9px}.badge small{font-size:7px}.badge>span{width:49px;height:49px}.main-footer{padding-top:27px}}@media (max-width:680px){.sidebar{gap:12px;padding:13px 16px 0}.sidebar nav{gap:2px}.nav-button{flex-direction:column;gap:5px;min-height:58px;padding:10px 5px;font-size:10px}.nav-button>svg{width:19px;height:19px}.brand strong{font-size:17px}.brand>span:last-child{gap:4px;font-size:11px}.topbar{height:58px;padding:0 20px}.date-label{gap:7px;font-size:10px}.top-actions{gap:10px}.bank-pill{gap:6px;min-height:35px;padding:7px 11px}.bank-pill span{display:none}.avatar{width:30px;height:30px;font-size:16px}.workspace main{padding:24px 20px}.page-heading{flex-wrap:wrap;gap:10px;min-height:80px;margin-bottom:26px}h1{font-size:34px}.hello-spark{font-size:27px}.eyebrow{letter-spacing:1.3px;margin-bottom:10px;font-size:8px}.page-heading p{max-width:250px;font-size:11px}.today-ring{width:75px;height:75px;padding:4px}.today-ring strong{font-size:21px}.today-ring span{font-size:8px}.today-layout{flex-direction:column;gap:22px;display:flex}.task{gap:14px;min-height:100px;padding:14px 16px}.task-art{width:48px;height:52px}.task-copy>strong{font-size:14px}.task-copy>span:nth-child(2){font-size:10px}.task-list{gap:10px}.section-title h2{font-size:18px}.today-context{grid-template-columns:1fr;gap:16px;display:grid}.star-bank{min-height:195px;padding:26px}.constellation{width:300px;right:-20px}.goal-art{height:86px}.goal-card{padding:23px}.weekly-mini{padding:9px}.main-footer{padding-top:25px}.stars-layout,.bank-details{grid-template-columns:1fr}.star-stats{gap:20px;padding:0}.star-bank.large{min-height:245px}.bank-details{margin-top:30px}.shop-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.reward-visual{height:135px}.reward-info{padding:15px 12px}.reward-info h3{font-size:18px}.reward-info p{min-height:48px;font-size:10px}.reward-price{flex-wrap:wrap;gap:5px;margin-top:15px}.reward-price span{width:100%;font-size:9px}.reward-category{letter-spacing:.7px;font-size:7px}.reward-actions>.secondary,.saved-goal{gap:4px;padding:10px 5px;font-size:9px}.redeem-button{font-size:8px}.saving-banner{gap:12px;padding:15px}.saving-banner p{font-size:10px}.banner-stars{display:none}.history-list>div{flex-wrap:wrap;gap:10px}.status{text-align:left;width:100%;max-width:none;margin-left:54px;font-size:10px}.progress-layout{grid-template-columns:1fr}.monthly-summary{min-height:260px;padding:24px}.month-total{margin:23px 0}.badges{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.badge strong{font-size:10px}.badge small{font-size:8px}.weekly-summaries{margin-top:22px}.week-row{flex-wrap:wrap;gap:12px}.week-row>div:first-child{width:130px}.week-row>span{width:auto}.week-row .meter{min-width:65px}.modal{width:calc(100% - 24px);max-height:90svh;padding:22px}.modal-heading h2{font-size:23px}.parent-intro{font-size:10px}.parent-content{padding-top:20px}.editor-heading{flex-wrap:wrap;gap:15px}.form-grid{grid-template-columns:1fr}.span-two{grid-column:1}.task-fields label:nth-child(n){grid-area:auto/1}.task-editor{padding:13px}.task-editor-title{flex-wrap:wrap;gap:7px}.task-editor-title>.inline-actions{gap:2px}.task-editor-title .icon-button{width:30px;height:35px}.modal .checkbox-label{margin-left:0}.parent-request{flex-wrap:wrap}.parent-request>.inline-actions{width:100%;padding-left:35px}.economics>div{grid-template-columns:repeat(2,1fr)}.backup-actions{flex-wrap:wrap}.toast{white-space:normal;min-width:260px;font-size:10px;bottom:18px}.modal .setting-checkbox{margin-top:8px}}@supports (padding:max(0px)){.sidebar{padding-top:max(18px, env(safe-area-inset-top))}.workspace main{padding-bottom:max(20px, env(safe-area-inset-bottom))}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}:root{--muted:#706679}.task-copy>strong{font-size:16px}.task-copy>span:nth-child(2){color:#746b7f;font-size:12px}.task-meta{color:#796a87;font-size:10px}.task-control small{color:#786388;font-size:10px}.completion-circle,.completion-check{width:39px;height:39px}.task{min-height:92px}.eyebrow{color:#735499}.section-title>span{color:#786b85}.goal-card p{color:#766080;font-size:12px}.goal-card p strong{color:#735587}.goal-foot>span{color:#7c6391}.goal-card .eyebrow{color:#785b93}.goal-foot button{width:44px;height:32px}.weekly-mini p{color:#766081;font-size:11px}.weekly-mini small{color:#776882}.bank-label{color:#d0c2e4;font-size:10px}.star-bank p{color:#d3c8df;font-size:12px}.star-bank button{color:#eee1ff;min-height:35px;font-size:12px}.reward-info p{color:#716279;min-height:40px;font-size:12px}.reward-category{color:#79677f;font-size:9px}.reward-price span{color:#755b88;font-size:11px}.reward-actions>.secondary,.saved-goal,.redeem-button{min-height:44px;font-size:11px}.saving-banner p{color:#756080;font-size:12px}.saving-banner strong{color:#674879;font-size:14px}.shop-filters button{color:#72617f;min-height:44px;font-size:11px}.star-stats small,.ledger-row small{color:#776781}.gentle-note{color:#7a6985;font-size:12px}.badges small{color:#796886}.badge{color:#7d6b8d}.badge>span{color:#aa98bc}.calendar-day{color:#796589;font-size:12px}.calendar-legend{color:#74607f;font-size:10px}.week-row small,.week-row>span{color:#776182}.monthly-summary>p,.month-detail,.month-total>span{color:#786087}.date-label{font-size:13px}.avatar{width:44px;height:44px}.sample-banner{color:#7d628b;background:#eee4f5;border-radius:10px;margin-bottom:22px;padding:12px 16px;font-size:11px}.flying-star{z-index:20;pointer-events:none;filter:drop-shadow(0 0 9px #f7cf73);animation:.8s cubic-bezier(.25,.6,.25,1) forwards star-flight;position:fixed}.flying-star .star-icon{color:#e6b85a}@keyframes star-flight{0%{opacity:1;transform:translate(-50%,-50%)scale(.6)}25%{transform:translate(calc(var(--flight-x) * .25), calc(var(--flight-y) * .25 - 35px)) scale(1.4) rotate(20deg);opacity:1}85%{opacity:1}to{transform:translate(var(--flight-x), var(--flight-y)) scale(.3) rotate(90deg);opacity:0}}@media (min-width:901px) and (max-width:1150px){.task{min-height:91px}.task-copy>strong{font-size:16px}.task-copy>span:nth-child(2){font-size:11px}.star-bank{min-height:185px;padding:22px}.goal-art{height:55px}.goal-card{padding:16px 19px}.goal-card p{font-size:11px}.weekly-mini p{font-size:10px}.star-bank p{font-size:11px}.main-footer{padding-top:16px}}@media (max-width:900px){.task-copy>strong{font-size:16px}.task-copy>span:nth-child(2){font-size:12px}.task{min-height:106px}.star-bank{min-height:215px}.goal-art{height:95px}.goal-foot button{height:44px}.calendar-day{min-height:54px}.goal-card p{font-size:12px}.reward-price span{font-size:10px}.reward-info p{font-size:11px}}@media (max-width:680px){.date-label{font-size:11px}.task{min-height:106px}.task-copy>strong{font-size:15px}.task-copy>span:nth-child(2){font-size:11px}.task-art{width:44px}.task{gap:11px;padding:14px 13px}.shop-grid{gap:12px}.reward-info h3{font-size:18px}.reward-category{font-size:8px}.reward-info p{min-height:50px}.reward-price span,.reward-actions>.secondary,.saved-goal,.redeem-button{font-size:10px}.calendar-legend{font-size:9px}.avatar{width:36px;height:36px}.star-bank{min-height:207px}}@media (min-width:901px) and (max-width:1150px){.workspace main{padding-top:24px;padding-bottom:12px}.page-heading{margin-bottom:20px}.task{min-height:88px}.gentle-note{margin-top:14px}.main-footer{padding-top:8px}.goal-foot button,.star-bank button{min-height:44px}.star-bank{padding-top:18px;padding-bottom:18px}}.task-copy>strong,.task-copy>span,.reward-info h3,.reward-info p,.wish-list>div>span,.goal-card h3{overflow-wrap:anywhere}.task-detail>p{line-height:1.7}.task-detail>button{width:100%;margin-top:16px}.detail-meta{color:var(--muted);flex-wrap:wrap;gap:10px;margin:20px 0;font-size:13px;display:flex}.detail-meta>span{background:#f3eff8;border-radius:30px;align-items:center;gap:5px;padding:8px 12px;display:inline-flex}.detail-instructions{background:#f8f6fb;border-radius:18px;margin:20px 0;padding:18px 22px}.detail-instructions h3{margin:0 0 8px;font-size:15px}.detail-instructions p{white-space:pre-wrap;overflow-wrap:anywhere;margin:0;line-height:1.75}.quest-art{color:#7763ad;background:#ede7f7;border-radius:21px;justify-content:center;align-items:center;width:64px;height:64px;display:inline-flex}.special-page .page-heading{margin-bottom:26px;display:block}.special-page h1{letter-spacing:-1.2px;margin:10px 0;font-size:clamp(28px,4vw,38px)}.special-page .page-heading p{color:#7b7587;line-height:1.6}.quest-intro{color:#66538e;background:#ece7f6;border-radius:22px;align-items:center;gap:22px;margin-bottom:25px;padding:24px 28px;display:flex}.quest-intro p{margin:7px 0 0;font-size:14px;line-height:1.6}.quest-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;display:grid}.quest-card{text-align:left;color:#292339;background:#fffdfa;border:1px solid #e9e3ee;border-radius:24px;flex-direction:column;align-items:flex-start;gap:16px;padding:25px;transition:border-color .2s,transform .2s;display:flex}.quest-card:hover{border-color:#a99bc8;transform:translateY(-2px)}.quest-card strong{overflow-wrap:anywhere;font-size:19px}.quest-card p{color:#7b7587;overflow-wrap:anywhere;margin:0;line-height:1.6}.quest-card-bottom{color:#7763ad;justify-content:space-between;gap:10px;width:100%;margin-top:auto;padding-top:14px;font-size:13px;display:flex}.quest-card-bottom>span{align-items:center;gap:5px;display:flex}.quest-card.collected .quest-art{color:#618367;background:#e8f0e9}.quest-collected-title{margin:35px 0 20px;font-size:20px}.quest-empty{text-align:center;color:#7b7587;padding:48px 24px}.quest-empty h2{color:#51465e;font-size:23px}.quest-empty p{max-width:430px;margin:auto;line-height:1.7}.quest-editor{background:#f8f6fb;border-radius:20px;margin-top:22px;padding:22px}.quest-editor .form-grid{margin-bottom:20px}.quest-editor .section-top{justify-content:space-between;align-items:center;gap:16px;margin-bottom:18px;display:flex}.quest-editor .section-top h3{margin:0}.modal .quest-editor label.checkbox{flex-direction:row;align-items:center;gap:10px}.quest-editor .span-two,.task-fields .span-two{grid-column:1/-1!important}textarea{font:inherit;resize:vertical;min-height:80px}@media (max-width:900px){.nav-button{min-width:0}.nav-button>span:not(.nav-dot){white-space:normal}}@media (max-width:600px){.quest-grid{grid-template-columns:1fr}.quest-intro{gap:15px;padding:20px}.quest-intro>svg{flex-shrink:0}.quest-editor{padding:16px}}@media (prefers-reduced-motion:reduce){.quest-card{transition:none}.quest-card:hover{transform:none}}.app{--theme-soft:#f0edf6;--theme-tint:#f8f7fa;--theme-border:#e6e1ed}.theme-pink{--accent:#a64672;--accent-dark:#823553;--lavender:#f7e4ee;--theme-soft:#f8eaf1;--theme-tint:#fdf7fa;--theme-border:#efd9e4}.theme-golden{--accent:#94702b;--accent-dark:#705019;--lavender:#f4ead2;--theme-soft:#f6f0e1;--theme-tint:#fcfaf4;--theme-border:#e8dfc9}.theme-ocean{--theme-soft:#e8f1f2;--theme-tint:#f6fafb;--theme-border:#d7e5e7}.app .sidebar{background:var(--theme-soft);border-color:var(--theme-border)}.app .workspace{background:var(--theme-tint)}.app .nav-button.active,.app .avatar,.app .quest-intro,.app .quest-art,.app .detail-meta>span{background:var(--lavender);color:var(--accent-dark)}.app .nav-dot,.app .meter>span,.app .primary{background:var(--accent)}.app .primary:hover{background:var(--accent-dark)}.app .secondary{color:var(--accent-dark);border-color:var(--theme-border)}.app .task-art,.app .reward-small-icon,.app .completion-circle{color:var(--accent-dark);background:var(--lavender)}.app .task.done .completion-check{background:var(--accent)}.app .bank-pill{border-color:var(--theme-border)}.app .sidebar-companion{width:78px;margin:4px auto 8px}.character-art{width:100%;height:auto;display:block}.app .avatar{border-color:var(--lavender);place-items:center;padding:0;line-height:1;display:grid;overflow:hidden}.profile-initial{place-items:center;width:100%;height:100%;line-height:1;display:grid}.profile-photo,.portrait-art{object-fit:cover;width:100%;height:100%;display:block}.profile-back{color:var(--accent-dark);align-items:center;gap:8px;min-height:44px;margin:0 0 25px;padding:0;font-size:13px;display:inline-flex}.profile-layout{grid-template-columns:minmax(230px,.8fr) minmax(0,1.5fr);gap:55px;display:grid}.profile-preview{text-align:center;padding-top:26px}.profile-large{background:var(--lavender);width:158px;height:158px;color:var(--accent-dark);border:7px solid #fff;border-radius:50%;place-items:center;margin:0 auto 28px;font:64px Georgia;display:grid;overflow:hidden;box-shadow:0 8px 35px #2923390b}.profile-preview h1{letter-spacing:-.8px;margin:14px 0;font:30px Georgia}.profile-preview>p{color:var(--muted);font-size:14px}.profile-companion{width:146px;margin:35px auto 0}.profile-companion span{color:var(--accent-dark);margin-top:10px;font-size:12px;display:block}.profile-controls>section{border-bottom:1px solid var(--theme-border);margin:0 0 26px;padding:0 0 27px}.profile-controls h2{margin:0 0 8px;font-size:20px;font-weight:600}.profile-controls section>p{color:var(--muted);margin:0 0 19px;font-size:13px;line-height:1.7}.profile-picture-actions{flex-wrap:wrap;gap:10px;display:flex}.profile-text-button{color:var(--accent-dark);min-height:44px;padding:0 5px;font-size:12px;text-decoration:underline}.avatar-builder{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:20px;display:grid}.avatar-builder label{color:var(--muted);flex-direction:column;gap:8px;font-size:12px;display:flex}.avatar-builder select{border:1px solid var(--theme-border);color:#40354e;background:#fff;border-radius:9px;width:100%;min-height:44px;padding:8px;font-size:13px}.color-options,.character-options{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}.color-choice{border:1px solid #0000;border-radius:12px;align-items:center;gap:12px;min-height:65px;padding:10px;display:flex}.color-choice[aria-pressed=true]{border-color:var(--accent);background:#fff}.color-choice strong{font-size:13px;font-weight:500}.color-swatch{color:#fff;border-radius:50%;flex-shrink:0;place-items:center;width:34px;height:34px;display:grid}.color-pink .color-swatch{background:#a64672}.color-purple .color-swatch{background:#7a61ae}.color-golden .color-swatch{background:#94702b}.character-choice{border:1px solid var(--theme-border);background:#fff;border-radius:16px;padding:12px 10px;transition:border-color .18s,transform .18s;position:relative}.character-choice[aria-pressed=true]{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.character-choice:hover{transform:translateY(-2px)}.character-choice .character-art{max-width:96px;margin:0 auto 10px}.character-choice>span{font-size:12px;font-weight:500}.character-check{color:var(--accent-dark);position:absolute;top:9px;right:9px}.profile-save-note{color:var(--muted);margin:0;font-size:11px}@media (max-width:1150px){.profile-layout{gap:28px}.color-choice{gap:7px;padding:7px}.color-options{gap:8px}}@media (max-width:900px){.app .sidebar-companion{display:none}.profile-layout{grid-template-columns:minmax(190px,.8fr) minmax(0,1.5fr)}}@media (max-width:600px){.profile-layout{grid-template-columns:1fr;gap:35px}.profile-preview{padding-top:0}.profile-large{width:125px;height:125px;margin-bottom:20px}.profile-companion{width:85px;margin-top:20px}.profile-preview h1{font-size:28px}.avatar-builder{gap:8px}.character-options{gap:10px}.color-choice{flex-direction:column;gap:8px}}@media (prefers-reduced-motion:reduce){.character-choice{transition:none}.character-choice:hover{transform:none}}.voucher-value{color:var(--muted);flex-direction:column;gap:7px;margin:16px 0 14px;font-size:11px;display:flex}.voucher-value select{border:1px solid var(--theme-border);background:var(--theme-tint);width:100%;min-height:44px;color:var(--accent-dark);border-radius:10px;padding:9px 12px;font-size:13px}.voucher-parent-tiers{border-top:1px solid var(--theme-border);margin:12px 0 16px;padding-top:12px}.quest-entry{color:#fff7e8;isolation:isolate;background:#5c4670 url(/images/quest-entry.webp) 50% 38%/cover no-repeat;flex-direction:column;justify-content:space-between;align-items:center;min-height:100svh;padding:clamp(26px,4vh,50px) 22px 24px;display:flex;position:relative}.quest-entry:before{content:"";z-index:-1;background:linear-gradient(#24173a40,#0000 35%,#24173a29);position:absolute;top:0;bottom:0;left:0;right:0}.entry-brand{text-shadow:0 2px 18px #3d2648;align-items:center;gap:18px;animation:.6s both entry-rise;display:flex}.entry-brand svg{color:#f4ce79;width:45px;height:45px}.entry-brand h1{letter-spacing:-.035em;margin:0;font-family:Georgia,serif;font-size:clamp(32px,5vw,56px);font-weight:400;line-height:1.02}.entry-dialog{color:#42213f;background:#fffaeff7;border:1px solid #e6c88f;border-radius:24px;width:min(100%,500px);margin-top:clamp(220px,29svh,430px);padding:26px 32px 22px;animation:.75s .12s both entry-rise;box-shadow:0 12px 48px #36284133}.entry-tools{color:#d5a450;justify-content:space-between;align-items:center;display:flex}.entry-tools button,.entry-password button{color:#68536f;cursor:pointer;background:0 0;border:0;border-radius:50%;place-items:center;width:44px;height:44px;display:grid}.entry-tools button:hover,.entry-password button:hover{background:#eee5f1}.entry-dialog h2{text-align:center;letter-spacing:-.04em;margin:14px 0 10px;font-family:Georgia,serif;font-size:clamp(30px,4.5vw,43px);font-weight:400}.entry-dialog>p{text-align:center;color:#655369;margin-bottom:26px;font-size:15px}.entry-dialog form>label{color:#55465a;margin-bottom:8px;font-size:14px;display:block}.entry-password{background:#fffaf6;border:1px solid #d4c7d2;border-radius:12px;align-items:center;display:flex;overflow:hidden}.entry-password:focus-within{border-color:#9674ad;outline:3px solid #bd9dce66}.entry-password input{letter-spacing:2px;color:#42213f;background:0 0;border:0;outline:none;width:100%;min-width:0;height:54px;margin:0;padding:14px 15px;font-size:21px}.entry-password button{flex-shrink:0;margin-right:4px}.entry-enter{color:#fffaf2;cursor:pointer;background:#755773;border:0;border-radius:12px;width:100%;min-height:56px;margin-top:18px;font-family:inherit;font-size:19px;transition:background .15s,transform .15s;display:block}.entry-enter:hover{background:#624660}.entry-enter:active{transform:scale(.985)}.entry-enter:disabled{opacity:.6;cursor:wait}.entry-dialog .entry-note{margin:19px 0 0;font-size:13px}.entry-footer{letter-spacing:1px;text-shadow:0 2px 8px #38253a;margin-top:28px;font-family:Georgia,serif;font-size:13px}.entry-footer span{text-align:center;color:#f1d083;margin-top:8px;display:block}.quest-signout{color:#665174;z-index:5;cursor:pointer;background:#faf6fd;border:0;border-radius:8px;padding:8px 12px;font-size:12px;position:fixed;bottom:12px;right:20px}.cloud-start{gap:16px;max-width:480px;margin:16px auto;display:grid}.cloud-start p{line-height:1.6}@keyframes entry-rise{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@media (min-width:1000px){.quest-entry{background-position:50% 38%;background-size:cover}.entry-dialog{margin-top:clamp(160px,27svh,360px)}}@media (max-width:480px){.quest-entry{padding:24px 20px 18px}.entry-dialog{margin-top:clamp(180px,27svh,270px);padding:18px 23px 20px}.entry-dialog h2{font-size:33px}.entry-dialog>p{margin-bottom:22px;font-size:14px}.entry-brand h1{font-size:37px}}@media (prefers-reduced-motion:reduce){.entry-brand,.entry-dialog{animation:none}.entry-enter{transition:none}}
