.user-chip[data-v-d00bdd94]{display:inline-flex;align-items:center;gap:8px;padding:4px 12px 4px 4px;border-radius:999px;background:var(--btn-bg);border:1px solid var(--border);height:36px;text-decoration:none;color:inherit;cursor:pointer;transition:background-color .18s ease,transform .18s ease}.user-chip[data-v-d00bdd94]:hover{background:var(--hover-bg);transform:translateY(-1px)}.user-avatar[data-v-d00bdd94]{width:28px;height:28px;border-radius:50%;object-fit:cover;flex-shrink:0;box-shadow:0 0 0 2px #ff6fa959}.user-avatar-fallback[data-v-d00bdd94]{display:inline-flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#ffb3d1,#ff6fa9);color:#fff;font-size:.8rem;font-weight:600;text-transform:uppercase}.user-name[data-v-d00bdd94]{font-size:.92rem;color:var(--text);font-weight:500;white-space:nowrap}.user-role[data-v-d00bdd94]{font-size:.7rem;padding:2px 8px;border-radius:999px;font-weight:600;letter-spacing:.3px;white-space:nowrap}.user-role.role-admin[data-v-d00bdd94]{background:linear-gradient(135deg,#ffd56b,#ff9b1a);color:#4a2900}.user-role.role-mod[data-v-d00bdd94]{background:linear-gradient(135deg,#c89bff,#8a5cff);color:#fff}.user-role.role-vip[data-v-d00bdd94]{background:linear-gradient(135deg,#ffb3d1,#ff6fa9);color:#fff}.user-role.role-default[data-v-d00bdd94]{background:var(--hover-bg);color:var(--text-secondary);border:1px solid var(--border)}.nav-manage[data-v-d00bdd94]{text-decoration:none;color:var(--text)}.nav-manage[data-v-d00bdd94]:hover{color:#ff3b3b;background:#ff3b3b14}.nav-manage.active[data-v-d00bdd94]{color:#ff3b3b;background:#ff3b3b1f}.modal-overlay[data-v-27e76343]{position:fixed;inset:0;background:#0000008c;backdrop-filter:blur(10px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.modal-content[data-v-27e76343]{background:var(--card-bg);border:1px solid var(--border);border-radius:20px;padding:28px;width:100%;max-width:460px;max-height:90vh;overflow-y:auto;box-shadow:0 24px 60px #00000040}.modal-header[data-v-27e76343]{margin-bottom:24px}.modal-header h2[data-v-27e76343]{margin:0 0 6px;font-size:1.45rem;color:var(--text)}.modal-subtitle[data-v-27e76343]{margin:0;color:var(--text-secondary);font-size:.9rem}.modal-form[data-v-27e76343]{display:flex;flex-direction:column;gap:16px}.form-row[data-v-27e76343]{display:flex;flex-direction:column;gap:6px}.form-label[data-v-27e76343]{font-size:.9rem;color:var(--text-secondary)}.form-input[data-v-27e76343]{width:100%;padding:11px 14px;border:1px solid var(--border);border-radius:10px;background:var(--input-bg);color:var(--text);font-size:1rem;transition:border-color .2s,box-shadow .2s;box-sizing:border-box}.form-input[data-v-27e76343]:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #ff6fa926}.form-input[data-v-27e76343]:disabled{opacity:.55;cursor:not-allowed}.form-textarea[data-v-27e76343]{resize:vertical;min-height:80px}.input-row[data-v-27e76343]{display:flex;gap:10px}.input-row .form-input[data-v-27e76343]{flex:1}.code-btn[data-v-27e76343]{white-space:nowrap;padding:0 14px;font-size:.85rem}.error-msg[data-v-27e76343]{color:#ff4757;font-size:.9rem;padding:10px 12px;background:#ff47571a;border-radius:10px}.form-actions[data-v-27e76343]{display:flex;justify-content:flex-end;gap:12px;margin-top:8px}.btn[data-v-27e76343]{padding:11px 22px;border-radius:10px;font-size:.95rem;cursor:pointer;transition:all .2s;border:none;font-weight:500}.btn[data-v-27e76343]:disabled{opacity:.55;cursor:not-allowed}.btn-primary[data-v-27e76343]{background:linear-gradient(135deg,#ffb3d1,#ff6fa9);color:#fff}.btn-primary[data-v-27e76343]:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 6px 18px #ff6fa952}.btn-secondary[data-v-27e76343]{background:var(--btn-bg);border:1px solid var(--border);color:var(--text)}.btn-secondary[data-v-27e76343]:hover:not(:disabled){background:var(--hover-bg)}.btn-ghost[data-v-27e76343]{background:transparent;border:1px solid var(--border);color:var(--text-secondary)}.btn-ghost[data-v-27e76343]:hover:not(:disabled){background:var(--btn-bg);color:var(--text)}.modal-fade-enter-active[data-v-27e76343],.modal-fade-leave-active[data-v-27e76343]{transition:opacity .25s ease}.modal-fade-enter-from[data-v-27e76343],.modal-fade-leave-to[data-v-27e76343]{opacity:0}.dlg-mask[data-v-15ff5d97]{position:fixed;inset:0;background:#00000059;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;z-index:200;padding:20px;animation:mask-in-15ff5d97 .18s ease both}@keyframes mask-in-15ff5d97{0%{opacity:0}to{opacity:1}}.dlg[data-v-15ff5d97]{width:100%;max-width:400px;padding:24px;border-radius:var(--radius);text-align:center;animation:dlg-in-15ff5d97 .22s cubic-bezier(.2,.8,.2,1) both}@keyframes dlg-in-15ff5d97{0%{opacity:0;transform:translate3d(0,12px,0) scale(.96)}to{opacity:1;transform:translateZ(0) scale(1)}}.dlg-icon[data-v-15ff5d97]{width:48px;height:48px;margin:0 auto 12px;border-radius:50%;display:grid;place-items:center;font-size:26px;font-weight:700;color:#fff;background:linear-gradient(135deg,var(--pink-400),var(--pink-600));box-shadow:0 6px 18px #ff6fa966}.dlg-icon.err[data-v-15ff5d97]{background:linear-gradient(135deg,#ff7e7e,#ff3b3b);box-shadow:0 6px 18px #ff3b3b66}.dlg-icon.info[data-v-15ff5d97]{background:linear-gradient(135deg,#7eb8ff,#3b8bff);box-shadow:0 6px 18px #3b8bff66}.dlg-title[data-v-15ff5d97]{margin:0 0 8px;font-size:1.1rem}.dlg-msg[data-v-15ff5d97]{margin:0 0 18px;color:var(--fg-2);font-size:.92rem;line-height:1.6;white-space:pre-wrap;word-break:break-word}.dlg-actions[data-v-15ff5d97]{display:flex;justify-content:center;gap:8px}::-webkit-scrollbar{width:0;height:0}html{scrollbar-width:none}.app-shell{position:relative;min-height:100vh;display:flex;flex-direction:column;color:var(--text);background:var(--bg);overflow-x:hidden}.app-main{flex:1;display:flex;flex-direction:column}.app-foot{text-align:center;padding:18px;font-size:.8rem;color:var(--text-secondary)}.spotlight{position:fixed;inset:0;pointer-events:none;z-index:-1;background:radial-gradient(600px circle at var(--mx, 50%) var(--my, 50%),rgba(255,179,209,.15),transparent 40%)}.site-bg{position:fixed;inset:0;z-index:-2;background:url(/background.jpg) center/cover no-repeat;opacity:.3;pointer-events:none}.fade-enter-active,.fade-leave-active{transition:opacity .25s ease,transform .25s ease}.fade-enter-from,.fade-leave-to{opacity:0;transform:translateY(8px)}.subtitle[data-v-012b424a]{opacity:.65;font-size:.9em;margin-top:4px}.error-text[data-v-012b424a]{color:#ff6fa9;font-size:.85em;word-break:break-all}.actions[data-v-012b424a]{display:flex;justify-content:center;margin-top:1rem}.header-row[data-v-806af1e5]{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}.subtitle[data-v-806af1e5]{opacity:.65;font-size:.9em;margin-top:4px}.error-box[data-v-806af1e5]{text-align:center}.error-box p[data-v-806af1e5]{color:#ff6fa9;margin-bottom:.8rem}.balance-card[data-v-806af1e5]{display:inline-flex;align-items:center;gap:10px;padding:10px 18px;border-radius:999px;background:linear-gradient(135deg,var(--pink-100),var(--pink-200));color:var(--pink-600);font-weight:600}[data-theme=dark] .balance-card[data-v-806af1e5]{background:#ff6fa933;color:var(--pink-300)}.balance-label[data-v-806af1e5]{font-size:.85rem;opacity:.8}.balance-value[data-v-806af1e5]{font-size:1.2rem;font-weight:800}.product-grid[data-v-806af1e5]{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px}.product-card[data-v-806af1e5]{padding:18px;border-radius:var(--radius);display:flex;flex-direction:column;gap:8px}.product-head[data-v-806af1e5]{display:flex;justify-content:space-between;align-items:center}.product-id[data-v-806af1e5]{font-size:.78rem;opacity:.6;font-family:monospace}.product-price[data-v-806af1e5]{font-size:1.05rem;font-weight:700;color:var(--pink-600)}.product-name[data-v-806af1e5]{font-size:1.1rem;margin:0;color:var(--fg-1)}.product-desc[data-v-806af1e5]{font-size:.88rem;opacity:.75;margin:0;min-height:2.4em;line-height:1.4}.product-meta[data-v-806af1e5]{display:flex;justify-content:space-between;font-size:.78rem;opacity:.7;border-top:1px solid var(--border);padding-top:8px}.unlimited[data-v-806af1e5]{color:var(--pink-500)}.buy-btn[data-v-806af1e5]{margin-top:8px;width:100%;padding:10px 0;font-size:.92rem}.buy-btn.disabled[data-v-806af1e5]{color:#999;background:#9696961a;border-color:#96969633;cursor:not-allowed}.buy-btn.disabled[data-v-806af1e5]:hover{background:#9696961a;transform:none}.modal-mask[data-v-806af1e5]{position:fixed;inset:0;background:#00000059;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;z-index:100;padding:20px}.modal[data-v-806af1e5]{width:100%;max-width:460px;padding:24px;border-radius:var(--radius)}.modal h3[data-v-806af1e5]{margin:0 0 16px;font-size:1.15rem}.buy-info[data-v-806af1e5]{display:flex;flex-direction:column;gap:0;background:var(--card-bg);border-radius:12px;padding:4px 14px;margin-bottom:12px}.kv[data-v-806af1e5]{display:flex;align-items:center;justify-content:space-between;padding:8px 0}.kv+.kv[data-v-806af1e5]{border-top:1px dashed var(--border)}.kv .k[data-v-806af1e5]{color:var(--fg-3);font-size:.85rem}.kv .v[data-v-806af1e5]{color:var(--fg-1);font-size:.92rem;font-weight:600}.two-coin[data-v-806af1e5]{color:var(--pink-600);font-weight:700}.field[data-v-806af1e5]{display:flex;flex-direction:column;gap:4px;font-size:.88rem;margin:8px 0}.field>span[data-v-806af1e5]{color:var(--fg-2);font-weight:500}.field input[data-v-806af1e5]{padding:10px 12px;border-radius:10px;border:1px solid var(--border);background:var(--glass-bg);color:var(--fg-1);font-size:.95rem;outline:none;transition:border-color .18s}.field input[data-v-806af1e5]:focus{border-color:var(--pink-500)}.kv.total[data-v-806af1e5]{font-size:1rem;padding:12px 0;border-top:1px solid var(--border);margin-top:4px}.kv.total .v[data-v-806af1e5]{font-size:1.1rem}.form-error[data-v-806af1e5]{color:#ff3b3b;font-size:.85rem;margin:4px 0}.form-actions[data-v-806af1e5]{display:flex;justify-content:flex-end;gap:8px;margin-top:12px}.header-row[data-v-07fe09fe]{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}.subtitle[data-v-07fe09fe]{opacity:.65;font-size:.9em;margin:4px 0 0}.error-box[data-v-07fe09fe]{text-align:center}.error-box p[data-v-07fe09fe]{color:#ff6fa9;margin-bottom:.8rem}.table-wrap[data-v-07fe09fe]{overflow-x:auto;border-radius:var(--radius)}.product-table[data-v-07fe09fe]{width:100%;border-collapse:separate;border-spacing:0;font-size:.9rem;overflow:hidden}.product-table th[data-v-07fe09fe],.product-table td[data-v-07fe09fe]{padding:12px 14px;text-align:left;border-bottom:1px solid var(--border);vertical-align:middle}.product-table th[data-v-07fe09fe]{font-size:.78rem;text-transform:uppercase;letter-spacing:.4px;opacity:.7;background:var(--card-bg);font-weight:600}.product-table tbody tr:last-child td[data-v-07fe09fe]{border-bottom:none}.mono[data-v-07fe09fe]{font-family:monospace;opacity:.7}.desc-cell[data-v-07fe09fe]{max-width:240px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.td-actions[data-v-07fe09fe]{display:flex;gap:6px;white-space:nowrap}.th-actions[data-v-07fe09fe]{width:1%;white-space:nowrap}.unlimited[data-v-07fe09fe]{color:var(--pink-500);font-weight:600}.btn.small[data-v-07fe09fe]{padding:4px 10px;font-size:.82rem}.btn.danger[data-v-07fe09fe]{color:#ff3b3b;border-color:#ff3b3b4d}.btn.danger[data-v-07fe09fe]:hover{background:#ff3b3b14}.modal-mask[data-v-07fe09fe]{position:fixed;inset:0;background:#00000059;backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;z-index:100;padding:20px}.modal[data-v-07fe09fe]{width:100%;max-width:480px;padding:24px;border-radius:var(--radius)}.modal h3[data-v-07fe09fe]{margin:0 0 16px;font-size:1.15rem}.form[data-v-07fe09fe]{display:flex;flex-direction:column;gap:12px}.field[data-v-07fe09fe]{display:flex;flex-direction:column;gap:4px;font-size:.88rem}.field>span[data-v-07fe09fe]{color:var(--fg-2);font-weight:500}.field em[data-v-07fe09fe]{color:#ff3b3b;font-style:normal;margin:0 2px}.field em.hint[data-v-07fe09fe]{color:var(--fg-3);font-weight:400}.field input[data-v-07fe09fe],.field textarea[data-v-07fe09fe]{padding:10px 12px;border-radius:10px;border:1px solid var(--border);background:var(--glass-bg);color:var(--fg-1);font-size:.92rem;font-family:inherit;outline:none;transition:border-color .18s,background-color .18s;resize:vertical}.field input[data-v-07fe09fe]:focus,.field textarea[data-v-07fe09fe]:focus{border-color:var(--pink-500);background:var(--glass-bg-strong)}.form-error[data-v-07fe09fe]{color:#ff3b3b;font-size:.85rem}.form-actions[data-v-07fe09fe]{display:flex;justify-content:flex-end;gap:8px;margin-top:4px}.subtitle[data-v-523f32e5]{opacity:.65;font-size:.9em;margin-top:4px}.error-box[data-v-523f32e5]{text-align:center}.error-box p[data-v-523f32e5]{color:#ff6fa9;margin-bottom:.8rem}.profile-card[data-v-523f32e5]{padding:28px;border-radius:var(--radius)}.profile-head[data-v-523f32e5]{display:flex;align-items:center;gap:18px;padding-bottom:18px;border-bottom:1px solid var(--border);margin-bottom:18px}.profile-avatar[data-v-523f32e5]{width:80px;height:80px;border-radius:50%;object-fit:cover;box-shadow:0 0 0 4px #ff6fa959;flex-shrink:0}.profile-avatar-fallback[data-v-523f32e5]{display:grid;place-items:center;background:linear-gradient(135deg,#ffb3d1,#ff6fa9);color:#fff;font-size:2rem;font-weight:700}.profile-id[data-v-523f32e5]{display:flex;flex-direction:column;gap:6px}.profile-id h3[data-v-523f32e5]{margin:0;font-size:1.4rem}.user-role[data-v-523f32e5]{display:inline-block;font-size:.75rem;padding:3px 10px;border-radius:999px;font-weight:600;letter-spacing:.3px;width:fit-content}.user-role.role-admin[data-v-523f32e5]{background:linear-gradient(135deg,#ffd56b,#ff9b1a);color:#4a2900}.user-role.role-mod[data-v-523f32e5]{background:linear-gradient(135deg,#c89bff,#8a5cff);color:#fff}.user-role.role-vip[data-v-523f32e5]{background:linear-gradient(135deg,#ffb3d1,#ff6fa9);color:#fff}.user-role.role-default[data-v-523f32e5]{background:var(--hover-bg);color:var(--text-secondary);border:1px solid var(--border)}.profile-grid[data-v-523f32e5]{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 24px}@media(max-width:600px){.profile-grid[data-v-523f32e5]{grid-template-columns:1fr}}.kv[data-v-523f32e5]{display:flex;align-items:center;justify-content:space-between;padding:12px 0;border-bottom:1px dashed var(--border)}.kv.kv-wide[data-v-523f32e5]{grid-column:1 / -1}.kv .k[data-v-523f32e5]{color:var(--fg-3);font-size:.88rem}.kv .v[data-v-523f32e5]{color:var(--fg-1);font-size:.95rem;font-weight:600;text-align:right}.kv .v.bio[data-v-523f32e5]{font-weight:400;text-align:left;white-space:pre-wrap;line-height:1.6;max-width:100%;word-break:break-word}.two-coin[data-v-523f32e5]{color:var(--pink-600);font-size:1.05rem;font-weight:700}.header-row[data-v-d46ff92d]{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}.subtitle[data-v-d46ff92d]{opacity:.65;font-size:.9em;margin:4px 0 0}.error-box[data-v-d46ff92d]{text-align:center}.error-box p[data-v-d46ff92d]{color:#ff6fa9;margin-bottom:.8rem}.balance-card[data-v-d46ff92d]{display:inline-flex;align-items:center;gap:10px;padding:10px 18px;border-radius:999px;background:linear-gradient(135deg,var(--pink-100),var(--pink-200));color:var(--pink-600);font-weight:600}[data-theme=dark] .balance-card[data-v-d46ff92d]{background:#ff6fa933;color:var(--pink-300)}.balance-label[data-v-d46ff92d]{font-size:.85rem;opacity:.8}.balance-value[data-v-d46ff92d]{font-size:1.2rem;font-weight:800}.order-list[data-v-d46ff92d]{display:flex;flex-direction:column;gap:12px}.order-card[data-v-d46ff92d]{padding:18px;border-radius:var(--radius)}.order-head[data-v-d46ff92d]{display:flex;justify-content:space-between;align-items:center;padding-bottom:12px;border-bottom:1px solid var(--border);margin-bottom:12px}.order-id[data-v-d46ff92d]{font-family:monospace;font-size:.9rem;opacity:.7}.order-status[data-v-d46ff92d]{font-size:.78rem;font-weight:600;padding:3px 10px;border-radius:999px}.st-0[data-v-d46ff92d]{background:#ffb3d140;color:var(--pink-600)}.st-1[data-v-d46ff92d]{background:#4ad9912e;color:#2ea163}.st-2[data-v-d46ff92d]{background:#ff3b3b1f;color:#c03030}.st-3[data-v-d46ff92d]{background:var(--hover-bg);color:var(--text-secondary)}[data-theme=dark] .st-0[data-v-d46ff92d]{color:var(--pink-300)}[data-theme=dark] .st-1[data-v-d46ff92d]{color:#5fdc94}[data-theme=dark] .st-2[data-v-d46ff92d]{color:#ff7e7e}.order-body[data-v-d46ff92d]{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 24px}@media(max-width:600px){.order-body[data-v-d46ff92d]{grid-template-columns:1fr}}.kv[data-v-d46ff92d]{display:flex;align-items:center;justify-content:space-between;padding:6px 0}.kv.kv-wide[data-v-d46ff92d]{grid-column:1 / -1}.kv .k[data-v-d46ff92d]{color:var(--fg-3);font-size:.85rem}.kv .v[data-v-d46ff92d]{color:var(--fg-1);font-size:.92rem;font-weight:600}.two-coin[data-v-d46ff92d]{color:var(--pink-600);font-weight:700}.order-actions[data-v-d46ff92d]{display:flex;justify-content:flex-end;margin-top:12px;padding-top:12px;border-top:1px dashed var(--border)}.btn.small[data-v-d46ff92d]{padding:4px 12px;font-size:.82rem}.btn.primary[data-v-d46ff92d]{color:#fff;background:var(--pink-500, #ff3b8b);border-color:var(--pink-500, #ff3b8b)}.btn.primary[data-v-d46ff92d]:hover{background:var(--pink-600, #e0357a)}.btn.primary[data-v-d46ff92d]:disabled{opacity:.6;cursor:not-allowed}.btn.danger[data-v-d46ff92d]{color:#ff3b3b;border-color:#ff3b3b4d}.btn.danger[data-v-d46ff92d]:hover{background:#ff3b3b14}.give-tag[data-v-d46ff92d]{display:inline-block;margin-left:6px;padding:1px 8px;font-size:.72rem;font-weight:600;background:#7850dc26;color:#7850dc;border-radius:999px}[data-theme=dark] .give-tag[data-v-d46ff92d]{background:#aa8cff33;color:#c8a8ff}.status-hint[data-v-d46ff92d]{margin-left:4px;font-size:.72rem;font-weight:500;opacity:.8}.order-tip[data-v-d46ff92d]{background:#7850dc14;border-left:3px solid #7850dc;padding:8px 12px;border-radius:6px;font-size:.85rem;margin:8px 0;line-height:1.5;color:var(--fg-2)}.order-tip strong[data-v-d46ff92d]{color:#7850dc}.order-tip code[data-v-d46ff92d]{background:var(--card-bg);padding:1px 6px;border-radius:4px;font-size:.82rem;font-family:monospace}[data-theme=dark] .order-tip[data-v-d46ff92d]{background:#aa8cff1a;color:var(--fg-2)}:root{--pink-50: #fff5fa;--pink-100: #ffe6f1;--pink-200: #ffcce0;--pink-300: #ffb3d1;--pink-400: #ff8fbf;--pink-500: #ff6fa9;--pink-600: #e85a93;--bg-1: #fff7fb;--bg-2: #fdebf4;--fg-1: #1c1620;--fg-2: #4a3f4f;--fg-3: #7a6f80;--border: rgba(255, 143, 191, .18);--glass-bg: rgba(255, 255, 255, .55);--glass-bg-strong: rgba(255, 255, 255, .7);--card-bg: rgba(255, 255, 255, .28);--glass-border: rgba(255, 255, 255, .6);--glass-shadow: 0 8px 32px rgba(255, 111, 169, .18);--glass-highlight: inset 0 1px 0 rgba(255, 255, 255, .7);--refract-1: rgba(255, 200, 224, .55);--refract-2: rgba(255, 255, 255, 0);--radius: 18px;--radius-sm: 12px;--radius-lg: 24px;--nav-h: 64px;--max-w: 1080px;--mx: 0;--my: 0}[data-theme=dark]{--bg-1: #15101a;--bg-2: #1f1726;--fg-1: #f4ecf2;--fg-2: #c9bcc6;--fg-3: #8a7d8a;--border: rgba(255, 143, 191, .22);--glass-bg: rgba(40, 24, 38, .45);--glass-bg-strong: rgba(50, 30, 48, .65);--card-bg: rgba(30, 18, 28, .38);--glass-border: rgba(255, 200, 224, .18);--glass-shadow: 0 8px 32px rgba(0, 0, 0, .4);--glass-highlight: inset 0 1px 0 rgba(255, 200, 224, .12);--refract-1: rgba(255, 143, 191, .18);--refract-2: rgba(255, 255, 255, 0)}*{box-sizing:border-box}html,body,#app{height:100%}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,SF Pro Display,PingFang SC,Helvetica Neue,Arial,Microsoft YaHei,sans-serif;color:var(--fg-1);background:var(--bg-1);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden}body:before{content:"";position:fixed;inset:-20vmax;z-index:-2;background:radial-gradient(40vmax 40vmax at 15% 20%,var(--pink-200) 0%,transparent 60%),radial-gradient(36vmax 36vmax at 85% 10%,var(--pink-100) 0%,transparent 60%),radial-gradient(50vmax 50vmax at 50% 90%,var(--pink-300) 0%,transparent 60%),linear-gradient(180deg,var(--bg-1),var(--bg-2));filter:saturate(1.05);animation:p2f-drift 24s ease-in-out infinite alternate;will-change:transform;transform:translateZ(0);contain:strict}[data-theme=dark] body:before{background:radial-gradient(40vmax 40vmax at 15% 20%,rgba(255,111,169,.25) 0%,transparent 60%),radial-gradient(36vmax 36vmax at 85% 10%,rgba(255,143,191,.18) 0%,transparent 60%),radial-gradient(50vmax 50vmax at 50% 90%,rgba(255,179,209,.15) 0%,transparent 60%),linear-gradient(180deg,#15101a,#1f1726)}@keyframes p2f-drift{0%{transform:translateZ(0) scale(1)}50%{transform:translate3d(2vmax,-2vmax,0) scale(1.05)}to{transform:translate3d(-2vmax,1vmax,0) scale(1.02)}}body:after{content:"";position:fixed;inset:-30vmax;z-index:-2;background:radial-gradient(28vmax 28vmax at 70% 60%,rgba(255,200,224,.55) 0%,transparent 65%),radial-gradient(22vmax 22vmax at 30% 70%,rgba(255,230,241,.45) 0%,transparent 65%);filter:blur(2px);animation:p2f-drift2 36s ease-in-out infinite alternate;will-change:transform;transform:translateZ(0);pointer-events:none;contain:strict}[data-theme=dark] body:after{background:radial-gradient(28vmax 28vmax at 70% 60%,rgba(255,111,169,.18) 0%,transparent 65%),radial-gradient(22vmax 22vmax at 30% 70%,rgba(255,143,191,.12) 0%,transparent 65%)}@keyframes p2f-drift2{0%{transform:translateZ(0) scale(1.02)}to{transform:translate3d(-3vmax,2vmax,0) scale(1.08)}}.site-bg{position:fixed;inset:0;z-index:-2;background-image:url(/background.jpg);background-size:cover;background-position:center;background-repeat:no-repeat;opacity:.3;pointer-events:none;contain:strict}.spotlight{position:fixed;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(30vmax 30vmax at calc(50% + var(--mx) * 20vmax) calc(50% + var(--my) * 20vmax),#ffc8e047,#ffc8e000 60%);transition:background-position .1s linear;will-change:background-position;contain:strict}[data-theme=dark] .spotlight{background:radial-gradient(30vmax 30vmax at calc(50% + var(--mx) * 20vmax) calc(50% + var(--my) * 20vmax),#ff8fbf2e,#ff8fbf00 60%)}.app-shell{min-height:100%;display:flex;flex-direction:column}.app-main{flex:1;width:100%;max-width:var(--max-w);margin:0 auto;padding:24px 20px 80px}.app-foot{text-align:center;padding:16px;color:var(--fg-3);font-size:12px}.glass{background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:var(--radius);box-shadow:var(--glass-shadow),var(--glass-highlight);backdrop-filter:blur(20px) saturate(1.4);-webkit-backdrop-filter:blur(20px) saturate(1.4);position:relative;overflow:hidden;transition:transform .25s cubic-bezier(.2,.8,.2,1),box-shadow .25s ease,background .25s ease;will-change:transform;transform:translateZ(0);contain:layout style paint}.glass-strong{background:var(--glass-bg-strong)}.glass:hover{transform:translate3d(0,-2px,0);box-shadow:0 14px 40px #ff6fa940,var(--glass-highlight)}.glass:after{content:"";position:absolute;inset:0;border-radius:inherit;background:linear-gradient(115deg,var(--refract-1) 0%,var(--refract-2) 40%);opacity:0;pointer-events:none;transition:opacity .2s ease .05s;will-change:opacity}.glass:hover:after{opacity:1}.navbar{position:sticky;top:12px;z-index:50;width:calc(100% - 24px);max-width:var(--max-w);margin:12px auto 0;height:var(--nav-h);padding:0 18px;display:flex;align-items:center;gap:16px;border-radius:var(--radius-lg);animation:nav-drop .6s cubic-bezier(.2,.8,.2,1) both}@keyframes nav-drop{0%{opacity:0;transform:translate3d(0,-16px,0)}to{opacity:1;transform:translateZ(0)}}.nav-brand{display:flex;align-items:center;gap:10px;font-weight:700;color:var(--fg-1);text-decoration:none;font-size:16px;letter-spacing:.5px;transition:opacity .2s ease,transform .2s ease}.nav-brand:hover{opacity:.85;transform:translate3d(0,-1px,0)}.nav-logo{position:relative;width:32px;height:32px;border-radius:10px;background:linear-gradient(135deg,var(--pink-300),var(--pink-500));display:grid;place-items:center;color:#fff;font-weight:800;font-size:12px;box-shadow:0 4px 14px #ff6fa959;animation:logo-breathe 3.6s ease-in-out infinite;will-change:transform,box-shadow;overflow:hidden}.nav-logo:after{content:"";position:absolute;top:0;left:-120%;width:60%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.55),transparent);transform:skew(-20deg);animation:logo-shine 4.2s linear infinite;will-change:transform,left}@keyframes logo-breathe{0%,to{transform:scale(1);box-shadow:0 4px 14px #ff6fa959}50%{transform:scale(1.06);box-shadow:0 6px 22px #ff6fa98c}}@keyframes logo-shine{0%{left:-120%}60%{left:120%}to{left:120%}}.nav-links{display:flex;align-items:center;gap:4px;margin-left:8px}.nav-link{position:relative;padding:8px 14px;border-radius:999px;color:var(--fg-2);text-decoration:none;font-size:14px;font-weight:500;transition:background .2s ease,color .2s ease,transform .2s ease}.nav-link:hover{background:#ff8fbf1f;color:var(--fg-1);transform:translate3d(0,-1px,0)}.nav-link.active{background:#ff8fbf38;color:var(--pink-600)}[data-theme=dark] .nav-link.active{color:var(--pink-300)}.nav-spacer{flex:1}.nav-actions{display:flex;align-items:center;gap:8px}.icon-btn,.btn{position:relative;overflow:hidden;isolation:isolate}.icon-btn{height:36px;min-width:36px;padding:0 12px;border:1px solid var(--glass-border);background:var(--glass-bg);border-radius:999px;color:var(--fg-1);display:inline-flex;align-items:center;justify-content:center;gap:6px;font-size:13px;cursor:pointer;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);transition:background .2s ease,transform .2s ease,box-shadow .2s ease}.icon-btn:hover{background:#ff8fbf2e;transform:translate3d(0,-1px,0)}.icon-btn:active{transform:translateZ(0) scale(.97)}.icon-btn.primary{background:linear-gradient(135deg,var(--pink-400),var(--pink-600));color:#fff;border-color:transparent;box-shadow:0 6px 18px #ff6fa966}.icon-btn.primary:hover{filter:brightness(1.05);transform:translate3d(0,-2px,0)}.icon-btn .ripple,.btn .ripple{position:absolute;border-radius:50%;pointer-events:none;background:#ffffff8c;transform:translate(-50%,-50%) scale(0);opacity:.7;animation:ripple .6s ease-out forwards;will-change:transform,opacity;z-index:-1}@keyframes ripple{to{transform:translate(-50%,-50%) scale(2.6);opacity:0}}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 22px;border-radius:999px;border:1px solid var(--glass-border);background:var(--glass-bg);color:var(--fg-1);font-size:14px;font-weight:600;cursor:pointer;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);transition:transform .2s ease,background .2s ease,box-shadow .2s ease}.btn:hover{transform:translate3d(0,-2px,0);background:#ff8fbf26}.btn:active{transform:translateZ(0) scale(.98)}.btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.btn-primary{background:linear-gradient(135deg,var(--pink-400),var(--pink-600));color:#fff;border-color:transparent;box-shadow:0 8px 22px #ff6fa966}.btn-primary:hover{filter:brightness(1.05);transform:translate3d(0,-2px,0);box-shadow:0 12px 30px #ff6fa980}.btn-primary:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.35),transparent);transform:translate(-100%);transition:transform 0s}.btn-primary.loading:before{animation:btn-shine 1.4s linear infinite}@keyframes btn-shine{to{transform:translate(100%)}}.input{width:100%;height:44px;padding:0 14px;border-radius:12px;border:1px solid var(--glass-border);background:#ffffff73;color:var(--fg-1);font-size:14px;outline:none;transition:border-color .2s ease,background .2s ease,transform .2s ease;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}[data-theme=dark] .input{background:#ffffff0f}.input:focus{border-color:var(--pink-400);background:#fff9;transform:translateZ(0)}.field{display:flex;flex-direction:column;gap:6px}.field label{font-size:12px;color:var(--fg-2);font-weight:500;padding-left:4px}.section{padding:22px;border-radius:var(--radius);margin-bottom:18px}.section h2{margin:0 0 6px;font-size:18px}.section p{margin:0;color:var(--fg-2);font-size:14px;line-height:1.6}.stagger>*{opacity:0;transform:translate3d(0,14px,0);animation:stagger-in .55s cubic-bezier(.2,.8,.2,1) forwards;will-change:transform,opacity}.stagger>*:nth-child(1){animation-delay:.05s}.stagger>*:nth-child(2){animation-delay:.15s}.stagger>*:nth-child(3){animation-delay:.25s}.stagger>*:nth-child(4){animation-delay:.35s}.stagger>*:nth-child(5){animation-delay:.45s}.stagger>*:nth-child(6){animation-delay:.55s}@keyframes stagger-in{to{opacity:1;transform:translateZ(0)}}.grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}@media(max-width:720px){.grid-2{grid-template-columns:1fr}}.tilt{transform-style:preserve-3d;transform:perspective(1000px) rotateX(0) rotateY(0);transition:transform .2s ease,box-shadow .2s ease;will-change:transform}.tilt:hover{transform:perspective(1000px) rotateX(var(--rx, 0deg)) rotateY(var(--ry, 0deg)) translateZ(0)}.kv{display:flex;align-items:center;justify-content:space-between;padding:8px 0}.kv+.kv{border-top:1px dashed var(--border)}.kv .k{color:var(--fg-3);font-size:13px}.kv .v{color:var(--fg-1);font-size:14px;font-weight:600}.dot{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:6px;background:var(--pink-400);box-shadow:0 0 0 4px #ff8fbf38}.dot.online{background:#4ad991;box-shadow:0 0 0 4px #4ad99138;animation:dot-pulse 2s ease-in-out infinite;will-change:transform,opacity}.dot.offline{background:#c14a6a;box-shadow:0 0 0 4px #c14a6a38}.dot.checking{animation:dot-pulse 1.2s ease-in-out infinite;will-change:opacity,transform}@keyframes dot-pulse{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.18);opacity:.75}}ul.rules{margin:8px 0 0;padding-left:20px;color:var(--fg-2)}ul.rules li{margin:6px 0;font-size:14px;line-height:1.6}.login-wrap{min-height:calc(100vh - var(--nav-h) - 120px);display:grid;place-items:center;padding:12px 0}.login-card{width:min(400px,100%);padding:22px 24px;border-radius:var(--radius-lg);background:var(--card-bg)!important;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);animation:card-rise .65s cubic-bezier(.2,.8,.2,1) both}@keyframes card-rise{0%{opacity:0;transform:translate3d(0,24px,0) scale(.96)}to{opacity:1;transform:translateZ(0) scale(1)}}.login-card h1{margin:0 0 4px;font-size:24px;letter-spacing:.3px;background:linear-gradient(135deg,var(--pink-500),var(--pink-300));-webkit-background-clip:text;background-clip:text;color:transparent}.login-card .sub{color:var(--fg-2);font-size:13px;margin-bottom:18px;line-height:1.6}.login-form{display:flex;flex-direction:column;gap:12px}.login-error{color:#c14a6a;background:#c14a6a14;border:1px solid rgba(193,74,106,.2);padding:8px 12px;border-radius:10px;font-size:13px;animation:shake .4s ease;will-change:transform}@keyframes shake{0%,to{transform:translateZ(0)}25%{transform:translate3d(-4px,0,0)}75%{transform:translate3d(4px,0,0)}}.login-hint{margin-top:14px;font-size:12px;color:var(--fg-3);line-height:1.6;padding:12px;border-radius:12px;background:#ff8fbf14;border:1px dashed rgba(255,143,191,.3)}.fade-enter-active,.fade-leave-active{transition:opacity .22s ease,transform .22s ease;will-change:opacity,transform}.fade-enter-from{opacity:0;transform:translate3d(0,8px,0)}.fade-leave-to{opacity:0;transform:translate3d(0,-8px,0)}.center-row{display:flex;align-items:center;gap:8px}.muted{color:var(--fg-3)}.tag{display:inline-block;padding:2px 10px;font-size:12px;border-radius:999px;background:#ff8fbf2e;color:var(--pink-600);transition:background .2s ease,transform .2s ease}.tag:hover{background:#ff8fbf47;transform:translate3d(0,-1px,0)}[data-theme=dark] .tag{color:var(--pink-300)}.counter{display:inline-block;overflow:hidden;vertical-align:bottom}.counter .digit-track{display:inline-flex;flex-direction:column;transition:transform .6s cubic-bezier(.2,.8,.2,1);will-change:transform}.icon-btn .copied-flash{position:absolute;inset:0;background:#4ad99166;border-radius:inherit;animation:flash .6s ease-out;pointer-events:none;will-change:opacity}@keyframes flash{0%{opacity:1}to{opacity:0}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}body:before,body:after,.spotlight,.nav-logo{animation:none!important}.stagger>*{opacity:1;transform:none}}
