.app-toast[data-v-da6128c6]{position:fixed;left:50%;top:50%;transform:translate(-50%,-50%);z-index:2000;max-width:min(78vw,320px);padding:12px 18px;border-radius:10px;background:#0f172aeb;color:#fff;font-size:14px;line-height:1.45;text-align:center;box-shadow:0 12px 32px #00000038;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);pointer-events:none;white-space:pre-wrap}:root{--hl-font: "Avenir Next", "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", -apple-system, BlinkMacSystemFont, sans-serif;--hl-bg-base: #e4eaf1;--hl-bg-mesh: radial-gradient(ellipse 90% 58% at 12% -8%, rgba(45, 212, 191, .18), transparent 56%), radial-gradient(ellipse 70% 48% at 96% 12%, rgba(100, 116, 139, .1), transparent 52%), radial-gradient(ellipse 55% 40% at 50% 105%, rgba(15, 23, 42, .05), transparent 55%), linear-gradient(168deg, #f2f5f9 0%, #e7edf4 46%, #dde5ee 100%);--hl-surface: rgba(255, 255, 255, .76);--hl-surface-solid: #ffffff;--hl-surface-elevated: rgba(255, 255, 255, .9);--hl-glass-blur: 28px;--hl-glass-saturate: 1.55;--hl-border-glass: rgba(255, 255, 255, .78);--hl-border-subtle: rgba(15, 23, 42, .055);--hl-shadow-xs: 0 1px 2px rgba(15, 23, 42, .035);--hl-shadow-sm: 0 2px 8px rgba(15, 23, 42, .045), 0 1px 2px rgba(15, 23, 42, .03);--hl-shadow-md: 0 10px 32px rgba(15, 23, 42, .08), 0 2px 8px rgba(15, 23, 42, .035);--hl-shadow-lg: 0 28px 70px rgba(15, 23, 42, .14), 0 10px 28px rgba(15, 23, 42, .06);--hl-shadow-float: 0 14px 42px rgba(15, 23, 42, .12), 0 4px 14px rgba(15, 118, 110, .06);--hl-shadow-inset: inset 0 1px 0 rgba(255, 255, 255, .88);--hl-radius-sm: 13px;--hl-radius-md: 17px;--hl-radius-lg: 22px;--hl-radius-xl: 28px;--hl-radius-pill: 999px;--hl-text-primary: #0b1220;--hl-text-secondary: #5b6778;--hl-text-muted: #8b95a5;--hl-nav-back: #191919;--hl-nav-btn-size: 48px;--hl-nav-icon-size: 30px;--hl-transition-fast: .16s cubic-bezier(.4, 0, .2, 1);--hl-transition-smooth: .28s cubic-bezier(.32, .72, .24, 1);--hl-tab-float-gap: 0px;--hl-tab-bar-height: 64px;--hl-accent: #0d9488;--hl-accent-mid: #14b8a6;--hl-accent-deep: #0f766e;--hl-accent-soft: rgba(20, 184, 166, .12);--safe-bottom: env(safe-area-inset-bottom, 0px);--cc-bg: var(--hl-bg-base);--cc-bg-accent: var(--hl-bg-mesh);--cc-text: var(--hl-text-primary);--cc-accent: var(--hl-accent);--cc-accent-soft: var(--hl-accent-soft)}.df-tabbar{position:fixed;left:0;right:0;bottom:0;z-index:40;display:flex;gap:0;padding:6px 8px max(8px,env(safe-area-inset-bottom,0px));background:#f7f7f7f0;border-top:1px solid rgba(0,0,0,.06);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.df-tabbar__item{flex:1;border:0;background:transparent;color:#8e8e93;font-size:11px;padding:4px 0;display:flex;flex-direction:column;align-items:center;gap:2px;position:relative}.df-tabbar__item--on{color:#07c160}.df-tabbar__badge{position:absolute;top:0;right:calc(50% - 22px);min-width:16px;height:16px;padding:0 4px;border-radius:999px;background:#fa5151;color:#fff;font-size:10px;line-height:16px;text-align:center}.df-host-with-tab{padding-bottom:calc(56px + env(safe-area-inset-bottom,0px))}.sub-page{min-height:100dvh;max-width:500px;margin:0 auto;box-sizing:border-box;background:var(--hl-bg-base, var(--cc-bg, #e4eaf1));background-image:var(--hl-bg-mesh, none);color:var(--cc-text, #0b1220);font-family:var(--hl-font, "PingFang SC", "Microsoft YaHei", sans-serif)}.sub-page__header{display:flex;align-items:center;gap:4px;min-height:52px;padding:max(10px,env(safe-area-inset-top)) 14px 10px;background:linear-gradient(180deg,#ffffffdb,#ffffffb8);backdrop-filter:blur(var(--hl-glass-blur, 28px)) saturate(var(--hl-glass-saturate, 1.55));-webkit-backdrop-filter:blur(var(--hl-glass-blur, 28px)) saturate(var(--hl-glass-saturate, 1.55));border-bottom:1px solid var(--hl-border-subtle, rgba(15, 23, 42, .055));box-shadow:var(--hl-shadow-xs)}.sub-page__back{width:44px;height:44px;margin-left:-6px;border:none;border-radius:12px;background:transparent;color:var(--hl-nav-back, #191919);cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0}.sub-page__back:active{background:#0000000f}.sub-page__title{margin:0;font-size:17px;font-weight:600;color:var(--hl-text-primary, #1a1a1a)}.sub-page__body{padding:16px 14px 32px}.sub-page__hint,.sub-page__tip{margin:0 4px 12px;font-size:13px;line-height:1.55;color:var(--hl-text-muted, #999)}.sub-page__empty{padding:32px 16px;text-align:center;font-size:14px;color:var(--hl-text-muted, #999)}.sub-page__group{margin:0 0 16px!important}.sub-page__row{display:flex;align-items:center;gap:12px;padding:14px 16px;border-bottom:1px solid var(--cc-border-soft, rgba(15, 23, 42, .05))}.sub-page__row--last{border-bottom:none}.sub-page__row-label{flex-shrink:0;width:88px;font-size:15px;color:var(--cc-text, #0f172a);white-space:nowrap}.sub-page__row-input{flex:1;min-width:0;border:none;outline:none;background:transparent;font-size:15px;text-align:right;color:var(--cc-text, #0f172a)}.sub-page__row-input::placeholder{color:var(--cc-text-muted, #94a3b8)}.profile-settings-page{padding-top:max(12px,env(safe-area-inset-top,0px))}.profile-header-card{display:flex;align-items:center;gap:14px;width:100%;padding:18px 16px;border:none;background:transparent;cursor:pointer;text-align:left;transition:background .15s ease;box-sizing:border-box;font:inherit;color:inherit;-webkit-tap-highlight-color:transparent}.profile-header-card:active{background:var(--cc-accent-soft, rgba(20, 184, 166, .08))}.profile-header-card__info{flex:1;min-width:0}.profile-header-card__name{font-size:20px;font-weight:700;letter-spacing:-.03em;color:var(--hl-text-primary, var(--cc-text, #0b1220));line-height:1.3}.profile-header-card__meta{margin-top:4px;font-size:13px;color:var(--cc-text-muted, #94a3b8)}.profile-header-card__expire{margin-top:6px;font-size:13px;color:var(--cc-text-muted, #94a3b8)}.profile-header-card__expire--lifetime{color:#3b82f6}.profile-header-card__expire--expired{color:#dc2626}.profile-header-card__chevron{color:var(--cc-text-muted, #cbd5e1);flex-shrink:0}.setting-row{display:flex;align-items:center;gap:12px;width:100%;min-height:52px;padding:12px 16px;border:none;border-bottom:1px solid var(--cc-border-soft, rgba(15, 23, 42, .05));background:transparent;text-align:left;cursor:default;box-sizing:border-box;font:inherit;color:inherit}button.setting-row{cursor:pointer}button.setting-row:active{background:var(--cc-accent-soft, rgba(20, 184, 166, .08))}.setting-row--last{border-bottom:none}button.setting-row--disabled,button.setting-row:disabled{cursor:not-allowed;opacity:.55;pointer-events:none}button.setting-row--disabled:active,button.setting-row:disabled:active{background:transparent}.setting-row__icon{width:28px;height:28px;border-radius:7px;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;color:#fff}.setting-row__icon--amber{background:linear-gradient(145deg,#fbbf24,#f59e0b)}.setting-row__icon--orange{background:linear-gradient(145deg,#fb923c,#f97316)}.setting-row__icon--blue{background:linear-gradient(145deg,#60a5fa,#3b82f6)}.setting-row__icon--indigo{background:linear-gradient(145deg,#818cf8,#6366f1)}.setting-row__icon--purple{background:linear-gradient(145deg,#c084fc,#a855f7)}.setting-row__icon--teal{background:linear-gradient(145deg,#2dd4bf,#14b8a6)}.setting-row__icon--green{background:linear-gradient(145deg,#4ade80,#22c55e)}.setting-row__icon--rose{background:linear-gradient(145deg,#fb7185,#f43f5e)}.setting-row__icon--red{background:linear-gradient(145deg,#f87171,#ef4444)}.setting-row__label{flex:1;min-width:0;font-size:16px;color:var(--cc-text, #0f172a)}.setting-row__value{flex-shrink:1;max-width:58%;font-size:13px;color:var(--cc-text-muted, #94a3b8);text-align:right;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.setting-row__chevron{color:var(--cc-text-muted, #cbd5e1);flex-shrink:0}.setting-row-hint{margin:-4px 16px 10px;padding:0 2px;font-size:12px;line-height:1.45;color:var(--cc-text-muted, #94a3b8)}.profile-app-version{margin:28px auto 36px;padding:0 14px;width:100%;box-sizing:border-box;text-align:center;font-size:12px;font-weight:500;font-variant-numeric:tabular-nums;letter-spacing:.04em;color:var(--hl-text-muted, #8b95a5);font-family:var(--hl-font, ui-sans-serif, system-ui, sans-serif)}.setting-switch{position:relative;width:48px;height:30px;border:none;border-radius:20px;background:#dcdfe6;padding:0;cursor:pointer;flex-shrink:0;transition:background .25s ease}.setting-switch--on{background:linear-gradient(145deg,var(--cc-accent-mid, #2dd4bf),var(--cc-accent, #0d9488));box-shadow:0 2px 8px color-mix(in srgb,var(--cc-accent, #0d9488) 30%,transparent)}.setting-switch__thumb{position:absolute;top:2px;left:2px;width:26px;height:26px;border-radius:50%;background:#fff;box-shadow:0 1px 3px #00000026;transition:transform .25s ease}.setting-switch--on .setting-switch__thumb{transform:translate(18px)}.profile-exit-section{margin-top:14px}.profile-exit-row{display:block;width:100%;padding:14px 16px;border:none;background:transparent;text-align:center;font-size:16px;font-weight:500;color:#ef4444;cursor:pointer}.profile-exit-row:active{background:#ef44440f}.profile-download-section{margin-top:14px}.profile-download-row{display:block;width:100%;padding:14px 16px;border:none;background:transparent;text-align:center;font-size:16px;font-weight:500;color:#0f766e;cursor:pointer}.profile-download-row:active{background:#0d94880f}.profile-tip{margin:0 0 12px;padding:10px 12px;border-radius:10px;background:var(--hl-accent-soft, rgba(20, 184, 166, .12));color:var(--hl-accent-deep, #0f766e);font-size:13px}.profile-tip--error{background:#ef44441a;color:#dc2626}.recharge-qr-mask{position:fixed;inset:0;z-index:120;background:#0f172a7a;display:flex;align-items:center;justify-content:center;padding:20px}.app-download-mask{background:radial-gradient(900px 500px at 12% -10%,rgba(80,120,255,.28),transparent 55%),radial-gradient(700px 480px at 92% 8%,rgba(61,220,132,.16),transparent 50%),radial-gradient(800px 600px at 50% 110%,rgba(120,70,255,.18),transparent 55%),#070b16e0;padding:24px 16px 36px}.app-download-modal{position:relative;width:min(100%,440px);padding:36px 28px 28px;border-radius:28px;background:#101628b8;border:1px solid rgba(255,255,255,.08);box-shadow:0 30px 80px #00000073;backdrop-filter:blur(22px);-webkit-backdrop-filter:blur(22px);text-align:center;color:#f4f7ff}.app-download-modal__close{position:absolute;top:12px;right:14px;width:36px;height:36px;border:none;border-radius:999px;background:#ffffff0f;color:#c7d4f5;font-size:22px;line-height:1;cursor:pointer}.app-download-modal__logo{width:86px;height:86px;margin:0 auto 18px;border-radius:22px;background:linear-gradient(145deg,#7aa4ff,#4d6bff 55%,#2f47d6);display:grid;place-items:center;box-shadow:0 16px 40px #4f6bff61}.app-download-modal__logo svg{width:44px;height:44px}.app-download-modal__title{margin:0;font-size:26px;font-weight:700;letter-spacing:.4px;color:#f4f7ff}.app-download-modal__hint{margin:8px 0 0;font-size:14px;line-height:1.6;color:#9aa6c4}.app-download-modal__badge{display:inline-flex;margin-top:14px;padding:4px 10px;border-radius:999px;border:1px solid rgba(255,255,255,.08);color:#c7d4f5;font-size:12px;font-weight:500;background:#ffffff0a}.app-download-modal__ios-tip{margin:14px 0 0;padding:10px 12px;border-radius:12px;background:#3ddc841f;color:#9af0c0;font-size:13px;line-height:1.5;font-weight:600;text-align:center}.app-download-modal__note{margin:22px 0 0;padding:14px 14px 15px;border-radius:16px;background:#6ea8ff14;border:1px solid rgba(110,168,255,.16);color:#d5def3;font-size:13px;line-height:1.7;text-align:left}.app-download-modal__note strong{color:#fff;font-weight:600}.app-download-modal__actions{margin-top:28px;display:grid;gap:12px}.app-download-bubble{appearance:none;display:flex;align-items:center;justify-content:center;gap:12px;width:100%;min-height:56px;padding:12px 18px;border-radius:16px;box-sizing:border-box;border:none;text-decoration:none;cursor:pointer;font-size:16px;font-weight:600;transition:transform .18s ease,box-shadow .18s ease;-webkit-tap-highlight-color:transparent}.app-download-bubble:active{transform:translateY(1px)}.app-download-bubble svg{width:22px;height:22px;flex-shrink:0}.app-download-bubble__meta{display:flex;flex-direction:column;align-items:flex-start;line-height:1.15}.app-download-bubble__meta small{font-size:11px;font-weight:500;opacity:.72}.app-download-bubble--android{color:#062314;background:linear-gradient(180deg,#5ef09a,#3ddc84 40%,#1faa59);box-shadow:0 12px 24px #3ddc8447}.app-download-bubble--apple{color:#111318;background:linear-gradient(180deg,#fff,#f5f7fb);box-shadow:0 12px 24px #ffffff1f}.app-download-copy-row{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:center}.app-download-url-box{min-height:40px;padding:0 12px;border-radius:12px;border:1px solid rgba(255,255,255,.08);background:#070b168c;color:#c9d5f0;font-size:12px;text-align:left;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;display:flex;align-items:center}.app-download-copy-btn{height:40px;padding:0 14px;border:1px solid rgba(255,255,255,.08);border-radius:12px;background:#ffffff0f;color:#f4f7ff;font-size:13px;cursor:pointer;white-space:nowrap}.app-download-copy-btn.is-ok{color:#062314;background:#3ddc84;border-color:transparent}.app-download-toast{position:fixed;left:50%;bottom:28px;transform:translate(-50%) translateY(20px);opacity:0;pointer-events:none;background:#fff;color:#111;padding:10px 16px;border-radius:999px;font-size:13px;font-weight:600;transition:.22s ease;z-index:130}.app-download-toast.is-show{opacity:1;transform:translate(-50%) translateY(0)}@media(max-width:420px){.app-download-modal{padding:28px 18px 22px;border-radius:24px}.app-download-modal__title{font-size:22px}}.edit-profile-avatar{display:flex;align-items:center;justify-content:space-between;width:100%;margin-bottom:16px;padding:14px 16px;border:1px solid var(--cc-border-soft, rgba(15, 23, 42, .05));border-radius:18px;background:#ffffffeb;cursor:pointer}.edit-profile-avatar__label{font-size:15px;color:var(--cc-text, #0f172a)}.edit-profile-avatar__right{display:flex;align-items:center;gap:10px}.edit-profile-avatar__action{font-size:14px;color:var(--cc-text-muted, #94a3b8)}.sub-page__btn.btn-danger{background:linear-gradient(145deg,#f87171,#dc2626);box-shadow:0 8px 20px #dc262647}.setting-row__value{flex-shrink:0;font-size:14px;color:var(--cc-text-muted, #64748b)}.discover-page__body{padding:0 0 24px}.discover-banner{display:flex;align-items:center;gap:12px;width:calc(100% - 32px);margin:12px 16px 8px;padding:16px 16px 16px 18px;border:0;border-radius:14px;background:linear-gradient(135deg,#0f766ef5,#0d9488eb 48%,#0f172ae0),linear-gradient(180deg,#0f766e,#134e4a);color:#ecfdf5;text-align:left;cursor:pointer;-webkit-tap-highlight-color:transparent;box-shadow:0 10px 28px #0f766e38}.discover-banner:active{transform:scale(.985);opacity:.96}.discover-banner__copy{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;gap:6px}.discover-banner__kicker{font-size:12px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:#ecfdf5b8}.discover-banner__title{font-size:16px;font-weight:700;line-height:1.35;color:#fff}.discover-banner__go{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:999px;background:#ffffff24;color:#fff}.discover-item{display:flex;align-items:center;width:100%;min-height:56px;padding:14px 16px;border:none;border-bottom:1px solid var(--cc-border-soft, rgba(15, 23, 42, .05));background:transparent;text-align:left;cursor:pointer}.discover-item--last{border-bottom:none}.discover-item--static,.discover-item--switch{cursor:default}.discover-item--static:active,.discover-item--switch:active{background:transparent}.discover-item:active{background:var(--cc-accent-soft, rgba(20, 184, 166, .08))}.discover-item__icon{width:38px;height:38px;border-radius:var(--hl-radius-sm, 13px);display:inline-flex;align-items:center;justify-content:center;font-size:16px;font-weight:650;margin-right:12px;flex-shrink:0;color:#fff;box-shadow:var(--hl-shadow-xs),inset 0 1px #ffffff47}.discover-item__icon--primary{background:linear-gradient(145deg,#2dd4bf,#0d9488)}.discover-item__icon--blue{background:linear-gradient(145deg,#60a5fa,#2563eb)}.discover-item__icon--green{background:linear-gradient(145deg,#4ade80,#16a34a)}.discover-item__icon--orange{background:linear-gradient(145deg,#fb923c,#ea580c)}.discover-item__icon--teal{background:linear-gradient(145deg,#2dd4bf,#0f766e)}.discover-item__icon--purple{background:linear-gradient(145deg,#a78bfa,#7c3aed)}.discover-item__label{flex:1;min-width:0;font-size:16px;color:var(--cc-text, #0f172a)}.discover-item__value{flex-shrink:0;font-size:14px;color:var(--cc-text-muted, #94a3b8)}.discover-item__chevron{color:var(--cc-text-muted, #cbd5e1);flex-shrink:0}.discover-item__hint{margin:0;padding:0 16px 12px;font-size:12px;line-height:1.5;color:var(--cc-text-muted, #94a3b8)}.recharge-balance{padding:18px 16px;margin-bottom:10px}.recharge-balance__label{font-size:13px;color:var(--cc-text-muted, #94a3b8)}.recharge-balance__value{margin-top:8px;font-size:28px;font-weight:700;color:var(--cc-text, #0f172a)}.recharge-balance__price{margin-top:6px;font-size:13px;color:var(--cc-text-muted, #94a3b8)}.recharge-packages{padding:14px 16px;margin-bottom:16px}.recharge-packages__title{font-size:14px;font-weight:600;margin-bottom:10px}.recharge-package{display:flex;align-items:center;justify-content:space-between;width:100%;padding:15px 14px;margin-bottom:10px;border:1px solid var(--hl-border-subtle, rgba(15, 23, 42, .06));border-radius:var(--hl-radius-sm, 12px);background:#fffffff2;cursor:pointer;box-shadow:var(--hl-shadow-xs);transition:border-color var(--hl-transition-fast),background var(--hl-transition-fast)}.recharge-package--active{border-color:var(--cc-accent, #0d9488);background:var(--cc-accent-soft, rgba(20, 184, 166, .1));box-shadow:0 0 0 1px color-mix(in srgb,var(--cc-accent, #0d9488) 20%,transparent),var(--hl-shadow-xs)}.recharge-package:last-child{margin-bottom:0}.sub-page__hint{margin:12px 4px 0;font-size:12px;line-height:1.6;color:var(--cc-text-muted, #94a3b8);text-align:center}.sub-page__tip{margin:0 4px 12px;font-size:13px;line-height:1.6;color:var(--cc-text-muted, #8b95a5)}.sub-page__empty{padding:32px 16px;text-align:center;font-size:14px;color:var(--cc-text-muted, #94a3b8)}.sub-page__empty--error{color:#dc2626}.bills-list{overflow:hidden}.bills-item{padding:14px 16px;border-bottom:1px solid var(--cc-border-soft, rgba(15, 23, 42, .05))}.bills-item:last-child{border-bottom:none}.bills-item__head{display:flex;align-items:center;justify-content:space-between;gap:12px}.bills-item__type{font-size:15px;font-weight:600}.bills-item__minutes{font-size:14px;font-weight:600}.bills-item__minutes--plus{color:#16a34a}.bills-item__minutes--minus{color:#dc2626}.bills-item__note{margin:6px 0 0;font-size:13px;color:var(--cc-text-muted, #64748b)}.bills-item__foot{display:flex;justify-content:space-between;gap:12px;margin-top:8px;font-size:12px;color:var(--cc-text-muted, #94a3b8)}.recharge-qr-mask{position:fixed;inset:0;z-index:120;background:#0f172a7a;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;padding:20px}.recharge-qr-modal{width:min(100%,320px);padding:22px 18px;border-radius:22px;background:linear-gradient(165deg,#fff,#f8fafc);border:1px solid rgba(255,255,255,.8);box-shadow:var(--hl-shadow-lg)}.recharge-qr-modal__title{margin:0;font-size:18px;font-weight:740;letter-spacing:-.02em;text-align:center}.recharge-qr-modal__pkg{margin:8px 0 0;text-align:center;font-size:13px;color:var(--cc-text-muted, #64748b)}.recharge-qr-modal__img-wrap{margin:16px auto 12px;width:min(100%,220px);aspect-ratio:1;display:flex;align-items:center;justify-content:center;border-radius:12px;background:#f8fafc}.recharge-qr-modal__img{width:100%;height:100%;object-fit:contain}.recharge-qr-modal__placeholder{font-size:14px;color:var(--cc-text-muted, #94a3b8)}.recharge-qr-modal__hint{margin:0 0 16px;font-size:12px;line-height:1.6;color:var(--cc-text-muted, #64748b);text-align:center}.sub-page__feedback{margin:0 4px 12px;font-size:13px;color:var(--cc-accent, #14b8a6)}.sub-page__btn{display:block;width:100%;margin-top:8px;padding:14px;border:none;border-radius:14px;background:linear-gradient(145deg,#2dd4bf,#0d9488);color:#fff;font-size:16px;font-weight:650;cursor:pointer;box-shadow:0 8px 18px #0d948847}.sub-page__btn:disabled{opacity:.55;cursor:not-allowed}.sub-page__btn:active:not(:disabled){transform:scale(.98)}.sub-page__btn--ghost{background:#f1f5f9;color:#334155;box-shadow:none}.main-tab-header+.contact-section,.main-tab-header+.discover-page__body,.main-tab-header+.invite-page__body{margin-top:var(--main-tab-header-gap, 14px)}:root{--chat-bg: #e4eaf1;--chat-surface: #ffffff;--chat-text: #0b1220;--chat-sub: #5b6778;--chat-muted: #8b95a5;--chat-line: rgba(15, 23, 42, .055);--chat-accent: #0d9488;--chat-bubble-in: rgba(255, 255, 255, .96);--chat-bubble-out: linear-gradient(145deg, #5eead4 0%, #2dd4bf 42%, #0d9488 100%);--chat-tab-h: 56px;--chat-safe-b: env(safe-area-inset-bottom, 0px);--chat-max: 500px;--chat-font: "Avenir Next", "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif;--cc-radius-bubble: 18px;--wx-msg-avatar-size: 42px}.main-tab-page{--main-tab-header-gap: 14px;display:flex;flex-direction:column;height:100dvh;max-height:100dvh;min-height:0;max-width:var(--chat-max, 500px);margin:0 auto;box-sizing:border-box;padding-bottom:0;background:var(--cc-bg, var(--hl-bg-base));background-image:var(--cc-bg-accent, var(--hl-bg-mesh));color:var(--hl-text-primary, var(--chat-text));font-family:var(--hl-font, var(--chat-font));overflow:hidden;position:relative}.main-tab-body{flex:1 1 auto;min-height:0;overflow-x:hidden;overflow-y:auto;-webkit-overflow-scrolling:touch}.main-tab-header{position:sticky;top:0;z-index:10;display:flex;align-items:center;justify-content:center;min-height:60px;padding:max(12px,env(safe-area-inset-top,0px)) 18px 14px;background:linear-gradient(180deg,#ffffffdb,#ffffffb8);backdrop-filter:blur(var(--hl-glass-blur, 28px)) saturate(var(--hl-glass-saturate, 1.55));-webkit-backdrop-filter:blur(var(--hl-glass-blur, 28px)) saturate(var(--hl-glass-saturate, 1.55));border-bottom:1px solid var(--hl-border-subtle, rgba(15, 23, 42, .055));box-shadow:var(--hl-shadow-xs)}.main-tab-header__title{margin:0;font-size:16px;font-weight:700;letter-spacing:-.03em;color:var(--hl-text-primary, var(--cc-text, #0b1220));text-align:center}.main-tab-header__actions{position:absolute;right:10px;top:50%;transform:translateY(-50%);display:flex;align-items:center;gap:8px}.main-tab-header__btn{position:relative;width:var(--hl-nav-btn-size, 48px);height:var(--hl-nav-btn-size, 48px);border:1px solid rgba(255,255,255,.55);border-radius:var(--hl-radius-sm, 13px);background:var(--cc-accent-soft, rgba(20, 184, 166, .12));color:var(--cc-accent, #0d9488);display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 1px 2px #0f172a09;transition:transform .16s ease,background .16s ease}.main-tab-header__btn-dot{position:absolute;top:8px;right:8px;width:8px;height:8px;border-radius:50%;background:#fa5151;box-shadow:0 0 0 2px #ffffffe6}.main-tab-header__btn:active{transform:scale(.94);background:#14b8a633}.main-tab-header__btn--wechat-add{width:44px;height:44px;border:none;border-radius:0;background:transparent;box-shadow:none;color:#000}.main-tab-header__btn--wechat-add:active{background:transparent;opacity:.55;transform:scale(.94)}.main-tab-header+.conv-list,.main-tab-header+.contact-section,.main-tab-header+.discover-page__body,.main-tab-header+.invite-page__body,.main-tab-header+.empty-hint{margin-top:var(--main-tab-header-gap)}.empty-hint{margin:0;padding:72px 36px;text-align:center;font-size:14px;line-height:1.75;letter-spacing:.01em;color:var(--hl-text-muted, var(--chat-sub, #8b95a5))}.empty-hint:before{content:"";display:block;width:56px;height:56px;margin:0 auto 18px;border-radius:18px;background:linear-gradient(145deg,#2dd4bf38,#0f766e1f),#ffffffb3;border:1px solid rgba(255,255,255,.65);box-shadow:var(--hl-shadow-sm)}.empty-hint--contacts:before{background:linear-gradient(145deg,#60a5fa38,#2563eb1f),#ffffffb3}.empty-hint--plain{margin-top:24px;padding:24px 20px}.empty-hint--plain:before{display:none}.friend-pick-row__check{width:20px;height:20px;accent-color:var(--cc-accent, #0f766e);flex-shrink:0;pointer-events:none}.tab-bar{position:relative;flex:0 0 auto;left:auto;right:auto;bottom:auto;transform:none;z-index:5;width:100%;max-width:none;display:flex;align-items:stretch;min-height:calc(var(--hl-tab-bar-height, 64px) + var(--safe-bottom, var(--chat-safe-b)));padding:8px 10px max(8px,var(--safe-bottom, var(--chat-safe-b)));background:#fff;border:0;border-top:1px solid rgba(15,23,42,.08);border-radius:0;backdrop-filter:none;-webkit-backdrop-filter:none;box-shadow:none;box-sizing:border-box}.tab-bar__item{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;padding:5px 0;border:0;background:transparent;color:var(--hl-text-muted, #8b95a5);font-size:10px;font-weight:650;letter-spacing:.02em;font-family:inherit;cursor:pointer;position:relative;border-radius:var(--hl-radius-md, 17px);transition:color var(--hl-transition-smooth, .22s ease),transform var(--hl-transition-fast, .16s ease);-webkit-tap-highlight-color:transparent}.tab-bar__item--active{color:var(--cc-accent, var(--chat-accent))}.tab-bar__item--active:before{content:"";position:absolute;inset:3px 6px;border-radius:var(--hl-radius-md, 17px);background:var(--cc-accent-soft, rgba(20, 184, 166, .12));box-shadow:inset 0 1px #ffffff8c;z-index:-1}.tab-bar__item--renew{color:var(--hl-accent-deep, #0f766e)}.tab-bar__item-wrap{position:relative;display:flex;flex-direction:column;align-items:center}.tab-bar__icon{width:26px;height:26px;display:flex;align-items:center;justify-content:center;transition:transform var(--hl-transition-smooth, .22s ease)}.tab-bar__item--active .tab-bar__icon{transform:translateY(-1px) scale(1.05)}.tab-bar__icon svg{width:24px;height:24px;display:block}.tab-bar__badge{position:absolute;top:-2px;right:calc(50% - 20px);min-width:17px;height:17px;padding:0 5px;border-radius:999px;background:linear-gradient(145deg,#f87171,#ef4444);color:#fff;font-size:10px;font-weight:650;line-height:17px;text-align:center;box-shadow:0 2px 8px #ef444459;box-sizing:border-box}.conv-list{display:flex;flex-direction:column;margin:0 12px;background:#ffffffeb;border-radius:var(--hl-radius-lg, 22px);border:1px solid var(--hl-border-glass, rgba(255, 255, 255, .78));box-shadow:var(--hl-shadow-sm, 0 2px 8px rgba(15, 23, 42, .045));overflow:hidden}.conv-card{display:flex;align-items:center;gap:12px;width:100%;padding:14px 16px;border:0;border-bottom:1px solid var(--hl-border-subtle, rgba(15, 23, 42, .055));background:transparent;text-align:left;cursor:pointer;font-family:inherit;color:inherit;box-sizing:border-box}.conv-card:last-child{border-bottom:none}.conv-card:active{background:var(--cc-accent-soft, rgba(20, 184, 166, .08))}.conv-card__body{flex:1;min-width:0}.conv-card__row{display:flex;align-items:center;justify-content:space-between;gap:10px}.conv-card__name{font-size:16px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.conv-card__time{flex-shrink:0;font-size:12px;color:var(--chat-muted)}.conv-card__preview{margin:4px 0 0;font-size:13px;color:var(--chat-sub);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.35}.conv-card__badge{flex-shrink:0;min-width:18px;height:18px;padding:0 5px;border-radius:999px;background:#fa5151;color:#fff;font-size:11px;font-weight:700;line-height:18px;text-align:center;box-sizing:border-box}.user-avatar{position:relative;flex-shrink:0;display:flex;align-items:center;justify-content:center;overflow:hidden;color:#fff;font-weight:700;text-shadow:0 1px 3px rgba(0,0,0,.15);box-shadow:var(--hl-shadow-sm),inset 0 1px #ffffff47;border:1px solid rgba(255,255,255,.25)}.user-avatar--sm{width:40px;height:40px;border-radius:11px;font-size:15px}.user-avatar--md{width:50px;height:50px;border-radius:14px;font-size:18px}.user-avatar--lg{width:64px;height:64px;border-radius:18px;font-size:24px}.user-avatar--round.user-avatar--sm,.user-avatar--round.user-avatar--md,.user-avatar--round.user-avatar--lg{border-radius:50%}.user-avatar img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.user-avatar__fallback{position:relative;z-index:0;line-height:1}.contact-section{margin:0 14px 14px;border-radius:var(--hl-radius-lg, 22px);background:linear-gradient(165deg,#fffffff0,#ffffffdb);backdrop-filter:blur(16px) saturate(1.45);-webkit-backdrop-filter:blur(16px) saturate(1.45);overflow:hidden;border:1px solid var(--hl-border-glass, rgba(255, 255, 255, .78));box-shadow:var(--hl-shadow-sm)}.main-tab-header+.contact-section,.main-tab-header+.discover-page__body,.main-tab-header+.invite-page__body,.main-tab-header+.empty-hint{margin-top:var(--main-tab-header-gap, 14px)}.contact-section__title{margin:0;padding:16px 18px 8px;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--hl-text-muted, #8b95a5)}.contact-row{display:flex;align-items:center;gap:14px;width:100%;padding:13px 16px;border:0;border-bottom:1px solid var(--cc-border-soft, rgba(15, 23, 42, .05));background:transparent;text-align:left;cursor:pointer;font-family:inherit;color:inherit;box-sizing:border-box;transition:background .15s ease}.contact-row:last-child{border-bottom:0}.contact-row:active:not(.contact-row--static){background:var(--cc-accent-soft, rgba(20, 184, 166, .08))}.contact-row--static{cursor:default}.contact-row--static:active{background:transparent}.contact-row__icon{width:44px;height:44px;border-radius:var(--hl-radius-sm, 12px);display:grid;place-items:center;flex-shrink:0;color:#fff;font-size:18px;font-weight:600;box-shadow:var(--hl-shadow-xs)}.contact-row__icon--add{background:linear-gradient(145deg,#93c5fd,#3b82f6)}.contact-row__icon--new{background:linear-gradient(145deg,#fde68a,#f59e0b)}.contact-row__icon--group{background:linear-gradient(145deg,#86efac,#22c55e)}.contact-row__name{flex:1;min-width:0;font-size:16px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.contact-row__text{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px;text-align:left}.contact-row__text .contact-row__name{flex:none}.contact-row__sub{font-size:13px;color:var(--chat-sub)}.contact-row__badge{min-width:22px;height:22px;padding:0 7px;border-radius:999px;background:linear-gradient(145deg,#f87171,#ef4444);color:#fff;font-size:12px;font-weight:600;line-height:22px;text-align:center;box-shadow:0 2px 6px #ef44444d}.contact-row__chevron{color:var(--chat-muted);font-size:18px}.contacts-plus-mask{position:fixed;inset:0;z-index:130;background:transparent}.contacts-plus-menu{position:absolute;top:calc(max(12px,env(safe-area-inset-top,0px)) + 48px);right:max(12px,env(safe-area-inset-right,0px));min-width:148px;padding:6px;border-radius:14px;background:linear-gradient(165deg,#fffffffa,#ffffffeb);backdrop-filter:blur(20px) saturate(1.4);-webkit-backdrop-filter:blur(20px) saturate(1.4);border:1px solid var(--hl-border-glass, rgba(255, 255, 255, .78));box-shadow:var(--hl-shadow-md, 0 12px 32px rgba(15, 23, 42, .14))}.contacts-plus-menu__item{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;margin:0;padding:12px 14px;border:0;border-radius:10px;background:transparent;color:var(--hl-text-primary, #0b1220);font-size:15px;font-weight:560;text-align:left;cursor:pointer}.contacts-plus-menu__item:active{background:#14b8a61a}.contacts-plus-menu__badge{min-width:18px;height:18px;padding:0 5px;border-radius:999px;background:#fa5151;color:#fff;font-size:11px;font-weight:700;line-height:18px;text-align:center}.friend-sheet-mask{position:fixed;inset:0;z-index:120;display:flex;align-items:flex-end;justify-content:center;padding:12px;padding-bottom:calc(12px + env(safe-area-inset-bottom));background:#0f172a6b;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}.friend-sheet{width:min(100%,420px);border-radius:var(--hl-radius-lg, 22px);overflow:hidden;background:linear-gradient(165deg,#fffffff5,#ffffffe6);backdrop-filter:blur(20px) saturate(1.4);-webkit-backdrop-filter:blur(20px) saturate(1.4);border:1px solid var(--hl-border-glass, rgba(255, 255, 255, .78));box-shadow:var(--hl-shadow-lg);-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}.friend-sheet__title{margin:0;padding:16px 16px 10px;text-align:center;font-size:13px;color:var(--hl-text-muted, #8b95a5);-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;pointer-events:none}.friend-sheet__btn{display:block;width:100%;padding:15px 16px;border:0;border-top:1px solid var(--hl-border-subtle, rgba(15, 23, 42, .055));background:transparent;font-size:16px;color:var(--hl-text-primary, #0b1220);cursor:pointer}.friend-sheet__btn:active{background:var(--cc-accent-soft, rgba(20, 184, 166, .08))}.friend-sheet__btn--danger{color:#ef4444}.friend-sheet__btn--cancel{margin-top:8px;border-top:0;border-radius:14px;font-weight:500}.friend-remark-modal{width:min(100%,420px);padding:20px 16px 16px;border-radius:18px;background:#fff}.friend-remark-modal__title{margin:0 0 8px;font-size:17px;text-align:center}.friend-remark-modal__hint{margin:0 0 12px;font-size:13px;color:var(--hl-text-muted, #8b95a5);text-align:center}.friend-remark-modal__input{width:100%;box-sizing:border-box;padding:12px 14px;border:1px solid #e5e5e5;border-radius:10px;font-size:16px;font-family:inherit}.friend-remark-modal__actions{display:flex;gap:10px;margin-top:14px}.friend-remark-modal__btn{flex:1;padding:12px;border:0;border-radius:10px;background:#f2f2f7;font-size:15px;cursor:pointer}.friend-remark-modal__btn--primary{background:var(--chat-accent);color:#fff}.chat-route,.chat-app{height:100dvh;overflow:hidden}.chat-app{--wx-bar-height: 54px;--bottom-dock-height: 54px;--accessory-inset: 0px;--keyboard-inset: 0px;--wx-accessory-slot-h: 240px;width:100%;max-width:var(--chat-max);height:100%;margin:0 auto;display:flex;flex-direction:column;background:var(--chat-bg);font-family:var(--chat-font);color:var(--chat-text);position:relative;overflow:hidden}@media(max-width:499px){.chat-route{position:fixed;inset:0;width:100%;height:100%;overflow:hidden}.chat-app{position:fixed;inset:0;width:100%;max-width:100%;height:100%;margin:0}}@media(min-width:500px){.chat-app{height:min(100vh,860px);margin:max(12px,env(safe-area-inset-top)) auto 12px;border-radius:22px;box-shadow:0 18px 48px #0f172a1f;border:1px solid rgba(255,255,255,.18)}}.chat-app.vv-pinned{z-index:500;overflow:hidden;max-width:100%!important;box-shadow:none}.chat-app.vv-pinned .chat-header,.chat-app.kb-open .chat-header{flex-shrink:0;position:relative;z-index:30}.chat-app.kb-open .messages-area,.chat-app.vv-pinned .messages-area{flex:1 1 auto;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch}.chat-app.ios-kb-inflow.kb-open .chat-bottom-dock,.chat-app.ios-kb-inflow.kb-open .chat-bottom-dock.kb-float,.chat-app.ios-kb-inflow.kb-open .input-bar.kb-float{position:relative!important;inset:auto!important;width:100%!important;max-width:100%!important;transform:none!important;z-index:auto!important}@media(pointer:coarse){.chat-app.kb-open .chat-bottom-dock.kb-float,.chat-app.kb-open .input-bar.kb-float{padding-bottom:0}}.chat-header{position:relative;flex-shrink:0;display:flex;align-items:center;justify-content:center;gap:0;padding:max(8px,env(safe-area-inset-top,0px)) 8px 10px 0;background:linear-gradient(180deg,#ffffffe0,#ffffffbd);backdrop-filter:blur(28px) saturate(1.55);-webkit-backdrop-filter:blur(28px) saturate(1.55);border-bottom:1px solid rgba(15,23,42,.055);box-shadow:0 1px 2px #0f172a09;color:var(--chat-text)}.chat-header>.chat-header__icon-btn:first-of-type{position:absolute;left:0;top:max(8px,env(safe-area-inset-top,0px));z-index:2}.chat-header>.chat-header__icon-btn:first-of-type:active{transform:none;opacity:.55}.chat-header__icon-btn{width:44px;height:44px;border:0;border-radius:50%;background:transparent;color:var(--chat-text);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;flex-shrink:0;padding:0;transition:background .15s ease}.chat-header__icon-btn svg{width:28px;height:28px;fill:currentColor}.chat-header__icon-btn:active{background:#0f172a14}.chat-header__info{flex:1;min-width:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;text-align:center;padding:0 48px;box-sizing:border-box}.chat-header__title-row{display:flex;align-items:center;justify-content:center;gap:2px;max-width:100%}.chat-header__title{margin:0;font-size:17px;font-weight:700;letter-spacing:-.03em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%;text-align:center}.chat-header__status{width:7px;height:7px;border-radius:50%;flex-shrink:0;margin-left:6px}.chat-header__status--online{background:#22c55e;box-shadow:0 0 0 3px #22c55e33}.chat-header__status--offline{background:#94a3b8;box-shadow:0 0 0 3px #94a3b82e}.chat-header__status-label{margin:0;font-size:12px;line-height:1.2;color:var(--hl-text-muted, #8b95a5);text-align:center}.chat-header__status-label--online{color:#16a34a}.chat-header__status-label--offline{color:var(--hl-text-muted, #8b95a5)}.chat-header__actions{position:absolute;right:2px;top:max(8px,env(safe-area-inset-top,0px));z-index:2;display:flex;align-items:center;justify-content:flex-end;gap:4px;min-width:44px;flex-shrink:0}.chat-header__text-btn{border:none;background:transparent;color:var(--chat-text);font-size:14px;font-weight:600;line-height:1.2;padding:8px 6px;border-radius:10px;cursor:pointer;white-space:nowrap;flex-shrink:0}.chat-header__text-btn:active{background:#0f172a14}.chat-main{flex:1 1 auto;min-height:0;display:flex;flex-direction:column;overflow:hidden;position:relative}.room-state{padding:16px;text-align:center;font-size:13px;color:var(--chat-sub)}.room-state--error{color:#fa5151}.room-state--overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:#e4eaf1b8;z-index:5}.messages-area{flex:1 1 auto;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:14px 12px 22px}.msg-row{display:flex;align-items:flex-start;gap:10px;margin-bottom:14px;max-width:100%}.msg-row--out{flex-direction:row-reverse}.msg-avatar.user-avatar--sm,.msg-avatar{width:var(--wx-msg-avatar-size);height:var(--wx-msg-avatar-size)}.msg-body{display:flex;flex-direction:column;max-width:min(calc(100vw - 120px),calc(100% - 52px))}.msg-row--out .msg-body{align-items:flex-end}.msg-row--in .msg-body{align-items:flex-start}.msg-sender-name{max-width:100%;margin:0 0 4px 2px;padding:0;font-size:12px;line-height:1.2;color:var(--cc-text-muted, #8a8a8a);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.message-time-divider{text-align:center;margin:14px 0 10px;padding:0;width:100%}.message-time-divider span{font-size:12px;color:#b2b2b2;letter-spacing:.02em}.msg-system{display:flex;justify-content:center;padding:4px 24px 2px;width:100%;box-sizing:border-box}.msg-system span{max-width:86%;text-align:center;color:#b2b2b2;font-size:12px;line-height:1.5;letter-spacing:.02em;word-break:break-word}.msg-read-status{margin-top:4px;font-size:11px;line-height:1.2;color:var(--hl-accent, #0d9488)}.msg-read-status--unread{color:var(--hl-text-muted, #8b95a5)}.msg-bubble-wrap{display:flex;max-width:100%;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}.msg-bubble-wrap--out{justify-content:flex-end}.bubble{position:relative;padding:8px 14px;border-radius:var(--cc-radius-bubble);font-size:16px;line-height:1.42;overflow-wrap:break-word;white-space:pre-wrap;width:fit-content;max-width:100%;box-sizing:border-box;color:var(--chat-text);-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}.bubble--in{background:var(--chat-bubble-in);border:1px solid rgba(255,255,255,.78);box-shadow:0 2px 8px #0f172a0d}.bubble--out{background:var(--chat-bubble-out);color:#042f2e;border:none;box-shadow:0 8px 22px #0d948842,inset 0 1px #ffffff59}.bubble__text{display:inline;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}.chat-bottom-dock{flex-shrink:0;margin-top:auto;display:flex;flex-direction:column;width:100%;background:linear-gradient(180deg,#ffffffe6,#ffffffd6);backdrop-filter:blur(28px) saturate(1.55);-webkit-backdrop-filter:blur(28px) saturate(1.55);border-top:1px solid rgba(15,23,42,.055);box-shadow:0 -6px 28px #0f172a0b;padding-bottom:var(--chat-safe-b)}@media(display-mode:standalone){.chat-app:not(.kb-open) .chat-bottom-dock{padding-bottom:min(var(--chat-safe-b),52px)}}.chat-app:not(.kb-open) .chat-bottom-dock{position:relative!important;inset:auto!important;width:100%!important;max-width:100%!important;transform:none!important;z-index:auto!important}.chat-app:not(.kb-open) .messages-area{padding-bottom:22px;max-height:none!important}.chat-app.kb-open .chat-bottom-dock,.chat-app.kb-open .chat-bottom-dock.kb-float,.chat-app.ios-kb-inflow.kb-open .chat-bottom-dock{padding-bottom:0}.input-bar{display:flex;align-items:flex-end;gap:6px;min-height:var(--wx-bar-height, 54px);padding:6px 8px;box-sizing:border-box;background:transparent;border:none}.input-area{flex:1;min-width:0;display:flex;align-items:flex-end;margin-bottom:1px}.input-wrapper{flex:1;min-width:0;background:#fffffff5;border:1px solid var(--hl-border-subtle, rgba(15, 23, 42, .06));border-radius:var(--hl-radius-sm, 12px);padding:8px 12px;min-height:38px;display:flex;align-items:flex-end;box-sizing:border-box;box-shadow:var(--hl-shadow-xs)}.input-bar__field{width:100%;border:0;background:transparent;outline:none;resize:none;font-size:17px;line-height:22px;font-family:inherit;color:var(--chat-text);overflow-y:hidden;word-wrap:break-word;white-space:pre-wrap;padding:0;margin:0;min-height:22px;max-height:132px}.input-bar__field::placeholder{color:var(--chat-muted)}.wx-send-btn{flex-shrink:0;border:0;background:transparent;color:var(--cc-accent, var(--chat-accent));font-size:16px;font-weight:700;font-family:inherit;padding:0 8px;height:38px;line-height:38px;letter-spacing:-.01em;cursor:pointer;-webkit-tap-highlight-color:transparent}.wx-send-btn:disabled{opacity:.35;cursor:not-allowed}.wx-send-btn:active:not(:disabled){opacity:.65}.input-bar--voice-mode{align-items:center;padding-top:8px;padding-bottom:8px}.wx-bar-btn{width:38px;height:38px;margin-bottom:1px;padding:0;border:none;background:transparent;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;color:var(--hl-text-primary, var(--chat-text));cursor:pointer;border-radius:var(--hl-radius-sm, 12px);-webkit-tap-highlight-color:transparent}.wx-bar-btn:active{background:var(--cc-accent-soft, rgba(20, 184, 166, .1))}.wx-bar-btn svg{display:block}.wx-bar-btn.active{background:var(--cc-accent-soft, rgba(20, 184, 166, .12));color:var(--cc-accent, #0d9488)}.wx-bar-btn:disabled{opacity:.35;cursor:not-allowed}.burn-mode-btn.active{color:#c2410c;background:#e85d0424;box-shadow:inset 0 0 0 1px #e85d0459}.burn-mode-icon{font-size:18px;line-height:1}.burn-mode-bar{display:flex;align-items:flex-start;gap:8px;padding:8px 12px;background:#ffedd5f5;border-bottom:1px solid rgba(232,93,4,.18);font-size:13px;color:#9a3412}.burn-mode-bar-icon{font-size:16px;line-height:1.2}.burn-mode-bar-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:6px}.burn-mode-bar-text{font-weight:600;line-height:1.2}.burn-mode-bar-options{display:flex;flex-wrap:nowrap;gap:6px;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none}.burn-mode-bar-options::-webkit-scrollbar{display:none}.burn-mode-chip{flex:0 0 auto;border:1px solid rgba(194,65,12,.28);background:#ffffffb8;color:#9a3412;border-radius:999px;padding:4px 10px;font-size:12px;line-height:1.2;font-family:inherit;cursor:pointer}.burn-mode-chip.active{background:#ea580c;border-color:#ea580c;color:#fff;font-weight:600}.burn-mode-bar-close{margin-left:auto;border:none;background:transparent;color:#c2410c;font-size:13px;font-family:inherit;cursor:pointer;padding-top:2px}.chat-bottom-dock.burn-mode-on .input-wrapper,.chat-bottom-dock.burn-mode-on .voice-hold-btn,.input-bar.burn-mode-on .input-wrapper,.input-bar.burn-mode-on .voice-hold-btn{box-shadow:inset 0 0 0 1px #e85d0447}.voice-hold-btn{flex:1;min-width:0;height:40px;min-height:38px;border:0;border-radius:var(--hl-radius-sm, 12px);background:#fffffff5;border:1px solid var(--hl-border-subtle, rgba(15, 23, 42, .06));box-shadow:var(--hl-shadow-xs);color:var(--chat-text);font-size:16px;font-family:inherit;letter-spacing:.02em;cursor:pointer}.voice-hold-btn.is-recording,.voice-hold-btn.recording{background:#c9c9c9;border-color:#0f172a14;color:#191919}.chat-plus-panel{display:none;grid-template-columns:repeat(4,1fr);gap:16px 0;align-content:start;padding:20px 16px 12px;height:var(--wx-accessory-slot-h, 240px);max-height:var(--wx-accessory-slot-h, 240px);overflow:hidden;background:#f8fafca6;border-top:1px solid var(--hl-border-subtle, rgba(15, 23, 42, .06));box-sizing:border-box}.chat-plus-panel.show{display:grid;animation:wxAccessoryIn .22s cubic-bezier(.32,.72,.24,1)}.chat-plus-panel__item{border:0;background:transparent;display:flex;flex-direction:column;align-items:center;gap:8px;font-size:12px;color:var(--hl-text-secondary, var(--chat-sub));font-family:inherit;cursor:pointer;padding:0}.chat-plus-panel__icon{width:56px;height:56px;border-radius:var(--hl-radius-md, 16px);background:#fffffff5;display:grid;place-items:center;color:var(--chat-text);border:1px solid var(--hl-border-glass, rgba(255, 255, 255, .78));box-shadow:var(--hl-shadow-sm)}.reply-bar{display:flex;align-items:center;gap:8px;padding:8px 12px;background:#ffffffb8;border-bottom:1px solid var(--hl-border-subtle, rgba(15, 23, 42, .06));font-size:13px}.reply-bar__label{flex-shrink:0;color:var(--chat-accent);font-weight:600}.reply-bar__content{flex:1;min-width:0;color:var(--chat-sub);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.reply-bar__cancel{flex-shrink:0;border:0;background:transparent;color:var(--chat-muted);font-size:13px;cursor:pointer}.emoji-panel{display:none;flex-wrap:wrap;align-content:flex-start;gap:0;padding:12px 8px 14px;height:var(--wx-accessory-slot-h, 240px);max-height:var(--wx-accessory-slot-h, 240px);overflow-y:auto;background:#f8fafca6;border-top:1px solid var(--hl-border-subtle, rgba(15, 23, 42, .06));-webkit-overflow-scrolling:touch;box-sizing:border-box}.emoji-panel.show{display:flex;animation:wxAccessoryIn .22s cubic-bezier(.32,.72,.24,1)}@keyframes wxAccessoryIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.emoji-item{width:44px;height:44px;padding:6px;border:0;border-radius:8px;background:transparent;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.emoji-item:active{background:#0000000f;transform:scale(.92)}.emoji-item img{width:32px;height:32px;object-fit:contain;display:block;pointer-events:none}.msg-recalled{margin:4px auto 10px;padding:4px 10px;border-radius:999px;background:#0000000f;color:var(--chat-sub);font-size:12px;line-height:1.4;text-align:center;max-width:80%}.bubble--image{position:relative;padding:4px;background:transparent!important}.bubble__image{display:block;max-width:min(52vw,220px);max-height:220px;min-width:72px;border-radius:12px;object-fit:cover}.bubble--image-sending .bubble__image{opacity:.72}.bubble__image-sending{position:absolute;left:50%;bottom:12px;transform:translate(-50%);padding:3px 8px;border-radius:999px;font-size:11px;line-height:1.2;color:#fff;background:#0f172a8c;pointer-events:none;white-space:nowrap}.bubble--audio{display:inline-flex;align-items:center;justify-content:space-between;gap:10px;min-width:72px;max-width:min(220px,62vw);border:0;cursor:pointer;font:inherit;box-sizing:border-box}.bubble--audio.bubble--out{flex-direction:row-reverse}.bubble__audio-dur{flex-shrink:0;font-variant-numeric:tabular-nums;letter-spacing:.02em}.bubble__audio-icon{display:inline-flex;align-items:flex-end;justify-content:center;gap:2px;width:16px;height:14px;flex-shrink:0;color:currentColor}.bubble__audio-icon i{display:block;width:2.5px;border-radius:1px;background:currentColor;opacity:.88;transform-origin:bottom center}.bubble__audio-icon i:nth-child(1){height:6px}.bubble__audio-icon i:nth-child(2){height:11px}.bubble__audio-icon i:nth-child(3){height:8px}.bubble__audio-icon.is-playing i{animation:voice-bar-pulse .9s ease-in-out infinite}.bubble__audio-icon.is-playing i:nth-child(1){animation-delay:0s}.bubble__audio-icon.is-playing i:nth-child(2){animation-delay:.15s}.bubble__audio-icon.is-playing i:nth-child(3){animation-delay:.3s}@keyframes voice-bar-pulse{0%,to{transform:scaleY(.45);opacity:.55}50%{transform:scaleY(1);opacity:1}}.voice-transcript{margin-top:6px;max-width:min(280px,78vw);padding:8px 10px;border-radius:10px;font-size:14px;line-height:1.45;color:var(--hl-text-secondary, #5b6573);background:#ffffffe0;border:1px solid rgba(15,23,42,.06);word-break:break-word;box-shadow:var(--hl-shadow-xs, 0 1px 2px rgba(15, 23, 42, .04))}.voice-transcript--out{margin-left:auto}.voice-transcript--in{margin-right:auto}.bubble--video{position:relative;display:block;padding:0;overflow:hidden;border:0;cursor:pointer;background:#0f172a!important;min-width:160px;max-width:min(52vw,220px)}.bubble__video-thumb,.bubble__video-fallback{display:block;width:100%;min-height:120px;max-height:220px;object-fit:cover}.bubble__video-fallback{display:grid;place-items:center;color:#ffffffd9;font-size:14px;background:linear-gradient(145deg,#334155,#0f172a)}.bubble__video-play{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:42px;height:42px;border-radius:999px;display:grid;place-items:center;background:#0f172a8c;color:#fff;font-size:14px;padding-left:2px}.bubble__video-duration{position:absolute;right:8px;bottom:6px;color:#fff;font-size:12px;text-shadow:0 1px 2px rgba(0,0,0,.45)}.bubble--file{display:flex;align-items:center;gap:10px;min-width:160px;max-width:min(70vw,260px);border:0;cursor:pointer;font:inherit;text-align:left}.bubble__file-icon{font-size:22px;line-height:1}.bubble__file-meta{min-width:0;display:flex;flex-direction:column;gap:2px}.bubble__file-name{font-size:14px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bubble__file-size{font-size:12px;opacity:.72}.bubble--call{font-size:14px;opacity:.92}.bubble--audio.is-playing .bubble__audio-icon{color:var(--chat-accent, #0d9488)}.bubble__emoji{width:28px;height:28px;vertical-align:-6px;margin:0 1px;object-fit:contain}.quote-container{display:flex;flex-direction:column;align-items:stretch;max-width:100%}.quote-bubble-simple{display:block;margin-top:6px;padding:6px 10px;border:0;border-radius:12px;font-size:13px;line-height:1.4;text-align:left;white-space:pre-wrap;word-break:break-word;font-family:inherit;cursor:pointer}.quote-bubble-simple--in{background:#0f172a0f;color:var(--hl-text-secondary, #5b6778)}.quote-bubble-simple--out{background:#042f2e1a;color:#042f2eb8}.quote-sender{font-weight:600;margin-right:6px;color:var(--hl-accent-deep, #0f766e)}.bubble--burn-locked{border:0;cursor:pointer;font:inherit}.burn-locked{display:inline-flex;align-items:center;gap:6px}.burn-locked-icon{font-size:16px}.burn-locked-text{font-size:14px}.msg-row--burn-out .bubble:not(.bubble--burn-locked){box-shadow:inset 0 0 0 2px #e85d0459}.msg-burn-countdown{margin-top:4px;font-size:11px;color:#e85d04}.msg-burn-countdown--out{text-align:right}.msg-burn-countdown--in{text-align:left}.room-state--more{padding:8px 16px;font-size:12px}.voice-record-overlay{position:fixed;inset:0;z-index:1500;pointer-events:none;background:#0f172a6b;touch-action:none;transition:background .15s ease}.voice-record-bubble{position:fixed;left:50%;bottom:calc(178px + env(safe-area-inset-bottom));transform:translate(-50%);background:linear-gradient(145deg,#5eead4,#2dd4bf 48%,#0d9488);border-radius:14px;padding:24px 32px 20px;min-width:176px;box-shadow:0 10px 28px #0d948852,inset 0 1px #ffffff59;z-index:1502;transition:background .12s ease,transform .12s ease}.voice-record-bubble:after{content:"";position:absolute;left:50%;bottom:-10px;transform:translate(-50%);border-left:10px solid transparent;border-right:10px solid transparent;border-top:11px solid #0d9488;transition:border-top-color .12s ease}.voice-record-overlay.cancel-mode .voice-record-bubble{background:#c4c9d1;transform:translate(-50%) scale(.97);box-shadow:0 4px 16px #0f172a1f}.voice-record-overlay.cancel-mode .voice-record-bubble:after{border-top-color:#c4c9d1}.voice-record-waves{display:flex;align-items:center;justify-content:center;gap:3px;height:40px;min-height:40px}.voice-record-waves span{display:block;width:3px;height:16px;min-height:6px;background:#0f766e;border-radius:2px;transform-origin:center;transition:background .12s ease}.voice-record-waves:not(.voice-record-waves--live) span{animation:voice-wave-bar .52s ease-in-out infinite alternate;animation-play-state:running}.voice-record-waves:not(.voice-record-waves--live) span:nth-child(6n+1){height:22px;animation-delay:0s}.voice-record-waves:not(.voice-record-waves--live) span:nth-child(6n+2){height:12px;animation-delay:.08s}.voice-record-waves:not(.voice-record-waves--live) span:nth-child(6n+3){height:28px;animation-delay:.16s}.voice-record-waves:not(.voice-record-waves--live) span:nth-child(6n+4){height:14px;animation-delay:.04s}.voice-record-waves:not(.voice-record-waves--live) span:nth-child(6n+5){height:24px;animation-delay:.2s}.voice-record-waves:not(.voice-record-waves--live) span:nth-child(6n+6){height:10px;animation-delay:.12s}.voice-record-waves--live span{animation:none}.voice-record-countdown{margin-top:8px;font-size:15px;font-weight:600;font-variant-numeric:tabular-nums;letter-spacing:.04em;color:#fffffff2;text-align:center}.voice-record-overlay.cancel-mode .voice-record-waves span{background:#555}@keyframes voice-wave-bar{0%{transform:scaleY(.4)}to{transform:scaleY(1.2)}}.voice-record-bottom{position:fixed;left:0;right:0;bottom:0;height:calc(136px + env(safe-area-inset-bottom));pointer-events:none;z-index:1501}.voice-record-cancel-btn{position:absolute;left:28px;bottom:calc(108px + env(safe-area-inset-bottom));width:76px;height:76px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#3a3a3aeb;color:#fff;font-size:16px;font-weight:500;opacity:.95;transform:scale(1);transition:transform .15s ease,background .15s ease,box-shadow .15s ease;white-space:nowrap;box-shadow:0 6px 20px #00000047}.voice-record-overlay.cancel-mode .voice-record-cancel-btn{background:#484848fa;opacity:1;transform:scale(1.08);box-shadow:0 8px 24px #00000059}.voice-record-send-hint{position:absolute;left:50%;bottom:0;transform:translate(-50%);width:100%;max-width:500px;background:linear-gradient(180deg,#fffffff0,#f1f5f9f5);color:#0b1220;font-size:17px;font-weight:500;text-align:center;padding:20px 12px calc(22px + env(safe-area-inset-bottom));border-radius:18px 18px 0 0;box-shadow:0 -6px 24px #0f172a1a;white-space:nowrap}.voice-record-overlay.cancel-mode .voice-record-send-hint{color:#8b95a5}body.voice-recording-active{overflow:hidden;touch-action:none}body.voice-recording-active .chat-bottom-dock{pointer-events:none}body.voice-recording-active .voice-hold-btn{pointer-events:auto}.voice-hold-btn.cancel-recording{background:#c9c9c9;border-color:#0f172a14;color:#555}.voice-action-sheet{position:fixed;inset:0;z-index:1400;display:flex;align-items:flex-end;justify-content:center;padding:12px;padding-bottom:calc(12px + env(safe-area-inset-bottom));background:#0f172a73}.voice-action-sheet__panel{width:min(100%,420px);border-radius:var(--hl-radius-lg, 22px);overflow:hidden;background:linear-gradient(165deg,#fffffff5,#ffffffe6);box-shadow:var(--hl-shadow-lg)}.voice-action-sheet__item,.voice-action-sheet__cancel{display:block;width:100%;padding:16px;border:0;border-top:1px solid var(--hl-border-subtle, rgba(15, 23, 42, .055));background:transparent;font-size:16px;color:var(--hl-text-primary, #0b1220);cursor:pointer;font-family:inherit}.voice-action-sheet__item:first-child{border-top:0}.voice-action-sheet__item:active{background:var(--cc-accent-soft, rgba(20, 184, 166, .08))}.voice-action-sheet__item--danger{color:#dc2626}.voice-action-sheet__hint{text-align:center;font-size:13px;color:var(--cc-text-muted, #64748b);padding:14px 16px 8px;line-height:1.45}.voice-action-sheet__cancel{margin-top:8px;border-top:0;border-radius:14px;font-weight:500;color:var(--hl-text-secondary, #5b6778)}.media-preview{position:fixed;inset:0;z-index:1600;display:flex;align-items:center;justify-content:center;background:#000000eb;box-sizing:border-box;touch-action:none;overscroll-behavior:none}.media-preview__close{position:absolute;top:max(12px,env(safe-area-inset-top));right:14px;z-index:2;width:40px;height:40px;border:0;border-radius:999px;background:#ffffff29;color:#fff;font-size:28px;line-height:1;cursor:pointer}.media-preview__stage{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;overflow:hidden;touch-action:none;cursor:zoom-in}.media-preview__image,.media-preview__video{max-width:min(100%,720px);max-height:min(86dvh,860px);border-radius:12px;object-fit:contain;background:#000;-webkit-user-select:none;user-select:none;-webkit-user-drag:none}.media-preview__image{transition:transform .12s ease-out;will-change:transform}.media-preview__image--zoomed{max-width:none;max-height:none;width:auto;height:auto;max-width:min(100vw,720px);max-height:min(86dvh,860px);transition:none;cursor:grab}.msg-action-backdrop-layer{position:fixed;inset:0;z-index:50000;background:#00000073;touch-action:manipulation;pointer-events:auto;cursor:default;animation:msg-action-backdrop-in .15s ease}@keyframes msg-action-backdrop-in{0%{opacity:0}to{opacity:1}}body.msg-menu-open{overflow:hidden}.msg-action-popover{position:fixed;z-index:50001;background:#4c4c4c;border-radius:6px;padding:0;box-shadow:0 2px 12px #00000059;max-width:calc(100vw - 24px);min-width:62px;min-height:56px;opacity:1;transform:scale(1);touch-action:manipulation;visibility:visible;pointer-events:auto;animation:msg-action-pop-in .16s cubic-bezier(.22,1,.36,1);-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}@keyframes msg-action-pop-in{0%{opacity:0}to{opacity:1}}.msg-action-popover:after{content:"";position:absolute;left:var(--msg-arrow-x, 50%);transform:translate(-50%);border:6px solid transparent;pointer-events:none}.msg-action-popover.arrow-down:after{bottom:-11px;border-top-color:#4c4c4c}.msg-action-popover.arrow-up:after{top:-11px;border-bottom-color:#4c4c4c}.msg-action-grid{display:flex;flex-wrap:nowrap;gap:0;max-width:calc(100vw - 24px);overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none}.msg-action-grid::-webkit-scrollbar{display:none}.msg-action-grid--multi-row{display:flex;flex-direction:column;gap:0;overflow:visible}.msg-action-grid-row{display:flex;flex-wrap:nowrap;justify-content:flex-start}.msg-action-grid-row+.msg-action-grid-row{border-top:1px solid rgba(255,255,255,.12);margin-top:2px;padding-top:2px}.msg-action-popover.msg-action-two-row{padding:0;border-radius:6px}.msg-action-item{flex:0 0 auto;width:62px;padding:10px 4px 8px;border:none;background:transparent;color:#fff;display:flex;flex-direction:column;align-items:center;gap:4px;position:relative;cursor:pointer;font-family:inherit;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none;-webkit-appearance:none;appearance:none}.msg-action-item+.msg-action-item:before{content:"";position:absolute;left:0;top:12px;bottom:12px;width:1px;background:#ffffff24}.msg-action-item:active{opacity:.65}.msg-action-icon{width:22px;height:22px;display:flex;align-items:center;justify-content:center;color:#fff;flex-shrink:0}.msg-action-icon svg{display:block;width:20px;height:20px;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.msg-action-label{font-size:11px;line-height:1.15;white-space:nowrap;color:#ffffffeb;margin-top:1px}.bubble.message-menu-open{z-index:9990;position:relative;box-shadow:0 0 0 2px #ffffff59}.shell-overlay{position:fixed;inset:0;z-index:10000;width:100%;height:100%;height:100dvh;background:#000;visibility:hidden;pointer-events:none;opacity:0}.shell-overlay--weather{background:linear-gradient(180deg,#fff,#e8f4ff 22%,#b7dbff 55%,#3b97ff)}.shell-net-tip{position:fixed;left:50%;top:max(12px,env(safe-area-inset-top,0px));z-index:10060;transform:translate(-50%);max-width:min(86vw,320px);padding:8px 14px;border-radius:999px;background:#0f172ab8;color:#fff;font-size:12px;line-height:1.35;letter-spacing:.02em;text-align:center;pointer-events:none;box-shadow:0 6px 20px #0f172a2e}html.disguise-active .shell-overlay,html.pwa-calc-boot .shell-overlay,html.pwa-weather-boot .shell-overlay,html.pwa-sudoku-boot .shell-overlay,html.pwa-almanac-boot .shell-overlay,.shell-overlay.shell-overlay--on{visibility:visible;pointer-events:auto;opacity:1}html.disguise-active #app{display:none!important;visibility:hidden!important;pointer-events:none!important}html.disguise-active,html.disguise-active body{overflow-x:hidden!important;overscroll-behavior-x:none!important;overscroll-behavior-y:none;touch-action:pan-y!important}html.disguise-active .calc-shell,html.disguise-active .weather-shell,html.disguise-active .sudoku-shell,html.disguise-active .almanac-shell,html.disguise-active .calc-shell *,html.disguise-active .weather-shell *,html.disguise-active .sudoku-shell *,html.disguise-active .almanac-shell *{overscroll-behavior-x:none!important;touch-action:pan-y!important}html.disguise-active .calc-shell,html.disguise-active .weather-shell,html.disguise-active .sudoku-shell,html.disguise-active .almanac-shell{overflow-x:hidden!important}html.disguise-active .weather-shell__hourly,html.disguise-active .weather-shell__hourly *{touch-action:pan-x!important}html.df-boot-ready.disguise-active.pwa-calc-boot,html.df-boot-ready.disguise-active.pwa-calc-boot body,html.df-boot-ready.pwa-calc-boot,html.df-boot-ready.pwa-calc-boot body{background-color:#f2f2f7!important;background-image:linear-gradient(180deg,#fff,#f2f2f7)!important;color-scheme:light only}html.df-boot-ready.disguise-active.pwa-weather-boot,html.df-boot-ready.disguise-active.pwa-weather-boot body,html.df-boot-ready.pwa-weather-boot,html.df-boot-ready.pwa-weather-boot body{background-color:#3b97ff!important;background-image:linear-gradient(180deg,#fff,#e8f4ff 22%,#b7dbff 55%,#3b97ff)!important;color-scheme:light only}html.df-boot-ready.disguise-active.pwa-sudoku-boot,html.df-boot-ready.disguise-active.pwa-sudoku-boot body,html.df-boot-ready.pwa-sudoku-boot,html.df-boot-ready.pwa-sudoku-boot body{background-color:#cfd9e6!important;background-image:linear-gradient(180deg,#fff 0% 8%,#eef2f6 14%,#c5d4e4 28%,#dce6f0 52%,#cfd9e6)!important;color-scheme:light only}html.df-boot-ready.disguise-active.pwa-almanac-boot,html.df-boot-ready.disguise-active.pwa-almanac-boot body,html.df-boot-ready.pwa-almanac-boot,html.df-boot-ready.pwa-almanac-boot body{background-color:#f3f3f5!important;background-image:linear-gradient(180deg,#fff,#f3f3f5 28% 100%)!important;color-scheme:light only}:root{--df-bg: #e4eaf1;--df-card: #ffffff;--df-text: #0b1220;--df-sub: #5b6778;--df-line: rgba(15, 23, 42, .055);--df-accent: #0d9488;--df-danger: #fa5151;--df-tab-h: 56px;--safe-bottom: env(safe-area-inset-bottom, 0px)}*{box-sizing:border-box}html,body{margin:0;min-height:100%;font-family:var(--hl-font, "Avenir Next", "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif);background:var(--hl-bg-mesh, var(--hl-bg-base, var(--df-bg)));background-attachment:fixed;color:var(--hl-text-primary, var(--chat-text, var(--df-text)));color-scheme:light only;-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent}#app{min-height:100%;min-height:100dvh;background:transparent}.df-app{min-height:100dvh;background:var(--chat-bg, var(--df-bg));padding-bottom:calc(var(--chat-tab-h, var(--df-tab-h)) + var(--safe-bottom))}.df-app.df-room{padding-bottom:0;display:flex;flex-direction:column;height:100dvh;background:#f5f5f5}.df-nav{position:sticky;top:0;z-index:20;display:flex;align-items:center;gap:8px;min-height:48px;padding:max(8px,env(safe-area-inset-top)) 14px 8px;background:#edededf0;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid var(--df-line)}.df-nav--room{background:#f7f7f7}.df-nav__title{flex:1;margin:0;font-size:17px;font-weight:650;text-align:center}.df-nav__action,.df-nav__back{appearance:none;border:0;background:transparent;color:var(--df-text);font-size:15px;min-width:48px;padding:8px 4px;cursor:pointer}.df-nav__back{font-size:28px;line-height:1;font-weight:300}.df-inline-err{margin:8px 14px 0;color:var(--df-danger);font-size:13px}.df-empty{margin:40px 16px;text-align:center;color:var(--df-sub);font-size:14px}.df-conv-list{background:var(--df-card)}.df-conv-row{display:flex;gap:12px;width:100%;border:0;border-bottom:1px solid var(--df-line);background:#fff;padding:12px 14px;text-align:left;cursor:pointer}.df-conv-row:active{background:#f2f2f2}.df-conv-row__avatar{width:48px;height:48px;border-radius:8px;background:#d8d8d8;color:#444;display:grid;place-items:center;overflow:hidden;flex:0 0 auto;font-weight:700}.df-conv-row__avatar img{width:100%;height:100%;object-fit:cover}.df-conv-row__main{min-width:0;flex:1;display:flex;flex-direction:column;justify-content:center;gap:4px}.df-conv-row__line{display:flex;align-items:center;justify-content:space-between;gap:10px}.df-conv-row__line strong{font-size:16px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.df-conv-row__line time,.df-conv-row__preview{color:var(--df-sub);font-size:12px}.df-conv-row__preview{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px}.df-conv-row__badge{background:var(--df-danger);color:#fff;font-size:11px;font-weight:700;min-width:18px;padding:1px 6px;border-radius:9px;text-align:center}.df-settings-page .df-card{margin:12px 12px 0;background:var(--df-card);border-radius:12px;overflow:hidden}.df-card__label{margin:0;padding:12px 14px 4px;font-size:13px;color:var(--df-sub)}.df-card__row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px;border-bottom:1px solid var(--df-line);font-size:15px;background:transparent;width:100%;border-left:0;border-right:0;border-top:0;text-align:left;color:inherit}.df-card__row:last-child{border-bottom:0}.df-card__row small{display:block;margin-top:2px;color:var(--df-sub);font-size:12px}.df-card__link{cursor:pointer}.df-chevron{color:#c7c7c7;font-size:20px}.df-hint{margin:-4px 14px 10px;font-size:12px;color:var(--df-sub)}.df-ghost-block{display:block;width:calc(100% - 24px);margin:16px 12px 0;padding:14px;border:0;border-radius:12px;background:#fff;color:var(--df-danger);font-size:16px;font-weight:600;cursor:pointer}.df-tabbar{position:fixed;left:0;right:0;bottom:0;z-index:40;display:grid;grid-template-columns:repeat(4,1fr);height:calc(var(--df-tab-h) + env(safe-area-inset-bottom,0px));padding-bottom:env(safe-area-inset-bottom,0px);background:#f7f7f7f5;border-top:1px solid var(--df-line);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.df-add-friend{display:flex;gap:8px;padding:12px 14px}.df-tabbar__item{appearance:none;border:0;background:transparent;color:#7a7a7a;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;font-size:11px;position:relative;cursor:pointer}.df-tabbar__item--on{color:var(--df-text)}.df-tabbar__glyph{display:grid;place-items:center;height:24px}.df-tabbar__badge{position:absolute;top:4px;left:calc(50% + 8px);min-width:16px;padding:0 4px;border-radius:8px;background:var(--df-danger);color:#fff;font-size:10px;font-style:normal;line-height:16px;text-align:center}.df-room__list{flex:1;overflow:auto;padding:12px 12px 8px;display:flex;flex-direction:column;gap:8px}.df-bubble{max-width:78%;align-self:flex-start;background:#fff;padding:10px 12px;border-radius:8px;font-size:15px;line-height:1.45;word-break:break-word;box-shadow:0 1px 1px #0000000a}.df-bubble--mine{align-self:flex-end;background:#95ec69}.df-room__composer{display:flex;gap:8px;padding:8px 10px;padding-bottom:max(8px,env(safe-area-inset-bottom));background:#f7f7f7;border-top:1px solid var(--df-line)}.df-composer-input{flex:1;border:0;border-radius:8px;padding:10px 12px;font-size:16px;background:#fff}.df-composer-send{appearance:none;border:0;border-radius:8px;padding:0 14px;background:var(--df-accent);color:#fff;font-size:15px;font-weight:600;cursor:pointer}.df-composer-send:disabled{opacity:.4}.df-host{min-height:100dvh;padding:24px 20px;padding-top:max(24px,env(safe-area-inset-top));background:var(--df-bg)}.df-host h1{margin:0 0 8px;font-size:22px}.df-host p{margin:0 0 16px;color:var(--df-sub);font-size:14px;line-height:1.5}.df-host__card{background:#fff;border-radius:12px;padding:16px;margin-bottom:12px}.df-host__row{display:flex;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid var(--df-line);font-size:15px}.df-host__row:last-child{border-bottom:0}.df-btn{appearance:none;border:0;border-radius:10px;padding:10px 14px;font-size:15px;font-weight:600;background:#111;color:#fff;cursor:pointer}.df-btn--ghost{background:#e8e8ed;color:#111}.df-btn:disabled{opacity:.5}.df-input{width:100%;padding:10px 12px;border:1px solid #ddd;border-radius:10px;font-size:16px;margin-bottom:10px}.df-tip{color:var(--df-danger);font-size:13px;min-height:1.2em}.df-muted{color:var(--df-sub);font-size:12px}.btn{appearance:none;border:0;border-radius:14px;padding:14px 16px;font-size:16px;font-weight:600;cursor:pointer}.btn:disabled{opacity:.55;cursor:not-allowed}.btn-primary{background:linear-gradient(145deg,#2dd4bf,#0d9488);color:#fff;box-shadow:0 8px 18px #0d948847}.btn-primary:active:not(:disabled){transform:scale(.98)}.btn-danger{background:linear-gradient(145deg,#f87171,#dc2626);color:#fff;box-shadow:0 8px 20px #dc262647}.field{display:flex;flex-direction:column;gap:8px;margin-bottom:18px}.field label{font-size:12px;font-weight:650;letter-spacing:.06em;color:#64748b}.field input{border:1px solid rgba(15,23,42,.08);border-radius:13px;padding:15px 16px;background:#fffffff5;font-size:16px;color:#0f172a}.field input:focus{outline:none;background:#fff;border-color:#0d948873}.cover-shell-fab{position:fixed;right:18px;bottom:calc(88px + env(safe-area-inset-bottom,0px));z-index:110;width:44px;height:44px;border:none;border-radius:50%;background:#fff;color:#e11d48;box-shadow:0 8px 22px #0f172a29;display:grid;place-items:center;cursor:pointer;-webkit-tap-highlight-color:transparent}.cover-shell-fab:active{transform:scale(.96)}.cover-shell-fab__tip{position:fixed;left:16px;right:16px;bottom:calc(140px + env(safe-area-inset-bottom,0px));z-index:111;margin:0;padding:10px 12px;border-radius:12px;background:#0f172ae6;color:#fff;font-size:13px;text-align:center;pointer-events:none}
