:root{--ink:#3a3a4a;--ink-soft:#7b7b8c;--ink-faint:#b4b4c2;--line:#ececf2;--card:#fff;--paper:#f7f6fb;--green:#5cc85a;--green-dark:#43a843;--green-soft:#e9f7e4;--orange:#f6a53b;--yellow:#ffd24a;--pink:#f4b9b5;--purple:#7a72cc;--purple-dark:#6760b8;--lavender:#aeb4e8;--teal:#5ed3c4;--teal-dark:#3fb8a8;--blue:#2aa6e2;--beige:#efe2c0;--grass:#7cc35c;--radius:18px;--shadow:0 2px 0 #2828460f, 0 6px 18px #2828460f;--font:"Nunito", ui-rounded, "Segoe UI", system-ui, sans-serif;--foot:56px}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{font-family:var(--font);color:var(--ink);-webkit-font-smoothing:antialiased;background:#1d1b2c;overflow:hidden}button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:0;padding:0}input{font:inherit}img{-webkit-user-select:none;user-select:none;-webkit-user-drag:none}.stage{background:radial-gradient(1200px 600px at 20% 10%,#3a2f5e 0%,#0000 60%),radial-gradient(900px 500px at 90% 90%,#20465a 0%,#0000 60%),#1d1b2c;justify-content:center;align-items:center;gap:56px;height:100%;display:flex}.panel{color:#e9e6ff;width:280px;max-height:92vh;overflow:auto}.panel h1{align-items:center;gap:10px;margin:0 0 4px;font-size:28px;font-weight:900;display:flex}.panel h1 img{border-radius:12px;width:44px;height:44px}.panel p{color:#a9a4cf;margin:0 0 18px;font-size:14px;line-height:1.45}.panel h2{letter-spacing:.12em;text-transform:uppercase;color:#8d88b8;margin:20px 0 8px;font-size:11px}.jump{flex-direction:column;gap:6px;display:flex}.jump button{text-align:left;color:#e9e6ff;background:#ffffff0f;border-radius:10px;padding:9px 12px;font-size:14px;font-weight:700;transition:background .15s}.jump button:hover{background:#ffffff24}.jump button.on{background:#7a72cc}.device-wrap{transform-origin:50%}.device{background:linear-gradient(145deg,#2c2a3a,#111018);border-radius:64px;width:414px;height:868px;padding:12px;position:relative;box-shadow:0 0 0 2px #3d3a50,0 40px 80px #0000008c,inset 0 0 0 2px #000}.device:before,.device:after{content:"";background:#2a2838;border-radius:2px;width:4px;position:absolute;left:-4px}.device:before{height:60px;top:170px}.device:after{height:60px;top:250px}.screen{isolation:isolate;background:#fff;border-radius:52px;width:390px;height:844px;position:relative;overflow:hidden}.island{z-index:100;background:#000;border-radius:20px;width:124px;height:36px;position:absolute;top:11px;left:50%;transform:translate(-50%)}.statusbar{z-index:90;pointer-events:none;justify-content:space-between;align-items:center;height:54px;padding:6px 34px 0 42px;font-size:16px;font-weight:800;display:flex;position:absolute;top:0;left:0;right:0}.statusbar.light{color:#fff}.statusbar .icons{align-items:center;gap:6px;display:flex}.home-indicator{z-index:95;pointer-events:none;background:#000c;border-radius:3px;width:134px;height:5px;position:absolute;bottom:8px;left:50%;transform:translate(-50%)}.home-indicator.light{background:#ffffffd9}@media (width<=820px){.panel{display:none}.stage{gap:0}}.fill{flex-direction:column;min-height:100%;display:flex}.fill>*{flex:1 0 auto}.app{flex-direction:column;display:flex;position:absolute;inset:0;overflow:hidden}.page{scrollbar-width:none;position:absolute;inset:0;overflow:hidden auto}.page::-webkit-scrollbar{display:none}.enter{animation:.5s cubic-bezier(.2,1.1,.3,1) both pageIn}@keyframes pageIn{0%{opacity:0;transform:translate(60px)scale(.96)}60%{opacity:1}to{opacity:1;transform:none}}.fade-in{animation:.35s both fadeIn}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.pop-in{animation:.45s cubic-bezier(.2,1.4,.4,1) both popIn}@keyframes popIn{0%{opacity:0;transform:scale(.6)}to{opacity:1;transform:none}}.bob{transform-origin:50% 100%;animation:3.2s ease-in-out infinite bob}@keyframes bob{0%,to{transform:scale(1)}50%{transform:scale(1.03,.97)}}.hop{animation:.6s cubic-bezier(.3,1.6,.5,1) hop}@keyframes hop{0%{transform:none}40%{transform:translateY(-18px)scale(.96,1.04)}to{transform:none}}.walk{animation:.9s ease-in-out infinite walk}@keyframes walk{0%,to{transform:translateY(0)rotate(-2deg)}50%{transform:translateY(-5px)rotate(2deg)}}.btn{background:var(--green);color:#fff;width:100%;height:54px;box-shadow:0 4px 0 var(--green-dark);border-radius:16px;justify-content:center;align-items:center;gap:8px;font-size:17px;font-weight:800;transition:transform 80ms,box-shadow 80ms,opacity .2s;display:flex}.btn:active{box-shadow:0 1px 0 var(--green-dark);transform:translateY(3px)}.btn:disabled{color:#b4b4c2;cursor:default;background:#e6e6ee;box-shadow:0 4px #d6d6e0}.btn.white{color:var(--ink);background:#fff;box-shadow:0 4px #0000001f}.btn.ghost{color:var(--ink-soft);box-shadow:none;background:0 0;height:44px;font-weight:700}.btn.purple{background:var(--purple);box-shadow:0 4px 0 var(--purple-dark)}.btn.small{border-radius:12px;width:auto;height:40px;padding:0 18px;font-size:15px}.icon-btn{background:#ffffffe6;border-radius:12px;place-items:center;width:40px;height:40px;font-size:18px;display:grid;box-shadow:0 2px #00000014}.ob{min-height:100%;padding:70px 22px var(--foot);background:#fff;flex-direction:column;display:flex}.ob-head{text-align:center}.ob h1{margin:10px 0 6px;font-size:25px;font-weight:900;line-height:1.2}.ob .sub{color:var(--ink-soft);margin:0;font-size:16px;font-weight:600;line-height:1.4}.ob-owl{justify-content:center;align-items:flex-end;height:150px;margin-top:8px;display:flex;position:relative}.ob-owl img{height:130px}.ob-owl .float-emoji{font-size:30px;animation:1.1s ease-out both floatUp;position:absolute;top:-4px;left:58%}@keyframes floatUp{0%{opacity:0;transform:translateY(20px)scale(.5)}40%{opacity:1}to{opacity:1;transform:translateY(-6px)scale(1)}}.ob-body{flex-direction:column;flex:1;gap:10px;margin-top:18px;display:flex}.ob-foot{flex-direction:column;gap:8px;margin-top:18px;display:flex}.ob-foot.sticky-foot{padding:22px 0 var(--foot);background:linear-gradient(#0000,#fff 22%);margin-top:4px;position:sticky;bottom:0}.progress-top{align-items:center;gap:10px;margin-bottom:4px;display:flex}.progress-top .back{width:36px;height:36px;color:var(--ink-soft);background:#f1f0f7;border-radius:50%;flex-shrink:0;place-items:center;padding-bottom:3px;font-size:24px;font-weight:900;line-height:1;display:grid}.progress-top .back:active{transform:scale(.92)}.progress-top .back-space{height:36px;display:block}.ob>.progress-top{margin-bottom:8px}.steps{background:#efeff4;border-radius:8px;flex:1;height:12px;overflow:hidden}.steps>div{background:var(--green);border-radius:8px;height:100%;transition:width .5s cubic-bezier(.2,.8,.2,1)}.kicker{text-align:center;letter-spacing:.14em;color:var(--ink-faint);text-transform:uppercase;font-size:11px;font-weight:800}.option{border:2px solid var(--line);text-align:left;background:#fff;border-radius:16px;align-items:center;gap:12px;width:100%;min-height:56px;padding:10px 16px;font-size:16px;font-weight:700;transition:border-color .15s,background .15s,transform .1s;display:flex}.option:active{transform:scale(.98)}.option .emo{text-align:center;width:30px;font-size:24px}.option .grow{flex:1}.option .tag{color:var(--ink-soft);font-size:13px;font-weight:700}.option.on{border-color:var(--green);background:#f5fcf3}.option .check{background:var(--green);color:#fff;border-radius:50%;place-items:center;width:26px;height:26px;font-size:15px;animation:.3s both popIn;display:grid}.option.dim{color:var(--ink-faint)}.option.dim .emo{filter:grayscale()opacity(.45)}.text-input{border:2px solid var(--line);text-align:center;width:100%;height:58px;color:var(--ink);border-radius:16px;outline:none;padding:0 18px;font-size:20px;font-weight:800}.text-input:focus{border-color:var(--green)}.speech{box-shadow:var(--shadow);border:1px solid var(--line);background:#fff;border-radius:20px;padding:14px 18px;font-size:16px;font-weight:700;line-height:1.4;position:relative}.speech:after{content:"";border:10px solid #0000;border-top-color:#fff;border-bottom:0;position:absolute;bottom:-10px;left:34px}.speech.gray{box-shadow:none;background:#f1f1f5;border:0}.speech.gray:after{border-top-color:#f1f1f5}.speech .who{color:#fff;background:#e25555;border-radius:8px;padding:3px 10px;font-size:12px;font-weight:800;position:absolute;top:-12px;left:14px}.eggs{width:320px;height:330px;margin:10px auto 0;position:relative}.egg-slot{border-radius:18px;place-items:center;width:74px;height:88px;transition:background .2s,transform .2s;display:grid;position:absolute}.egg-slot.on{background:#eef0fb;transform:scale(1.12)}.egg-slot svg{width:48px}.hatch-egg{cursor:pointer;transition:transform .2s}.hatch-egg.wobble{animation:.5s wobble}@keyframes wobble{0%,to{transform:rotate(0)}20%{transform:rotate(-12deg)}40%{transform:rotate(10deg)}60%{transform:rotate(-6deg)}80%{transform:rotate(3deg)}}.tap-hint{text-align:center;color:var(--ink-soft);font-weight:800;animation:1.4s ease-in-out infinite pulse}@keyframes pulse{0%,to{opacity:.5}50%{opacity:1}}.burst{pointer-events:none;background:radial-gradient(circle,#fff 0%,#fff8 30%,#0000 70%);animation:.7s ease-out both burst;position:absolute;inset:0}@keyframes burst{0%{opacity:1;animation-timing-function:cubic-bezier(.1,.75,.3,1);transform:translate(0)rotate(0)scale(.4)}38%{transform:translate(var(--dx), var(--dy)) rotate(calc(var(--rot) * .4)) scale(1);opacity:1;animation-timing-function:cubic-bezier(.5,0,.9,.6)}to{transform:translate(calc(var(--dx) + var(--sway)), calc(var(--dy) + var(--fall))) rotate(var(--rot));opacity:0}}.gain-bar{color:#fff;background:#3fc3ef;border-radius:18px;align-items:center;gap:12px;padding:14px 18px;font-weight:800;animation:.4s both popIn;display:flex}.gain-bar small{opacity:.9;font-size:13px;font-weight:700;display:block}.plan{background:#fffaf0;border:2px solid #f6ecd2;border-radius:20px;padding:26px 18px 12px;position:relative}.plan .rings{justify-content:space-around;padding:0 30px;display:flex;position:absolute;top:-12px;left:0;right:0}.plan .rings span{background:#f2c95a;border-radius:6px;width:10px;height:26px}.plan h3{margin:0;font-size:20px;font-weight:900}.plan .muted{color:var(--ink-soft);margin:2px 0 10px;font-size:14px;font-weight:600}.plan li{border-top:1px dashed #efe3c3;align-items:center;gap:10px;padding:11px 0;font-size:15px;font-weight:700;list-style:none;animation:.4s both fadeIn;display:flex}.plan ul{margin:0;padding:0}.slider-wrap{text-align:center}.score-big{color:var(--purple);font-size:64px;font-weight:900;line-height:1}input[type=range]{width:100%;accent-color:var(--purple);height:30px}.streak-page{background:var(--purple);color:#fff;min-height:100%;padding:70px 22px var(--foot);flex-direction:column;display:flex;position:relative;overflow:hidden}.rays{background:repeating-conic-gradient(from 0deg, #ffffff12 0 12deg, transparent 12deg 24deg);border-radius:50%;width:760px;height:760px;margin-left:-380px;animation:40s linear infinite spin;position:absolute;top:-120px;left:50%}@keyframes spin{to{transform:rotate(360deg)}}.streak-num{text-align:center;margin-top:8px;font-size:96px;font-weight:900;line-height:.9}.streak-label{text-align:center;letter-spacing:.02em;font-size:26px;font-weight:900}.week{background:#ffffff24;border-radius:18px;justify-content:space-between;margin:20px 0 14px;padding:12px 18px;display:flex}.week div{opacity:.85;flex-direction:column;align-items:center;gap:8px;font-size:13px;font-weight:800;display:flex}.week i{background:#0000002e;border-radius:50%;place-items:center;width:24px;height:24px;font-style:normal;display:grid}.week i.done{background:var(--yellow);color:var(--purple)}.commit-opt{color:#fff;text-align:left;border:2px solid #ffffff59;border-radius:16px;align-items:center;gap:10px;width:100%;padding:14px 16px;font-weight:800;transition:background .15s;display:flex}.commit-opt .grow{flex:1}.commit-opt .tag{opacity:.9;font-size:13px}.commit-opt.on{background:#ffffff2e;border-color:#fff}.tabbar{z-index:30;background:#fffffff5;border-top:1px solid #0000000d;justify-content:space-around;height:86px;padding:8px 10px 26px;display:flex;position:absolute;bottom:0;left:0;right:0}.tabbar.tint{background:0 0;border-top:0}.tab{border-radius:14px;flex-direction:column;align-items:center;gap:1px;width:66px;padding:4px 0;transition:background .2s;display:flex;position:relative}.tab .ti{height:30px;font-size:25px;line-height:30px;transition:transform .2s}.tab .ti img{object-fit:contain;width:30px;height:30px}.tab span{color:var(--ink-soft);font-size:11px;font-weight:800}.tab.on{background:#00000012}.tab.on .ti{transform:translateY(-2px)scale(1.08)}.tab .dot{background:#ff5b5b;border:2px solid #fff;border-radius:50%;width:10px;height:10px;position:absolute;top:2px;right:14px}.scene-bg{position:absolute;top:0;left:0;right:0;overflow:hidden}.home>:not(.scene-bg),.friends>:not(.scene-bg){position:relative}#overlay-root{z-index:60;pointer-events:none;position:absolute;inset:0}#overlay-root>*{pointer-events:auto}.home{background:var(--teal);min-height:100%;padding-bottom:110px;transition:background .6s}.home.adv{background:var(--grass)}.scene{height:330px;position:relative;overflow:hidden}.scene>img.bg{object-fit:cover;object-position:top;width:100%;height:100%;position:absolute;inset:0}.scene .fade{height:90px;position:absolute;bottom:0;left:0;right:0}.scene-top{z-index:5;justify-content:space-between;align-items:center;display:flex;position:absolute;top:56px;left:16px;right:16px}.gem-pill{color:#3558b8;background:#fff;border-radius:20px;align-items:center;gap:6px;padding:5px 12px 5px 6px;font-size:15px;font-weight:900;display:flex;box-shadow:0 2px #00000014}.gem{width:22px;height:22px;display:inline-block}.pet-spot{cursor:pointer;flex-direction:column;align-items:center;display:flex;position:absolute;bottom:36px;left:50%;transform:translate(-50%)}.pet-spot img{filter:drop-shadow(0 6px 4px #0000001f);height:118px}.visitor{white-space:nowrap;z-index:4;background:#fff;border-radius:16px;align-items:center;gap:8px;padding:8px 12px 8px 8px;font-size:14px;font-weight:800;animation:.4s both popIn;display:flex;position:absolute;bottom:8px;left:50%;transform:translate(-50%);box-shadow:0 3px #0000001a}.visitor img{object-fit:contain;width:32px;height:32px}.visitor b{color:var(--green-dark)}.panel-card{border-radius:var(--radius);background:#ffffff38;margin:0 14px;padding:12px 14px}.energy{align-items:center;gap:10px;display:flex}.energy .bolt{filter:drop-shadow(0 2px #00000014);font-size:28px}.energy .lbl{color:#fffffff2;justify-content:space-between;margin-bottom:3px;font-size:13px;font-weight:800;display:flex}.bar{background:#fff;border-radius:10px;height:18px;position:relative;overflow:hidden;box-shadow:inset 0 2px #0000000d}.bar>div{background:linear-gradient(#ffc04d,#f6a53b);border-radius:10px;transition:width .7s cubic-bezier(.2,.9,.3,1.2);position:absolute;inset:0 auto 0 0}.bar>span{text-align:center;color:#7a5a1d;font-size:12px;font-weight:900;line-height:18px;display:block;position:relative}.trail{align-items:center;gap:6px;display:flex}.trail .dash{border-top:3px dashed #ffffff8c;flex:1;position:relative}.trail .me{background:#fff;border-radius:50%;place-items:center;width:26px;height:26px;transition:left 1s;display:grid;position:absolute;top:-14px}.trail .me img{width:22px}.trail .end{background:var(--yellow);color:#b27a00;border-radius:50%;place-items:center;width:28px;height:28px;font-weight:900;display:grid}.goals-head{color:#fff;align-items:center;gap:8px;padding:18px 20px 6px;font-size:16px;font-weight:900;display:flex}.goals-head .grow{flex:1}.goals-head button{color:#fff;background:#ffffff2e;border-radius:10px;place-items:center;width:34px;height:34px;font-size:16px;display:grid}.group-label{color:#ffffffe6;justify-content:space-between;align-items:center;padding:8px 22px 6px;font-size:13px;font-weight:800;display:flex}.group-label .plus{background:#ffffff4d;border-radius:50%;place-items:center;width:22px;height:22px;font-size:15px;display:grid}.goal{cursor:pointer;background:#fff;border-radius:18px;align-items:center;gap:10px;max-height:90px;margin:0 14px 10px;padding:10px 10px 10px 6px;transition:transform .35s,opacity .35s,max-height .35s,margin .35s,padding .35s;display:flex;box-shadow:0 3px #00000014}.goal .grip{color:#d0d0da;text-align:center;letter-spacing:-2px;width:10px;font-size:14px}.goal .gi{background:#f3f2f8;border-radius:50%;flex-shrink:0;place-items:center;width:40px;height:40px;font-size:21px;display:grid}.goal .gt{flex:1;font-size:15px;font-weight:800;line-height:1.2}.goal .gt small{color:var(--ink-faint);margin-top:2px;font-size:12px;font-weight:700;display:block}.goal .en{color:var(--ink-soft);font-size:14px;font-weight:800}.goal .en b{color:var(--orange)}.checkbtn{width:44px;height:40px;color:var(--green);background:#f1f1f5;border-radius:12px;place-items:center;font-size:22px;font-weight:900;transition:transform .1s,background .2s,color .2s;display:grid;box-shadow:0 3px #e0e0e8}.checkbtn:active{transform:translateY(2px);box-shadow:0 1px #e0e0e8}.goal.done{opacity:0;max-height:0;margin-bottom:0;padding-top:0;padding-bottom:0;transform:scale(.9)}.goal.done .checkbtn{background:var(--green);color:#fff}.all-done{text-align:center;color:#fff;padding:20px;font-weight:900}.all-done .big{font-size:48px}.scrim{z-index:60;background:#1412286b;animation:.25s both fadeIn;position:absolute;inset:0}.sheet{z-index:61;background:#fff;border-radius:28px 28px 0 0;max-height:90%;padding:14px 20px 48px;animation:.38s cubic-bezier(.2,.9,.3,1) both sheetUp;position:absolute;bottom:0;left:0;right:0;overflow-y:auto}.sheet.full{max-height:none;top:60px}@keyframes sheetUp{0%{transform:translateY(100%)}to{transform:none}}.sheet .grab{background:#e2e2ea;border-radius:3px;width:40px;height:5px;margin:0 auto 12px}.sheet h2{text-align:center;margin:6px 0 4px;font-size:22px;font-weight:900}.sheet .sub{color:var(--ink-soft);text-align:center;margin:0 0 14px;font-weight:600}.sheet .close{width:32px;height:32px;color:var(--ink-soft);background:#f1f1f5;border-radius:50%;font-weight:900;position:absolute;top:14px;left:16px}.peek-owl{width:120px;animation:.5s cubic-bezier(.2,1.4,.4,1) .15s both peek;position:absolute;top:-88px;left:50%;transform:translate(-50%)}@keyframes peek{0%{opacity:0;transform:translate(-50%,60px)}to{opacity:1;transform:translate(-50%)}}.sheet.has-peek{overflow:visible}.toast{z-index:70;color:#fff;background:#28263af0;border-radius:18px;align-items:center;gap:10px;padding:12px 16px;font-weight:800;animation:.35s cubic-bezier(.2,1.2,.4,1) both toastIn;display:flex;position:absolute;bottom:98px;left:14px;right:14px}.toast small{opacity:.75;font-size:13px;font-weight:700;display:block}@keyframes toastIn{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:none}}.confetti{pointer-events:none;z-index:80;position:absolute;inset:0;overflow:hidden}.confetti i{border-radius:2px;width:9px;height:14px;margin:-7px 0 0 -4px;animation:linear both burst;position:absolute}.confetti i.round{border-radius:50%;width:10px;height:10px}.confetti.rain i{animation-name:rain;animation-timing-function:cubic-bezier(.3,.1,.7,1)}@keyframes rain{0%{opacity:1;transform:translate(0)rotate(0)}50%{transform:translate(var(--sway), 430px) rotate(calc(var(--rot) * .5))}85%{opacity:1}to{transform:translate(calc(var(--sway) * -.5), 880px) rotate(var(--rot));opacity:0}}.goal-detail{text-align:center;padding-top:10px}.goal-detail .gi-big{background:#f3f2f8;border-radius:50%;place-items:center;width:92px;height:92px;margin:8px auto 10px;font-size:46px;display:grid}.chip{color:var(--ink-soft);background:#f1f1f5;border-radius:20px;align-items:center;gap:6px;padding:4px 12px;font-size:13px;font-weight:800;display:inline-flex}.week-mini{justify-content:center;gap:12px;margin:18px 0;display:flex}.week-mini div{color:var(--ink-faint);flex-direction:column;align-items:center;gap:6px;font-size:12px;font-weight:800;display:flex}.week-mini i{background:#efeff4;border-radius:50%;width:22px;height:22px}.week-mini i.today{background:var(--yellow)}.action-row{justify-content:space-around;align-items:flex-end;margin-top:18px;display:flex}.action-row button{color:var(--ink-soft);flex-direction:column;align-items:center;gap:6px;font-size:13px;font-weight:800;display:flex}.action-row .round{background:#f1f1f5;border-radius:50%;place-items:center;width:52px;height:52px;font-size:22px;display:grid}.action-row .round.go{background:var(--green);color:#fff;width:72px;height:72px;box-shadow:0 4px 0 var(--green-dark);font-size:32px}.reward-modal{z-index:75;background:var(--grass);padding:90px 24px var(--foot);color:#fff;text-align:center;flex-direction:column;align-items:center;display:flex;position:absolute;inset:0;overflow:hidden}.reward-modal h1{margin:16px 0 6px;font-size:30px;font-weight:900}.reward-modal p{opacity:.92;margin:0;font-size:16px;font-weight:700;line-height:1.4}.reward-chip{color:#3558b8;background:#fff;border-radius:20px;align-items:center;gap:8px;margin-top:18px;padding:8px 16px;font-size:20px;font-weight:900;animation:.5s .5s both popIn;display:inline-flex}.practice{min-height:100%;padding:58px 20px var(--foot);background:#fff;flex-direction:column;display:flex}.practice-top{align-items:center;gap:12px;display:flex}.practice-top .x{color:var(--ink-faint);font-size:22px;font-weight:900}.timer{color:var(--ink-soft);background:#f1f1f5;border-radius:10px;padding:4px 10px;font-size:14px;font-weight:900}.q-sub{letter-spacing:.1em;text-transform:uppercase;color:var(--ink-faint);justify-content:space-between;margin:16px 0 8px;font-size:12px;font-weight:900;display:flex}.passage{color:#4a4a5a;background:#faf8f2;border-radius:16px;margin-bottom:12px;padding:14px 16px;font-family:Georgia,Times New Roman,serif;font-size:15px;font-weight:600;line-height:1.55}.passage u{text-underline-offset:3px;text-decoration-thickness:2px}.q-text{margin:4px 0 14px;font-size:18px;font-weight:800;line-height:1.4}.q-text u{text-underline-offset:3px;text-decoration-thickness:2px}.choices{flex-direction:column;gap:10px;display:flex}.choice{border:2px solid var(--line);text-align:left;box-shadow:0 3px 0 var(--line);background:#fff;border-radius:16px;align-items:center;gap:12px;padding:12px 14px;font-size:16px;font-weight:700;transition:all .15s;display:flex}.choice .letter{background:#f1f1f5;border-radius:10px;flex-shrink:0;place-items:center;width:32px;height:32px;font-weight:900;display:grid}.choice.sel{border-color:var(--purple);box-shadow:0 3px 0 var(--purple)}.choice.sel .letter{background:var(--purple);color:#fff}.choice.right{border-color:var(--green);background:var(--green-soft);box-shadow:0 3px 0 var(--green)}.choice.right .letter{background:var(--green);color:#fff}.choice.wrong{background:#fdeeee;border-color:#ef6b6b;box-shadow:0 3px #ef6b6b}.choice.wrong .letter{color:#fff;background:#ef6b6b}.feedback{z-index:20;padding:22px 20px var(--foot);border-radius:26px 26px 0 0;animation:.35s cubic-bezier(.2,.9,.3,1) both sheetUp;position:absolute;bottom:0;left:0;right:0}.feedback.good{background:#e3f7dc}.feedback.bad{background:#fde6e4}.feedback .fh{align-items:center;gap:12px;display:flex}.feedback .fh img{width:64px}.feedback h3{margin:0;font-size:21px;font-weight:900}.feedback.good h3{color:#3a9a38}.feedback.bad h3{color:#d24b4b}.feedback p{color:#555;margin:8px 0 14px;font-size:15px;font-weight:600;line-height:1.45}.data-table{border-collapse:collapse;width:100%;font-size:14px;font-weight:700;font-family:var(--font);margin-bottom:12px}.data-table th{color:#2a6f9b;background:#eaf6fd;padding:8px;font-size:12px}.data-table td{border-bottom:1px solid var(--line);text-align:center;padding:7px 8px}.quests{background:#f6c3bd;min-height:100%;padding:60px 14px 110px}.season{height:176px;box-shadow:var(--shadow);background:#213;border-radius:22px;position:relative;overflow:hidden}.season img{object-fit:cover;opacity:.9;width:100%;height:100%}.season .over{color:#fff;text-align:center;background:linear-gradient(#0000 30%,#00000059);flex-direction:column;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.season small{letter-spacing:.16em;font-size:11px;font-weight:900}.season .title{text-shadow:0 3px #00000040;font-family:Pacifico,cursive;font-size:34px}.ribbon{background:var(--green);color:#fff;letter-spacing:.1em;clip-path:polygon(8px 0,calc(100% - 8px) 0,100% 50%,calc(100% - 8px) 100%,8px 100%,0 50%);margin-top:6px;padding:5px 18px;font-size:11px;font-weight:900}.sec-head{justify-content:space-between;align-items:center;margin:20px 6px 10px;font-size:17px;font-weight:900;display:flex}.sec-head small{color:#00000073;font-size:13px;font-weight:800}.quest{background:#fff;border-radius:18px;align-items:center;gap:12px;margin-bottom:10px;padding:12px;display:flex;box-shadow:0 3px #00000012}.quest .qi{border-radius:14px;flex-shrink:0;place-items:center;width:46px;height:46px;font-size:24px;display:grid}.quest .qt{flex:1;font-size:15px;font-weight:800}.quest .qt small{color:var(--ink-soft);font-size:12px;font-weight:700;display:block}.quest .bar{background:#f1f1f5;height:14px;margin-top:6px}.quest .bar>span{font-size:10px;line-height:14px}.quest.ready{background:#fdf7d8}.quest.claimed{background:#eef7dd}.quest.claimed .qt{color:var(--green-dark);text-decoration:line-through}.quest .go{background:#f1f1f5;border-radius:12px;place-items:center;width:40px;height:40px;font-size:18px;display:grid;box-shadow:0 3px #e0e0e8}.quest .hint{height:34px;color:var(--ink-soft);background:#f1f1f5;border-radius:10px;padding:0 14px;font-size:13px;font-weight:800}.gem-float{z-index:90;color:#3558b8;pointer-events:none;font-size:22px;font-weight:900;animation:1.2s ease-out forwards gemFloat;position:absolute}@keyframes gemFloat{0%{opacity:0;transform:translateY(0)scale(.6)}20%{opacity:1;transform:translateY(-10px)scale(1.2)}to{opacity:0;transform:translateY(-90px)scale(1)}}.areas{grid-template-columns:1fr 1fr;gap:12px;display:grid}.area{text-align:left;color:#fff;border-radius:20px;height:150px;padding:12px 14px;font-size:16px;font-weight:900;transition:transform .15s;position:relative;overflow:hidden}.area:active{transform:scale(.97)}.area img{height:96px;position:absolute;bottom:-6px;right:-4px}.area .label{z-index:1;text-shadow:0 1px 2px #00000026;display:block;position:relative}.area small{opacity:.9;font-size:12px;font-weight:700;display:block}.shop{background:#3d6cc9;min-height:100%;padding-bottom:110px}.shop-top{z-index:10;color:#fff;background:#20295a;align-items:center;gap:10px;padding:54px 16px 10px;display:flex;position:sticky;top:0}.shop-top .grow{flex:1}.shop-top .mini{flex-direction:column;align-items:center;gap:2px;font-size:11px;font-weight:800;display:flex}.shop-top .mini span{font-size:20px}.plus-banner{color:#fff;background:linear-gradient(135deg,#7a72cc,#5b8de0);border-radius:22px;align-items:center;gap:10px;margin:14px;padding:16px;display:flex;box-shadow:0 4px #00000026}.plus-banner h3{margin:0;font-size:20px;font-weight:900}.plus-banner p{opacity:.9;margin:4px 0 10px;font-size:13px;font-weight:700}.plus-banner img{width:96px}.plus-tag{color:var(--purple);vertical-align:middle;background:#fff;border-radius:6px;margin-left:4px;padding:2px 6px;font-size:10px}.counter{height:270px;position:relative;overflow:hidden}.counter>img.bg{object-fit:cover;object-position:50% 16%;width:100%;height:100%;position:absolute;inset:0}.counter .keeper{filter:drop-shadow(0 6px 4px #00000024);transform-origin:50% 100%;height:190px;position:absolute;bottom:10px;left:14px}.counter .speech{width:200px;font-size:14px;position:absolute;top:28px;right:14px}.counter .speech:after{border:10px solid #0000;border-left:0;border-right-color:#fff;top:28px;bottom:auto;left:-10px}.refresh{color:#fff;background:#2f58ad;justify-content:space-between;align-items:center;padding:12px 16px;font-weight:800;display:flex}.reroll{background:var(--yellow);color:#8a5a00;border-radius:20px;align-items:center;gap:6px;padding:5px 12px;font-size:13px;font-weight:900;display:flex}.items{grid-template-columns:repeat(3,1fr);gap:10px;padding:12px 14px;display:grid}.item{aspect-ratio:.82;color:#fff;background:linear-gradient(#c56be8,#a64fd6);border-radius:18px;flex-direction:column;justify-content:center;align-items:center;gap:6px;font-weight:900;transition:transform .12s;display:flex;position:relative;box-shadow:inset 0 -4px #0000001f}.item:active{transform:scale(.95)}.item .ie{filter:drop-shadow(0 3px #0000001f);font-size:38px}.item .price{align-items:center;gap:4px;font-size:14px;display:flex}.item.plus{background:linear-gradient(#6f7fe0,#5566cf)}.item .lock{color:var(--purple);background:#fff;border-radius:8px;padding:2px 8px;font-size:11px;font-weight:900;position:absolute;bottom:8px}.item.owned{background:linear-gradient(#8fd57a,#6cc05a)}.collection-head{color:#fff;padding:14px 16px 2px}.collection-head b{font-size:17px}.collection-head small{opacity:.8;font-weight:700;display:block}.shop-tabs{gap:8px;padding:12px 14px 0;display:flex}.shop-tabs button{color:#fff;background:#ffffff24;border-radius:12px;flex-direction:column;flex:1;align-items:center;gap:2px;padding:8px 0;font-size:13px;font-weight:800;display:flex}.shop-tabs button span{font-size:20px}.shop-tabs button.on{color:#2f58ad;background:#fff}.shop-tabs button.locked{opacity:.5}.preview-stage{background:linear-gradient(#9d95e6,#7a72cc);border-radius:22px;place-items:center;height:250px;margin:4px 0 12px;display:grid;position:relative}.preview-stage .dress{height:170px;margin-top:36px;position:relative}.preview-stage .dress>img{height:170px;display:block}.preview-stage .dress>img.worn,.dress>img.worn{filter:drop-shadow(0 2px 1px #0000001f);height:auto;position:absolute}.item .ie-art{object-fit:contain;filter:drop-shadow(0 3px #00000024);width:62%;max-height:50%}.preview-stage .wear{font-size:54px;position:absolute}.friends{background:#7cc35c;min-height:100%;padding-bottom:92px}.friends .scene{height:470px}.invite-card{color:#fff;background:#4f9c43;border-radius:18px;align-items:center;gap:10px;margin:0 14px;padding:10px 14px;font-weight:800;display:flex}.invite-card img{width:52px}.invite-card small{color:#ffd76a;letter-spacing:.08em;font-size:11px;font-weight:900;display:block}.reward-track{justify-content:space-between;margin:12px 0 18px;display:flex;position:relative}.reward-track:before{content:"";border-top:4px solid #e6e6ee;position:absolute;top:34px;left:40px;right:40px}.reward-track div{z-index:1;flex-direction:column;align-items:center;gap:6px;font-size:13px;font-weight:800;display:flex;position:relative}.reward-track i{width:68px;height:68px;box-shadow:var(--shadow);background:#fff;border:2px solid #eee;border-radius:18px;place-items:center;font-size:30px;font-style:normal;display:grid}.buddies{grid-template-columns:repeat(3,1fr);gap:10px;margin:10px 0 16px;display:grid}.buddy{aspect-ratio:1;background:#f3f8ef;border:3px solid #0000;border-radius:18px;place-items:center;padding:8px;transition:all .15s;display:grid}.buddy img{width:80%}.buddy.on{border-color:var(--green);background:#e6f6de;transform:scale(1.04)}.profile{background:var(--beige);min-height:100%;padding:58px 14px 110px}.pf-top{justify-content:space-between;align-items:center;margin-bottom:18px;display:flex}.pf-top b{font-size:18px;font-weight:900}.idcard{box-shadow:var(--shadow);background:#fff;border-radius:24px;padding:22px 16px 12px;position:relative}.idcard .clip{background:#a7785a;border-radius:8px;width:56px;height:20px;position:absolute;top:-10px;left:50%;transform:translate(-50%)}.idcard .stamp{color:#e2787859;text-align:center;border:3px double #e278784d;border-radius:50%;place-items:center;width:86px;height:86px;font-size:11px;font-weight:900;line-height:1.1;display:grid;position:absolute;top:14px;right:14px;transform:rotate(-14deg)}.id-head{border-bottom:1px solid var(--line);align-items:center;gap:14px;padding-bottom:12px;display:flex}.id-photo{background:#f6eedb;border-radius:14px;place-items:end center;width:96px;height:104px;display:grid;overflow:hidden}.id-photo img{width:88px;margin-bottom:-6px}.id-head h2{margin:0;font-size:21px;font-weight:900}.id-head span{color:var(--ink-faint);font-weight:700}.id-rows{grid-template-columns:118px 1fr;row-gap:8px;padding:12px 4px;font-size:14px;display:grid}.id-rows dt{letter-spacing:.1em;color:var(--ink-faint);align-self:center;font-size:11px;font-weight:900}.id-rows dd{margin:0;font-weight:800}.seg{background:#f7f1e3;border-radius:12px;padding:4px;display:flex}.seg button{letter-spacing:.1em;color:var(--ink-faint);border-radius:9px;flex:1;padding:8px;font-size:12px;font-weight:900}.seg button.on{color:var(--ink);background:#fff;box-shadow:0 1px #0000000f}.radar{margin:4px auto;display:block}.streak-card{box-shadow:var(--shadow);text-align:left;background:#fff;border-radius:18px;align-items:center;gap:12px;width:100%;margin-top:14px;padding:12px 14px;display:flex}.streak-card .sun{font-size:32px}.streak-card b{font-size:18px}.streak-card small{color:var(--ink-soft);font-weight:700;display:block}.notebook{background:#fff9f4;border-radius:20px;margin-top:22px;padding:22px 14px 10px;position:relative;box-shadow:0 6px #b98a66}.notebook .rings{justify-content:space-between;display:flex;position:absolute;top:-12px;left:20px;right:20px}.notebook .rings span{background:#b98a66;border-radius:5px;width:10px;height:24px}.notebook h4{justify-content:space-between;margin:0 0 10px;font-weight:900;display:flex}.tiles{grid-template-columns:repeat(3,1fr);gap:10px;display:grid}.tile{aspect-ratio:1;color:#d8c8bc;background:#f4ece6;border-radius:16px;place-items:center;font-size:28px;font-weight:900;display:grid}.tile.got{background:#5cc0ef}.tile.got img{width:80%}.notebook .count{text-align:center;color:var(--ink-soft);margin-top:10px;font-size:13px;font-weight:800}.bag-grid{grid-template-columns:1fr 1fr;gap:10px;margin-top:10px;display:grid}.bag-grid button{box-shadow:var(--shadow);background:#fff;border-radius:16px;flex-direction:column;align-items:center;gap:4px;padding:14px;font-weight:800;display:flex}.bag-grid button span{font-size:28px}.streak-detail{color:#fff;background:#f59b55;min-height:100%;padding:64px 20px 24px}.repair{background:#ffffff2e;border-radius:18px;justify-content:space-between;align-items:center;margin-top:18px;padding:14px 16px;font-weight:800;display:flex}.calendar{color:var(--ink);background:#fff;border-radius:22px;margin-top:18px;padding:16px}.calendar .cal-grid{text-align:center;grid-template-columns:repeat(7,1fr);gap:6px;font-size:13px;font-weight:800;display:grid}.calendar .cal-grid .dow{color:var(--ink-faint);font-size:11px}.calendar .cal-grid .d{border-radius:50%;place-items:center;height:30px;display:grid}.calendar .cal-grid .d.hit{background:var(--yellow);color:#8a5a00}.calendar .cal-grid .d.today{outline:2px solid var(--orange)}.splash{background:#fbf5ea;place-items:center;display:grid;position:absolute;inset:0}.splash img{border-radius:36px;width:150px;box-shadow:0 12px 30px #0000001f}.splash h1{text-align:center;color:#5d57a8;margin:14px 0 0;font-size:34px;font-weight:900}.paywall{min-height:100%;padding:60px 22px var(--foot);background:linear-gradient(#efeaff,#fff 55%);flex-direction:column;display:flex}.perk{align-items:center;gap:12px;padding:10px 0;font-weight:700;display:flex}.perk span{width:40px;height:40px;box-shadow:var(--shadow);background:#fff;border-radius:12px;flex-shrink:0;place-items:center;font-size:20px;display:grid}.plan-pick{gap:10px;margin:14px 0;display:flex}.plan-pick button{border:2px solid var(--line);text-align:left;background:#fff;border-radius:16px;flex:1;padding:12px;font-weight:800;position:relative}.plan-pick button small{color:var(--ink-soft);font-weight:700;display:block}.plan-pick button.on{border-color:var(--purple);background:#f6f4ff}.plan-pick .best{background:var(--orange);color:#fff;border-radius:8px;padding:2px 8px;font-size:10px;position:absolute;top:-10px;right:10px}.account p code{color:#e9e6ff;font-size:12px}.account .live-dot{color:#7ee07b}.icon-btn .dot{background:#ff5b5b;border:2px solid #fff;border-radius:50%;width:10px;height:10px;position:absolute;top:4px;right:4px}.board{background:#fff;border-radius:22px;margin:16px 14px 0;padding:14px 12px 10px;position:relative;box-shadow:0 4px #00000014}.board-head{justify-content:space-between;align-items:baseline;margin:0 4px 10px;display:flex}.board-head b{font-size:18px;font-weight:900}.board-head small{color:var(--ink-faint);font-size:12px;font-weight:800}.board-seg{background:#eef6e8}.board-scope{gap:8px;margin:10px 0 6px;display:flex}.board-scope button{color:var(--ink-soft);background:#f4f4f8;border-radius:20px;flex:1;padding:7px 0;font-size:13px;font-weight:800}.board-scope button.on{color:#fff;background:#4f9c43}.board-row{border-radius:14px;align-items:center;gap:10px;padding:8px 6px;display:flex}.board-row+.board-row{border-top:1px solid var(--line)}.board-row.me{background:#fdf7d8;border-top-color:#0000}.board-row.me+.board-row{border-top-color:#0000}.board-row .place{text-align:center;width:26px;color:var(--ink-soft);font-size:15px;font-weight:900}.board-row img{object-fit:contain;width:38px;height:38px}.board-row .who{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:15px;font-weight:900;overflow:hidden}.board-row .who small{color:var(--ink-soft);font-size:12px;font-weight:700;display:block}.board-row .xp{color:#3558b8;font-size:15px;font-weight:900}.board-row .xp small{font-size:11px}.board-row .cheer{background:#fdeef5;border-radius:50%;width:34px;height:34px;font-size:17px}.board-empty{text-align:center;color:var(--ink-soft);padding:14px 8px;font-size:14px;font-weight:700}.board-note{color:var(--ink-faint);text-align:center;margin:8px 4px 2px;font-size:12px;font-weight:700}.letters{text-align:left;flex-direction:column;gap:8px;margin:14px 0 6px;display:flex}.letter{background:#f4f4f8;border-radius:16px;align-items:center;gap:10px;padding:10px 12px;font-size:14px;font-weight:700;display:flex}.letter.unread{background:#fdeef5}.letter .le{font-size:26px}.letter small{color:var(--ink-faint);margin-top:2px;font-size:12px;display:block}.ob>*,.ob-body>*{animation:.5s cubic-bezier(.2,1.2,.4,1) both riseIn}.ob>:nth-child(2),.ob-body>:first-child{animation-delay:60ms}.ob>:nth-child(3),.ob-body>:nth-child(2){animation-delay:.12s}.ob>:nth-child(4),.ob-body>:nth-child(3){animation-delay:.18s}.ob>:nth-child(5),.ob-body>:nth-child(4){animation-delay:.24s}.ob-body>:nth-child(5){animation-delay:.3s}.ob-body>:nth-child(6){animation-delay:.36s}.ob-body>:nth-child(n+7){animation-delay:.42s}@keyframes riseIn{0%{opacity:0;transform:translateY(18px)scale(.97)}to{opacity:1;transform:none}}.hero-owl{width:280px;height:240px;margin:0 auto;position:relative}.hero-owl>.owl-anim{position:absolute;bottom:0;left:50%;transform:translate(-50%)}.hero-owl .shadow{background:#5d57a824;border-radius:50%;width:110px;height:14px;position:absolute;bottom:-6px;left:85px}.hero-owl .hero-bounce{display:block;position:absolute;bottom:0;left:50%;transform:translate(-50%)}.hero-bounce>.owl-anim{transform-origin:50% 100%;animation:1.5s cubic-bezier(.45,0,.55,1) infinite heroHop}@keyframes heroHop{0%,to{transform:translateY(0)scale(1.04,.96)}12%{transform:translateY(0)scale(1)}45%{transform:translateY(-34px)scale(.98,1.03)}78%{transform:translateY(0)scale(1)}88%{transform:translateY(0)scale(1.05,.95)}}.hero-owl .shadow{animation:1.5s cubic-bezier(.45,0,.55,1) infinite heroShadow}@keyframes heroShadow{0%,12%,78%,to{opacity:1;transform:scale(1)}45%{opacity:.55;transform:scale(.7)}}.hero-title span{animation:.6s cubic-bezier(.2,1.6,.4,1) both letterDrop;display:inline-block}@keyframes letterDrop{0%{opacity:0;transform:translateY(-30px)rotate(-12deg)}to{opacity:1;transform:none}}.owl-swap{transform-origin:50% 100%;animation:.6s cubic-bezier(.2,1.5,.4,1) both owlSwap}@keyframes owlSwap{0%{transform:scale(.7,1.2)}45%{transform:scale(1.15,.88)translateY(-14px)}to{transform:none}}@keyframes sway{0%,to{transform:rotate(-4deg)}50%{transform:rotate(4deg)translateY(-4px)}}.egg-slot.on svg{animation:1.4s ease-in-out infinite eggWiggle}@keyframes eggWiggle{0%,60%,to{transform:rotate(0)}70%{transform:rotate(-10deg)}80%{transform:rotate(8deg)}90%{transform:rotate(-4deg)}}.hatched{align-content:end;place-items:center;min-height:300px;display:grid;position:relative}.hatched .shell-half{z-index:2;grid-area:1/1;align-self:end;margin-bottom:10px;animation:.6s cubic-bezier(.2,1.4,.4,1) both shellPop;position:relative}@keyframes shellPop{0%{opacity:0;transform:scale(.6)}to{opacity:1;transform:none}}.hatched .jump-out{z-index:1;transform-origin:50% 100%;grid-area:1/1;justify-content:center;align-self:end;animation:1.2s cubic-bezier(.3,.9,.4,1) both jumpOut;display:flex;position:relative}@keyframes jumpOut{0%{opacity:0;transform:translateY(-40px)scale(.45)}15%{opacity:1}45%{transform:translateY(-190px)scale(1)rotate(-6deg)}72%{transform:translateY(-56px)scale(1.08,.9)}86%{transform:translateY(-70px)scale(.97,1.04)}to{transform:translateY(-64px)}}.sparkle{font-size:22px;animation:1.6s ease-out both sparkleOut;position:absolute;top:50%;left:50%}@keyframes sparkleOut{0%{opacity:0;transform:translate(-50%,-50%)scale(.2)}30%{opacity:1}to{transform:translate(calc(-50% + var(--sx)), calc(-50% + var(--sy))) scale(1) rotate(180deg);opacity:0}}.shell{border-radius:50% 50% 40% 40%;width:26px;height:20px;animation:1s cubic-bezier(.2,.7,.4,1) both shellFly;position:absolute;top:55%;left:50%}@keyframes shellFly{0%{opacity:1;transform:translate(-50%)rotate(0)}to{transform:translate(calc(-50% + var(--sx)), var(--sy)) rotate(var(--sr));opacity:0}}.name-row{gap:10px;display:flex}.name-row .text-input{flex:1}.dice{background:#f4f2ff;border:2px solid #e2defc;border-radius:16px;flex-shrink:0;width:58px;height:58px;font-size:28px}.dice.roll{animation:.5s cubic-bezier(.2,1.3,.4,1) diceRoll}@keyframes diceRoll{0%{transform:rotate(-200deg)scale(.6)}to{transform:none}}@keyframes haloPulse{0%,to{opacity:.75;transform:scale(.94)}50%{opacity:1;transform:scale(1.04)}}.ring-bell{transform-origin:50% 8%;font-size:56px;animation:2.4s ease-in-out infinite bell;display:inline-block}@keyframes bell{0%,50%,to{transform:none}56%{transform:rotate(18deg)}62%{transform:rotate(-16deg)}68%{transform:rotate(12deg)}74%{transform:rotate(-8deg)}80%{transform:rotate(4deg)}}.time-chips{grid-template-columns:1fr 1fr;gap:8px;display:grid}.time-chips .option{gap:8px;min-height:50px;padding:8px 12px;font-size:14px}.time-chips .option .emo{width:24px;font-size:20px}.time-chips .option small{color:var(--ink-soft);font-size:12px;font-weight:700;display:block}.badge-cloud{width:320px;height:230px;margin:0 auto;position:relative}.badge-cloud .owl-center{justify-content:center;display:flex;position:absolute;top:40px;left:0;right:0}.sec-badge{box-shadow:var(--shadow);border:1px solid var(--line);background:#fff;border-radius:12px;padding:6px 10px;font-size:13px;font-weight:900;animation:.5s cubic-bezier(.2,1.6,.4,1) both popIn,3s ease-in-out infinite floaty;position:absolute}@keyframes floaty{0%,to{translate:0}50%{translate:0 -6px}}.stepper{justify-content:center;align-items:center;gap:18px;margin-top:6px;display:flex}.stepper button{width:48px;height:48px;color:var(--purple);background:#fff;border-radius:50%;font-size:24px;font-weight:900;box-shadow:0 3px #e0e0e8}.stepper .num{color:var(--purple);text-align:center;min-width:70px;font-size:48px;font-weight:900;line-height:1}.reveal{text-align:center;background:#f7f5ff;border-radius:18px;padding:12px;font-weight:800;animation:.45s cubic-bezier(.2,1.2,.4,1) both riseIn}.date-card{border:2px solid var(--line);cursor:pointer;border-radius:18px;align-items:center;gap:12px;padding:12px 16px;transition:border-color .15s,background .15s;display:flex}.date-card.on{border-color:var(--green);background:#f5fcf3}.date-card .emo{font-size:34px}.date-card label{letter-spacing:.1em;color:var(--ink-faint);text-transform:uppercase;flex:1;font-size:12px;font-weight:900;display:block}.date-card input{font:inherit;letter-spacing:0;text-transform:none;color:var(--ink);background:0 0;border:0;outline:none;width:100%;padding:2px 0 0;font-size:19px;font-weight:900;display:block}.date-card small{color:var(--green-dark);letter-spacing:0;text-transform:none;font-size:13px;font-weight:800;display:block}.warm-q{background:#faf8f2;border-radius:18px;padding:14px 16px;font-size:16px;font-weight:800;line-height:1.4}.warm-why{border-radius:16px;padding:12px 14px;font-size:14px;font-weight:700;line-height:1.45;animation:.4s both riseIn}.warm-why.good{color:#2f6f2d;background:#e3f7dc}.warm-why.bad{color:#9b3b3b;background:#fde6e4}.streak-num.slam{text-shadow:0 6px #0000001f,0 0 30px #ffd24ab3;animation:.8s cubic-bezier(.2,1.8,.4,1) .25s both slam}@keyframes slam{0%{opacity:0;transform:scale(3)rotate(-10deg)}60%{opacity:1}to{opacity:1;transform:none}}.streak-glow{pointer-events:none;background:radial-gradient(circle,#ffd24a80,#0000 65%);border-radius:50%;width:260px;height:260px;margin-left:-130px;animation:1.8s ease-in-out infinite haloPulse;position:absolute;top:150px;left:50%}.week i.done.stamp{animation:.6s cubic-bezier(.2,1.8,.4,1) 1s both stamp}@keyframes stamp{0%{transform:scale(0)}70%{transform:scale(1.4);box-shadow:0 0 0 10px #ffd24a00}to{transform:none;box-shadow:0 0 #ffd24a00}}.streak-page .rise{animation:.5s both riseIn}.walk-scene{position:absolute;top:0;left:0;right:0;overflow:hidden}.walk-ground{background:#80a869;position:absolute;bottom:0;left:0;right:0}.walk-sun{background:radial-gradient(circle at 40% 38%,#fff6c4,#ffd65a 55%,#ffc23a);border-radius:50%;width:74px;height:74px;margin-left:-37px;animation:4s ease-in-out infinite sunGlow;position:absolute;box-shadow:0 0 0 10px #ffe27840,0 0 40px 18px #ffd65a59}@keyframes sunGlow{0%,to{box-shadow:0 0 0 10px #ffe27840,0 0 40px 18px #ffd65a59}50%{box-shadow:0 0 0 16px #ffe2782e,0 0 54px 24px #ffd65a4d}}.walk-strip{background:url(/assets/scenes/adventure_path.png) 0 0/1721px 480px repeat-x;height:480px;animation:24s linear infinite pathScroll;position:absolute;left:0;right:0}@keyframes pathScroll{to{background-position-x:-1721px}}.walk-moon{filter:drop-shadow(0 0 18px #fbe7a173);margin-left:-48px;position:absolute;left:26%}.walk-star{background:#fff6cf;border-radius:50%;width:5px;height:5px;animation:2.6s ease-in-out infinite twinkle;position:absolute}@keyframes twinkle{0%,to{filter:brightness(.6);scale:.7}50%{filter:brightness(1.2);scale:1.2}}.walker{display:inline-block;position:relative}.walker .owl-anim{filter:drop-shadow(0 6px 4px #00000024);display:block}.walker .dust{z-index:1;background:#f0d6aae6;border-radius:50%;width:14px;height:14px;animation:.6s ease-out infinite dust;position:absolute;bottom:2px;left:14%}.walker .dust.d2{animation-delay:.3s;left:30%}@keyframes dust{0%{opacity:.9;transform:translate(0)scale(.4)}to{opacity:0;transform:translate(-34px,-10px)scale(1.4)}}.board.compact{margin-top:12px;padding:12px 12px 6px}.board.compact .board-head{margin-bottom:4px}.board-head .see-all{color:#4f9c43;font-size:13px;font-weight:900}.board-row .gap{color:var(--ink-faint)}.friends-actions{gap:10px;padding:0 14px;display:flex;position:relative}.friends-actions .btn{flex:1;height:50px;font-size:15px}.owl-anim{vertical-align:bottom;flex-shrink:0;display:inline-block;position:relative}.owl-anim>img{pointer-events:none;position:absolute;max-width:none!important;height:auto!important;animation:none!important;transform:none!important}.quiz-head .progress-top{justify-content:space-between;margin:0}.quiz-head .kicker{color:var(--purple);animation:.4s both fadeIn}.steps.marked{flex:none;height:8px;margin:10px 8px 0;position:relative;overflow:visible}.steps.marked i{background:#fff;border:3px solid #dcdce6;border-radius:50%;width:14px;height:14px;margin:-7px 0 0 -7px;transition:border-color .4s .2s;position:absolute;top:50%}.steps.marked i.hit{border-color:var(--green)}.owl-says{align-items:flex-end;gap:8px;margin-top:14px;display:flex}.owl-says .speech{flex:1;margin-bottom:30px}.suggest{text-align:left;color:var(--ink);background:#f4f2ff;border-radius:18px;margin-top:12px;padding:12px 14px;font-size:14px;font-weight:700;line-height:1.45;animation:.45s .3s both riseIn}.suggest small{letter-spacing:.12em;text-transform:uppercase;color:var(--purple);margin-bottom:2px;font-size:11px;font-weight:900;display:block}.suggest b{color:var(--purple)}.proof-card{border:2px solid var(--line);box-shadow:var(--shadow);text-align:center;background:#fff;border-radius:24px;margin-top:16px;overflow:hidden}.proof-top{background:linear-gradient(160deg,#9d95e6,#7a72cc);justify-content:space-between;align-items:flex-end;height:170px;padding:0 16px 14px;display:flex;position:relative;overflow:hidden}.proof-top:before{content:"";background:repeating-conic-gradient(from 0deg at 26% 100%, #ffffff17 0 10deg, transparent 10deg 20deg);position:absolute;inset:0}.proof-owl{position:relative}.proof-scores{background:#fff;border-radius:18px;align-items:center;gap:10px;padding:8px 14px;animation:.5s .2s both popIn;display:flex;position:relative;box-shadow:0 4px #0000001f}.proof-scores div{flex-direction:column;align-items:center;display:flex}.proof-scores small{color:var(--ink-soft);font-size:11px;font-weight:800}.proof-scores b{font-size:28px;font-weight:900;line-height:1.05}.proof-scores b.after{color:var(--purple);min-width:36px}.proof-scores .jump{background:var(--purple);color:#fff;border-radius:12px;padding:3px 8px;font-size:13px;font-weight:900}.stars{color:#f6b93b;letter-spacing:3px;margin:14px 0 4px;font-size:22px}.stars span{animation:.4s cubic-bezier(.2,1.8,.4,1) both popIn;display:inline-block}.proof-card .quote{margin:0 18px;font-size:16px;font-weight:700;line-height:1.45}.proof-card .by{color:var(--ink-soft);margin:10px 0 16px;font-size:13px;font-weight:700}.proof-card .by b{color:var(--ink)}.ghost-date{opacity:0;pointer-events:none;border:0;width:100%;height:1px;padding:0;position:absolute;bottom:0;left:0}.req{background:var(--purple);color:#fff;border-radius:8px;padding:2px 8px;font-size:11px;font-weight:900}.req.opt{color:var(--ink-soft);background:#efeff4}.req.nudge{animation:.5s wobble}.stepper.dim .num{color:var(--ink-faint)}.forgot{color:var(--purple);background:#fff;border:2px solid #dcd8fb;border-radius:12px;margin-top:10px;padding:6px 14px;font-size:14px;font-weight:800}.forgot.on{background:var(--purple);color:#fff;border-color:var(--purple)}.gauge{width:260px;margin:0 auto;position:relative}.gauge svg{display:block;overflow:visible}.gauge path{fill:none;stroke-width:16px;stroke-linecap:round}.gauge .track{stroke:#ecebf6}.gauge .fill{stroke:var(--purple);stroke-dasharray:100;stroke-dashoffset:100px;animation:3.8s cubic-bezier(.4,.1,.3,1) forwards gaugeFill}@keyframes gaugeFill{30%{stroke-dashoffset:62px}60%{stroke-dashoffset:30px}to{stroke-dashoffset:0}}.gauge-owl{justify-content:center;display:flex;position:absolute;bottom:0;left:0;right:0}.analyze-list{text-align:left;color:var(--ink-faint);flex-direction:column;gap:10px;margin:26px auto 0;font-weight:800;display:flex}.analyze-list div{align-items:center;gap:10px;transition:color .3s;display:flex}.analyze-list i{color:#fff;border:2px solid #dcdce6;border-radius:50%;place-items:center;width:22px;height:22px;font-size:13px;font-style:normal;transition:all .3s;display:grid}.analyze-list .now{color:var(--ink)}.analyze-list .now i{border-color:var(--purple);border-top-color:#0000;animation:.8s linear infinite spin}.analyze-list .done{color:var(--ink)}.analyze-list .done i{background:var(--green);border-color:var(--green);animation:.3s both popIn}.forecast-head{align-items:flex-end;gap:8px;margin-top:8px;display:flex}.forecast-head h1{font-size:27px}svg.forecast{width:100%;margin-top:16px;overflow:visible}.forecast .grid{stroke:#ececf2;stroke-dasharray:3 4}.forecast .tick,.forecast .axis{fill:var(--ink-faint);font-size:12px;font-weight:800;font-family:var(--font)}.forecast .goal-date,.forecast .goal-label{fill:var(--purple);font-size:12px;font-weight:900;font-family:var(--font);letter-spacing:.06em}.forecast .goal-label{animation:.4s 1.5s both fadeIn}.forecast .curve{fill:none;stroke:var(--purple);stroke-width:4px;stroke-linecap:round;stroke-dasharray:100;stroke-dashoffset:100px;animation:1.4s cubic-bezier(.5,0,.3,1) .2s forwards draw}@keyframes draw{to{stroke-dashoffset:0}}.forecast .area{animation:.8s 1s both fadeIn}.forecast .dot{stroke-width:4px}.forecast .dot.start{fill:#fff;stroke:var(--ink)}.forecast .dot.goal{fill:#fff;stroke:var(--purple);transform-box:fill-box;transform-origin:50%;animation:.5s cubic-bezier(.2,1.8,.4,1) 1.5s both popIn,1.6s ease-in-out 2.1s infinite goalPulse}@keyframes goalPulse{50%{stroke-width:7px}}.plan-steps{flex-direction:column;gap:10px;margin:0;padding:0 0 8px;list-style:none;display:flex}.plan-steps li{background:#fff;border:1px solid #f3e8cc;border-radius:16px;align-items:flex-start;gap:12px;padding:12px;animation:.5s cubic-bezier(.2,1.2,.4,1) both riseIn;display:flex}.plan-steps .num{background:var(--purple);color:#fff;border-radius:50%;flex-shrink:0;place-items:center;width:26px;height:26px;font-size:14px;font-weight:900;display:grid}.plan-steps b{font-size:16px;font-weight:900}.plan-steps p{color:var(--ink-soft);margin:3px 0 0;font-size:14px;font-weight:600;line-height:1.4}.plan-steps p b{color:var(--purple);font-size:14px}.feat{text-align:left;margin-top:8px}.feat h1{margin-top:26px;font-size:26px}.feat .sub{font-size:16px}.feat-art{justify-content:center;align-items:center;min-height:250px;display:flex}.feat-card{width:100%;box-shadow:var(--shadow);border:1px solid var(--line);background:#fff;border-radius:24px;padding:16px;animation:.5s cubic-bezier(.2,1.3,.4,1) both popIn}.feat-title{letter-spacing:.12em;text-transform:uppercase;color:var(--purple);margin-bottom:8px;font-size:11px;font-weight:900}.skill-row{border-radius:14px;align-items:center;gap:12px;padding:10px 6px;font-weight:800;display:flex}.skill-row>span{font-size:22px}.skill-row.flag{background:#fff6e8}.skill-name{align-items:center;gap:8px;margin-bottom:5px;font-size:14px;display:flex}.skill-name em{letter-spacing:.08em;text-transform:uppercase;background:var(--orange);color:#fff;border-radius:6px;padding:1px 6px;font-size:10px;font-style:normal}.skill-bar{background:#efeff4;border-radius:6px;height:10px;overflow:hidden}.skill-bar i{background:var(--green);transform-origin:0;border-radius:6px;height:100%;animation:.9s cubic-bezier(.2,.9,.3,1) both grow;display:block}.skill-row.flag .skill-bar i{background:var(--orange)}@keyframes grow{0%{transform:scaleX(0)}}.mini-q{background:#faf8f2;border-radius:14px;padding:12px 14px;font-size:16px;font-weight:800}.mini-choices{grid-template-columns:1fr 1fr;gap:6px;margin-top:8px;display:grid}.mini-choice{border:2px solid var(--line);background:#fff;border-radius:14px;align-items:center;gap:10px;padding:6px 10px;font-weight:800;animation:.4s both riseIn;display:flex}.mini-choice span{width:26px;height:26px;color:var(--ink-soft);background:#efeff4;border-radius:8px;place-items:center;font-weight:900;display:grid}.mini-choice.right{border-color:var(--green);background:var(--green-soft)}.mini-choice.right span{background:var(--green);color:#fff}.path-art{flex-direction:column;padding:18px 20px;display:flex}.pa-node{align-items:center;gap:12px;padding-bottom:10px;font-weight:800;animation:.5s both riseIn;display:flex;position:relative}.pa-node:last-child{padding-bottom:0}.pa-node:not(:last-child):after{content:"";border-left:3px dashed #dcdce6;position:absolute;top:38px;bottom:0;left:18px}.pa-node span{width:38px;height:38px;color:var(--ink-faint);background:#efeff4;border-radius:50%;flex-shrink:0;place-items:center;font-size:20px;font-weight:900;display:grid}.pa-node.done span{background:var(--green);color:#fff}.pa-node.now span{border:3px solid var(--purple);background:#fff;animation:1.6s ease-in-out infinite goalRing}.pa-node.now{color:var(--purple)}@keyframes goalRing{50%{box-shadow:0 0 0 8px #7a72cc2e}}.dots{justify-content:center;gap:8px;margin-top:18px;display:flex}.dots i{background:#dcdce6;border-radius:4px;width:8px;height:8px;transition:all .3s}.dots i.on{background:var(--purple);width:22px}.coach-grid{grid-template-columns:1fr 1fr;gap:12px;margin-top:22px;display:grid}.coach{border:2px solid var(--line);cursor:pointer;text-align:center;background:#fff;border-radius:22px;flex-direction:column;align-items:center;gap:4px;padding:16px 10px 14px;transition:border-color .15s,background .15s,transform .1s;display:flex;position:relative}.coach:active{transform:scale(.98)}.coach.on{border-color:var(--purple);background:#f6f4ff}.coach-owl{align-items:flex-end;height:110px;display:flex}.coach b{margin-top:6px;font-size:15px;font-weight:900}.coach small{color:var(--ink-soft);font-size:12px;font-weight:700}.coach .spk{background:#f1f1f5;border-radius:50%;width:32px;height:32px;font-size:15px;position:absolute;top:10px;right:10px}.coach .check{background:var(--purple);color:#fff;border-radius:50%;place-items:center;width:26px;height:26px;font-size:14px;animation:.3s both popIn;display:grid;position:absolute;top:10px;left:10px}.pitch{flex-direction:column;align-items:center;gap:16px;margin-top:12px;display:flex}.pitch .speech{text-align:center}.pitch.big{flex:1;justify-content:center;gap:22px;margin-top:0}.pitch.big .avatar-ring{width:230px;height:230px}.avatar-ring{background:radial-gradient(circle at 50% 35%,#e3defd,#b9b1f0);border-radius:50%;justify-content:center;align-items:flex-end;width:180px;height:180px;transition:width .4s,height .4s;display:flex;overflow:hidden;box-shadow:0 0 0 8px #f4f2ff}.first-opt{border:2px solid var(--line);text-align:left;width:100%;box-shadow:0 3px 0 var(--line);background:#fff;border-radius:20px;align-items:center;gap:14px;padding:18px 16px;font-size:17px;font-weight:800;transition:all .15s;display:flex}.first-opt .ic{background:#efedff;border-radius:50%;place-items:center;width:48px;height:48px;font-size:24px;display:grid}.first-opt .grow{flex:1}.first-opt.on{border-color:var(--purple);box-shadow:0 3px 0 var(--purple);background:#f6f4ff}.first-opt .check{background:var(--purple);color:#fff;border-radius:50%;place-items:center;width:26px;height:26px;font-size:15px;animation:.3s both popIn;display:grid}.streak-pill{color:#e0662b}.home-seg{background:#ffffff38;border-radius:16px;gap:6px;margin:14px 14px 0;padding:4px;display:flex}.home-seg button{color:#fff;border-radius:12px;flex:1;padding:9px 0;font-size:14px;font-weight:900;transition:background .2s,color .2s}.home-seg button.on{color:var(--ink);background:#fff;box-shadow:0 2px #00000014}.plan-map{padding:12px 14px 0;animation:.35s both fadeIn}.map-tip{background:#fff;border-radius:18px;align-items:flex-start;gap:10px;padding:12px 14px;font-size:14px;font-weight:700;line-height:1.4;display:flex;box-shadow:0 3px #00000014}.map-tip>span{font-size:22px}.map-tip b{color:var(--purple)}.map{margin-top:8px;position:relative}.map-road{position:absolute;inset:0;overflow:visible}.map-road path{fill:none;stroke-linecap:round}.map-road .road{stroke:#ffffff61;stroke-width:26px}.map-road .road-dash{stroke:#fffc;stroke-width:3px;stroke-dasharray:2 12}.map-road .road-done{stroke:var(--yellow);stroke-width:8px;opacity:.9}.map-week{color:#fff;letter-spacing:.14em;text-transform:uppercase;align-items:center;gap:10px;font-size:12px;font-weight:900;display:flex;position:absolute;left:0;right:0}.map-week:before,.map-week:after{content:"";border-top:2px dashed #ffffff8c;flex:1}.map-week span{background:#0000001f;border-radius:10px;padding:3px 10px}.map-stop{text-align:left;align-items:center;gap:10px;display:flex;position:absolute}.map-stop.right{text-align:right;flex-direction:row-reverse}.map-stop .disc{border-radius:50%;flex-shrink:0;place-items:center;width:64px;height:64px;font-size:28px;font-weight:900;transition:transform .15s;display:grid}.map-stop:active .disc{transform:scale(.94)}.map-stop.done .disc{background:var(--green);color:#fff;box-shadow:0 4px 0 var(--green-dark)}.map-stop.now .disc{background:#fff;animation:1.6s ease-in-out infinite goalRing;box-shadow:0 4px #0000001f}.map-stop.locked .disc{color:#ffffffe6;background:#ffffff4d;border:3px solid #ffffff8c}.map-stop .me{filter:drop-shadow(0 3px 2px #00000026);width:40px;animation:2s ease-in-out infinite bob;position:absolute;top:-24px;left:-12px}.map-stop.right .me{left:auto;right:-12px}.map-stop .lbl{color:#fff;text-shadow:0 1px 2px #00000026;width:150px;font-size:15px;font-weight:900}.map-stop .lbl small{opacity:.85;font-size:12px;font-weight:800;display:block}.map-stop.now .lbl small{opacity:1;color:#fff7c9}.map-stop.locked .lbl{opacity:.75}.map-end{color:#fff;flex-direction:column;align-items:center;width:120px;display:flex;position:absolute}.map-end span{filter:drop-shadow(0 4px #0000001f);font-size:58px;line-height:1;animation:3s ease-in-out infinite floaty}.map-end b{margin-top:4px;font-size:17px;font-weight:900}.map-end small{opacity:.9;font-weight:800}.act-progress{box-shadow:var(--shadow);background:#fff;border-radius:22px;margin-top:14px;padding:16px 14px 8px}.ap-head{justify-content:space-between;align-items:center;margin:0 4px 12px;font-size:17px;font-weight:900;display:flex}.ap-tiles{grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:12px;display:grid}.ap-tiles div{background:#f6f4ff;border-radius:16px;flex-direction:column;align-items:center;padding:10px 6px;display:flex}.ap-tiles span{font-size:20px}.ap-tiles b{color:var(--purple);font-size:22px;font-weight:900;line-height:1.2}.ap-tiles small{color:var(--ink-soft);font-size:11px;font-weight:800}.ap-sec{border-top:1px solid var(--line)}.ap-sec.skip{opacity:.5}.ap-row{text-align:left;align-items:center;gap:12px;width:100%;padding:12px 4px;display:flex}.ap-emo{background:#f3f2f8;border-radius:12px;flex-shrink:0;place-items:center;width:40px;height:40px;font-size:20px;display:grid}.ap-name{align-items:center;gap:6px;margin-bottom:5px;font-size:15px;font-weight:900;display:flex}.ap-name em{letter-spacing:.08em;text-transform:uppercase;background:var(--purple);color:#fff;border-radius:6px;padding:1px 6px;font-size:10px;font-style:normal;font-weight:900}.ap-row small{color:var(--ink-soft);margin-top:4px;font-size:12px;font-weight:700;display:block}.ap-row .chev{color:var(--ink-faint);font-size:18px;transition:transform .2s}.ap-sec.open .chev{transform:rotate(180deg)}.ap-more{padding:0 4px 14px 56px;animation:.35s both riseIn}.ap-tested{letter-spacing:.12em;text-transform:uppercase;color:var(--ink-faint);margin-bottom:6px;font-size:11px;font-weight:900}.ap-domains{flex-wrap:wrap;gap:6px;margin-bottom:12px;display:flex}.ap-domains span{color:var(--ink-soft);background:#f3f2f8;border-radius:10px;padding:4px 10px;font-size:12px;font-weight:800}.pref-group{letter-spacing:.12em;text-transform:uppercase;color:var(--ink-faint);margin:16px 4px 4px;font-size:11px;font-weight:900}.prefs{flex-direction:column;gap:8px;margin-top:8px;display:flex}.pref-row{border:2px solid var(--line);text-align:left;background:#fff;border-radius:16px;align-items:center;gap:12px;padding:10px 14px;font-weight:800;display:flex}.pref-row .emo{text-align:center;width:28px;font-size:22px}.pref-row .grow{flex:1;font-size:15px}.pref-row small{color:var(--ink-soft);font-size:13px;font-weight:700;display:block}.pref-row .edit{color:var(--purple);font-size:18px}.pref-body{flex-direction:column;gap:8px;margin-top:12px;display:flex}.toggle{background:#dcdce6;border-radius:14px;width:46px;height:28px;transition:background .2s;position:relative}.toggle i{background:#fff;border-radius:50%;width:22px;height:22px;transition:transform .2s;position:absolute;top:3px;left:3px;box-shadow:0 1px 2px #0003}.toggle.on{background:var(--green)}.toggle.on i{transform:translate(18px)}
