@import "https://fonts.googleapis.com/css2?family=ZCOOL+KuaiLe&family=Noto+Sans+SC:wght@400;500;600;700;800;900&display=swap";:root{--bg:#fbc839;--bg-subtle:#f9be2a;--card:#fbf7ec;--card-inner:#f0e8d5;--card-border:#675d53;--card-border-light:#675d5340;--text:#2b2a2e;--text-light:#675d53;--text-muted:#a09080;--btn-primary-bg:#2b2a2e;--btn-primary-text:#fbf7ec;--btn-secondary-bg:#fbf7ec;--btn-secondary-text:#2b2a2e;--btn-secondary-border:#2b2a2e;--cta:#d4560a;--cta-hover:#b84808;--success:#4b9c46;--success-dim:#4b9c461f;--polluted:#8b4bb8;--polluted-dim:#8b4bb81f;--shiny:#fbc839;--gold:#c8830a;--danger:#c8351a;--border:#675d5333;--divider:#675d531f;--radius:12px;--radius-sm:9px;--radius-xs:6px;--shadow:0 2px 8px #2b2a2e1a;--shadow-lg:0 4px 18px #2b2a2e24;--shadow-card:0 2px 0 #675d53;--font-display:"PingFang SC", -apple-system, "Helvetica Neue", sans-serif;--font-body:"Noto Sans SC", -apple-system, "PingFang SC", sans-serif}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-body);color:var(--text);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.mockup-wrapper{justify-content:center;align-items:center;min-height:100vh;padding:24px;display:flex;position:relative;overflow:hidden}.mockup-wrapper:before,.mockup-wrapper:after{content:"";pointer-events:none;z-index:0;border-radius:50%;position:absolute}.mockup-wrapper:before{background:radial-gradient(circle,#fbc83959 0%,#0000 70%);width:500px;height:500px;top:-100px;left:-80px}.mockup-wrapper:after{background:radial-gradient(circle,#fbc83933 0%,#0000 70%);width:400px;height:400px;bottom:-60px;right:-60px}.mockup-phone{z-index:1;transform-origin:50%;background:linear-gradient(150deg,#3d3c40,#22212a);border-radius:52px;width:390px;height:min(844px,100vh - 48px);padding:14px 12px 12px;position:relative;overflow:hidden;box-shadow:0 32px 80px #0006,0 0 0 1px #ffffff14,inset 0 1px #ffffff24}.mockup-phone:before{content:"";z-index:10;background:#2c2b34;border-radius:50%;width:10px;height:10px;position:absolute;top:22px;right:22px;box-shadow:-16px 0 #2c2b34}.mockup-phone:after{content:"";z-index:10;background:linear-gradient(#4a4950,#35343a);border-radius:2px 0 0 2px;width:3px;height:60px;position:absolute;top:120px;left:-3px;box-shadow:0 -36px 0 3px #35343a,0 36px 0 3px #35343a}.mockup-screen{background-color:var(--bg);background-image:url(/.//home-page-bg.png);background-position:top;background-repeat:no-repeat;background-size:100%;border-radius:40px;flex-direction:column;width:100%;height:100%;display:flex;position:relative;overflow:hidden;transform:translateZ(0)}@media (height<=900px){.mockup-phone{transform:scale(.92)}}@media (height<=780px){.mockup-phone{transform:scale(.82)}}@media (height<=660px){.mockup-phone{transform:scale(.7)}}.mobile-wrapper{flex-direction:column;width:100vw;height:100dvh;display:flex;position:relative;overflow:hidden}.app-content{background:var(--bg);flex-direction:column;flex:1;width:100%;height:100%;display:flex;position:relative;overflow:hidden}.page-container{-webkit-overflow-scrolling:touch;flex:1;padding-bottom:68px;overflow:hidden auto}.page-container::-webkit-scrollbar{display:none}.card{border:1.5px solid var(--card-border);border-radius:var(--radius);box-shadow:var(--shadow-card);background:#fff;margin:0 16px 16px;padding:16px}.card-inner{background:var(--card-inner);border-radius:var(--radius-sm);padding:12px}.btn{border-radius:var(--radius);width:calc(100% - 32px);font-size:15px;font-weight:700;font-family:var(--font-body);cursor:pointer;text-align:center;letter-spacing:.5px;border:none;margin:8px 16px;padding:14px;transition:all .15s;display:block}.btn-primary{background:var(--btn-primary-bg);color:var(--btn-primary-text);box-shadow:0 3px #111014}.btn-primary:active{transform:translateY(2px);box-shadow:0 1px #111014}.btn-primary:disabled{color:#fbf7ec99;box-shadow:none;cursor:not-allowed;background:#b0a898}.btn-gold{color:#7a4f10;font-family:var(--font-display);letter-spacing:1px;text-shadow:0 1px #fff6;background:#f6c958;border:2px solid #bc8e3e;border-radius:14px;font-size:16px;font-weight:900;box-shadow:inset 0 3px #fbe38a,inset 0 -4px #eaa332,inset -3px 0 #ffed93,inset 3px 0 #fce592,0 4px #9a6b1a}.btn-gold:active{transform:translateY(3px);box-shadow:inset 0 3px #fbe38a,inset 0 -4px #eaa332,inset -3px 0 #ffed93,inset 3px 0 #fce592,0 1px #9a6b1a}.btn-secondary{background:var(--btn-secondary-bg);color:var(--btn-secondary-text);border:2px solid var(--btn-secondary-border);box-shadow:0 3px #2b2a2e}.btn-secondary:active{transform:translateY(2px);box-shadow:0 1px #2b2a2e}.btn-outline{background:var(--btn-secondary-bg);color:var(--btn-secondary-text);border:2px solid var(--btn-secondary-border);box-shadow:0 3px #2b2a2e}.btn-outline:active{transform:translateY(2px);box-shadow:0 1px #2b2a2e}.page-title{text-align:center;color:var(--text);padding:20px 16px 12px;font-size:18px;font-weight:800}.section-label{color:var(--text-light);letter-spacing:.5px;margin:12px 16px 8px;font-size:12px;font-weight:600}.tabbar{z-index:100;height:68px;padding-bottom:env(safe-area-inset-bottom);background:bottom/100% no-repeat;border-top:none;align-items:center;display:flex;position:absolute;bottom:0;left:0;right:0}.tabbar-item{cursor:pointer;color:#f6ece38c;font-size:11px;font-family:var(--font-body);background:0 0;border:none;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:3px;padding:0 0 10px;font-weight:600;transition:all .2s;display:flex;position:relative}.tabbar-item.active{color:#f6ece3}.tabbar-icon-wrap{flex-shrink:0;width:48px;height:48px;position:relative}.tabbar-img{object-fit:contain;width:48px;height:48px;transition:transform .2s;display:block}.tabbar-item.active .tabbar-img{transform:scale(1.12)translateY(-2px)}.tabbar-dimo{object-fit:contain;pointer-events:none;z-index:10;width:52px;height:52px;animation:.25s cubic-bezier(.34,1.56,.64,1) both dimo-pop;position:absolute;bottom:36px;left:50%;transform:translate(-50%)}@keyframes dimo-pop{0%{opacity:0;transform:translate(-50%)scale(.5)translateY(8px)}to{opacity:1;transform:translate(-50%)scale(1)translateY(0)}}.tabbar-item.active:after{content:"";background:#f6ece3;border-radius:50%;width:4px;height:4px;position:absolute;bottom:3px;left:50%;transform:translate(-50%)}.spirit-card{border:1.5px solid var(--card-border-light);background:var(--card);box-shadow:0 2px 0 var(--card-border-light);border-radius:10px;flex-direction:column;flex-shrink:0;align-items:center;gap:4px;padding:6px 5px;transition:all .2s;display:flex}.spirit-card-obtained{border-color:var(--gold);box-shadow:0 2px 0 var(--gold);background:#fff9e8}.spirit-card-img{background:var(--card-inner);border-radius:8px;position:relative;overflow:hidden}.spirit-card-img img{object-fit:contain;width:100%;height:100%}.spirit-card-check{background:var(--success);color:#fff;border:1.5px solid #fff;border-radius:50%;justify-content:center;align-items:center;width:16px;height:16px;font-size:9px;font-weight:900;display:flex;position:absolute;top:-3px;right:-3px}.spirit-card-name{color:var(--text-light);text-align:center;text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:10px;font-weight:600;line-height:1.2;overflow:hidden}.modal-overlay{z-index:500;background:#2b2a2e8c;justify-content:center;align-items:flex-end;padding-bottom:68px;animation:.2s fadeIn;display:flex;position:fixed;inset:0}.modal-overlay--no-tab{padding-bottom:env(safe-area-inset-bottom,0px)}.modal-content{background:var(--card);border:2px solid var(--card-border);-webkit-overflow-scrolling:touch;border-bottom:none;border-radius:20px 20px 0 0;width:100%;max-width:500px;max-height:80vh;padding:0 16px 28px;animation:.28s cubic-bezier(.32,.72,0,1) slideUp;position:relative;overflow:hidden auto;box-shadow:0 -6px 32px #2b2a2e2e}.modal-content::-webkit-scrollbar{display:none}.modal-content--fixed{flex-direction:column;height:66.67vh;max-height:66.67vh;padding:0;display:flex;overflow:hidden}.modal-body{-webkit-overflow-scrolling:touch;flex:1;padding:0 16px 28px;overflow:hidden auto}.modal-body::-webkit-scrollbar{display:none}.modal-handle{background:var(--card-border-light);border-radius:2px;flex-shrink:0;width:36px;height:4px;margin:14px auto 16px}.modal-title{text-align:center;color:var(--text);margin-bottom:14px;font-size:16px;font-weight:800}.modal-option{border:1.5px solid var(--card-border-light);border-radius:var(--radius);background:var(--card-inner);cursor:pointer;font-size:14px;font-weight:600;font-family:var(--font-body);text-align:left;width:100%;color:var(--text);box-shadow:0 2px 0 var(--card-border-light);align-items:center;gap:12px;margin-bottom:8px;padding:13px 14px;transition:all .15s;display:flex}.modal-option:active{box-shadow:0 1px 0 var(--card-border-light);background:#ede4cf;transform:translateY(1px)}.modal-option-icon{text-align:center;flex-shrink:0;width:30px;font-size:22px}.modal-close{width:100%;color:var(--text-muted);font-size:13px;font-family:var(--font-body);cursor:pointer;background:0 0;border:none;margin-top:6px;padding:12px;font-weight:600;display:block}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}.progress-bar-track{background:var(--card-inner);border:1px solid var(--card-border-light);border-radius:5px;width:100%;height:10px;overflow:hidden}.progress-bar-fill{border-radius:5px;height:100%;transition:width .4s cubic-bezier(.4,0,.2,1)}.shield-dots{flex-wrap:wrap;gap:5px;display:flex}.shield-dot{background:var(--card-inner);border:1.5px solid var(--card-border-light);border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;width:22px;height:22px;display:flex;position:relative;overflow:hidden}.shield-dot.original{background:var(--success);border-color:#3a8435}.shield-dot.polluted{background:var(--polluted);border-color:#7038a0}.shield-dot.shiny{background:var(--shiny);border-color:#c8830a;animation:1.5s ease-in-out infinite shinyPulse}.shield-dot.jelly{background:#fff3cc;border-color:#c8a020}.shield-dot.latest{animation:1.5s ease-in-out infinite pulse}.shield-dot img{object-fit:cover;border-radius:4px;width:100%;height:100%}.shield-dot .dot-emoji{-webkit-user-select:none;user-select:none;font-size:12px;line-height:1}@keyframes shinyPulse{0%,to{transform:scale(1);box-shadow:0 0 4px #fbc83999}50%{transform:scale(1.25);box-shadow:0 0 12px #fbc839}}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.2)}}.checklist-item{border-bottom:1px solid var(--divider);cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:12px;padding:11px 0;font-size:14px;transition:opacity .15s;display:flex}.checklist-item:last-child{border-bottom:none}.checklist-item:active{opacity:.65}.checklist-box{border:2px solid var(--card-border-light);background:var(--card-inner);border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;width:22px;height:22px;transition:all .2s;display:flex}.checklist-box.checked{background:var(--success);color:#fff;border-color:#3a8435;font-size:12px;font-weight:900}.report-header{text-align:center;padding:24px 16px 12px}.report-spirit-name{color:var(--cta);font-size:26px;font-weight:900;font-family:var(--font-display);letter-spacing:2px;margin-top:6px}.report-data{flex-direction:column;display:flex}.report-row{border-bottom:1px solid var(--divider);justify-content:space-between;align-items:center;padding:10px 0;font-size:14px;display:flex}.report-row:last-child{border-bottom:none}.report-label{color:var(--text-light)}.report-value{color:var(--text);font-weight:700}.star-rating{letter-spacing:2px;font-size:18px}.plan-card{background:var(--card);border:1.5px solid var(--card-border);border-radius:var(--radius);cursor:pointer;box-shadow:var(--shadow-card);margin:0 16px 10px;padding:0;transition:all .15s;position:relative;overflow:hidden}.plan-card:active{transform:translateY(1px);box-shadow:0 1px #675d53}.plan-card-header{align-items:center;gap:10px;margin-bottom:10px;display:flex}.plan-card-icon{font-size:24px;line-height:1}.plan-card-type{color:var(--text);font-size:15px;font-weight:800;font-family:var(--font-display)}.plan-card-fruits{color:var(--text-light);margin-bottom:12px;font-size:12px}.plan-card-shinies{flex-wrap:wrap;gap:8px;display:flex}.collection-grid{grid-template-columns:repeat(3,1fr);gap:7px;padding:0 16px;display:grid}.collection-item{cursor:pointer;background:var(--card);border:1.5px solid var(--card-border);border-radius:var(--radius-sm);box-shadow:var(--shadow-card);flex-direction:column;align-items:center;gap:4px;padding:8px 4px 7px;transition:all .15s;display:flex}.collection-item:active{transform:scale(.94)}.history-item{border-bottom:1px solid var(--divider);align-items:center;gap:12px;padding:12px 0;display:flex}.history-item:last-child{border-bottom:none}.history-result{border-radius:20px;padding:3px 10px;font-size:11px;font-weight:700}.history-result.success{background:var(--success-dim);color:var(--success);border:1.5px solid #4b9c464d}.history-result.abandoned{background:var(--card-inner);color:var(--text-muted);border:1.5px solid var(--divider)}.recorder-plan-card{background:#fff9e0;border-color:#c8a020}.recorder-btn-break{background:var(--btn-primary-bg);width:calc(100% - 32px);height:70px;color:var(--btn-primary-text);font-size:19px;font-weight:800;font-family:var(--font-display);cursor:pointer;letter-spacing:.5px;border:2.5px solid #2b2a2e;border-radius:18px;justify-content:center;align-items:center;gap:10px;margin:14px 16px;padding:0;transition:all .15s;display:flex;box-shadow:0 4px #111014}.recorder-btn-break:active{transform:translateY(3px);box-shadow:0 1px #111014}.recorder-tools{justify-content:space-between;align-items:center;margin-bottom:12px;padding:0 16px;display:flex}.recorder-undo{border:1.5px solid var(--card-border-light);background:var(--card);color:var(--text-light);font-size:13px;font-family:var(--font-body);cursor:pointer;box-shadow:0 2px 0 var(--card-border-light);border-radius:20px;padding:7px 14px;font-weight:600;transition:all .15s}.recorder-undo:disabled{color:var(--text-muted);opacity:.45;cursor:not-allowed;box-shadow:none}.recorder-undo:not(:disabled):active{box-shadow:0 1px 0 var(--card-border-light);transform:translateY(1px)}.recorder-rules{color:var(--text-muted);flex-direction:column;gap:5px;padding:10px 16px 4px;font-size:12px;line-height:1.6;display:flex}.home-title{text-align:center;padding:20px 16px 8px}.home-title h1{color:var(--text);font-size:22px;font-weight:900;font-family:var(--font-display);letter-spacing:2px}.home-title p{color:var(--text-light);letter-spacing:2px;margin-top:4px;font-size:12px}.progress-ring-wrap{flex-direction:column;align-items:center;padding:14px 0;display:flex}.progress-ring-label{color:var(--text-light);margin-top:8px;font-size:12px;font-weight:600}.active-task-card{background:#fff;border-color:#c8a020;box-shadow:0 2px #c8a020}.active-task-info{align-items:center;gap:12px;margin-bottom:12px;display:flex}.active-task-badge{background:var(--cta);color:#fff;letter-spacing:.5px;border-radius:20px;padding:2px 8px;font-size:10px;font-weight:700}.page-header{align-items:center;gap:8px;padding:14px 16px;display:flex}.back-btn{cursor:pointer;width:36px;height:36px;box-shadow:none;background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;padding:0;transition:transform .15s;display:flex}.back-btn img{object-fit:contain;width:36px;height:36px;display:block}.back-btn:active{transform:scale(.92)}.page-header-title{color:var(--text);font-size:16px;font-weight:900;font-family:var(--font-display)}.badge{border-radius:20px;align-items:center;padding:2px 8px;font-size:10px;font-weight:700;display:inline-flex}.badge-gold{color:var(--gold);background:#fff0b3;border:1.5px solid #c8830a40}.badge-active{color:var(--cta);background:#fff0e8;border:1.5px solid #d4560a4d}.input-field{border:1.5px solid var(--card-border-light);border-radius:var(--radius-sm);width:100%;font-size:14px;font-family:var(--font-body);background:var(--card-inner);color:var(--text);outline:none;padding:11px 14px;transition:border-color .2s;box-shadow:inset 0 2px 4px #675d530f}.input-field:focus{border-color:var(--card-border);background:var(--card)}.input-field::placeholder{color:var(--text-muted)}.empty-state{text-align:center;padding:48px 24px}.empty-state-icon{opacity:.4;margin-bottom:12px;font-size:40px}.empty-state-text{color:var(--text-muted);font-size:13px;line-height:1.8}.divider{background:var(--divider);height:1px;margin:4px 0}@keyframes fadeSlideUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}.animate-in{animation:.28s both fadeSlideUp}.animate-in:first-child{animation-delay:30ms}.animate-in:nth-child(2){animation-delay:70ms}.animate-in:nth-child(3){animation-delay:.11s}.animate-in:nth-child(4){animation-delay:.15s}.animate-in:nth-child(5){animation-delay:.19s}.profile-page{flex-direction:column;padding-bottom:16px;display:flex}.page{flex-direction:column;min-height:100%;display:flex}.profile-page .page-header h2{color:var(--text);font-size:20px;font-weight:900;font-family:var(--font-display);letter-spacing:1px;margin:0}.profile-tabs{background:var(--card-inner);border:1.5px solid var(--card-border-light);border-radius:12px;gap:4px;margin:0 16px 12px;padding:4px;display:flex}.profile-tab-btn{font-size:13px;font-weight:700;font-family:var(--font-body);color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:9px;flex:1;justify-content:center;align-items:center;gap:5px;padding:8px 0;transition:all .18s;display:flex}.profile-tab-btn.active{background:var(--card);color:var(--text);box-shadow:0 1px 4px #2b2a2e1f}.tab-badge{background:var(--cta);color:#fff;border-radius:8px;justify-content:center;align-items:center;min-width:16px;height:16px;padding:0 4px;font-size:9px;font-weight:800;line-height:1;display:inline-flex}.auth-toast{z-index:999;border-radius:var(--radius);cursor:pointer;background:#2b2a2e;border:1.5px solid #fbc83966;align-items:center;gap:10px;padding:12px 14px;animation:.32s cubic-bezier(.34,1.56,.64,1) both toastSlideDown;display:flex;position:absolute;top:16px;left:16px;right:16px;box-shadow:0 4px 20px #0000004d,0 2px #111014}@keyframes toastSlideDown{0%{opacity:0;transform:translateY(-16px)scale(.96)}to{opacity:1;transform:none}}.auth-toast-icon{flex-shrink:0;font-size:24px;line-height:1}.auth-toast-body{flex:1;min-width:0}.auth-toast-title{color:#fbc839;font-size:14px;font-weight:900;font-family:var(--font-display);margin-bottom:2px}.auth-toast-email{color:#fbf7eca6;text-overflow:ellipsis;white-space:nowrap;font-size:11px;font-weight:600;overflow:hidden}.auth-toast-close{color:#fbf7ec80;cursor:pointer;background:#ffffff1a;border:none;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;width:22px;height:22px;padding:0;font-size:11px;display:flex}.profile-email-tag{padding:2px 0;font-size:11px;font-weight:600;line-height:1.4;display:block}.profile-email-tag.bound{color:var(--success);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.profile-email-tag.anon{color:var(--text-muted)}.sync-dot-only{cursor:default;border-radius:50%;flex-shrink:0;align-self:flex-start;width:8px;height:8px;margin-top:4px}.bind-email-banner{border-radius:var(--radius);background:linear-gradient(135deg,#2b2a2e 0%,#3d3c40 100%);border:1.5px solid #2b2a2e;align-items:center;gap:12px;margin:0 16px 12px;padding:14px 16px;display:flex;box-shadow:0 3px #111014}.bind-email-banner-left{flex:1;min-width:0}.bind-email-banner-title{color:#fbf7ec;font-size:14px;font-weight:900;font-family:var(--font-display);margin-bottom:3px}.bind-email-banner-desc{color:#fbf7eca6;font-size:11px;line-height:1.5}.bind-email-banner-btn{border-radius:var(--radius-sm);color:#2b2a2e;font-size:13px;font-weight:900;font-family:var(--font-body);cursor:pointer;white-space:nowrap;background:#fbc839;border:1.5px solid #fbc839;flex-shrink:0;padding:8px 16px;transition:all .15s;box-shadow:0 2px #c8a020}.bind-email-banner-btn:active{transform:translateY(1px);box-shadow:0 1px #c8a020}.bind-sent-bar{border-radius:var(--radius-sm);color:var(--success);background:#4b9c4614;border:1.5px solid #4b9c4640;align-items:center;gap:10px;margin:0 16px 12px;padding:10px 14px;font-size:12px;font-weight:600;line-height:1.5;display:flex}.bind-sent-bar span{flex:1}.bind-sent-dismiss{color:var(--success);cursor:pointer;opacity:.6;background:0 0;border:none;flex-shrink:0;padding:2px;font-size:12px}.bind-sent-dismiss:hover{opacity:1}.profile-card{background:var(--card);border:1.5px solid var(--card-border);border-radius:var(--radius);box-shadow:var(--shadow-card);align-items:center;gap:12px;margin:0 16px 12px;padding:14px 16px;display:flex}.profile-avatar{background:var(--card-inner);border:1.5px solid var(--card-border-light);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:52px;height:52px;font-size:24px;display:flex;position:relative;overflow:visible}.profile-avatar-btn{cursor:pointer;transition:transform .15s,box-shadow .15s}.profile-avatar-btn:active{transform:scale(.93)}.profile-avatar-btn:hover .profile-avatar-edit{opacity:1}.profile-avatar-img{object-fit:cover;border-radius:50%;width:100%;height:100%;display:block}.profile-avatar-emoji{font-size:24px;line-height:1}.modal-box{background:var(--card);border:2px solid var(--card-border);-webkit-overflow-scrolling:touch;border-bottom:none;border-radius:20px 20px 0 0;width:100%;max-width:390px;max-height:80%;animation:.28s cubic-bezier(.32,.72,0,1) slideUp;overflow-y:auto;box-shadow:0 -6px 32px #2b2a2e2e}.modal-box::-webkit-scrollbar{display:none}.modal-header{justify-content:space-between;align-items:center;padding:18px 18px 0;display:flex}.modal-header h3{color:var(--text);font-size:17px;font-weight:900;font-family:var(--font-display);margin:0}.modal-close{background:var(--card-inner);color:var(--text-muted);cursor:pointer;border:none;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;font-size:13px;font-weight:700;transition:background .15s;display:flex}.modal-close:hover{background:#e8dfc8}.modal-body{padding:14px 18px 28px}.modal-desc{color:var(--text-light);margin-bottom:14px;font-size:13px;line-height:1.7}.input-group{margin-bottom:4px}.input-group label{color:var(--text-light);letter-spacing:.5px;margin-bottom:6px;font-size:11px;font-weight:700;display:block}.input-group input{border:1.5px solid var(--card-border-light);border-radius:var(--radius-sm);width:100%;font-size:15px;font-family:var(--font-body);background:var(--card-inner);color:var(--text);box-sizing:border-box;outline:none;padding:11px 14px;transition:border-color .2s}.input-group input:focus{border-color:var(--card-border);background:var(--card)}.input-group input::placeholder{color:var(--text-muted)}.form-error{color:var(--danger);background:#c8351a0f;border:1px solid #c8351a26;border-radius:8px;margin:8px 0 0;padding:8px 12px;font-size:12px;font-weight:600}.modal-switch{text-align:center;color:var(--text-muted);margin-top:14px;font-size:12px}.link-btn{color:var(--text);font-size:12px;font-weight:700;font-family:var(--font-body);cursor:pointer;text-underline-offset:2px;background:0 0;border:none;padding:0 2px;text-decoration:underline}.link-btn:hover{color:var(--cta)}.sent-icon{text-align:center;margin:8px 0 16px;font-size:48px}.sent-tips{background:var(--card-inner);border-radius:10px;flex-direction:column;gap:6px;margin:12px 0 0;padding:12px 14px;display:flex}.sent-tips p{color:var(--text-muted);margin:0;font-size:12px;font-weight:600;line-height:1.5}.username-display-row{align-items:center;gap:5px;margin-bottom:2px;display:flex}.profile-username{color:var(--text);font-size:15px;font-weight:900;font-family:var(--font-display);letter-spacing:.5px;line-height:1.2}.username-edit-icon{cursor:pointer;color:var(--text-muted);background:0 0;border:none;border-radius:4px;flex-shrink:0;padding:2px 4px;font-size:11px;line-height:1;transition:background .15s,color .15s}.username-edit-icon:hover{background:var(--card-inner);color:var(--text)}.username-edit-row{align-items:center;gap:4px;margin-bottom:2px;display:flex}.username-input{border:1.5px solid var(--card-border);min-width:0;font-size:14px;font-weight:800;font-family:var(--font-display);color:var(--text);background:var(--card-inner);border-radius:7px;outline:none;flex:1;padding:4px 8px}.username-input:focus{border-color:var(--text);background:var(--card)}.username-confirm-btn,.username-cancel-btn{cursor:pointer;width:26px;height:26px;font-size:11px;font-weight:900;font-family:var(--font-body);border:1.5px solid;border-radius:7px;flex-shrink:0;justify-content:center;align-items:center;transition:all .15s;display:flex}.username-confirm-btn{background:var(--text);border-color:var(--text);color:var(--card)}.username-confirm-btn:active{opacity:.75}.username-cancel-btn{background:var(--card-inner);border-color:var(--card-border-light);color:var(--text-muted)}.username-cancel-btn:active{opacity:.75}.profile-avatar-edit{background:var(--text);width:18px;height:18px;color:var(--card);border:2px solid var(--card);opacity:.75;pointer-events:none;border-radius:50%;justify-content:center;align-items:center;font-size:9px;font-weight:900;transition:opacity .15s;display:flex;position:absolute;bottom:-2px;right:-2px}.profile-info{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.profile-status{color:var(--text);font-size:14px;font-weight:800;font-family:var(--font-display)}.profile-status.anon{color:var(--text-muted)}.profile-status.bound{color:var(--success)}.profile-email{color:var(--text-light);text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:600;overflow:hidden}.profile-desc{color:var(--text-muted);font-size:11px;line-height:1.4}.profile-sync{flex-shrink:0;align-items:center;gap:4px;font-size:10px;font-weight:700;display:flex}.sync-dot{border-radius:50%;flex-shrink:0;width:6px;height:6px}.profile-section{border:1.5px solid var(--card-border);border-radius:var(--radius);box-shadow:var(--shadow-card);background:#fff;margin:0 16px 12px;padding:14px 16px}.section-title{color:#675d53;letter-spacing:1px;text-transform:uppercase;margin-bottom:12px;font-size:12px;font-weight:800}.profile-warning{border-radius:var(--radius-sm);color:var(--gold);background:#fff8e8;border:1.5px solid #c8830a4d;margin-bottom:10px;padding:10px 12px;font-size:12px;font-weight:600;line-height:1.6}.profile-success{border-radius:var(--radius-sm);color:var(--success);background:#4b9c4614;border:1.5px solid #4b9c4640;padding:10px 12px;font-size:12px;font-weight:600;line-height:1.6}.profile-bind-btn{border-radius:var(--radius-sm);width:100%;font-size:14px;font-weight:700;font-family:var(--font-body);cursor:pointer;text-align:center;border:2px solid var(--btn-primary-bg);background:var(--btn-primary-bg);color:var(--btn-primary-text);padding:12px;transition:all .15s;display:block;box-shadow:0 3px #111014}.profile-bind-btn:active{transform:translateY(2px);box-shadow:0 1px #111014}.profile-stats{align-items:center;gap:0;margin-bottom:12px;display:flex}.stat-item{flex-direction:column;flex:1;align-items:center;gap:3px;display:flex}.stat-value{font-size:24px;font-weight:900;font-family:var(--font-display);color:var(--text);line-height:1}.stat-label{color:var(--text-muted);font-size:10px;font-weight:600}.stat-divider{background:var(--divider);flex-shrink:0;width:1px;height:36px}.profile-progress-bar{background:var(--card-inner);border:1px solid var(--card-border-light);border-radius:4px;width:100%;height:8px;margin-bottom:6px;overflow:hidden}.profile-progress-fill{background:linear-gradient(90deg, var(--success), #6ac065);border-radius:4px;height:100%;transition:width .5s cubic-bezier(.4,0,.2,1)}.profile-progress-text{color:var(--text-muted);text-align:center;font-size:11px;font-weight:600;display:block}.profile-about{flex-direction:column;gap:0;display:flex}.about-row{border-bottom:1px solid var(--divider);justify-content:space-between;align-items:center;padding:9px 0;font-size:13px;display:flex}.about-row:last-child{border-bottom:none}.about-row span:first-child{color:var(--text-light);font-weight:600}.about-row span:last-child{color:var(--text);font-weight:700}.dev-note-card{border-radius:var(--radius);background:#fff;border:1.5px solid #c8830a2e;padding:16px}.dev-note-avatar-row{align-items:center;gap:12px;margin-bottom:12px;display:flex}.dev-note-avatar{background:#c8830a1f;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;font-size:22px;display:flex}.dev-note-name{color:var(--text);font-size:15px;font-weight:900;font-family:var(--font-display);line-height:1.2}.dev-note-handle{color:#c8830a;margin-top:2px;font-size:11px;font-weight:700}.dev-note-text{color:var(--text-light);margin:0 0 12px;font-size:13px;line-height:1.7}.dev-note-tags{flex-wrap:wrap;gap:6px;margin-bottom:14px;display:flex}.dev-tag{color:var(--text-light);border:1px solid var(--divider);background:#2b2a2e0f;border-radius:20px;padding:3px 10px;font-size:11px;font-weight:700}.dev-note-xhs-btn{border-radius:var(--radius-sm);color:#fff;font-size:12px;font-weight:800;font-family:var(--font-body);cursor:pointer;background:#ff2442;border:none;align-items:center;gap:6px;padding:8px 16px;text-decoration:none;transition:opacity .15s;display:inline-flex}.dev-note-xhs-btn:hover{opacity:.85}.feedback-form{flex-direction:column;gap:10px;display:flex}.feedback-textarea{box-sizing:border-box;border-radius:var(--radius-sm);width:100%;min-height:96px;font-size:13px;font-family:var(--font-body);color:var(--text);resize:vertical;background:#f3ead9;border:1.5px solid #675d5347;outline:none;padding:12px;line-height:1.6;transition:border-color .15s}.feedback-textarea:focus{border-color:#c8830a}.feedback-textarea::placeholder{color:var(--text-muted);font-weight:400}.feedback-char-count{color:var(--text-muted);text-align:right;margin-top:-4px;font-size:10px}.feedback-contact-input{box-sizing:border-box;border-radius:var(--radius-sm);width:100%;font-size:13px;font-family:var(--font-body);color:var(--text);background:#f3ead9;border:1.5px solid #675d5347;outline:none;padding:10px 12px;transition:border-color .15s}.feedback-contact-input:focus{border-color:#c8830a}.feedback-contact-input::placeholder{color:var(--text-muted);font-weight:400}.feedback-error{color:#c8351a;background:#c8351a0f;border:1px solid #c8351a33;border-radius:6px;padding:6px 10px;font-size:11px;font-weight:700}.feedback-submit-btn{border-radius:var(--radius-sm);color:#fbf7ec;font-size:13px;font-weight:800;font-family:var(--font-body);cursor:pointer;background:#2b2a2e;border:2px solid #2b2a2e;padding:12px 0;transition:opacity .15s;box-shadow:0 2px #111014}.feedback-submit-btn:disabled{opacity:.45;cursor:not-allowed;box-shadow:none}.feedback-submit-btn:not(:disabled):active{transform:translateY(1px);box-shadow:0 1px #111014}.feedback-done{flex-direction:column;align-items:center;gap:6px;padding:24px 16px;display:flex}.feedback-done-icon{font-size:32px}.feedback-done-text{color:var(--text);font-size:14px;font-weight:800;font-family:var(--font-display)}.feedback-again-btn{border:1.5px solid var(--card-border);color:var(--text-muted);font-size:11px;font-weight:700;font-family:var(--font-body);cursor:pointer;background:0 0;border-radius:20px;margin-top:4px;padding:6px 16px}
