:root{--qq-bg: #f5f5f5;--qq-panel: #ffffff;--qq-sidebar: #f2f2f2;--qq-sidebar-active: #e4e4e4;--qq-border: #e0e0e0;--qq-text: #1a1a1a;--qq-muted: #999999;--qq-blue: #12b7f5;--qq-blue-dark: #0e9fd8;--qq-mine: #95ec69;--qq-theirs: #ffffff;--qq-danger: #e64545;--qq-header: #f7f7f7;--qq-input-bg: #ffffff;--font: "Microsoft YaHei", "PingFang SC", "Noto Sans SC", system-ui, sans-serif;--shadow: 0 8px 32px rgba(0, 0, 0, .12)}*,*:before,*:after{box-sizing:border-box}html,body{margin:0;min-height:100%;background:linear-gradient(145deg,#c8e8f5,#e8f0f5 40%,#d4e4f0);color:var(--qq-text);font-family:var(--font);-webkit-font-smoothing:antialiased}body{min-height:100dvh}button,input,textarea{font:inherit}a{color:var(--qq-blue);text-decoration:none}a:hover{text-decoration:underline}#app{min-height:100dvh}.gate{min-height:100dvh;display:grid;place-items:center;padding:24px}.gate-box{width:min(380px,100%);background:var(--qq-panel);border-radius:8px;box-shadow:var(--shadow);padding:28px 28px 22px}.gate-logo{width:64px;height:64px;border-radius:14px;margin:0 auto 14px;display:block;object-fit:cover;box-shadow:0 4px 14px #12b7f559}.gate-box h1{margin:0 0 4px;text-align:center;font-size:1.35rem;font-weight:600}.gate-box .sub{text-align:center;color:var(--qq-muted);font-size:.88rem;margin:0 0 20px}.field{display:flex;flex-direction:column;gap:6px;margin-bottom:12px}.field label{font-size:.82rem;color:var(--qq-muted)}.field input{border:1px solid var(--qq-border);border-radius:4px;padding:10px 12px;outline:none;background:#fafafa}.field input:focus{border-color:var(--qq-blue);background:#fff}.error{color:var(--qq-danger);font-size:.85rem;min-height:1.2em;margin:0 0 8px}.btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;border-radius:4px;padding:10px 18px;cursor:pointer;font-weight:600;transition:background .15s,opacity .15s}.btn:active{opacity:.9}.btn-primary{background:var(--qq-blue);color:#fff}.btn-primary:hover{background:var(--qq-blue-dark)}.btn-ghost{background:#f0f0f0;color:#333}.btn-ghost:hover{background:#e6e6e6}.btn-sm{padding:5px 10px;font-size:.8rem;font-weight:500}.btn-block{width:100%}.gate-links{margin-top:14px;text-align:center;font-size:.85rem;color:var(--qq-muted)}.app-shell{height:100dvh;max-width:960px;margin:0 auto;display:grid;grid-template-columns:260px 1fr;background:var(--qq-panel);box-shadow:var(--shadow);overflow:hidden}@media(max-width:720px){.app-shell{max-width:none;grid-template-columns:1fr}.app-shell.chat-open .sidebar{display:none}.app-shell:not(.chat-open) .chat{display:none}}.sidebar{background:var(--qq-sidebar);border-right:1px solid var(--qq-border);display:flex;flex-direction:column;min-height:0}.sidebar-top{padding:12px;border-bottom:1px solid var(--qq-border);background:#ebebeb;display:flex;flex-direction:column;gap:8px}.me-row-wrap{display:flex;align-items:center;gap:8px;width:100%}.me-row-wrap .me-row-btn{flex:1;min-width:0;width:auto;margin:0}.btn-side-save-home{-webkit-appearance:none;appearance:none;flex-shrink:0;border:1px solid var(--qq-blue);background:#e8f7fc;color:var(--qq-blue);font-size:.72rem;font-weight:600;line-height:1.2;padding:7px 9px;border-radius:6px;cursor:pointer;white-space:nowrap}.btn-side-save-home:active{opacity:.85}.me-row{display:flex;align-items:center;gap:10px}.me-row-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;background:transparent;width:100%;padding:4px;margin:-4px;border-radius:6px;cursor:pointer;text-align:left;color:inherit;font:inherit}.me-row-btn:hover{background:#0000000a}.avatar{width:40px;height:40px;border-radius:6px;display:grid;place-items:center;color:#fff;font-weight:700;font-size:.95rem;flex-shrink:0;-webkit-user-select:none;user-select:none;position:relative}.online-dot{position:absolute;right:-2px;bottom:-2px;width:10px;height:10px;border-radius:50%;border:2px solid #f2f2f2;background:silver}.online-dot.on{background:#18a058}.online-dot.off{background:silver}.conn-badge{font-size:.72rem;padding:4px 8px;border-radius:4px;text-align:center;background:#e8e8e8;color:#666}.conn-badge.online{background:#e8f8ef;color:#18a058}.conn-badge.reconnecting{background:#fff6e5;color:#d48806}.conn-badge.offline{background:#fdecec;color:#cf1322}.peer-status{font-size:.72rem;color:var(--qq-muted);font-weight:400;margin-top:1px}.chat-head h2{margin:0;font-size:1rem;font-weight:600;line-height:1.2}.avatar.sm{width:36px;height:36px;font-size:.85rem}.avatar.lg{width:72px;height:72px;font-size:1.6rem;border-radius:10px}.avatar.xl{width:64px;height:64px;font-size:1.45rem;border-radius:12px;box-shadow:0 4px 14px #0000002e}.avatar.xs{width:34px;height:34px;font-size:.8rem;border-radius:4px}.me-meta{flex:1;min-width:0}.me-meta .name{font-weight:600;font-size:.95rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.me-meta .role{font-size:.75rem;color:var(--qq-muted)}.session-list{flex:1;overflow:auto;overflow-x:hidden}.side-tabs{display:grid;grid-template-columns:1fr 1fr 1fr;gap:4px;background:#e4e4e4;border-radius:6px;padding:3px}.side-tabs.side-tabs-4{grid-template-columns:repeat(4,1fr)}.side-tabs.side-tabs-4 .side-tab{font-size:.72rem;padding:6px 0}.side-tab{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;background:transparent;padding:7px 0;border-radius:4px;cursor:pointer;font-weight:600;font-size:.8rem;color:#666}.side-tab.active{background:#fff;color:var(--qq-blue);box-shadow:0 1px 2px #0000000f}.friend-item .friend-actions{display:flex;gap:2px;flex-shrink:0}.friend-act{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid #ddd;background:#fff;color:#555;font-size:.72rem;padding:3px 6px;border-radius:3px;cursor:pointer}.friend-act:hover{border-color:var(--qq-blue);color:var(--qq-blue)}.friend-act.danger:hover{border-color:var(--qq-danger);color:var(--qq-danger)}.nav-btn{position:relative;width:100%;display:flex;align-items:center;gap:10px;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;background:transparent;padding:11px 12px 11px 10px;border-radius:8px;cursor:pointer;font-weight:600;font-size:.88rem;letter-spacing:.02em;color:#445;text-align:left;transition:background .15s ease,color .15s ease,box-shadow .15s ease}.nav-btn .nav-ico{width:22px;height:22px;flex-shrink:0;display:grid;place-items:center;color:#7a8694}.nav-btn .nav-ico svg{width:18px;height:18px;display:block}.nav-btn .nav-label{flex:1;line-height:1.2}.nav-btn:hover{background:#ffffffb8;color:#1a1a1a}.nav-btn:hover .nav-ico{color:var(--qq-blue)}.nav-btn.active{background:#fff;color:var(--qq-blue);box-shadow:0 1px 3px rgba(18,183,245,.12)}.nav-btn.active .nav-ico{color:var(--qq-blue)}.nav-btn.active:before{content:"";position:absolute;left:0;top:8px;bottom:8px;width:3px;border-radius:0 3px 3px 0;background:var(--qq-blue)}.sidebar-foot{border-top:1px solid var(--qq-border);padding:6px 6px calc(8px + env(safe-area-inset-bottom,0px));background:linear-gradient(180deg,#f4f6f8,#ebeff2);display:flex;flex-direction:row;align-items:stretch;justify-content:space-around;gap:4px;flex-shrink:0}.sidebar-foot .nav-btn{flex:1;flex-direction:column;justify-content:center;align-items:center;gap:0;padding:10px 4px;border-radius:10px;font-size:0;line-height:0;text-align:center}.sidebar-foot .nav-btn .nav-label{display:none!important;width:0;height:0;overflow:hidden}.sidebar-foot .nav-btn .nav-ico{width:26px;height:26px}.sidebar-foot .nav-btn .nav-ico svg{width:22px;height:22px}.sidebar-foot .nav-btn.active:before{left:50%;right:auto;top:auto;bottom:3px;width:18px;height:3px;transform:translateX(-50%);border-radius:2px}.settings{display:flex;flex-direction:column;height:100%;background:#f0f0f0;min-height:0}.profile-page .settings-body.profile-body{padding:0 0 20px;background:radial-gradient(120% 80% at 100% 0%,rgba(18,183,245,.08),transparent 55%),#f0f0f0}.profile-banner{position:relative;overflow:hidden;margin:0 0 16px;padding:18px 16px 16px;color:#fff}.profile-banner-bg{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(125deg,#1a2a38,#243b4a 42%,#0f6f8f)}.profile-banner-bg:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(circle at 18% 120%,rgba(18,183,245,.35),transparent 48%),radial-gradient(circle at 90% -10%,rgba(255,255,255,.12),transparent 40%)}.profile-banner-logo{position:absolute;right:12px;top:50%;transform:translateY(-50%);width:88px;height:88px;opacity:.14;object-fit:cover;border-radius:18px;pointer-events:none;filter:grayscale(.2)}.profile-banner-main{position:relative;z-index:1;display:flex;align-items:center;gap:12px}.profile-hero-meta{min-width:0;flex:1}.profile-banner-qr{flex-shrink:0;display:flex;flex-direction:column;align-items:center;gap:4px}.profile-qr-frame-banner{padding:5px;border-radius:10px;box-shadow:0 4px 14px #00000040}.profile-qr-frame-banner .profile-qr-slot{width:88px;height:88px}.profile-qr-frame-banner .profile-qr-slot canvas{width:88px!important;height:88px!important}.profile-qr-tip-banner{color:#ffffffb8;font-size:.68rem}.profile-invite-code{margin:0;font-size:.72rem;font-family:ui-monospace,Consolas,monospace;color:#ffffffe0;letter-spacing:.04em;cursor:pointer;-webkit-user-select:all;user-select:all}.profile-invite-code:hover{text-decoration:underline}.profile-banner-qr-actions{display:flex;gap:6px;margin-top:8px;flex-wrap:wrap}.profile-banner-btn{color:#ffffffeb!important;border-color:#ffffff47!important;background:#ffffff1a!important;padding:3px 8px!important;font-size:.72rem!important}.profile-banner-btn:hover{background:#fff3!important}@media(max-width:420px){.profile-banner-main{flex-wrap:wrap}.profile-banner-qr{margin-left:auto}}.profile-name{font-size:1.28rem;font-weight:700;margin-bottom:8px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;letter-spacing:.02em;text-shadow:0 1px 2px rgba(0,0,0,.2)}.profile-sub{font-size:.82rem;color:#ffffffc7}.wolf-id-chip{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid rgba(255,255,255,.28);background:#ffffff1f;color:#fff;border-radius:999px;padding:4px 10px 4px 6px;display:inline-flex;align-items:center;gap:6px;cursor:pointer;margin-bottom:8px;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);transition:background .15s ease,border-color .15s ease}.wolf-id-chip:hover{background:#fff3;border-color:#ffffff73}.wolf-id-label{font-size:.68rem;font-weight:700;letter-spacing:.04em;background:#12b7f5;color:#072031;border-radius:999px;padding:2px 7px}.wolf-id-chip.wolf-kind-pretty .wolf-id-label{background:#f5c542;color:#3a2a00}.wolf-id-chip.wolf-kind-leopard .wolf-id-label{background:#ff7a45;color:#3a1200}.wolf-tier-card{padding:4px 0}.wolf-tier-row{display:flex;align-items:center;gap:10px;padding:10px 14px;border-bottom:1px solid #f0f0f0;font-size:.82rem;color:#555}.wolf-tier-row:last-child{border-bottom:none}.wolf-tier-badge{flex-shrink:0;font-size:.68rem;font-weight:700;border-radius:999px;padding:3px 8px}.wolf-tier-badge.normal{background:#e6f7fe;color:#0e9fd8}.wolf-tier-badge.pretty{background:#fff6db;color:#b8860b}.wolf-tier-badge.leopard{background:#ffe8dc;color:#d4380d}.wolf-tier-apply{font-style:normal;font-weight:600;color:#0e9fd8}.wolf-tier-apply-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;background:none;padding:0;margin:0;font:inherit;font-weight:600;color:#0e9fd8;cursor:pointer;text-decoration:none}.wolf-tier-apply-btn:hover{text-decoration:underline}.modal-number-apply{text-align:left;max-width:420px}.modal-number-apply h3{text-align:center}.number-apply-notice{margin:0 0 14px;padding:10px 12px;font-size:.82rem;line-height:1.45;color:#666;background:#f5f7fa;border-radius:8px}.number-apply-orders{margin-top:18px;padding-top:12px;border-top:1px solid #eee}.number-apply-orders .settings-label{margin-bottom:8px}.number-apply-orders-list{background:#fafafa;border-radius:8px;overflow:hidden}.number-apply-orders-list .settings-row{background:#fff}.wolf-tier-foot{margin:0;padding:8px 14px 12px;font-size:.78rem;color:#888;border-top:1px solid #f0f0f0}.wolf-tier-embed .wolf-tier-row{border-bottom:1px solid #f0f0f0}.wolf-tier-embed .wolf-tier-row:last-child{border-bottom:none}.wolf-tier-card.compact{font-size:.85rem}.wolf-tier-card.compact .wolf-tier-row{padding:8px 10px}.gate-wolf-tiers{margin:14px 0 4px;text-align:left}.gate-wolf-tiers .settings-label{margin-bottom:6px}.invite-inapp-tip{margin:0 0 12px;padding:10px 12px;background:#fff8e6;color:#8a6d1d;border-radius:8px;font-size:.82rem;line-height:1.45;text-align:left}.wolf-inline{display:inline-flex;align-items:center;gap:6px;vertical-align:middle}.wolf-inline-num{font-variant-numeric:tabular-nums}.admin-note-card{margin-top:20px;padding:12px 0;border:1px solid rgba(255,255,255,.08);border-radius:12px;background:#0000002e;overflow:hidden}.admin-note-card .settings-label{padding:0 14px 8px;color:#9aadc2}.admin-note-card .wolf-tier-row{color:#e8eef6;border-bottom-color:#ffffff0f}.admin-toolbar-hint{margin:0;flex:1;font-size:.82rem;color:#9aadc2}.admin-shell .wolf-tier-badge.normal{background:#0e9fd833;color:#7ad4ff}.admin-shell .wolf-tier-badge.pretty{background:#b8860b40;color:#f0d78c}.admin-shell .wolf-tier-badge.leopard{background:#d4380d40;color:#ffb199}.wolf-id-num{font-family:DIN Alternate,Consolas,Courier New,monospace;font-size:.95rem;font-weight:700;letter-spacing:.04em}.profile-status{display:inline-flex;align-items:center;gap:6px;font-size:.75rem;color:#ffffffb8}.profile-status-dot{width:7px;height:7px;border-radius:50%;background:#9aa7b2}.profile-status.on .profile-status-dot{background:#3dde8a;box-shadow:0 0 0 3px #3dde8a40}.profile-page .settings-block{padding:0 16px;margin-bottom:14px}.profile-qr-card{padding:0;max-width:200px;margin:0 auto;border:none;box-shadow:0 6px 18px #14283c14}.profile-qr-wrap{display:flex;flex-direction:column;align-items:center;gap:8px;padding:14px 12px 12px;text-align:center}.profile-qr-frame{padding:8px;border-radius:10px;background:linear-gradient(#fff,#fff) padding-box,linear-gradient(135deg,#12b7f5,#7ed9a8) border-box;border:1.5px solid transparent}.profile-qr-slot{width:104px;height:104px;display:grid;place-items:center;background:#fff;border-radius:4px;font-size:.72rem;color:var(--qq-muted);overflow:hidden}.profile-qr-slot canvas{display:block;width:104px!important;height:104px!important}.profile-qr-tip{margin:0;font-size:.72rem;color:var(--qq-muted);line-height:1.35}.profile-qr-url{margin:0;max-width:100%;word-break:break-all;font-size:.62rem;color:#aaa;font-family:ui-monospace,Consolas,monospace;line-height:1.3}.profile-qr-actions{display:flex;gap:6px;flex-wrap:wrap;justify-content:center}.profile-qr-actions .btn{padding:4px 8px;font-size:.72rem}.settings-row .val.mono{font-family:ui-monospace,Consolas,monospace;font-size:.78rem}.settings-row .val.qq-no{font-family:DIN Alternate,Consolas,monospace;font-weight:700;color:var(--qq-blue);cursor:pointer;-webkit-user-select:all;user-select:all;letter-spacing:.03em}.settings-row .val.qq-no:hover{text-decoration:underline}.settings-body{flex:1;overflow:auto;padding:16px}.settings-block{margin-bottom:18px}.settings-label{font-size:.78rem;color:var(--qq-muted);margin-bottom:8px;padding-left:4px}.settings-card{background:#fff;border-radius:8px;overflow:hidden;border:1px solid var(--qq-border)}.settings-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;border-bottom:1px solid #f0f0f0;margin:0;font-size:.92rem}.settings-row:last-child{border-bottom:none}.settings-row .val{color:var(--qq-muted);font-size:.85rem}.settings-row .hint-inline{display:block;font-size:.72rem;color:var(--qq-muted);font-weight:400;margin-top:2px}.settings-row.switch-row{cursor:pointer}.settings-row.form-row{flex-direction:column;align-items:stretch}.nick-edit{display:flex;gap:8px;margin-top:6px}.nick-edit input{flex:1;border:1px solid var(--qq-border);border-radius:4px;padding:8px 10px;outline:none}.nick-edit input:focus{border-color:var(--qq-blue)}.settings-action{width:100%;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;background:#fff;padding:12px 14px;text-align:left;cursor:pointer;font-size:.92rem;border-bottom:1px solid #f0f0f0;color:var(--qq-text)}.settings-action:last-child{border-bottom:none}.settings-action:hover{background:#f7f7f7}.settings-action.danger{color:var(--qq-danger);text-align:center}.settings-hint{margin:0 12px 10px;font-size:.75rem;color:var(--qq-muted);line-height:1.45;text-align:left}@media(max-width:720px){.app-shell.settings-open .sidebar{display:flex!important;flex-direction:column;position:fixed;left:0;right:0;bottom:0;top:auto;width:100%;height:auto;max-height:none;z-index:40;border:none;background:transparent;pointer-events:none}.app-shell.settings-open .sidebar-top,.app-shell.settings-open .session-list,.app-shell.settings-open .conn-badge,.app-shell.settings-open .side-section-title,.app-shell.settings-open .me-row-wrap,.app-shell.settings-open .sidebar-dual-actions{display:none!important}.app-shell.settings-open .sidebar-foot{pointer-events:auto;background:linear-gradient(180deg,#f4f6f8,#ebeff2);border-top:1px solid var(--qq-border)}.app-shell.settings-open .chat{display:flex;padding-bottom:calc(58px + env(safe-area-inset-bottom,0px))}.app-shell.settings-open.lz-dock-visible{}}.session-swipe{position:relative;overflow:hidden;background:#f0f0f0}.session-swipe-actions{position:absolute;inset:0 0 0 auto;display:flex;width:148px;z-index:0}.swipe-act{flex:1;border:none;color:#fff;font-size:.78rem;cursor:pointer;padding:0 4px;line-height:1.2}.swipe-act.pin{background:#f5a623}.swipe-act.mute{background:#6b7c8f}.swipe-act.del{background:#e8554d}.mute-mark{display:inline-block;width:9px;height:9px;margin-right:5px;border:1.5px solid #8a96a3;border-radius:50%;vertical-align:middle;position:relative}.mute-mark:after{content:"";position:absolute;left:50%;top:-1px;width:1.5px;height:11px;background:#8a96a3;transform:translate(-50%) rotate(45deg)}.session-item .badge.muted{background:#b0b8c0}.session-swipe .session-item{position:relative;z-index:1;background:#ebebeb;touch-action:pan-y;transition:transform .2s ease;will-change:transform}.session-swipe .session-item.active{background:#d6eaf8}.session-swipe.is-pinned .session-item{background:#e8eef2}.pin-mark{display:inline-block;width:8px;height:8px;margin-right:5px;border-radius:1px;background:#f5a623;vertical-align:middle;transform:rotate(45deg)}.session-item{width:100%;display:grid;grid-template-columns:40px 1fr auto;gap:10px;align-items:center;padding:10px 12px;border:none;background:transparent;text-align:left;cursor:pointer;color:inherit;position:relative}.session-item .s-main{min-width:0}.session-item .s-del{display:none;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;background:#ddd;color:#666;width:18px;height:18px;border-radius:50%;line-height:1;cursor:pointer;font-size:12px;padding:0}.session-item:hover .s-del{display:inline-flex;align-items:center;justify-content:center}.session-item .s-del:hover{background:#fa5151;color:#fff}.session-item:hover{background:#e8e8e8}.session-item.active{background:var(--qq-sidebar-active)}.session-item .s-title{font-size:.9rem;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.session-item .s-preview{font-size:.75rem;color:var(--qq-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:2px}.session-item .s-right{display:flex;flex-direction:column;align-items:flex-end;gap:4px}.session-item .s-time{font-size:.68rem;color:var(--qq-muted)}.badge{min-width:16px;height:16px;padding:0 5px;border-radius:8px;background:#fa5151;color:#fff;font-size:.68rem;font-weight:700;display:inline-flex;align-items:center;justify-content:center}.chat{display:flex;flex-direction:column;min-width:0;min-height:0;background:var(--qq-bg)}.chat-empty{flex:1;display:grid;place-items:center;color:var(--qq-muted);font-size:.95rem;text-align:center;padding:24px}.chat-empty-hint{margin:10px 0 0;font-size:.82rem;color:#999;max-width:280px;line-height:1.45}.chat-head{height:50px;padding:0 14px;border-bottom:1px solid var(--qq-border);background:var(--qq-header);display:flex;align-items:center;gap:10px;justify-content:space-between;flex-shrink:0}.chat-head h2{margin:0;font-size:1rem;font-weight:600}.messages{flex:1;overflow:auto;padding:12px 10px 8px;display:flex;flex-direction:column;gap:8px;background:linear-gradient(180deg,#f0f0f0,#f5f5f5)}.time-chip{align-self:center;font-size:.72rem;color:#fff;background:#0000002e;padding:2px 8px;border-radius:3px;margin:4px 0}.messages .row{display:flex;gap:8px;align-items:flex-start;width:auto!important;max-width:78%;flex:0 0 auto!important}.messages .row.mine{align-self:flex-end;flex-direction:row-reverse;margin-left:auto}.messages .row.theirs{align-self:flex-start}.messages .bubble-wrap{position:relative;display:block;width:auto;max-width:100%;flex:0 0 auto}.messages .row.mine .bubble-wrap{display:flex;flex-direction:column;align-items:flex-end}.messages .sender-name{font-size:.72rem;color:var(--qq-muted);padding:0 4px;line-height:1.2;width:auto}.messages .bubble{position:relative;display:inline-block!important;width:auto!important;min-width:0!important;max-width:100%;padding:8px 12px;border-radius:4px;line-height:1.45;font-size:.92rem;word-break:break-word;overflow-wrap:anywhere;white-space:pre-wrap;box-sizing:border-box;text-align:left;vertical-align:top}.messages .row.theirs .bubble{background:#fff;border:none;border-radius:4px 10px 10px 10px;box-shadow:0 1px 2px rgba(0,0,0,.06)}.messages .row.mine .bubble{background:var(--qq-mine);border:none;border-radius:10px 4px 10px 10px;box-shadow:0 1px 2px rgba(0,0,0,.04)}.bubble-wrap .actions{display:none;position:absolute;top:-28px;right:0;z-index:5;background:#222;color:#fff;border-radius:6px;font-size:.75rem;overflow:hidden;box-shadow:0 4px 14px rgba(0,0,0,.22)}.messages .row.theirs .bubble-wrap .actions{left:0;right:auto}.bubble-wrap:hover .actions,.bubble-wrap.menu-open .actions{display:flex}.bubble-wrap .actions button{min-height:32px;padding:6px 12px;font-weight:600}.bubble-wrap .actions button{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;background:transparent;color:#fff;padding:3px 8px;cursor:pointer;font-size:.7rem}.bubble-wrap .actions button:hover{background:#555}.composer{border-top:1px solid var(--qq-border);background:var(--qq-input-bg);display:flex;flex-direction:column;flex-shrink:0;position:relative}.composer-tools{padding:6px 8px 0;display:flex;gap:2px;align-items:center;flex-wrap:wrap}.tool-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;background:transparent;width:32px;height:28px;border-radius:4px;cursor:pointer;font-size:.95rem;line-height:1}.tool-btn:hover{background:#eee}.tool-spacer{flex:1}.emoji-panel{position:absolute;left:8px;bottom:100%;width:min(320px,calc(100% - 16px));background:#fff;border:1px solid var(--qq-border);border-radius:8px;box-shadow:var(--shadow);padding:8px;display:grid;grid-template-columns:repeat(8,1fr);gap:4px;z-index:20;margin-bottom:4px}.emoji-panel[hidden]{display:none!important}.emoji-item{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;background:transparent;font-size:1.2rem;cursor:pointer;border-radius:4px;padding:4px}.emoji-item:hover{background:#f0f0f0}.composer textarea{resize:none;border:none;outline:none;padding:8px 12px;min-height:72px;max-height:140px;background:transparent;line-height:1.4}.composer-bar{display:flex;justify-content:flex-end;align-items:center;gap:8px;padding:0 12px 10px}.composer-bar .hint{font-size:.72rem;color:var(--qq-muted);margin-right:auto}.chat-body-wrap{flex:1;display:flex;min-height:0;position:relative}.chat-body-wrap .messages{flex:1}.history-pane{width:0;overflow:hidden;background:#fafafa;border-left:0 solid var(--qq-border);transition:width .2s ease;display:flex;flex-direction:column}.history-pane.open{width:260px;border-left-width:1px}.history-head{display:flex;justify-content:space-between;align-items:center;padding:10px;border-bottom:1px solid var(--qq-border)}.history-search{margin:8px 10px;border:1px solid var(--qq-border);border-radius:4px;padding:6px 8px;outline:none}.history-list{flex:1;overflow:auto;padding:0 8px 8px}.history-item{padding:8px;border-radius:6px;cursor:pointer;margin-bottom:4px}.history-item:hover{background:#eee}.history-item-meta{font-size:.7rem;color:var(--qq-muted);margin-bottom:2px}.history-item-text{font-size:.82rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.msg-image{max-width:min(220px,60vw);max-height:220px;border-radius:4px;display:block}.msg-file{display:flex;gap:8px;align-items:center;color:inherit;text-decoration:none;min-width:140px}.msg-file-icon{font-size:1.4rem}.msg-file-meta{display:flex;flex-direction:column;min-width:0}.msg-file-name{font-size:.85rem;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.msg-file-size{font-size:.72rem;color:var(--qq-muted)}.msg-voice{max-width:220px;height:32px}.nudge-line,.msg-nudge{align-self:center;font-size:.78rem;color:#888;background:#0000000f;padding:4px 10px;border-radius:4px;margin:4px 0}.bubble-media{padding:6px;background:transparent!important;box-shadow:none!important;border:none!important}.row.mine .bubble.bubble-media{background:transparent!important}.row.flash .bubble{outline:2px solid var(--qq-blue)}@keyframes qqShake{0%,to{transform:translate(0)}20%{transform:translate(-8px)}40%{transform:translate(8px)}60%{transform:translate(-6px)}80%{transform:translate(6px)}}body.qq-shake .app-shell{animation:qqShake .55s ease}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000059;display:grid;place-items:center;z-index:50;padding:20px}.modal{width:min(360px,100%);background:#fff;border-radius:8px;padding:20px;text-align:center;box-shadow:var(--shadow)}.modal.modal-wide{width:min(420px,100%)}.modal.modal-scan-qr{width:min(440px,100%)}.qr-scan-frame{position:relative;width:100%;aspect-ratio:3 / 4;max-height:min(52vh,420px);margin:0 auto 10px;border-radius:10px;overflow:hidden;background:#111;border:1px solid var(--qq-border)}.qr-scan-frame video{width:100%;height:100%;object-fit:cover;display:block;background:#000}.qr-scan-reticle{position:absolute;top:18%;right:18%;bottom:18%;left:18%;border:2px solid rgba(255,255,255,.85);border-radius:8px;box-shadow:0 0 0 999px #00000047;pointer-events:none}.qr-scan-status{margin:0 0 4px!important;font-size:.8rem!important;color:var(--qq-muted)}.friend-scan-actions{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-start;margin:0 0 12px}.friend-scan-file{cursor:pointer;margin:0}.sidebar-dual-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}.modal h3{margin:0 0 8px;font-size:1.05rem}.modal p{margin:0 0 12px;color:var(--qq-muted);font-size:.85rem;word-break:break-all}.modal canvas,.modal img{display:block;margin:0 auto 12px;background:#fff;padding:8px;border:1px solid var(--qq-border);border-radius:4px;width:200px;height:200px}.modal-actions{display:flex;flex-wrap:wrap;gap:8px;justify-content:center}.friend-search-bar{display:flex;gap:8px;align-items:center}.friend-search-bar input{flex:1;min-width:0}.friend-search-list{text-align:left;max-height:280px;overflow:auto;margin:8px 0 12px;border:1px solid var(--qq-border);border-radius:8px;background:#fafafa}.friend-search-item{display:grid;grid-template-columns:36px 1fr auto;gap:10px;align-items:center;padding:10px 12px;border-bottom:1px solid #eee;background:#fff}.friend-search-item:last-child{border-bottom:none}.friend-search-empty{padding:24px 12px;text-align:center;color:var(--qq-muted);font-size:.85rem}.friend-search-tag{font-size:.75rem;color:var(--qq-muted);white-space:nowrap}.msg-alert{position:fixed;right:16px;top:16px;z-index:9999;width:min(320px,calc(100vw - 32px));background:#fff;border-radius:8px;box-shadow:0 8px 28px #0000002e;display:flex;gap:10px;align-items:center;padding:12px;cursor:pointer;animation:alertIn .25s ease;border:1px solid #e8e8e8}.msg-alert.hide{opacity:0;transform:translateY(-8px);transition:.25s ease}@keyframes alertIn{0%{opacity:0;transform:translateY(-12px)}to{opacity:1;transform:none}}.msg-alert-avatar{width:40px;height:40px;border-radius:6px;color:#fff;display:grid;place-items:center;font-weight:700;flex-shrink:0}.msg-alert-body{min-width:0;flex:1}.msg-alert-name{font-weight:600;font-size:.9rem;margin-bottom:2px}.msg-alert-text{font-size:.82rem;color:#666;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.session-item.has-unread .s-title{color:#111}.session-item.has-unread .s-preview{color:#333;font-weight:500}.empty-tip{padding:24px 16px;text-align:center;color:var(--qq-muted);font-size:.85rem}.toast{position:fixed;left:50%;bottom:72px;transform:translate(-50%);z-index:100;max-width:min(420px,calc(100vw - 24px));padding:10px 16px;border-radius:8px;background:#1e1e1eeb;color:#fff;font-size:.88rem;box-shadow:0 8px 24px #0003;display:flex;align-items:center;gap:12px;animation:toastIn .2s ease}.toast-with-action{padding-right:10px}.toast-text{flex:1;min-width:0}.toast-action{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;background:transparent;color:#7ad4ff;font-weight:700;font-size:.88rem;cursor:pointer;padding:4px 6px;white-space:nowrap}.toast-action:hover{color:#b6e9ff}@keyframes toastIn{0%{opacity:0;transform:translate(-50%,8px)}to{opacity:1;transform:translate(-50%)}}.admin-shell{display:flex;min-height:100vh;background:linear-gradient(145deg,#0f1b2d,#1a2a40 45%,#122033);color:#e8eef6}.admin-nav{width:200px;flex-shrink:0;padding:20px 12px;display:flex;flex-direction:column;gap:6px;border-right:1px solid rgba(255,255,255,.08);background:#00000038}.admin-brand{font-size:1.15rem;font-weight:700;padding:4px 10px 16px;letter-spacing:.02em}.admin-nav-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;background:transparent;color:#b8c5d6;text-align:left;padding:10px 12px;border-radius:8px;cursor:pointer;font-size:.95rem}.admin-nav-btn:hover{background:#ffffff0f;color:#fff}.admin-nav-btn.active{background:#409eff38;color:#fff;font-weight:600}.admin-nav-foot{margin-top:auto;padding:12px 10px;display:flex;flex-direction:column;gap:8px;font-size:.85rem}.admin-main{flex:1;min-width:0;padding:24px;overflow:auto}.admin-panel h2{margin:0 0 16px;font-size:1.35rem}.admin-stats{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:12px}.admin-stat{background:#ffffff0f;border:1px solid rgba(255,255,255,.08);border-radius:12px;padding:18px 16px}.admin-stat .n{font-size:1.75rem;font-weight:700;font-variant-numeric:tabular-nums}.admin-stat .l{margin-top:4px;color:#9aadc2;font-size:.85rem}.admin-toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.admin-toolbar h2{margin:0;width:100%}@media(min-width:720px){.admin-toolbar h2{width:auto}}.admin-search{display:flex;gap:8px;align-items:center}.admin-search input,.admin-search select{background:#00000047;border:1px solid rgba(255,255,255,.12);color:#e8eef6;border-radius:8px;padding:8px 10px;min-width:180px}.admin-split{display:grid;grid-template-columns:1fr 1fr;gap:16px;min-height:420px}.admin-table-wrap{overflow:auto;border:1px solid rgba(255,255,255,.08);border-radius:12px;background:#0000002e}.admin-table{width:100%;border-collapse:collapse;font-size:.9rem}.admin-table th,.admin-table td{padding:10px 12px;text-align:left;border-bottom:1px solid rgba(255,255,255,.06)}.admin-table th{color:#9aadc2;font-weight:600;font-size:.8rem;position:sticky;top:0;background:#152536}.admin-table tr{cursor:pointer}.admin-table tr:hover td{background:#ffffff0a}.admin-table tr.active td{background:#409eff24}.admin-table .ops{white-space:nowrap}.admin-table .ops .danger{color:#ff8f8f}.admin-detail{border:1px solid rgba(255,255,255,.08);border-radius:12px;background:#0000002e;display:flex;flex-direction:column;min-height:0}.admin-detail-head{padding:12px 14px;border-bottom:1px solid rgba(255,255,255,.08)}.admin-detail-body{display:grid;grid-template-columns:1fr 1fr;gap:0;flex:1;min-height:0}.admin-session-list,.admin-msg-list{padding:12px;overflow:auto;max-height:480px}.admin-session-list{border-right:1px solid rgba(255,255,255,.06)}.admin-session-item{display:block;width:100%;text-align:left;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;background:transparent;color:inherit;padding:10px;border-radius:8px;cursor:pointer;margin-bottom:4px}.admin-session-item:hover,.admin-session-item.active{background:#409eff24}.admin-msg{padding:8px 0;border-bottom:1px solid rgba(255,255,255,.05)}.admin-msg .meta{font-size:.75rem;color:#9aadc2;margin-bottom:2px}.empty-tip{color:#9aadc2;font-size:.9rem;padding:12px 4px}.mono{font-variant-numeric:tabular-nums;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.muted{color:#9aadc2}.number-order-row{display:flex;gap:8px;align-items:center}.number-order-row input{flex:1;min-width:0}.number-check-result{margin-top:6px;font-size:.85rem}.number-check-result .ok{color:#3ecf8e}.number-check-result .err{color:#ff8f8f}.number-order-item{align-items:center}@media(max-width:900px){.admin-shell{flex-direction:column}.admin-nav{width:100%;flex-direction:row;flex-wrap:wrap;align-items:center}.admin-nav-foot{margin-top:0;flex-direction:row;width:100%}.admin-split,.admin-detail-body{grid-template-columns:1fr}.admin-session-list{border-right:none;border-bottom:1px solid rgba(255,255,255,.06)}}.friend-card-page{background:#f2f2f2}.friend-card-body{flex:1;overflow:auto;display:flex;flex-direction:column;min-height:0}.friend-card-hero{display:flex;align-items:center;gap:14px;padding:22px 20px 18px;background:#fff;border-bottom:1px solid #ebebeb}.friend-card-hero-meta{min-width:0;flex:1}.friend-card-name{font-size:1.25rem;font-weight:700;color:#c45c26;margin-bottom:6px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.friend-card-qq{font-size:.88rem;color:#888;margin-bottom:6px}.friend-card-status{display:inline-flex;align-items:center;gap:6px;font-size:.82rem;color:#999}.friend-card-status.on{color:#2bb673}.friend-card-info{margin-top:10px;background:#fff;border-top:1px solid #ebebeb;border-bottom:1px solid #ebebeb}.friend-card-row{display:flex;align-items:center;gap:16px;padding:14px 18px;border-bottom:1px solid #f0f0f0;font-size:.92rem}.friend-card-row:last-child{border-bottom:none}.friend-card-row .lab{flex:0 0 72px;color:#999}.friend-card-row .val{flex:1;min-width:0;color:#222;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.friend-card-actions{margin-top:auto;padding:16px;display:flex;gap:10px;background:#fff;border-top:1px solid #ebebeb}.friend-card-btn{flex:1;min-width:0;height:40px;border-radius:6px;font-size:.92rem}.friend-card-btn.danger{color:#d4380d}.friend-card-btn.primary{flex:1.35}.session-item.friend-item.active{background:#dceef9}

.settings-action-primary{background:linear-gradient(180deg,#1fc8ff,#12b7f5);color:#fff;border:none;font-weight:600}
.settings-action-primary:active{filter:brightness(.96)}
.official-page .settings-action{margin-top:8px}

#app-install-guide{position:fixed;inset:0;z-index:9999;display:flex;align-items:center;justify-content:center;padding:20px}
#app-install-guide .install-guide-mask{position:absolute;inset:0;background:rgba(15,23,42,.45)}
#app-install-guide .install-guide-card{position:relative;width:min(420px,100%);background:#fff;border-radius:14px;padding:20px 18px 16px;box-shadow:0 12px 40px rgba(0,0,0,.18);font-size:14px;line-height:1.55;color:#1f2937}
#app-install-guide .install-guide-title{font-size:17px;font-weight:700;margin:0 0 12px;color:#0f172a}
#app-install-guide .install-steps{margin:0 0 12px;padding-left:1.25em}
#app-install-guide .install-steps li{margin:6px 0}
#app-install-guide .settings-hint{margin:0 0 14px;color:#64748b;font-size:13px}
#app-install-guide .settings-action{width:100%;margin-top:4px}

.pwd-form{display:flex;flex-direction:column;gap:10px;padding:12px 12px 4px;border-bottom:1px solid rgba(0,0,0,.06);margin-bottom:8px}
.pwd-form .field{display:flex;flex-direction:column;gap:4px}
.pwd-form label{font-size:12px;color:#64748b}
.pwd-form input{border:1px solid #dbe3ef;border-radius:8px;padding:10px 12px;font-size:14px}
.admin-pwd-box{padding:10px 12px;border-bottom:1px solid #e5e7eb;background:#f8fafc}
.admin-pwd-row{display:flex;gap:8px;margin:6px 0;align-items:center}
.admin-pwd-row input{flex:1;border:1px solid #dbe3ef;border-radius:8px;padding:8px 10px}
.admin-msg-list{min-height:200px;max-height:60vh;overflow:auto}
.admin-msg{padding:8px 10px;border-bottom:1px solid #f1f5f9}
.admin-msg .meta{font-size:12px;color:#64748b;margin-bottom:4px}
.admin-msg .body{font-size:14px;color:#0f172a;word-break:break-word}
.admin-detail-head{display:flex;align-items:center;gap:8px;flex-wrap:wrap}

.settings-link-row{width:100%;display:flex;align-items:center;gap:12px;padding:14px 12px;margin:0;border:0;background:transparent;cursor:pointer;text-align:left;font:inherit;color:inherit;border-radius:8px}.settings-link-row:hover{background:#f3f7fa}.settings-link-row:active{background:#e8f4fc}.settings-link-main{flex:1;display:flex;flex-direction:column;gap:4px;min-width:0}.settings-link-title{font-weight:600;font-size:.92rem;color:#1a1a1a}.settings-link-desc{font-size:.75rem;color:#8a93a0;line-height:1.3}.settings-link-chevron{flex-shrink:0;font-size:1.35rem;line-height:1;color:#b0b8c2;font-weight:400}.pwd-page .pwd-form{padding:4px 2px 8px}.pwd-page .pwd-form .field{margin-bottom:12px}.pwd-page .pwd-form .field label{display:block;font-size:.78rem;color:#8a93a0;margin-bottom:6px}.pwd-page .pwd-form .field input{width:100%;padding:11px 12px;border:1px solid #e2e6eb;border-radius:8px;background:#fafbfc}.pwd-page .pwd-form .field input:focus{outline:none;border-color:var(--qq-blue);background:#fff;box-shadow:0 0 0 3px rgba(18,183,245,.15)}.pwd-page .pwd-form .btn{margin-top:6px}

.composer-input,textarea#composer-input{font-size:16px;line-height:1.4;touch-action:manipulation;-webkit-user-select:text;user-select:text}.composer{padding-bottom:env(safe-area-inset-bottom,0)}.messages{overscroll-behavior:contain;-webkit-overflow-scrolling:touch}.app-shell.chat-open .chat{display:flex;flex-direction:column;min-height:0;height:100%}

.lz-ios-mask{position:fixed;inset:0;z-index:100000;background:rgba(15,23,42,.45);display:flex;align-items:flex-end;justify-content:center;padding:16px;padding-bottom:max(16px,env(safe-area-inset-bottom))}
.lz-ios-card{width:min(420px,100%);background:#fff;border-radius:14px 14px 10px 10px;padding:20px 18px 16px;box-shadow:0 12px 40px rgba(0,0,0,.18);color:#1a1a1a}
.lz-ios-card h3{margin:0 0 8px;font-size:18px}
.lz-ios-lead,.lz-ios-tip{margin:0 0 10px;font-size:13px;line-height:1.55;color:#64748b}
.lz-ios-warn{margin:0 0 10px;padding:10px 12px;border-radius:8px;background:#fff7ed;color:#9a3412;font-size:13px;line-height:1.5}
.lz-ios-steps{margin:0 0 12px;padding-left:1.2em;font-size:14px;line-height:1.7}
.lz-ios-steps .mono{font-family:ui-monospace,Consolas,monospace;color:#0e9fd8}
.lz-ios-card .btn-block{width:100%}

.app-download-card .settings-action{margin-top:8px}
.app-download-card .settings-action:first-of-type{margin-top:0}
.friend-card-row-btn{-webkit-appearance:none;appearance:none;width:100%;border:none;background:#fff;display:flex;align-items:center;justify-content:space-between;padding:14px 16px;font:inherit;color:inherit;text-align:left;cursor:pointer;border-bottom:1px solid #f0f0f0}.friend-card-row-btn:active{background:#f7f7f7}.friend-card-row-btn .remark-val{display:flex;align-items:center;gap:6px;color:#111;max-width:65%;justify-content:flex-end}.friend-card-row-btn .remark-empty{color:#b0b0b0}.friend-card-row-btn .remark-chevron{color:#c7c7c7;font-size:1.1rem;line-height:1;margin-left:2px}.tool-btn .tool-ico{width:20px;height:20px;display:block;pointer-events:none}.tool-btn.tool-danger{color:#d32f2f;min-width:32px;padding:4px;display:inline-flex;align-items:center;justify-content:center;font-size:0;line-height:0}.tool-btn.tool-danger:hover{color:#b71c1c;background:#ffebee}
/*lz-bubble-ar*/
.messages>.row,.messages .row{
  display:flex!important;
  flex:0 0 auto!important;
  align-items:flex-start!important;
  width:max-content!important;
  max-width:min(72%,420px)!important;
  min-width:0!important;
  box-sizing:border-box!important;
}
.messages .row.mine{margin-left:auto!important;align-self:flex-end!important;flex-direction:row-reverse!important}
.messages .row.theirs{align-self:flex-start!important;margin-right:auto!important}
.messages .bubble-wrap{
  display:table!important;
  width:auto!important;
  max-width:100%!important;
  min-width:0!important;
  position:relative!important;
  table-layout:auto!important;
}
.messages .row.mine .bubble-wrap{margin-left:auto!important}
.messages .bubble,
.messages .row .bubble,
.messages .row.mine .bubble,
.messages .row.theirs .bubble{
  display:table!important;
  width:auto!important;
  max-width:min(70vw,400px)!important;
  min-width:0!important;
  min-height:0!important;
  height:auto!important;
  padding:7px 10px!important;
  margin:0!important;
  float:none!important;
  clear:none!important;
  box-sizing:border-box!important;
  white-space:pre-wrap!important;
  word-break:break-word!important;
  overflow-wrap:anywhere!important;
  text-align:left!important;
  direction:ltr!important;
  unicode-bidi:normal!important;
  line-height:1.4!important;
  font-size:.9rem!important;
  vertical-align:top!important;
}
.messages .bubble-wrap .actions{
  display:none!important;
  position:absolute!important;
  top:-30px!important;
  right:0!important;
  left:auto!important;
  width:auto!important;
  height:auto!important;
  z-index:6!important;
}
.messages .row.theirs .bubble-wrap .actions{left:0!important;right:auto!important}
.messages .bubble-wrap:hover .actions,
.messages .bubble-wrap.menu-open .actions{display:flex!important}
/*lz-group-ui*/
.group-avatar{background:linear-gradient(145deg,#12b7f5,#0e9fd8)!important;color:#fff!important;font-size:.72rem!important;font-weight:700}
.side-group-block{padding:4px 0 10px;border-bottom:1px solid var(--qq-border);margin-bottom:6px}
.side-sub-title{font-size:.72rem;color:var(--qq-muted);padding:6px 12px 4px;font-weight:600}
.group-item .s-sub{font-size:.72rem;color:var(--qq-muted)}
.empty-tip.tiny{font-size:.75rem;padding:8px 12px;color:var(--qq-muted)}
.modal-wide{width:min(420px,94vw)}
.lz-pick-list{max-height:240px;overflow:auto;border:1px solid var(--qq-border);border-radius:8px;padding:6px;margin:8px 0 12px;background:#fafafa}
.lz-pick-row,.lz-member-row{display:flex;align-items:center;gap:8px;padding:8px 6px;border-bottom:1px solid #f0f0f0;font-size:.9rem}
.lz-pick-row:last-child,.lz-member-row:last-child{border-bottom:0}
.lz-menu-list{display:flex;flex-direction:column;gap:2px;margin:10px 0}
.lz-menu-list .danger{color:#d32f2f}

/*lz-group-notice*/
.group-notice-bar{display:flex;align-items:center;gap:8px;width:100%;border:0;border-bottom:1px solid #e8e8e8;background:#fffbe6;padding:8px 12px;text-align:left;cursor:pointer;font:inherit;color:#5c4b00}
.group-notice-bar.is-empty{background:#f7f7f7;color:#8a8a8a}
.group-notice-bar:active{opacity:.85}
.group-notice-ico{flex-shrink:0;font-size:.95rem}
.group-notice-more{flex-shrink:0;color:#bbb;font-size:1.1rem;line-height:1}
.group-notice-track{flex:1;min-width:0;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 10px,#000 calc(100% - 10px),transparent);mask-image:linear-gradient(90deg,transparent,#000 10px,#000 calc(100% - 10px),transparent)}
.group-notice-text{display:inline-block;white-space:nowrap;line-height:1.35;font-size:.8rem;will-change:transform}
.group-notice-bar:not(.is-empty) .group-notice-text{padding-left:0;animation:lzNoticeMarquee 120s linear infinite;padding-left:0}
.group-notice-bar:hover .group-notice-text,.group-notice-bar:focus-visible .group-notice-text{animation-play-state:paused}
@keyframes lzNoticeMarquee{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}
@media (prefers-reduced-motion:reduce){.group-notice-bar .group-notice-text{animation:none!important;padding-left:0!important;max-width:100%;overflow:hidden;text-overflow:ellipsis}}
.group-notice-view{white-space:pre-wrap;line-height:1.55;font-size:.92rem;color:#222;background:#fafafa;border:1px solid #eee;border-radius:8px;padding:12px;min-height:80px;margin:8px 0 12px}
/*lz-chat-flex*/
.app-shell.chat-open .chat,.app-shell.settings-open .chat{display:flex!important;flex-direction:column;min-height:0;height:100%;overflow:hidden}
.chat .group-notice-bar{flex-shrink:0}
/* 必须是横向：messages | history，否则关闭的 history-pane 会竖着占一大块白底 */
.chat .chat-body-wrap{flex:1;min-height:0;display:flex;flex-direction:row;overflow:hidden;position:relative}
.chat .messages{flex:1;min-height:0;overflow:auto;width:auto}
.chat .composer{flex-shrink:0!important;display:flex!important}
.history-pane{flex:0 0 0!important;width:0!important;min-width:0!important;max-width:0!important;overflow:hidden!important;border:0!important;padding:0!important;margin:0!important}
.history-pane.open{flex:0 0 260px!important;width:260px!important;min-width:260px!important;max-width:260px!important;border-left:1px solid var(--qq-border)!important}
@media(max-width:720px){
  .history-pane.open{position:absolute;inset:0;z-index:20;flex:none!important;width:100%!important;min-width:0!important;max-width:none!important;border-left:0!important;background:#fafafa}
}
/*lz-mobile-shell*/
@media(max-width:720px){
  .app-shell{height:100dvh;grid-template-columns:1fr}
  .app-shell:not(.chat-open):not(.settings-open) .chat{display:none!important}
  .app-shell.chat-open:not(.settings-open) .sidebar{display:none!important}
  .app-shell:not(.chat-open):not(.settings-open) .sidebar{display:flex!important;flex-direction:column;height:100%;min-height:0;width:100%}
  .app-shell:not(.chat-open):not(.settings-open) .session-list{flex:1;min-height:0;overflow:auto;-webkit-overflow-scrolling:touch}
  .app-shell:not(.chat-open):not(.settings-open) .sidebar-foot{flex-shrink:0;position:sticky;bottom:0;z-index:6;box-shadow:0 -4px 16px rgba(0,0,0,.06)}
}

/*lz-kb-stable*/
html{height:100%;}
body,#app{min-height:0;height:100%;}
.app-shell{height:var(--vvh,100dvh);max-height:var(--vvh,100dvh);}
@media(max-width:720px){
  .app-shell.chat-open{
    height:var(--vvh,100dvh)!important;
    max-height:var(--vvh,100dvh)!important;
    position:relative;
    top:var(--vv-off,0px);
  }
  html.lz-composing,html.lz-composing body{overflow:hidden!important;overscroll-behavior:none;}
  html.lz-composing .messages{scroll-behavior:auto!important;}
  .composer-input,textarea#composer-input{font-size:16px!important;}
}

/*lz-site-announce*/
.site-announce-bar{display:flex;align-items:center;gap:8px;width:100%;border:0;border-bottom:1px solid #e8e8e8;background:linear-gradient(90deg,#fff8e6,#fffbe6 40%,#fff8e6);padding:8px 12px;text-align:left;cursor:pointer;font:inherit;color:#5c4b00;flex-shrink:0}
.site-announce-bar:active{opacity:.88}
.site-announce-ico{flex-shrink:0;font-size:.95rem}
.site-announce-more{flex-shrink:0;color:#bbb;font-size:1.1rem;line-height:1}
.site-announce-track{flex:1;min-width:0;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 6px,#000 calc(100% - 6px),transparent);mask-image:linear-gradient(90deg,transparent,#000 6px,#000 calc(100% - 6px),transparent)}
.site-announce-text{display:inline-block;white-space:nowrap;line-height:1.35;font-size:.8rem;padding-left:0;animation:lzSiteAnnounceMarquee 120s linear infinite;will-change:transform}
.site-announce-bar:hover .site-announce-text,.site-announce-bar:focus-visible .site-announce-text{animation-play-state:paused}
@keyframes lzSiteAnnounceMarquee{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}
@media (prefers-reduced-motion:reduce){.site-announce-text{animation:none!important;padding-left:0!important;max-width:100%;overflow:hidden;text-overflow:ellipsis}}
.site-announce-list{display:flex;flex-direction:column;gap:12px;max-height:55vh;overflow:auto;margin:8px 0 12px}
.site-announce-item{background:#fafafa;border:1px solid #eee;border-radius:8px;padding:10px 12px}
.site-announce-item-title{font-weight:600;margin-bottom:4px}
.site-announce-item-body{white-space:pre-wrap;line-height:1.5;font-size:.92rem}
.admin-ann-form{display:flex;flex-direction:column;gap:8px;padding:12px;background:#f7f8fa;border:1px solid #e8e8e8;border-radius:8px;margin-bottom:14px}
.admin-ann-form input,.admin-ann-form textarea{width:100%;padding:8px 10px;border:1px solid #ddd;border-radius:6px;font:inherit}
.admin-ann-pin{display:flex;align-items:center;gap:6px;font-size:.85rem;color:#555}
.chat>.site-announce-bar+*{min-height:0}

/*lz-img-preview*/
/* 媒体气泡不用 table，避免大图按原图高度占位留下空白 */
.messages .bubble.bubble-media,
.messages .row .bubble.bubble-media{
  display:block!important;
  width:max-content!important;
  max-width:min(72vw,280px)!important;
  padding:4px!important;
  white-space:normal!important;
  line-height:0!important;
  font-size:0!important;
  overflow:hidden!important;
  height:auto!important;
  min-height:0!important;
}
.messages .bubble-wrap:has(.bubble-media){
  display:block!important;
  width:max-content!important;
  max-width:100%!important;
}
button.msg-image-btn{
  display:block;
  padding:0;
  margin:0;
  border:0;
  background:transparent;
  cursor:pointer;
  max-width:100%;
  line-height:0;
  font-size:0;
  overflow:hidden;
}
.msg-image{
  display:block;
  max-width:min(220px,70vw);
  max-height:min(240px,45vh);
  width:auto;
  height:auto;
  border-radius:6px;
  object-fit:contain;
  vertical-align:top;
}
.img-preview-backdrop{z-index:120000!important;background:rgba(0,0,0,.92)!important;display:flex!important;align-items:center;justify-content:center;padding:0!important}
.img-preview-wrap{position:relative;width:100%;height:100%;display:flex;align-items:center;justify-content:center;padding:48px 12px 24px;box-sizing:border-box;pointer-events:auto;touch-action:none;overflow:hidden}.img-preview-full,.img-preview-close{pointer-events:auto}
.img-preview-full{max-width:100%;max-height:100%;object-fit:contain;border-radius:4px}
.img-preview-close{position:absolute;top:calc(10px + env(safe-area-inset-top,0px));right:12px;z-index:2;-webkit-appearance:none;appearance:none;border:0;background:rgba(255,255,255,.18);color:#fff;padding:8px 14px;border-radius:16px;font-size:.85rem;cursor:pointer}

/*lz-img-zoom*/
.img-preview-full{transform-origin:center center;will-change:transform;user-select:none;-webkit-user-select:none}
.img-preview-hint{position:absolute;left:50%;bottom:calc(18px + env(safe-area-inset-bottom,0px));transform:translateX(-50%);color:rgba(255,255,255,.75);font-size:.75rem;pointer-events:none;z-index:2;white-space:nowrap}

/*lz-img-click*/
button.msg-image-btn{position:relative;z-index:2;pointer-events:auto!important;cursor:zoom-in;-webkit-tap-highlight-color:transparent}
button.msg-image-btn .msg-image{pointer-events:none}

/*lz-group-more-btn*/
.chat-head #btn-group-more,.chat-head #btn-peer-remark{flex-shrink:0;position:relative;z-index:5;min-width:40px;min-height:36px;pointer-events:auto!important}
.chat-head{position:relative;z-index:4}

/*lz-img-hw*/
button.msg-image-btn{cursor:pointer!important;-webkit-tap-highlight-color:rgba(18,183,245,.25);touch-action:manipulation;position:relative;z-index:3;pointer-events:auto!important}
button.msg-image-btn img.msg-image{pointer-events:none!important;-webkit-user-drag:none;user-select:none}
.img-preview-tools{position:absolute;left:50%;bottom:calc(52px + env(safe-area-inset-bottom,0px));transform:translateX(-50%);z-index:5;display:flex;gap:10px;pointer-events:auto}
.img-preview-tools button{-webkit-appearance:none;appearance:none;border:0;background:rgba(255,255,255,.22);color:#fff;width:44px;height:44px;border-radius:22px;font-size:1.25rem;line-height:44px;padding:0;cursor:pointer}
.img-preview-tools button:active{background:rgba(255,255,255,.4)}
.img-preview-close{min-width:64px;min-height:40px;font-size:1rem!important;z-index:6!important}
.img-preview-wrap{touch-action:none;-ms-touch-action:none}

/*lz-back-list*/
.chat-head #back-list{position:relative;z-index:6;pointer-events:auto!important;min-height:36px;flex-shrink:0;-webkit-tap-highlight-color:transparent;cursor:pointer}

/*lz-back-cap*/
.chat-head #back-list,.chat-head #btn-close-chat{position:relative;z-index:20!important;pointer-events:auto!important;cursor:pointer}
.msg-image-link{display:inline-block;max-width:min(220px,70vw)}
.msg-image-link .msg-image{max-width:100%;max-height:min(220px,40vh);display:block;object-fit:contain}

/*lz-msg-click-del*/
.messages .row .bubble{cursor:pointer;-webkit-tap-highlight-color:rgba(18,183,245,.15)}
.messages .row .bubble-wrap{position:relative}
.messages .bubble-wrap .actions{display:none!important}
.messages .bubble-wrap:hover .actions,
.messages .bubble-wrap.menu-open .actions{display:flex!important;gap:4px}
.messages .bubble-wrap .actions [data-del]{font-size:12px;padding:2px 8px;border:1px solid #e0e0e0;border-radius:4px;background:#fff;color:#e64545;cursor:pointer}

/*lz-msg-select*/
.messages.msg-selecting .row,.messages .row.selectable{cursor:pointer}
.messages .msg-check{display:flex;align-items:center;justify-content:center;width:28px;flex-shrink:0;margin:0 6px 0 0}
.messages .msg-check input{width:18px;height:18px;accent-color:#12b7f5;cursor:pointer}
.messages .row.picked .bubble{outline:2px solid #12b7f5;outline-offset:1px}
.tool-btn.tool-danger.active{background:#ffebee;color:#c62828;box-shadow:inset 0 0 0 1px #ef9a9a}
.messages .row.selectable .avatar{display:none}

/*lz-voice-wx*/
.tool-voice-btn{touch-action:none;-webkit-user-select:none;user-select:none}
.lz-voice-overlay{position:fixed;inset:0;z-index:130000;background:rgba(0,0,0,.45);display:flex;align-items:center;justify-content:center;pointer-events:none}
.lz-voice-overlay[hidden]{display:none!important}
.lz-voice-panel{width:160px;height:160px;border-radius:18px;background:rgba(40,40,40,.92);color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px}
.lz-voice-overlay.cancel .lz-voice-panel{background:rgba(198,40,40,.92)}
.lz-voice-wave{width:48px;height:48px;border-radius:50%;background:rgba(255,255,255,.2);box-shadow:0 0 0 0 rgba(255,255,255,.35);animation:lzVoicePulse 1.1s ease-out infinite}
.lz-voice-text{font-size:1rem;font-weight:600}
.lz-voice-sub{font-size:.75rem;opacity:.85}
@keyframes lzVoicePulse{0%{box-shadow:0 0 0 0 rgba(255,255,255,.4)}70%{box-shadow:0 0 0 16px rgba(255,255,255,0)}100%{box-shadow:0 0 0 0 rgba(255,255,255,0)}}
.msg-video{display:block;background:#111}

/*lz-wx-chat*/
.app-shell.chat-open .chat{background:#ededed}
.chat .messages{background:#ededed!important;background-image:none!important;padding:10px 10px 12px!important;gap:12px!important}
.time-chip{background:rgba(0,0,0,.12)!important;color:#fff!important;border-radius:4px!important;font-size:.7rem!important;padding:2px 8px!important}
.messages .row{max-width:min(78%,460px)!important}
.messages .row.mine .bubble{background:#95ec69!important;border:none!important;border-radius:6px!important;color:#111!important;box-shadow:none!important}
.messages .row.theirs .bubble{background:#fff!important;border:none!important;border-radius:6px!important;box-shadow:none!important}
.messages .bubble.bubble-media{background:transparent!important;padding:0!important}
.messages .row.mine .bubble.bubble-media:has(.msg-voice-bubble){background:#95ec69!important;padding:8px 12px!important}
.messages .row.theirs .bubble.bubble-media:has(.msg-voice-bubble){background:#fff!important;padding:8px 12px!important}
.messages .avatar.xs{width:40px!important;height:40px!important;border-radius:6px!important;font-size:.9rem!important}
.messages .sender-name{font-size:.7rem!important;color:#b2b2b2!important;margin-bottom:2px}
.chat-head{background:#ededed!important;border-bottom:1px solid #d9d9d9!important;padding:8px 10px!important}
.chat-head h2{font-size:1.05rem!important;font-weight:600!important}
.chat-head .peer-status{font-size:.72rem!important;color:#888!important}
.wx-back{font-size:1.55rem!important;font-weight:500!important;color:#111!important;min-width:36px!important;padding:2px 8px!important;line-height:1!important}
.group-notice-bar{background:#fafafa!important;border-bottom:1px solid #eaeaea!important}
.wx-composer{background:#f7f7f7!important;border-top:1px solid #d9d9d9!important;padding:6px 8px calc(6px + env(safe-area-inset-bottom,0px))!important}
.composer-main{display:flex;align-items:flex-end;gap:6px;width:100%}
.wx-side-btn{-webkit-appearance:none;appearance:none;border:0;background:transparent;width:36px;height:36px;border-radius:6px;font-size:1.25rem;line-height:36px;padding:0;flex-shrink:0;cursor:pointer}
.wx-side-btn.open,.wx-side-btn:active{background:rgba(0,0,0,.06)}
.wx-composer textarea#composer-input{flex:1;min-height:36px;max-height:120px;border:0;border-radius:6px;background:#fff;padding:8px 10px;margin:0;resize:none;font-size:16px;line-height:1.35;box-shadow:none}
.wx-hold-speak{flex:1;height:36px;border:0;border-radius:6px;background:#fff;color:#111;font-size:.95rem;font-weight:600;cursor:pointer;touch-action:none;-webkit-user-select:none;user-select:none}
.wx-hold-speak:active{background:#f0f0f0}
.wx-send-btn{-webkit-appearance:none;appearance:none;border:0;background:#07c160;color:#fff;font-size:.9rem;font-weight:600;height:36px;padding:0 14px;border-radius:6px;flex-shrink:0;cursor:pointer}
.wx-close-legacy{display:none!important}
#composer-plus-panel{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;padding:12px 6px 8px;background:#f7f7f7}
#composer-plus-panel[hidden]{display:none!important}
.plus-tile{display:flex!important;flex-direction:column;align-items:center;justify-content:center;gap:4px;height:64px;border-radius:10px;background:#fff;border:0;box-shadow:0 1px 2px rgba(0,0,0,.04);font-size:0;line-height:0}
.plus-ico{font-size:1.35rem;line-height:1.2}
.plus-lab{font-size:.68rem;color:#666;line-height:1.2}
.msg-voice-bubble{display:inline-flex;align-items:center;gap:8px;min-width:72px;max-width:180px;border:0;background:transparent;padding:0;cursor:pointer;font:inherit;color:inherit}
.msg-voice-bubble .v-ico{width:16px;height:16px;border-radius:50%;border:2px solid currentColor;opacity:.8;position:relative}
.msg-voice-bubble .v-ico:after{content:"";position:absolute;left:4px;top:3px;border-style:solid;border-width:4px 0 4px 7px;border-color:transparent transparent transparent currentColor}
.row.mine .msg-voice-bubble{flex-direction:row-reverse}
.msg-voice-bubble.playing{opacity:.7}
.msg-voice-bubble .v-dur{font-size:.85rem;opacity:.9}
.emoji-panel{background:#f7f7f7!important;border-top:1px solid #e5e5e5}

/*lz-wx-composer-fix*/
.wx-composer{flex-direction:column!important;display:flex!important;background:#f7f7f7!important;border-top:1px solid #d9d9d9!important;padding:6px 8px calc(8px + env(safe-area-inset-bottom,0px))!important;position:relative!important;z-index:5}
.wx-composer input[type=file]{position:absolute!important;width:1px!important;height:1px!important;opacity:0!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;pointer-events:none}
.composer-main{display:flex!important;align-items:center!important;gap:6px!important;width:100%!important;min-height:44px!important;flex-shrink:0!important;visibility:visible!important;opacity:1!important}
.wx-side-btn{-webkit-appearance:none!important;appearance:none!important;border:0!important;background:#fff!important;width:40px!important;height:40px!important;border-radius:6px!important;padding:0!important;flex-shrink:0!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;color:#111!important;box-shadow:inset 0 0 0 1px #e5e5e5;cursor:pointer;visibility:visible!important;opacity:1!important}
.wx-side-btn.open,.wx-side-btn:active{background:#ebebeb!important}
.wx-ico{display:block;width:22px;height:22px;position:relative;flex-shrink:0}
.wx-ico-mic:before{content:"";position:absolute;left:7px;top:2px;width:8px;height:12px;border:2px solid #111;border-radius:6px;box-sizing:border-box}
.wx-ico-mic:after{content:"";position:absolute;left:4px;bottom:2px;width:14px;height:6px;border:2px solid #111;border-top:0;border-radius:0 0 8px 8px;box-sizing:border-box}
.wx-ico-kb:before{content:"";position:absolute;left:1px;top:4px;width:20px;height:14px;border:2px solid #111;border-radius:3px;box-sizing:border-box;background:repeating-linear-gradient(90deg,#111 0 2px,transparent 2px 4px);background-size:4px 3px;background-repeat:repeat;background-position:3px 3px;background-clip:content-box}
.wx-ico-emoji:before{content:"";position:absolute;left:1px;top:1px;width:20px;height:20px;border:2px solid #111;border-radius:50%;box-sizing:border-box}
.wx-ico-emoji:after{content:"";position:absolute;left:5px;top:11px;width:12px;height:6px;border-bottom:2px solid #111;border-radius:0 0 12px 12px;box-sizing:border-box;box-shadow:-3px -4px 0 -1px #111,3px -4px 0 -1px #111}
.wx-ico-plus:before,.wx-ico-plus:after{content:"";position:absolute;background:#111;border-radius:1px}
.wx-ico-plus:before{left:10px;top:3px;width:2px;height:16px}
.wx-ico-plus:after{left:3px;top:10px;width:16px;height:2px}
.wx-composer textarea#composer-input{flex:1 1 auto!important;min-width:0!important;min-height:40px!important;max-height:120px!important;height:40px;border:0!important;border-radius:6px!important;background:#fff!important;color:#111!important;padding:10px 12px!important;margin:0!important;resize:none!important;font-size:16px!important;line-height:1.35!important;box-shadow:inset 0 0 0 1px #e5e5e5!important;visibility:visible!important;opacity:1!important;-webkit-text-fill-color:#111}
.wx-composer textarea#composer-input::placeholder{color:#b2b2b2!important;opacity:1!important}
.wx-hold-speak{flex:1 1 auto!important;min-width:0!important;height:40px!important;border:0!important;border-radius:6px!important;background:#fff!important;color:#111!important;font-size:.95rem!important;font-weight:600!important;box-shadow:inset 0 0 0 1px #e5e5e5;cursor:pointer;touch-action:none;-webkit-user-select:none;user-select:none}
.wx-send-btn{-webkit-appearance:none!important;appearance:none!important;border:0!important;background:#07c160!important;color:#fff!important;font-size:.9rem!important;font-weight:600!important;height:40px!important;padding:0 14px!important;border-radius:6px!important;flex-shrink:0!important;cursor:pointer}
.wx-close-legacy{display:none!important}
#composer-plus-panel.composer-tools{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:10px!important;padding:12px 6px 8px!important;background:#f7f7f7!important;flex-wrap:nowrap!important}
#composer-plus-panel[hidden]{display:none!important}
.plus-tile{display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;gap:4px!important;height:64px!important;border-radius:10px!important;background:#fff!important;border:0!important;box-shadow:0 1px 2px rgba(0,0,0,.04)!important;font-size:inherit!important;line-height:normal!important;width:auto!important;min-width:0!important;padding:6px 4px!important}
.plus-tile.tool-danger{font-size:inherit!important;line-height:normal!important;color:inherit!important}
.plus-ico{font-size:1.2rem!important;line-height:1.2!important;color:#333}
.plus-lab{font-size:.68rem!important;color:#666!important;line-height:1.2!important}

/*lz-wx-voice-toggle*/
.composer-main.voice-mode #composer-input{display:none!important}
.composer-main.voice-mode #tool-voice{display:block!important;visibility:visible!important}
.wx-hold-speak{flex:1 1 auto!important;min-width:0!important;height:40px!important;border:0!important;border-radius:6px!important;background:#fff!important;color:#111!important;font-size:.95rem!important;font-weight:600!important;box-shadow:inset 0 0 0 1px #e5e5e5;letter-spacing:.04em}
.wx-hold-speak:active{background:#e9e9e9!important}
#tool-voice-mode{-webkit-tap-highlight-color:transparent;touch-action:manipulation}

/*lz-msg-links*/
.messages .msg-link{color:#576b95!important;text-decoration:none!important;word-break:break-all}
.messages .msg-link:active{opacity:.75}
.messages .row.mine .msg-link{color:#576b95!important}

/*lz-screenshot*/
.nudge-line.screenshot-line,.msg-screenshot{color:#888!important;font-size:.78rem!important;text-align:center}

/*lz-at-mention*/
.msg-at{color:#576b95!important;font-weight:600}
.lz-at-panel{position:absolute;left:8px;right:8px;bottom:100%;max-height:220px;overflow:auto;background:#fff;border:1px solid #e5e5e5;border-radius:10px;box-shadow:0 6px 20px rgba(0,0,0,.12);z-index:30;margin-bottom:6px;padding:4px 0}
.lz-at-panel[hidden]{display:none!important}
.lz-at-item{-webkit-appearance:none;appearance:none;width:100%;border:0;background:transparent;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:10px 14px;text-align:left;cursor:pointer;font:inherit}
.lz-at-item:active,.lz-at-item:hover{background:#f5f5f5}
.lz-at-name{color:#111;font-size:.95rem}
.lz-at-sub{color:#999;font-size:.72rem}
.lz-at-empty{padding:12px;color:#999;font-size:.85rem;text-align:center}
.wx-composer{position:relative!important}
#tool-at{font-weight:700;font-size:1.15rem!important;color:#111!important}

/*lz-msg-quote*/
.messages .bubble-wrap .actions [data-quote]{font-size:12px;padding:2px 8px;border:1px solid #e0e0e0;border-radius:4px;background:#fff;color:#576b95;cursor:pointer}
.msg-quote{-webkit-appearance:none;appearance:none;display:block;width:100%;border:0;border-left:3px solid rgba(0,0,0,.15);background:rgba(0,0,0,.04);border-radius:4px;padding:6px 8px;margin:0 0 6px;text-align:left;cursor:pointer;font:inherit;color:inherit;box-sizing:border-box}
.row.mine .msg-quote{background:rgba(0,0,0,.06);border-left-color:rgba(0,0,0,.2)}
.msg-quote-name{display:block;font-size:.72rem;color:#576b95;margin-bottom:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.msg-quote-text{display:block;font-size:.78rem;color:#888;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}
.lz-quote-bar{display:flex;align-items:center;gap:8px;margin:0 8px 6px;padding:8px 10px;background:#f7f7f7;border-left:3px solid #07c160;border-radius:6px}
.lz-quote-bar-body{flex:1;min-width:0}
.lz-quote-bar-name{font-size:.75rem;color:#07c160;margin-bottom:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.lz-quote-bar-text{font-size:.8rem;color:#666;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.lz-quote-bar-close{-webkit-appearance:none;appearance:none;border:0;background:transparent;color:#999;font-size:1.2rem;line-height:1;padding:4px 6px;cursor:pointer}
.row.lz-quote-flash .bubble{outline:2px solid #07c160;outline-offset:2px}

/*lz-video-preview*/
.msg-video-btn{-webkit-appearance:none;appearance:none;position:relative;display:block;padding:0;border:0;background:#111;border-radius:8px;overflow:hidden;cursor:pointer;width:120px;height:160px;max-width:38vw;max-height:28vh}
.msg-video-thumb,.msg-video-btn .msg-video{width:100%!important;height:100%!important;max-width:none!important;max-height:none!important;object-fit:cover;display:block;pointer-events:none;background:#111;border-radius:0}
.msg-video-play{position:absolute;left:50%;top:50%;width:44px;height:44px;margin:-22px 0 0 -22px;border-radius:50%;background:rgba(0,0,0,.45);box-shadow:0 0 0 2px rgba(255,255,255,.85);pointer-events:none}
.msg-video-play:after{content:"";position:absolute;left:17px;top:13px;border-style:solid;border-width:9px 0 9px 14px;border-color:transparent transparent transparent #fff}
.video-preview-backdrop{background:rgba(0,0,0,.92)!important;z-index:12000!important}
.video-preview-wrap{position:relative;width:100%;height:100%;display:flex;align-items:center;justify-content:center;padding:48px 12px 24px;box-sizing:border-box}
.video-preview-full{width:min(100%,920px);max-height:min(86vh,860px);background:#000;border-radius:8px}
.video-preview-wrap .img-preview-close{position:absolute;right:12px;top:12px;z-index:2}


/*lz-voice-call*/
#btn-voice-call{font-size:1.05rem!important;min-width:36px}
.msg-call{color:#576b95;font-size:.9rem}
.call-line{text-align:center;margin:8px 0}
.lz-call-overlay{position:fixed;inset:0;z-index:13000;background:rgba(10,18,28,.72);display:flex;align-items:center;justify-content:center;padding:24px}
.lz-call-overlay[hidden]{display:none!important}
.lz-call-card{width:min(340px,92vw);background:linear-gradient(160deg,#1f2a36,#121820);border-radius:18px;padding:28px 22px 22px;box-shadow:0 18px 50px rgba(0,0,0,.35);color:#fff;text-align:center}
.lz-call-avatar{width:76px;height:76px;margin:0 auto 14px;border-radius:50%;background:#2b3b4c;display:grid;place-items:center;font-size:2rem}
.lz-call-overlay.connecting .lz-call-avatar{animation:lz-call-pulse 1.4s ease-in-out infinite}
@keyframes lz-call-pulse{0%,100%{transform:scale(1);opacity:1}50%{transform:scale(1.06);opacity:.85}}
.lz-call-name{font-size:1.2rem;font-weight:600;margin-bottom:6px}
.lz-call-status{color:#aeb8c4;font-size:.92rem;min-height:1.4em;margin-bottom:22px}
.lz-call-actions{display:flex;gap:10px;justify-content:center;flex-wrap:wrap}
.lz-call-btn{-webkit-appearance:none;appearance:none;border:0;border-radius:999px;min-width:88px;padding:12px 16px;font:inherit;font-weight:600;cursor:pointer;color:#fff}
.lz-call-btn.accept{background:#07c160}
.lz-call-btn.reject{background:#e64545}
.lz-call-btn.mute,.lz-call-btn.speaker{background:#3a4a5b}
#lz-call-remote{position:fixed;left:0;bottom:0;width:1px;height:1px;opacity:0.01;z-index:-1}

.msg-read{font-size:11px;color:#b2b2b2;text-align:right;margin-top:2px;padding-right:2px;line-height:1.2;user-select:none}
.row.mine .msg-read{color:#8aaa7a}
