@font-face{font-family:"Source Han Sans SC";src:url("../Assets/SourceHanSansSC-Normal.otf") format("opentype");font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:"Source Han Sans SC";src:url("../Assets/SourceHanSansSC-Bold.otf") format("opentype");font-style:normal;font-weight:700 900;font-display:swap}
:root{--purple:#7658a8;--purple-dark:#5d428c;--lilac:#eee6f7;--cream:#fffaf0;--yellow:#f7d984;--sage:#a9c99c;--rose:#e8a9ac;--ink:#4d4157;--muted:#958b9e;--white:#fffdf9;--shadow:0 12px 32px rgba(86,65,102,.14)}
*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}
html,body,button,input{margin:0;font-family:"Source Han Sans SC","Noto Sans CJK SC","思源黑体",sans-serif}
html,body{min-height:100%;color:var(--ink);background:#ede7f2}
button{font:inherit;color:inherit;border:0;cursor:pointer}
.landing{min-height:100vh;display:flex;align-items:center;justify-content:center;gap:72px;padding:32px;background:linear-gradient(140deg,#f7efe2,#ece2f5 58%,#dbead7)}
.intro{width:min(440px,40vw)}.eyebrow{font-size:13px;font-weight:850;letter-spacing:.14em;color:var(--purple)}
.intro h1{font-size:50px;line-height:1.14;margin:18px 0;color:#4b3c54;letter-spacing:-.04em}.intro h1 span{color:var(--purple)}
.intro>p:not(.eyebrow){font-size:17px;line-height:1.8;color:#766b7d}.intro-pills{display:flex;gap:9px;flex-wrap:wrap;margin-top:24px}.intro-pills span{background:rgba(255,255,255,.72);padding:9px 14px;border-radius:999px;font-size:12px;font-weight:750;box-shadow:0 5px 16px rgba(92,71,110,.08)}
.phone{position:relative;width:375px;height:812px;flex:0 0 375px;border:9px solid #42384a;border-radius:48px;overflow:hidden;background:#f9f3e9 url("../Assets/background.png") center/cover;box-shadow:0 40px 90px rgba(68,50,82,.27),inset 0 0 0 1px rgba(255,255,255,.4)}
.phone:before{content:"";position:absolute;inset:0;background:linear-gradient(rgba(255,251,244,.28),rgba(247,239,248,.55));z-index:0}
.status-bar{height:43px;position:relative;z-index:30;display:flex;align-items:center;justify-content:space-between;padding:6px 19px 0;font-size:11px}.island{position:absolute;top:8px;left:50%;transform:translateX(-50%);width:94px;height:25px;border-radius:18px;background:#403747}.status-icons{display:flex;align-items:center;gap:7px;font-size:9px}.battery{border:1.5px solid currentColor;border-radius:4px;padding:1px 4px;font-size:8px}
.screen-root{position:relative;z-index:5;height:calc(100% - 43px);overflow:hidden}.screen{height:100%;overflow-y:auto;padding:12px 20px 112px;scrollbar-width:none;overscroll-behavior-y:auto}.screen::-webkit-scrollbar{display:none}
.topline{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:16px}.hello small{display:block;color:var(--muted);font-weight:650;margin-top:5px;font-size:11px}.hello h2,.section-head h2{margin:0;font-size:23px;line-height:1.2;letter-spacing:-.02em}.hello h2 i{font-style:normal;color:#e8ad45}
.icon-btn{width:44px;height:44px;flex:0 0 44px;border-radius:15px;background:rgba(255,255,255,.78);box-shadow:0 6px 18px rgba(83,65,97,.1);display:flex;align-items:center;justify-content:center;white-space:nowrap;color:var(--purple);line-height:1}.icon-btn small{font-size:9px;font-weight:800;color:var(--purple)}
.card{background:rgba(255,253,249,.88);border:1px solid rgba(255,255,255,.7);border-radius:27px;box-shadow:var(--shadow);padding:18px}.hero-card{text-align:center;padding:18px 14px 12px}.hero-card h3{font-size:16px;margin:0 0 4px}.sub{font-size:11px;color:var(--muted);margin:0}.sub b{color:var(--purple)}
.ring{--p:50;position:relative;width:224px;height:224px;margin:8px auto 2px;border-radius:50%;display:grid;place-items:center;background:conic-gradient(var(--purple) calc(var(--p)*1%),#e7dfeb 0);box-shadow:inset 0 0 0 1px rgba(255,255,255,.5)}
.ring:before{content:"";position:absolute;inset:10px;border-radius:50%;background:linear-gradient(#f8edc9,#d7e7c7)}
.ring img{position:relative;width:84%;height:84%;object-fit:contain;filter:drop-shadow(0 8px 8px rgba(83,62,96,.15))}.character,.tab img,.reward img,.streak img{pointer-events:none}.ring-copy{position:relative;text-align:center;z-index:2}.ring-copy strong{display:block;font-size:34px;color:var(--purple-dark)}.ring-copy span{font-size:12px;color:var(--muted)}
.streak{width:100%;margin-top:14px;display:flex;align-items:center;gap:12px;padding:14px 16px;text-align:left;background:linear-gradient(120deg,#fff4cd,#fae0b0);border-radius:22px;box-shadow:0 9px 24px rgba(165,117,55,.13)}.streak .badge{width:44px;height:44px;display:grid;place-items:center;border-radius:16px;background:rgba(255,255,255,.6)}.streak .badge img{width:38px;height:38px;object-fit:contain}.streak-copy{flex:1}.streak-copy b{font-size:13px;display:block}.streak-copy small{color:#8d7659;font-size:10px}.arrow{font-size:22px;color:#a6814e}
.timer-ring{width:245px;height:245px;margin:18px auto 0}.timer-character{height:145px;display:flex;justify-content:center;margin-top:-28px}.character{height:100%;max-width:90%;object-fit:contain;filter:drop-shadow(0 9px 8px rgba(74,55,88,.15))}
.pill{width:100%;min-height:51px;border-radius:999px;padding:13px 20px;background:linear-gradient(180deg,#8669b6,#7052a5);color:white;font-weight:850;box-shadow:0 8px 0 #5c428a,0 12px 22px rgba(93,66,140,.22);transition:background .18s ease}.pill.yellow{background:linear-gradient(#f8dd8b,#efc85f);color:#6c552d;box-shadow:0 8px 0 #d6aa43,0 12px 22px rgba(169,125,48,.18)}.pill.green{background:linear-gradient(#afd29e,#8fbf80);color:#355b38;box-shadow:0 8px 0 #72a665,0 12px 22px rgba(75,125,69,.18)}.pill.secondary{background:rgba(255,255,255,.78);color:var(--purple);box-shadow:0 6px 0 #ddd1e9,0 10px 20px rgba(89,65,106,.12)}.controls{display:flex;gap:10px;margin-top:15px}.controls .pill{min-height:44px;padding:10px 14px;font-size:12px}.controls .sound{width:64px;flex:0 0 64px}
.section-head{text-align:center;margin:4px 0 16px}.section-head p{margin:5px 0;color:var(--muted);font-size:12px}
.break-art{height:262px;position:relative;display:grid;place-items:center;margin:-2px 0 16px;isolation:isolate}.break-art img{width:auto;height:248px;max-width:88%;object-fit:contain;transform:translateY(-6px);pointer-events:none}.sign-text{position:absolute;z-index:2;top:66%;left:50%;transform:translate(-50%,-50%) rotate(-1deg);width:152px;text-align:center;font-size:12px;font-weight:900;color:#735a3b;pointer-events:none}.stack{position:relative;z-index:3;display:grid;gap:18px}
.week{display:grid;grid-template-columns:repeat(7,1fr);gap:6px;margin-top:13px}.day{padding:0;background:transparent;text-align:center;font-size:9px;color:var(--muted)}.day span{display:grid;place-items:center;margin-top:6px;aspect-ratio:1;border-radius:50%;background:#eee8f0;color:#b9afbf;font-size:7px}.day.done span{background:#f4d77a;color:#fff;box-shadow:0 4px 12px rgba(186,139,49,.2)}
.sticker-card{margin-top:13px;display:flex;align-items:center;min-height:152px;background:linear-gradient(125deg,rgba(239,226,249,.94),rgba(255,246,216,.94))}.sticker-card img{width:124px;height:124px;object-fit:contain}.sticker-card h3{font-size:15px;margin:0 0 5px}.sticker-card p{font-size:11px;color:var(--muted);margin:0}.reward-card{margin-top:13px}.progress-track{height:9px;background:#e8e1eb;border-radius:99px;overflow:hidden;margin:10px 0 14px}.progress-fill{height:100%;width:40%;background:linear-gradient(90deg,#9a75c6,#7bb49a);border-radius:inherit}.rewards-row{display:grid;grid-template-columns:repeat(5,1fr);gap:7px}.reward{aspect-ratio:1;border-radius:15px;background:#f4edf7;display:grid;place-items:center;overflow:hidden}.reward img{width:88%;height:88%;object-fit:contain}.reward.locked{filter:grayscale(1);opacity:.35}
.profile-card{text-align:center;padding:24px 18px}.profile-card img{height:180px;max-width:100%;object-fit:contain}.setting-row{margin-top:10px;display:flex;justify-content:space-between;align-items:center;padding:15px 17px;background:rgba(255,255,255,.82);border-radius:20px;box-shadow:0 8px 20px rgba(73,55,85,.08);font-size:13px;font-weight:750}
.row-button{width:100%;text-align:left;gap:10px}.row-button span:nth-child(2){margin-left:auto;color:var(--muted);font-size:11px}.row-arrow{flex:0 0 auto!important;margin:0!important;color:var(--purple)!important;font-size:20px!important}.card-button{width:100%;border:0;text-align:left;color:inherit}.text-action{display:block;margin:18px auto 0;padding:8px 14px;background:transparent;color:var(--muted);font-size:11px;font-weight:700;text-decoration:underline;text-underline-offset:4px}
.detail-head{display:flex;align-items:center;gap:12px;margin:1px 0 18px}.detail-head h2{margin:0;font-size:20px}.detail-head p{margin:3px 0 0;color:var(--muted);font-size:10px}.back-btn{width:44px;height:44px;flex:0 0 44px;padding:0;border-radius:15px;background:rgba(255,255,255,.86);color:var(--purple);font-size:28px;line-height:1;box-shadow:0 6px 18px rgba(83,65,97,.1);display:grid;place-items:center}.back-btn span{display:block;line-height:1;transform:translateY(-3px)}.detail-hero{text-align:center;padding:16px 18px 22px}.detail-hero img{height:205px}.detail-hero strong{display:block;color:var(--purple);font-size:28px}.detail-hero p,.about-card p,.reward-detail p{color:var(--muted);font-size:12px;line-height:1.75}.info-card{margin:13px 0}.info-card h3{margin:0 0 10px}.info-card p{position:relative;margin:8px 0;padding-left:18px;font-size:12px}.info-card p:before{content:"";position:absolute;left:0;top:6px;width:8px;height:8px;border-radius:50%;background:var(--sage)}
.choices{padding:8px 16px}.choice{width:100%;display:flex;align-items:center;justify-content:space-between;padding:16px 4px;background:transparent;border-bottom:1px solid rgba(117,88,168,.1);font-size:14px;font-weight:700}.choice:last-child{border-bottom:0}.choice i{width:22px;height:22px;border:2px solid #d9cfe1;border-radius:50%;position:relative}.choice.selected{color:var(--purple)}.choice.selected i{border-color:var(--purple);background:var(--purple);box-shadow:inset 0 0 0 5px #fff}.support-copy{padding:0 8px;color:var(--muted);font-size:11px;line-height:1.7}.pin-settings-card,.about-card,.reward-detail{text-align:center;padding:24px}.pin-settings-card h3,.about-card h3,.reward-detail h2{margin:10px 0 5px}.pin-settings-card p{color:var(--muted);font-size:11px;line-height:1.7;margin-bottom:22px}.lock-mark{width:82px;height:82px;margin:0 auto;display:grid;place-items:center;border-radius:28px;background:var(--lilac);color:var(--purple);font-size:20px;font-weight:900}.about-card img{height:205px}.about-card small{display:block;margin-top:18px;color:#aaa0af;font-size:9px}.reward-detail img{width:210px;height:210px;object-fit:contain}.reward-detail.is-locked img{filter:grayscale(1);opacity:.42}.reward-detail+.pill{margin-top:18px}.toggle{width:42px;height:24px;flex:0 0 42px!important;border-radius:999px;background:#d9d1dc;position:relative;margin-left:2px!important}.toggle i{position:absolute;width:18px;height:18px;left:3px;top:3px;border-radius:50%;background:white;box-shadow:0 2px 5px rgba(0,0,0,.14);transition:transform .32s cubic-bezier(.22,1,.36,1)}.toggle.on{background:var(--sage)}.toggle.on i{transform:translateX(18px)}
.tab-bar{position:absolute;z-index:40;left:12px;right:12px;bottom:10px;height:76px;border-radius:25px;background:rgba(255,253,249,.91);box-shadow:0 10px 30px rgba(72,52,87,.17);display:grid;grid-template-columns:repeat(4,1fr);padding:6px;backdrop-filter:blur(14px)}.tab-indicator{position:absolute;left:6px;top:6px;width:calc((100% - 12px)/4);height:64px;border-radius:20px;background:#eee5f6;transition:transform .48s cubic-bezier(.22,1,.36,1)}.tab{position:relative;z-index:2;background:transparent;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;font-size:9px;font-weight:750;color:#a49aa9}.tab.active{color:var(--purple)}.tab img{width:31px;height:31px;object-fit:contain;filter:grayscale(1);opacity:.58}.tab.active img{filter:none;opacity:1}.ambient{position:absolute;inset:0;z-index:1;pointer-events:none;overflow:hidden}.float{position:absolute;width:38px;height:38px;object-fit:contain;opacity:.15}.a1{top:115px;left:-8px}.a2{top:300px;right:-9px}.a3{top:520px;left:-8px}
.modal-backdrop{position:absolute;inset:0;z-index:80;background:rgba(62,47,70,.34);display:grid;place-items:center;padding:24px;backdrop-filter:blur(5px)}.modal{width:100%;background:#fffaf1;border-radius:28px;padding:24px;text-align:center;box-shadow:0 30px 70px rgba(50,38,60,.3)}.modal h3{margin:0;font-size:20px}.modal p{color:var(--muted);font-size:12px}.pin{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:18px 0 4px}.pin input{min-width:0;height:54px;border:2px solid #e8deec;border-radius:15px;background:#faf6fb;text-align:center;font-size:24px;color:var(--purple);outline:none}.pin input:focus{border-color:var(--purple);box-shadow:0 0 0 4px rgba(118,88,168,.11)}.pin-error{height:18px;margin:5px 0 9px!important;color:#b26472!important;font-size:10px!important}.modal-actions{display:flex;gap:9px}.modal-actions .pill{min-height:45px;padding:9px 12px;font-size:12px}
.toast{position:absolute;z-index:100;left:50%;bottom:100px;max-width:285px;padding:11px 17px;border-radius:999px;background:rgba(77,65,87,.92);color:white;font-size:11px;font-weight:700;box-shadow:0 10px 30px rgba(53,42,61,.24);opacity:0;transform:translate(-50%,12px) scale(.96);transition:opacity .28s ease,transform .4s cubic-bezier(.22,1,.36,1);pointer-events:none;white-space:nowrap}.toast.show{opacity:1;transform:translate(-50%,0) scale(1)}.tab-bar.subview{opacity:.72}
#confetti{position:absolute;inset:0;z-index:90;pointer-events:none}.confetti-piece{position:absolute;top:42%;left:50%;width:10px;height:14px;border-radius:5px;background:var(--c)}
@media(max-width:860px){.landing{padding:0}.intro{display:none}.phone{width:100vw;height:100dvh;max-width:375px;border:0;border-radius:0;flex-basis:auto}}
@media(min-width:861px) and (max-height:875px){.landing{align-items:flex-start;min-height:876px;padding-top:32px;padding-bottom:32px}}
