:root{color:#302052;--purple:#6839c9;--muted:#685b80;--line:#eee3f8;background:#f8f3ff;font-family:system-ui,Microsoft YaHei,sans-serif;line-height:1.5}*{box-sizing:border-box}body{background:radial-gradient(at 80% 0,#eed8ff,#0000 48%),radial-gradient(at 25% 100%,#f8dbfa,#0000 44%);min-width:320px;min-height:100vh;margin:0}button,input,select{font:inherit}button{color:#5631a2;cursor:pointer;background:#eee4fb;border:0;border-radius:13px;justify-content:center;align-items:center;gap:.45rem;min-height:44px;padding:.55rem .85rem;font-weight:700;display:inline-flex}button:disabled{cursor:default;opacity:.55}:focus-visible{outline-offset:3px;outline:3px solid #9d62ec}h1,h2,h3,p{overflow-wrap:anywhere;margin:0}h1{font-size:clamp(1.65rem,4vw,2.45rem);line-height:1.16}h2{margin-bottom:.7rem;font-size:1.16rem}p,small{color:var(--muted)}small{font-size:.8rem}.layout{grid-template-columns:228px minmax(0,1fr);min-height:100vh;display:grid}.sidebar{border-right:1px solid var(--line);background:#fffc;flex-direction:column;gap:35px;height:100dvh;padding:30px 17px;display:flex;position:sticky;top:0}.brand{color:#542bad;white-space:nowrap;background:0 0;font-size:1rem}.brand span{letter-spacing:-.07em;font-size:1.9rem;font-weight:950}nav{gap:.5rem;display:grid}nav button{color:#615471;background:0 0;justify-content:flex-start;padding:.8rem 1rem}nav button[aria-current]{color:#6735cb;background:#ede1ff}.side-note{color:#726187;align-items:center;gap:8px;margin-top:auto;padding:.7rem;display:flex}.main{align-content:start;gap:17px;width:min(100%,1200px);margin:0 auto;padding:35px clamp(18px,4vw,52px) 55px;display:grid}.top{justify-content:space-between;align-items:center;gap:12px;display:flex}.top p{letter-spacing:.08em;margin-bottom:.25rem;font-size:.83rem}.balance,.chip{color:#82500b;white-space:nowrap;background:#fff8e9}.balance svg{color:#b76a08}.hero{isolation:isolate;background:linear-gradient(112deg,#efe1ff,#f7dbfb 76%,#e5d7ff);border:1px solid #fff;border-radius:26px;justify-content:space-between;align-items:center;gap:12px;min-height:225px;padding:clamp(16px,4vw,34px);display:flex;position:relative;overflow:hidden;box-shadow:0 12px 32px #5c278911}.hero:before{content:"";z-index:-1;background:#fff8;border-radius:50%;width:180px;height:150px;position:absolute;bottom:-63px;right:-20px;box-shadow:-90px 24px 0 12px #fff8,82px 4px 0 6px #fff8}.hero h2{margin:.5rem 0;font-size:clamp(1.4rem,3.5vw,2.25rem)}.hero .primary{margin-top:1rem}.mascot{filter:drop-shadow(0 9px 10px #5b328224);flex:none;width:min(42%,220px);height:auto;display:block}.chip{border-radius:30px;align-items:center;gap:6px;padding:4px 10px;font-size:.82rem;font-weight:750;display:inline-flex}.primary{color:#fff;background:linear-gradient(110deg,#6739cb,#9c3fba);box-shadow:0 5px 12px #6925b325}.plain,.icon{background:0 0}.back{justify-self:start}.card{background:#fffd;border:1px solid #fff;border-radius:22px;min-width:0;padding:clamp(15px,2.7vw,24px);box-shadow:0 7px 24px #5c27890a}.card>p+form{margin-top:12px}.dashboard{grid-template-columns:minmax(0,1fr) minmax(0,1.55fr);gap:16px;display:grid}.progress{align-items:center;gap:16px;margin:10px 0;display:flex}.ring{aspect-ratio:1;border-radius:50%;flex:none;place-items:center;width:86px;display:grid}.ring strong{aspect-ratio:1;background:#fff;border-radius:50%;place-items:center;width:72px;display:grid}.big{font-size:1.65rem}.rows{margin:0;padding:0;list-style:none}.rows li{border-bottom:1px solid var(--line);align-items:center;gap:10px;padding:10px 0;display:flex}.rows li:last-child{border:0}.tile{width:37px;height:37px;color:var(--purple);background:#eee1ff;border-radius:11px;flex:none;place-items:center;display:grid}.mint,.completed{color:#176949;background:#e0f5ec}.row-text{overflow-wrap:anywhere;flex:1;min-width:0}.row-text small{display:block}.empty{padding:10px 0}.focus{color:#f9f4ff;text-align:center;background:radial-gradient(circle at 50% 57%,#51429f,#0000 47%),radial-gradient(circle,#f7ddff 1px,#0000 2px) 0 0/71px 59px,radial-gradient(circle,#a783ec 1px,#0000 2px) 20px 9px/123px 81px,linear-gradient(145deg,#111444,#24205d 68%,#301f6b);border-radius:25px;justify-items:center;padding:25px 16px;display:grid}.focus h2{margin:.4rem 0}.focus p{color:#e0d3ff}.timer{aspect-ratio:1;font-variant-numeric:tabular-nums;border:5px solid #d2a6ff;border-radius:50%;place-items:center;width:min(210px,70vw);margin:16px auto 0;font-size:clamp(2rem,9vw,3.5rem);font-weight:850;display:grid;box-shadow:0 0 26px #b37bff80,inset 0 0 24px #b37bff60}.focus .mascot{width:153px;margin-top:-36px}.focus-actions{flex-wrap:wrap;justify-content:center;align-items:end;gap:12px;margin-top:8px;display:flex}.focus-actions input{width:130px}.wish-grid,.badges,.stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.wish-grid article,.badges>div{text-align:center;color:#714ab1;overflow-wrap:anywhere;background:#f7edff;border-radius:16px;justify-items:center;gap:8px;padding:12px;display:grid}.badges>div{color:#6e627a;background:#f5f0f7}.badges .unlocked{color:#864f10;background:#fff2d9}.shop-hero .mascot{max-width:145px}.menu{gap:8px;display:grid}.menu button{background:#f6effd;justify-content:flex-start}.menu button svg:last-child{margin-left:auto}.segments{gap:6px;display:flex}.segments button[aria-pressed=true]{color:#fff;background:#6937c6}.stats h2{font-size:.89rem}.stats strong{font-size:clamp(.95rem,3vw,1.4rem)}.chart{text-align:center;grid-template-columns:repeat(7,1fr);align-items:end;gap:3px;min-height:150px;display:grid}.chart>div{justify-items:center;gap:4px;display:grid}.chart i{background:linear-gradient(#bf82f7,#7848d2);border-radius:8px;width:45%}.chart small{font-size:clamp(.55rem,1.8vw,.78rem)}.auth{place-items:center;min-height:100dvh;padding:18px;display:grid}.auth .card{text-align:center;width:min(100%,430px)}.auth .mascot,.dialog .mascot{margin:auto}.auth form{text-align:left;margin:16px 0 4px}form,label{gap:7px;display:grid}form{gap:12px}label{font-size:.9rem;font-weight:650}input,select{color:#302052;background:#fff;border:1px solid #dac9ef;border-radius:10px;width:100%;min-width:0;min-height:44px;padding:8px 10px}.inline{align-items:center;gap:5px;display:flex}.inline input{width:75px}.inline:has(label){align-items:end}.inline label input{width:100%}.notice{color:#861f4f;background:#ffe9f2;border-radius:12px;justify-content:space-between;align-items:center;padding:5px 10px;display:flex}.overlay{z-index:5;background:#29184088;place-items:center;padding:15px;display:grid;position:fixed;inset:0;overflow:auto}.dialog{text-align:center;overflow-wrap:anywhere;background:linear-gradient(150deg,#fff9ed,#f6e7ff);border-radius:24px;justify-items:center;gap:8px;width:min(100%,420px);padding:22px;display:grid}.dialog .reward{color:#a9345d;font-size:2rem}.dialog .primary{width:100%}@media (max-width:760px){.layout{display:block}.sidebar{z-index:2;border-top:1px solid var(--line);height:auto;padding:5px 4px calc(5px + env(safe-area-inset-bottom));background:#fff;display:block;position:fixed;inset:auto 0 0}.sidebar .brand,.side-note{display:none}nav{grid-template-columns:repeat(5,minmax(0,1fr));gap:2px}nav button{flex-direction:column;justify-content:center;gap:2px;padding:5px;font-size:.75rem}.main{padding:18px 12px calc(85px + env(safe-area-inset-bottom));gap:12px}.dashboard{grid-template-columns:1fr;gap:12px}.hero{min-height:165px}.wish-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.stats .card,.badges>div{padding:9px}}:root{color:#29234b;--purple:#6642c6;--muted:#6b6383;--line:#eee9f3;background:#fcf8ef}body{background-color:#fcf8ef;background-image:linear-gradient(#ddd2e344 1px,#0000 1px),linear-gradient(90deg,#ddd2e344 1px,#0000 1px);background-size:32px 32px}.layout{grid-template-columns:220px minmax(0,1fr)}.sidebar{background:#fff;gap:48px;padding:22px 17px}.brand{color:#33285f;justify-content:flex-start;padding:0 3px;font-weight:850}.brand img,.auth-brand img{object-fit:contain;background:#f5ecff;border:1px solid #e2cbf6;border-radius:12px;width:38px;height:38px}nav button[aria-current]{color:#fff;background:linear-gradient(110deg,#7655d8,#9475e9);box-shadow:0 9px 18px #6542bd25}.side-note{text-align:left;color:#30264e;background:#f8f4fd;border:1px solid #eee7fa;justify-content:flex-start}.side-note img{object-fit:contain;background:#eee5fa;border-radius:50%;width:40px;height:40px}.side-note span{overflow-wrap:anywhere;flex:1;min-width:0}.side-note small{display:block}.main{gap:23px;padding-top:43px}.top h1,.auth-card h2{letter-spacing:-.045em;font-weight:540}.eyebrow{letter-spacing:.08em;color:#6745bf;font-size:.81rem;font-weight:800}.balance,.chip{color:#80530b;background:#fff3cc;border:1px solid #f2dfa4}.primary{background:linear-gradient(100deg,#7556d8,#ce57b7)}.hero{background:linear-gradient(120deg,#f1eaff,#f5f5fc 56%,#e7f7fa);border:1px solid #ebe4f9}.hero:before{background:#d7dafa55;box-shadow:-28px -20px 0 15px #d8d8f95c}.card{background:#fff;border:1px solid #f0e9f5;border-radius:25px;box-shadow:0 14px 38px #49336f12}.home-grid{grid-template-columns:minmax(0,2.1fr) minmax(195px,1fr);gap:24px;display:grid}.home-main,.home-side{align-content:start;gap:23px;min-width:0;display:grid}.home-goal{justify-content:flex-start;min-height:206px}.home-goal .mascot{background:#fffa;border-radius:50%;width:clamp(85px,13vw,130px);padding:8px}.home-goal>div{flex:1}.home-goal h2,.shop-hero h2{font-weight:550}.meter{background:#eae8f1;border-radius:10px;height:10px;margin:10px 0;overflow:hidden}.meter i{border-radius:inherit;background:linear-gradient(90deg,#44b6d0,#86ccbb,#ffcc64);height:100%;display:block}.section-head{justify-content:space-between;align-items:center;gap:10px;display:flex}.section-head h2{margin-bottom:0}.rows li{min-height:66px}.focus-shortcut,.reward-banner{color:#fff;background:linear-gradient(125deg,#7251d4,#423183);border-radius:25px;padding:20px;box-shadow:0 14px 25px #4f30821c}.focus-shortcut{text-align:left;justify-content:space-between}.focus-shortcut span,.reward-banner div{flex:1;gap:4px;display:grid}.focus-shortcut strong{font-size:2rem;line-height:1.1}.focus-shortcut small,.reward-banner small{color:#eee4ff}.badge-preview{align-items:center;gap:12px;display:flex}.badge-preview svg{color:#976720;background:#ffe6a0;border-radius:50%;flex:none;width:48px;height:48px;padding:12px}.shop-hero{min-height:190px}.shop-hero h2{font-size:clamp(1.8rem,5vw,3.2rem)}.wish-grid article{background:linear-gradient(#fff,#faf7ff);border:1px solid #ebe4f3;align-content:center;gap:12px;min-height:205px}.wish-icon{background:linear-gradient(#e7f6fc,#efe8fc);border:4px solid #fff;border-radius:24px;place-items:center;width:68px;height:68px;display:grid;box-shadow:0 8px 20px #54359413}.reward-banner{align-items:center;gap:16px;display:flex}.reward-banner b{font-variant-numeric:tabular-nums;font-size:clamp(1.6rem,6vw,3rem)}.profile-card{align-items:center;gap:22px;display:flex}.profile-card .mascot{background:#efe8fb;border-radius:50%;width:min(30%,120px)}.profile-card p svg{vertical-align:middle}.focus{color:#29234b;background:linear-gradient(145deg,#faf7ff,#fff 43%,#eefafb);border:1px solid #ebe5f8;gap:12px;padding:30px 16px}.focus .segments{background:#fff;border:1px solid #ece5f4;border-radius:30px;padding:4px}.focus .segments button{border-radius:30px;padding-inline:14px}.focus .timer{color:#fff;background:linear-gradient(145deg,#26205f,#6550bf);border:9px solid #cac5e3;align-content:center;justify-items:center;gap:4px;width:min(365px,78vw);margin:0;position:relative;box-shadow:0 18px 45px #43357f39}.focus .timer strong{letter-spacing:-.07em;font-size:clamp(2.7rem,8vw,5.3rem);line-height:1.05}.focus .timer small{color:#eee6ff;font-weight:700}.focus .mascot{width:47%;margin:0}.timer-star{color:#ffdd72;position:absolute;top:20%;left:15%}.split-auth{background:#fcf7ee;grid-template-columns:minmax(0,57fr) minmax(0,43fr);padding:0;display:grid}.auth-intro{background:linear-gradient(145deg,#f1ebff,#e2f4fc 56%,#f8eff7);flex-direction:column;justify-content:center;align-self:stretch;width:100%;min-height:100dvh;padding:190px clamp(30px,8vw,105px) 45px;display:flex;position:relative}.auth-stars{color:#a388ed;gap:27px;display:flex;position:absolute;top:42px;left:8%}.auth-illustration{aspect-ratio:1;border:2px dashed #c9baf4;border-radius:50%;place-items:center;width:clamp(130px,17vw,220px);display:grid;position:absolute;top:9%;right:12%}.auth-illustration .mascot{width:90%}.auth-brand{align-items:center;gap:12px;margin-bottom:19px;font-size:1.4rem;font-weight:850;display:flex}.auth-intro h1{letter-spacing:-.06em;margin-top:15px;font-size:clamp(2.4rem,5vw,4.6rem);font-weight:520}.auth-intro ul{gap:10px;margin:25px 0 0;padding:0;list-style:none;display:grid}.auth-intro li{align-items:center;gap:8px;display:flex}.auth-intro li svg{color:#7958d4;background:#fff;border-radius:50%;flex:none}.split-auth .auth-card{text-align:left;width:min(100% - 32px,420px);margin:28px 0;padding:clamp(23px,4vw,47px)}.auth-card h2{margin:.45rem 0;font-size:clamp(2rem,4vw,3.15rem)}.auth-card form{gap:15px;margin:25px 0 5px}.auth-card input{background:#f8f6fb;min-height:49px}.auth-card .primary{min-height:51px}.auth-card .plain{width:100%}.drawer-overlay{z-index:4;background:#32244d45;justify-content:flex-end;display:flex;position:fixed;inset:0}.drawer{overscroll-behavior:contain;background:#fcfaf5;align-content:start;gap:14px;width:min(100%,490px);height:100dvh;padding:24px;display:grid;overflow:auto;box-shadow:-16px 0 42px #2b1a4730}.drawer .dashboard{grid-template-columns:1fr}.drawer .rows li{gap:4px}.drawer .rows .icon{padding:4px}@media (max-width:940px){.layout{grid-template-columns:175px minmax(0,1fr)}.main{padding-inline:20px}.home-grid{gap:14px}.auth-intro{padding-inline:38px}}@media (max-width:760px){nav{grid-template-columns:repeat(6,minmax(0,1fr))}.main{padding:18px 12px calc(85px + env(safe-area-inset-bottom));gap:14px}.home-grid{grid-template-columns:1fr}.home-main,.home-side{gap:12px}.home-goal,.shop-hero{min-height:148px}.shop-hero .primary{flex:none}.split-auth{grid-template-columns:1fr}.auth-intro{min-height:0;padding:20px 118px 20px 20px}.auth-intro h1{font-size:1.6rem}.auth-brand{margin-bottom:8px;font-size:1rem}.auth-illustration{width:94px;top:50%;right:14px;transform:translateY(-50%)}.auth-stars,.auth-intro ul{display:none}.split-auth .auth-card{margin:14px 0 25px}.drawer{padding:13px}}.profile-grid{grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:18px;display:grid}.profile-left{gap:17px;min-width:0;display:grid}.profile-card{flex-wrap:wrap;min-height:160px}.profile-card>div{flex:1;min-width:0}.level-card{align-items:center;gap:16px;display:flex}.level-card>span{aspect-ratio:1;color:#fff;background:#805bdb;border-radius:50%;flex:none;place-items:center;width:61px;font-weight:800;display:grid}.level-card>div{flex:1}@media (max-width:760px){.profile-grid{grid-template-columns:1fr;gap:12px}}.today-date{color:#6745bf;letter-spacing:.04em;font-weight:750}.task-rows .task-tile{border-radius:14px;width:42px;height:42px}.task-tile[data-category=life],.task-category[data-category=life],.category-choice-icon[data-category=life]{color:#208ba9;background:#e8f6fb}.task-tile[data-category=study],.task-category[data-category=study],.category-choice-icon[data-category=study]{color:#7252c8;background:#efe9ff}.task-tile[data-category=habit],.task-category[data-category=habit],.category-choice-icon[data-category=habit]{color:#29966a;background:#e7f7ee}.task-tile[data-category=chores],.task-category[data-category=chores],.category-choice-icon[data-category=chores]{color:#b66b35;background:#fff0e4}.task-meta{flex-wrap:wrap;align-items:center;gap:5px 9px;margin-top:5px;display:flex!important}.task-category{border-radius:20px;align-items:center;padding:2px 8px;font-weight:750;display:inline-flex}.task-points{color:#9a6712;align-items:center;gap:2px;font-weight:700;display:inline-flex}.task-rows li>button{flex:none}.category-picker,.icon-picker{border:0;min-width:0;margin:0;padding:0}.category-picker legend,.icon-picker legend{margin-bottom:8px;padding:0;font-size:.9rem;font-weight:650}.category-picker>div,.icon-picker>div{grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;display:grid}.category-picker label,.icon-picker label{color:#5b5272;cursor:pointer;background:#fff;border:1px solid #e7dff2;border-radius:13px;flex-direction:column;justify-content:center;align-items:center;gap:5px;min-height:79px;padding:7px 3px;font-size:.8rem;display:flex;position:relative}.category-choice-icon,.icon-choice{border-radius:12px;place-items:center;width:38px;height:38px;display:grid}.icon-choice{color:#6f4dc7;background:linear-gradient(135deg,#e8f6fb,#f0e8ff)}:is(.category-picker label:has(input:checked),.icon-picker label:has(input:checked)){color:#5e36b5;background:#f4ecff;border-color:#9269df;box-shadow:0 0 0 2px #bfa6f55c}.category-picker label:focus-within,.icon-picker label:focus-within{outline-offset:2px;outline:3px solid #9d62ec}.category-picker input,.icon-picker input{opacity:0;width:1px;height:1px;min-height:0;padding:0;position:absolute}.task-settings li{flex-wrap:wrap}.task-setting-form{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;width:100%;display:grid}.task-setting-form input,.task-setting-form select{min-height:40px}@media (max-width:760px){.task-rows li{gap:8px}.task-rows li>button{padding-inline:9px;font-size:.8rem}}
