.modal-overlay[data-v-04052f68]{align-items:flex-end;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#2e284080;display:flex;inset:0;justify-content:center;position:fixed;z-index:200}.modal-sheet[data-v-04052f68]{background:var(--color-bg-card);border:1px solid var(--color-border);border-bottom:none;border-radius:20px 20px 0 0;box-shadow:0 -4px 32px #6b5b951f;max-width:448px;padding:28px 20px max(40px,calc(40px + env(safe-area-inset-bottom)));position:relative;width:100%}.close-btn[data-v-04052f68]{align-items:center;background:var(--color-bg-tint);border:1px solid var(--color-border);border-radius:50%;color:var(--color-text-muted);cursor:pointer;display:flex;font-size:12px;height:28px;justify-content:center;position:absolute;right:16px;top:16px;width:28px}.close-btn[data-v-04052f68]:active{opacity:.7}.modal-header[data-v-04052f68]{margin-bottom:20px;text-align:center}.header-ornament[data-v-04052f68]{color:var(--color-primary);font-size:18px;margin-bottom:8px;opacity:.6}.modal-title[data-v-04052f68]{color:var(--color-text-title);font-family:"Noto Serif SC",serif;font-size:17px;font-weight:600;letter-spacing:.05em;margin-bottom:5px}.modal-subtitle[data-v-04052f68]{color:var(--color-text-muted);font-size:12px;letter-spacing:.03em;margin-bottom:3px}.modal-note[data-v-04052f68]{color:var(--color-text-muted);opacity:.75}.invited-stat[data-v-04052f68],.modal-note[data-v-04052f68]{font-size:10.5px;letter-spacing:.02em}.invited-stat[data-v-04052f68]{color:var(--color-primary);margin-top:4px;opacity:.7}.earn-list[data-v-04052f68]{display:flex;flex-direction:column;gap:8px;margin-bottom:20px}.earn-item[data-v-04052f68]{align-items:center;background:var(--color-bg-tint);border:1px solid var(--color-border);border-radius:12px;display:flex;gap:12px;padding:12px 14px}.earn-num[data-v-04052f68]{color:var(--color-primary);flex-shrink:0;font-family:Playfair Display,serif;font-size:15px;font-weight:600;line-height:1;min-width:24px;opacity:.45}.earn-body[data-v-04052f68]{flex:1;min-width:0}.earn-title[data-v-04052f68]{color:var(--color-text-body);font-size:13px;font-weight:600;letter-spacing:.02em;margin-bottom:2px}.earn-desc[data-v-04052f68]{color:var(--color-text-muted);font-size:11px;letter-spacing:.01em;line-height:1.55}.earn-desc b[data-v-04052f68]{color:var(--color-primary);font-weight:600}.earn-badge[data-v-04052f68]{background:#3a8a5a1a;border-radius:20px;color:#3a8a5a;flex-shrink:0;font-size:12px;font-weight:700;padding:3px 8px}.earn-badge-high[data-v-04052f68]{background:#6b5b951a;color:#6b5b95}.btn-primary[data-v-04052f68]{background:linear-gradient(135deg,#6b5b95,#8a6bb5);border:none;border-radius:10px;color:#fff;cursor:pointer;font-family:"Noto Serif SC",serif;font-size:14px;font-weight:600;letter-spacing:.06em;margin-bottom:8px;padding:13px;transition:opacity .15s;width:100%}.btn-primary[data-v-04052f68]:active{opacity:.85}.share-hint[data-v-04052f68]{color:var(--color-text-muted);font-size:11px;letter-spacing:.02em;line-height:1.6;margin-bottom:0;text-align:center}.share-hint strong[data-v-04052f68]{color:var(--color-primary)}.share-hint .wechat-id[data-v-04052f68]{cursor:pointer;display:inline-block;min-width:70px;text-align:center;text-decoration:underline;text-underline-offset:2px;transition:opacity .2s}.share-hint .wechat-id[data-v-04052f68]:active{opacity:.7}.or-row[data-v-04052f68]{align-items:center;display:flex;gap:10px;margin:16px 0 12px}.or-line[data-v-04052f68]{background:var(--color-border);flex:1;height:1px}.or-text[data-v-04052f68]{color:var(--color-text-muted);font-size:11px;letter-spacing:.03em;white-space:nowrap}.btn-recharge[data-v-04052f68]{background:transparent;border:1.5px solid rgba(107,91,149,.3);border-radius:10px;color:var(--color-primary);cursor:pointer;font-size:14px;font-weight:600;letter-spacing:.04em;padding:12px;transition:background .15s,border-color .15s;width:100%}.btn-recharge[data-v-04052f68]:active{background:#6b5b950f;border-color:#6b5b9580}.modal-fade-enter-active[data-v-04052f68],.modal-fade-leave-active[data-v-04052f68]{transition:opacity .25s ease}.modal-fade-enter-active .modal-sheet[data-v-04052f68],.modal-fade-leave-active .modal-sheet[data-v-04052f68]{transition:transform .3s cubic-bezier(.32,.72,0,1)}.modal-fade-enter-from[data-v-04052f68],.modal-fade-leave-to[data-v-04052f68]{opacity:0}.modal-fade-enter-from .modal-sheet[data-v-04052f68],.modal-fade-leave-to .modal-sheet[data-v-04052f68]{transform:translateY(100%)}
