.toast-stack{position:fixed;bottom:calc(72px + env(safe-area-inset-bottom,0px));left:50%;transform:translate(-50%);z-index:9000;display:flex;flex-direction:column;align-items:center;gap:8px;pointer-events:none;width:max-content;max-width:calc(100vw - 32px)}.toast{display:flex;align-items:center;gap:8px;padding:10px 16px;border-radius:22px;font-size:14px;font-weight:500;line-height:1.35;color:#fff;white-space:nowrap;max-width:320px;overflow:hidden;text-overflow:ellipsis;box-shadow:0 4px 20px #00000073,0 1px #ffffff0f inset;animation:toast-in .28s cubic-bezier(.34,1.56,.64,1) both}.toast--exit{animation:toast-out .28s ease-in both}.toast--success{background:#1c3d23;border:1px solid rgba(52,199,89,.35)}.toast--error{background:#3d1c1c;border:1px solid rgba(255,59,48,.35)}.toast--info{background:#1c2a3d;border:1px solid rgba(0,122,255,.35)}.toast--success .toast__icon{color:#34c759}.toast--error .toast__icon{color:#ff3b30}.toast--info .toast__icon{color:#007aff}.toast__icon{display:flex;align-items:center;flex-shrink:0}.toast__msg{color:#ffffffeb;overflow:hidden;text-overflow:ellipsis}@keyframes toast-in{0%{opacity:0;transform:translateY(12px) scale(.92)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes toast-out{0%{opacity:1;transform:translateY(0) scale(1)}to{opacity:0;transform:translateY(8px) scale(.95)}}@media (min-width: 1024px){.toast-stack{bottom:32px}}.login-page{min-height:100dvh;min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#000;padding:0 32px;position:relative}.login-logo{font-size:80px;font-weight:900;color:#cc1a1a;line-height:1;letter-spacing:-4px;margin-bottom:48px;font-style:italic;-webkit-user-select:none;user-select:none}.login-form{width:100%;max-width:360px;display:flex;flex-direction:column;gap:12px}.login-tab{display:flex;background:#1c1c1e;border-radius:10px;padding:3px;margin-bottom:4px}.login-tab__btn{flex:1;border:none;border-radius:8px;background:transparent;color:#666;font-size:13px;font-weight:500;padding:8px 0;cursor:pointer;transition:background .2s,color .2s}.login-tab__btn--active{background:#2c2c2e;color:#fff}.login-input{width:100%;height:52px;padding:0 16px;background:#1c1c1e;border:none;border-radius:12px;color:#fff;font-size:15px;outline:none;-webkit-appearance:none;-moz-appearance:none;appearance:none;transition:background .15s}.login-input::placeholder{color:#555}.login-input:focus{background:#242426}.login-error{color:#f44;font-size:13px;margin:0;line-height:1.4;text-align:center}.login-appkey-warn{width:100%;max-width:360px;background:#2a1a00;border:1px solid #6a3800;border-radius:10px;color:#fa3;font-size:12px;line-height:1.6;padding:10px 14px;margin-bottom:4px}.login-btn{width:100%;height:52px;border:none;border-radius:14px;background:#cc1a1a;color:#fff;font-size:17px;font-weight:700;cursor:pointer;margin-top:8px;letter-spacing:.04em;transition:background .15s,opacity .15s}.login-btn:hover:not(:disabled){background:#e62e2e}.login-btn:active:not(:disabled){background:#b51515}.login-btn:disabled{opacity:.4;cursor:not-allowed}.login-bottom-dev{position:absolute;left:0;right:0;bottom:26px;display:flex;justify-content:center;pointer-events:auto}.login-dev-mode{background:transparent;border:1px solid #2c2c2e;color:#777;font-size:12px;padding:8px 14px;border-radius:999px;cursor:pointer;transition:background .15s,border-color .15s,color .15s}.login-dev-mode:hover{background:#1c1c1e;border-color:#cc1a1a;color:#fff}.bottom-sheet-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:1000;display:flex;align-items:flex-end;justify-content:center;animation:fadeIn .2s ease-out}.bottom-sheet-content{width:100%;max-width:480px;background:#1c1c1e;border-radius:20px 20px 0 0;animation:slideUp .25s ease-out;overflow:hidden}@keyframes slideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}.bottom-sheet-header{padding:16px 20px;text-align:center;font-size:13px;color:#888;border-bottom:.5px solid #2a2a2e}.bottom-sheet-body{padding:8px 0}.bottom-sheet-item{display:flex;align-items:center;padding:16px 20px;gap:16px;cursor:pointer;transition:background .15s;border:none;background:none;width:100%;text-align:left;font-size:16px;color:#ececf1}.bottom-sheet-item:hover{background:#2a2a2e}.bottom-sheet-item:active{background:#3a3a3e}.bottom-sheet-icon{width:32px;height:32px;border-radius:8px;background:#2a2a2e;display:flex;align-items:center;justify-content:center;flex-shrink:0}.bottom-sheet-icon svg{width:18px;height:18px;color:#0a84ff}.bottom-sheet-text{flex:1;font-size:16px;font-weight:500}.bottom-sheet-divider{height:8px;background:#0d0d0f}.bottom-sheet-cancel{width:100%;padding:16px 20px;font-size:16px;font-weight:600;color:#0a84ff;background:#1c1c1e;border:none;border-top:.5px solid #2a2a2e;cursor:pointer;transition:background .15s}.bottom-sheet-cancel:hover{background:#2a2a2e}.bottom-sheet-cancel:active{background:#3a3a3e}.bottom-sheet-subtitle{padding:8px 20px 4px;font-size:12px;color:#666;text-transform:uppercase;letter-spacing:.5px}.add-contact-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;display:flex;align-items:center;justify-content:center;z-index:1000;background:#00000080;animation:fadeIn .2s ease-in-out}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.add-contact-modal{background:var(--color-modal-bg);border-radius:12px;width:90%;max-width:460px;box-shadow:0 20px 60px #0000004d;display:flex;flex-direction:column;animation:slideUp .3s cubic-bezier(.34,1.56,.64,1)}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.add-contact-modal__header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border-bottom:1px solid var(--color-modal-border)}.add-contact-modal__title{margin:0;font-size:18px;font-weight:600;color:var(--color-modal-title);letter-spacing:.5px}.add-contact-modal__close{background:none;border:none;padding:4px;cursor:pointer;color:var(--color-modal-icon);display:flex;align-items:center;justify-content:center;transition:color .2s}.add-contact-modal__close:hover{color:var(--color-modal-icon-hover)}.add-contact-modal__content{padding:24px;flex:1}.add-contact-modal__label{display:block;margin-bottom:12px;font-size:14px;font-weight:500;color:var(--color-modal-label)}.add-contact-modal__input{width:100%;padding:12px 16px;border:1px solid var(--color-modal-input-border);border-radius:8px;background:var(--color-modal-input-bg);color:var(--color-modal-input-text);font-size:14px;transition:border-color .2s,box-shadow .2s;box-sizing:border-box}.add-contact-modal__input::placeholder{color:var(--color-modal-input-placeholder)}.add-contact-modal__input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #cc1a1a1a}.add-contact-modal__error{margin-top:12px;padding:10px 12px;background:#e06a6a1a;border-radius:6px;color:#e06a6a;font-size:13px;animation:slideDown .2s ease-out}.add-contact-modal__success{margin-top:12px;padding:10px 12px;background:#22c55e1a;border-radius:6px;color:#22c55e;font-size:13px;animation:slideDown .2s ease-out}@keyframes slideDown{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.add-contact-modal__footer{display:flex;gap:12px;padding:20px 24px;border-top:1px solid var(--color-modal-border)}.add-contact-modal__btn{flex:1;padding:12px 20px;border-radius:8px;border:1px solid transparent;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s;letter-spacing:.5px}.add-contact-modal__btn--cancel{background:var(--color-modal-btn-cancel-bg);color:var(--color-modal-btn-cancel-text);border-color:var(--color-modal-btn-cancel-border)}.add-contact-modal__btn--cancel:hover{background:var(--color-modal-btn-cancel-bg-hover);border-color:var(--color-modal-btn-cancel-border-hover)}.add-contact-modal__btn--primary{background:#cc1a1a;color:#fff;border-color:#cc1a1a}.add-contact-modal__btn--primary:hover:not(:disabled){background:#b31515;border-color:#b31515;box-shadow:0 4px 12px #cc1a1a4d}.add-contact-modal__btn--primary:active:not(:disabled){background:#9d1111}.add-contact-modal__btn:disabled{opacity:.5;cursor:not-allowed}:root,:root[data-theme=dark]{--color-modal-bg: #1a1a20;--color-modal-border: #2a2a32;--color-modal-title: #ececf1;--color-modal-label: #b3b3b3;--color-modal-icon: #9898a6;--color-modal-icon-hover: #ececf1;--color-modal-input-bg: #2a2a32;--color-modal-input-border: #3a3a42;--color-modal-input-text: #ececf1;--color-modal-input-placeholder: #666666;--color-modal-btn-cancel-bg: transparent;--color-modal-btn-cancel-text: #9898a6;--color-modal-btn-cancel-border: #3a3a42;--color-modal-btn-cancel-bg-hover: #2a2a32;--color-modal-btn-cancel-border-hover: #5a5a62}:root[data-theme=light]{--color-modal-bg: #ffffff;--color-modal-border: #e0e0e0;--color-modal-title: #1a1a1a;--color-modal-label: #333333;--color-modal-icon: #666666;--color-modal-icon-hover: #1a1a1a;--color-modal-input-bg: #f8f8f8;--color-modal-input-border: #ddd;--color-modal-input-text: #1a1a1a;--color-modal-input-placeholder: #999999;--color-modal-btn-cancel-bg: transparent;--color-modal-btn-cancel-text: #666666;--color-modal-btn-cancel-border: #ddd;--color-modal-btn-cancel-bg-hover: #f5f5f5;--color-modal-btn-cancel-border-hover: #999999}@media (max-width: 480px){.add-contact-modal{width:95%;max-width:100%;border-radius:8px}.add-contact-modal__header{padding:16px 20px}.add-contact-modal__content{padding:20px}.add-contact-modal__footer{padding:16px 20px;gap:10px}.add-contact-modal__btn{padding:11px 16px;font-size:13px}.add-contact-modal__title{font-size:16px}}.conv-page{display:flex;flex-direction:column;min-height:100%;background:#0d0d0f}.conv-nav{display:flex;align-items:center;padding:12px 16px;gap:12px;position:sticky;top:0;z-index:20;background:#0d0d0f}.conv-nav__avatar{position:relative;flex-shrink:0}.conv-nav__avatar-img{width:38px;height:38px;border-radius:50%;background:#2a2a2e;display:flex;align-items:center;justify-content:center;font-size:16px;font-weight:700;color:#fff;overflow:hidden}.conv-nav__online{position:absolute;bottom:1px;right:1px;width:9px;height:9px;background:#22c55e;border-radius:50%;border:1.5px solid #0d0d0f}.conv-nav__title{flex:1;text-align:center;font-size:17px;font-weight:700;color:#ececf1;margin:0}.conv-nav__menu{width:38px;height:38px;border:none;background:transparent;display:flex;align-items:center;justify-content:center;cursor:pointer;flex-shrink:0;color:#ececf1;padding:0}.conv-search{padding:6px 16px 10px}.conv-search__input{width:100%;height:36px;background:#1c1c1e;border:none;border-radius:10px;color:#ececf1;font-size:15px;padding:0 14px;outline:none;display:flex;align-items:center;-webkit-appearance:none;-moz-appearance:none;appearance:none}.conv-search__input::placeholder{color:#555}.conv-search__wrap{position:relative;display:flex;align-items:center}.conv-search__icon{position:absolute;left:12px;color:#555;pointer-events:none;display:flex;align-items:center}.conv-search__wrap .conv-search__input{padding-left:34px}.conv-section-label{font-size:12px;color:#555;padding:8px 16px 4px;font-weight:500;letter-spacing:.04em}.conv-expand-btn{width:100%;border:none;background:transparent;color:#cc1a1a;font-size:13px;font-weight:500;padding:10px 16px;text-align:left;cursor:pointer;display:flex;align-items:center;gap:6px}.conv-expand-btn:active{opacity:.7}.conv-item-v2{display:flex;align-items:center;padding:10px 16px 10px 20px;gap:12px;position:relative;background:#0d0d0f;border:none;width:100%;text-align:left;cursor:pointer;border-bottom:1px solid #18181a;-webkit-tap-highlight-color:transparent}.conv-item-v2:active{background:#131315}.conv-item__menu{width:32px;height:32px;border:none;background:transparent;color:#666;display:flex;align-items:center;justify-content:center;cursor:pointer;flex-shrink:0;padding:0;margin-left:auto;border-radius:6px}.conv-item__menu:hover{background:#ffffff0d;color:#999}.conv-item__menu:active{background:#ffffff1a}.conv-item-v2--unread:before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);height:36px;width:3px;background:#cc1a1a;border-radius:0 3px 3px 0}.conv-avatar{width:56px;height:56px;border-radius:50%;flex-shrink:0;display:flex;align-items:center;justify-content:center;font-size:22px;font-weight:700;color:#fff;overflow:hidden;position:relative}.conv-avatar--group{border-radius:14px;font-size:18px}.conv-avatar__img{width:100%;height:100%;object-fit:cover;border-radius:inherit}.conv-content{flex:1;min-width:0;display:flex;flex-direction:column;gap:5px}.conv-content__top{display:flex;align-items:center;justify-content:space-between;gap:8px}.conv-content__name{font-size:16px;font-weight:600;color:#ececf1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;display:flex;align-items:center;gap:5px}.conv-content__mute{font-size:13px;color:#555;flex-shrink:0}.conv-content__time{font-size:12px;color:#555;flex-shrink:0;white-space:nowrap}.conv-content__time--today{color:#cc1a1a}.conv-content__bottom{display:flex;align-items:center;justify-content:space-between;gap:8px}.conv-content__preview{font-size:13px;color:#666;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0}.conv-content__preview-at{color:#cc1a1a;font-weight:500}.conv-badge{background:#cc1a1a;color:#fff;font-size:11px;font-weight:700;padding:2px 6px;border-radius:10px;min-width:20px;text-align:center;flex-shrink:0}.conv-badge--dot{width:8px;height:8px;min-width:8px;padding:0;border-radius:50%}.tab-bar-v2{position:fixed;bottom:0;left:0;right:0;display:flex;background:#0d0d0f;border-top:1px solid #1a1a1c;z-index:100;padding-bottom:env(safe-area-inset-bottom,0px)}.tab-bar-v2__item{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;padding:10px 0 8px;color:#444;text-decoration:none;font-size:10px;font-weight:500;position:relative}.tab-bar-v2__item--active{color:#cc1a1a}.tab-bar-v2__icon-wrap{position:relative;display:flex;align-items:center;justify-content:center}.tab-bar-v2__dot{position:absolute;top:-3px;right:-6px;background:#cc1a1a;color:#fff;font-size:10px;font-weight:700;padding:1px 5px;border-radius:8px;min-width:16px;text-align:center;line-height:1.4}.conv-error-box{margin:12px 16px;background:#1a0e0e;border:1px solid #3a1a1a;border-radius:10px;padding:12px 14px;display:flex;flex-direction:column;gap:10px}.conv-error-msg{color:#e06060;font-size:13px;line-height:1.5;margin:0}.conv-retry-btn{align-self:flex-start;border:1px solid #cc1a1a;border-radius:8px;background:transparent;color:#cc1a1a;font-size:13px;font-weight:500;padding:6px 16px;cursor:pointer}.conv-retry-btn:active{opacity:.7}.start-chat-sheet{display:flex;flex-direction:column;max-height:min(72vh,560px)}.start-chat-sheet__search{padding:10px 12px 8px}.start-chat-sheet__input{width:100%;height:36px;background:#141416;border:1px solid #2a2a2e;border-radius:10px;color:#ececf1;font-size:14px;padding:0 12px;outline:none}.start-chat-sheet__input::placeholder{color:#666}.start-chat-sheet__list{overflow-y:auto;padding-bottom:8px}.start-chat-sheet__friend{width:100%;border:none;background:transparent;color:inherit;text-align:left;display:flex;align-items:center;gap:10px;padding:10px 14px;cursor:pointer}.start-chat-sheet__friend:active{background:#2a2a2e}.start-chat-sheet__friend--picked{background:#1a1a1f}.start-chat-sheet__avatar{width:38px;height:38px;border-radius:50%;color:#fff;font-size:15px;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0}.start-chat-sheet__meta{min-width:0;display:flex;flex-direction:column;gap:2px}.start-chat-sheet__name{color:#ececf1;font-size:15px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.start-chat-sheet__id{color:#777;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.start-chat-sheet__pick{margin-left:auto;color:#cc1a1a;font-size:12px;font-weight:600;border:1px solid #cc1a1a;border-radius:999px;padding:2px 8px;flex-shrink:0}.start-chat-sheet__empty{color:#777;font-size:13px;text-align:center;padding:22px 12px 18px}.create-group-sheet__footer{border-top:1px solid #2a2a2e;padding:10px 12px 12px}.create-group-sheet__tips{color:#777;font-size:12px;margin-bottom:8px}.create-group-sheet__error{color:#e06060;font-size:12px;margin-bottom:8px}.create-group-sheet__submit{width:100%;height:36px;border:none;border-radius:10px;background:#cc1a1a;color:#fff;font-size:14px;font-weight:600;cursor:pointer}.create-group-sheet__submit:disabled{opacity:.6;cursor:not-allowed}.conv-item-context-menu{position:fixed;z-index:10000;background:#2c2c2e;border-radius:12px;box-shadow:0 8px 24px #0006;overflow:hidden;min-width:140px;animation:conv-menu-appear .15s ease-out}@keyframes conv-menu-appear{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.conv-item-context-menu__item{width:100%;padding:12px 16px;border:none;background:transparent;color:#ececf1;font-size:14px;cursor:pointer;display:flex;align-items:center;gap:10px;transition:background .15s;text-align:left}.conv-item-context-menu__item:hover{background:#ffffff14}.conv-item-context-menu__item:active{background:#ffffff1f}.conv-item-context-menu__item--danger{color:#ff3b30}.conv-item-context-menu__item--danger:hover{background:#ff3b301a}.conv-item-context-menu__item--danger:active{background:#ff3b3026}.pc-sidebar{display:flex;flex-direction:column;align-items:center;width:64px;flex-shrink:0;background:var(--color-sidebar-bg);padding:16px 0 12px;gap:0;border-right:1px solid var(--color-sidebar-border)}.pc-sidebar__avatar-btn{position:relative;width:44px;height:44px;margin-bottom:20px;background:none;border:none;padding:0;cursor:pointer;border-radius:50%;flex-shrink:0}.pc-sidebar__avatar{width:44px;height:44px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;color:#fff;font-size:18px;transition:transform .15s;overflow:hidden}.pc-sidebar__avatar-img{width:100%;height:100%;object-fit:cover}.pc-sidebar__avatar-btn:hover .pc-sidebar__avatar{transform:scale(1.06)}.pc-sidebar__online-dot{position:absolute;bottom:1px;right:1px;width:11px;height:11px;background:#34c759;border:2px solid var(--color-sidebar-bg);border-radius:50%}.pc-sidebar__nav{display:flex;flex-direction:column;align-items:center;gap:4px;flex:1}.pc-sidebar__nav-btn{width:44px;height:44px;border-radius:10px;border:none;background:transparent;color:var(--color-sidebar-icon);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .15s,color .15s}.pc-sidebar__nav-btn:hover{background:var(--color-sidebar-hover);color:var(--color-sidebar-icon-active)}.pc-sidebar__nav-btn--active{color:var(--color-sidebar-icon-active);background:#cc1a1a40}.pc-sidebar__nav-btn--active:hover{background:#cc1a1a59}.pc-sidebar__nav-btn svg{width:22px;height:22px}.pc-sidebar__footer{display:flex;flex-direction:column;align-items:center;gap:4px;padding-top:8px;border-top:1px solid var(--color-sidebar-border);width:100%;padding-left:0}.pc-layout{display:flex;flex-direction:row;height:100vh;overflow:hidden;background:var(--color-bg);color:var(--color-text)}.pc-layout__list{width:260px;flex-shrink:0;border-right:1px solid var(--color-border);overflow:hidden;display:flex;flex-direction:column;background:var(--color-bg-secondary)}.pc-layout__content{flex:1;min-width:0;display:flex;flex-direction:column;background:var(--color-bg);overflow:hidden}.pc-layout__right-panel{width:320px;flex-shrink:0;border-left:1px solid var(--color-border);overflow:hidden;display:flex;flex-direction:column;background:var(--color-bg);box-shadow:-2px 0 8px #00000014;animation:slideInRight .3s ease-out}@keyframes slideInRight{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}.pc-layout__empty{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;gap:12px;color:var(--color-text-muted)}.pc-layout__empty-icon{font-size:48px;opacity:.3}.pc-layout__empty p{font-size:14px;margin:0}:root{transition:background-color .25s,color .25s}.pc-layout__content .chat-room{display:flex;flex-direction:column;height:100%;overflow:hidden}.pc-layout__content .chat-room__body{flex:1;min-height:0;display:flex;flex-direction:column;overflow:hidden}.pc-layout__content .chat-room__footer{flex-shrink:0;min-height:60px;display:flex;align-items:flex-end}@media (max-width: 1600px){.pc-layout__right-panel{width:280px}}@media (max-width: 1400px){.pc-layout__right-panel{display:none}.pc-layout__content{flex:1}}@media (max-width: 1024px){.pc-layout{flex-direction:column}.pc-layout__list{width:100%;height:40%;border-right:none;border-bottom:1px solid var(--color-border)}.pc-layout__content{height:60%;flex:1}}.group-members-modal{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);width:90%;max-width:400px;height:60vh;background:#1c1c1e;border-radius:16px;box-shadow:0 20px 60px #00000080;z-index:10001;display:flex;flex-direction:column;animation:modal-appear .2s ease-out}@keyframes modal-appear{0%{opacity:0;transform:translate(-50%,-48%)}to{opacity:1;transform:translate(-50%,-50%)}}.group-members-modal__header{display:flex;align-items:center;justify-content:space-between;padding:20px;border-bottom:1px solid #2a2a2e;flex-shrink:0}.group-members-modal__title{font-size:18px;font-weight:600;color:#ececf1;margin:0}.group-members-modal__close{width:32px;height:32px;border:none;background:transparent;color:#666;font-size:28px;cursor:pointer;border-radius:6px;padding:0;display:flex;align-items:center;justify-content:center}.group-members-modal__close:hover{background:#ffffff0d;color:#999}.group-members-modal__content{flex:1;overflow-y:auto;padding:16px}.group-members-modal__list{display:flex;flex-direction:column;gap:12px}.group-members-modal__item{display:flex;align-items:center;gap:12px;padding:12px 16px;background:#2a2a2e;border-radius:10px;transition:background .2s}.group-members-modal__item:hover{background:#3a3a3e}.group-members-modal__member-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px}.group-members-modal__member-name{font-size:14px;font-weight:500;color:#ececf1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.group-members-modal__member-id{font-size:12px;color:#666;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.group-members-modal__empty,.group-members-modal__error{display:flex;align-items:center;justify-content:center;height:200px;font-size:14px;color:#666}.group-members-modal__error{color:#ff3b30}.group-members-modal__content::-webkit-scrollbar{width:6px}.group-members-modal__content::-webkit-scrollbar-track{background:transparent}.group-members-modal__content::-webkit-scrollbar-thumb{background:#3a3a3c;border-radius:3px}.group-members-modal__content::-webkit-scrollbar-thumb:hover{background:#555}.confirm-dialog__overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;z-index:10000;display:flex;align-items:center;justify-content:center;animation:fade-in .2s ease-out}.confirm-dialog{background:#1c1c1e;border-radius:16px;box-shadow:0 20px 60px #00000080;width:90%;max-width:360px;animation:dialog-appear .2s ease-out}@keyframes dialog-appear{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.confirm-dialog__header{padding:20px;border-bottom:1px solid #2a2a2e}.confirm-dialog__title{font-size:17px;font-weight:600;color:#ececf1;margin:0}.confirm-dialog__content{padding:20px}.confirm-dialog__message{font-size:14px;color:#999;line-height:1.5;margin:0}.confirm-dialog__actions{display:flex;gap:12px;padding:16px;border-top:1px solid #2a2a2e}.confirm-dialog__btn{flex:1;padding:10px 16px;border:none;border-radius:10px;font-size:14px;font-weight:500;cursor:pointer;transition:background .2s}.confirm-dialog__btn--cancel{background:transparent;color:#999;border:1px solid #3a3a3c}.confirm-dialog__btn--cancel:hover{background:#ffffff0d}.confirm-dialog__btn--confirm{background:#d4746f;color:#fff}.confirm-dialog__btn--confirm:hover{background:#c2547d}.confirm-dialog__btn--danger{background:#ff3b30}.confirm-dialog__btn--danger:hover{background:#ff1744}.confirm-dialog__btn:disabled{opacity:.6;cursor:not-allowed}.edit-group-modal__overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;z-index:10001;display:flex;align-items:center;justify-content:center}.edit-group-modal{background:#1c1c1e;border-radius:16px;box-shadow:0 20px 60px #00000080;width:90%;max-width:400px;animation:modal-appear .2s ease-out}.edit-group-modal__header{display:flex;align-items:center;justify-content:space-between;padding:20px;border-bottom:1px solid #2a2a2e}.edit-group-modal__title{font-size:18px;font-weight:600;color:#ececf1;margin:0}.edit-group-modal__close{width:32px;height:32px;border:none;background:transparent;color:#666;font-size:28px;cursor:pointer;border-radius:6px;padding:0;display:flex;align-items:center;justify-content:center}.edit-group-modal__close:hover{background:#ffffff0d}.edit-group-modal__close:disabled{opacity:.5;cursor:not-allowed}.edit-group-modal__content{padding:20px}.edit-group-modal__label{display:block;font-size:14px;font-weight:500;color:#ececf1;margin-bottom:8px}.edit-group-modal__input{width:100%;padding:12px 14px;background:#2a2a2e;border:1px solid #3a3a3c;border-radius:10px;color:#ececf1;font-size:14px;outline:none;transition:border-color .2s}.edit-group-modal__input:focus{border-color:#d4746f}.edit-group-modal__input:disabled{opacity:.5;cursor:not-allowed}.edit-group-modal__error{font-size:12px;color:#ff3b30;margin-top:8px}.edit-group-modal__actions{display:flex;gap:12px;padding:16px 20px;border-top:1px solid #2a2a2e}.edit-group-modal__btn{flex:1;padding:10px 16px;border:none;border-radius:10px;font-size:14px;font-weight:500;cursor:pointer;transition:background .2s}.edit-group-modal__btn--cancel{background:transparent;color:#999;border:1px solid #3a3a3c}.edit-group-modal__btn--cancel:hover{background:#ffffff0d}.edit-group-modal__btn--confirm{background:#d4746f;color:#fff}.edit-group-modal__btn--confirm:hover{background:#c2547d}.edit-group-modal__btn:disabled{opacity:.6;cursor:not-allowed}.transfer-owner-modal__overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;z-index:10001;display:flex;align-items:center;justify-content:center}.transfer-owner-modal{background:#1c1c1e;border-radius:16px;box-shadow:0 20px 60px #00000080;width:90%;max-width:420px;max-height:70vh;display:flex;flex-direction:column;animation:modal-appear .2s ease-out}@keyframes modal-appear{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.transfer-owner-modal__header{display:flex;align-items:center;justify-content:space-between;padding:20px;border-bottom:1px solid #2a2a2e;flex-shrink:0}.transfer-owner-modal__title{font-size:18px;font-weight:600;color:#ececf1;margin:0}.transfer-owner-modal__close{width:32px;height:32px;border:none;background:transparent;color:#666;font-size:28px;cursor:pointer;border-radius:6px;padding:0;display:flex;align-items:center;justify-content:center}.transfer-owner-modal__close:hover{background:#ffffff0d}.transfer-owner-modal__close:disabled{opacity:.5;cursor:not-allowed}.transfer-owner-modal__content{flex:1;overflow-y:auto;padding:20px}.transfer-owner-modal__hint{font-size:14px;color:#999;margin:0 0 16px}.transfer-owner-modal__list{display:flex;flex-direction:column;gap:8px}.transfer-owner-modal__option{display:flex;align-items:center;gap:12px;padding:12px 16px;background:#2a2a2e;border-radius:10px;cursor:pointer;transition:background .2s}.transfer-owner-modal__option:hover{background:#3a3a3e}.transfer-owner-modal__option--selected{background:#d4746f26;border:1px solid #d4746f}.transfer-owner-modal__option input[type=radio]{width:18px;height:18px;cursor:pointer;accent-color:#d4746f;flex-shrink:0}.transfer-owner-modal__member-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px}.transfer-owner-modal__member-name{font-size:14px;font-weight:500;color:#ececf1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.transfer-owner-modal__member-id{font-size:12px;color:#666;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.transfer-owner-modal__loading,.transfer-owner-modal__empty,.transfer-owner-modal__error{display:flex;align-items:center;justify-content:center;height:200px;font-size:14px;color:#666}.transfer-owner-modal__error{color:#ff3b30}.transfer-owner-modal__actions{display:flex;gap:12px;padding:16px 20px;border-top:1px solid #2a2a2e;flex-shrink:0}.transfer-owner-modal__btn{flex:1;padding:10px 16px;border:none;border-radius:10px;font-size:14px;font-weight:500;cursor:pointer;transition:background .2s}.transfer-owner-modal__btn--cancel{background:transparent;color:#999;border:1px solid #3a3a3c}.transfer-owner-modal__btn--cancel:hover{background:#ffffff0d}.transfer-owner-modal__btn--confirm{background:#d4746f;color:#fff}.transfer-owner-modal__btn--confirm:hover{background:#c2547d}.transfer-owner-modal__btn:disabled{opacity:.6;cursor:not-allowed}.transfer-owner-modal__content::-webkit-scrollbar{width:6px}.transfer-owner-modal__content::-webkit-scrollbar-track{background:transparent}.transfer-owner-modal__content::-webkit-scrollbar-thumb{background:#3a3a3c;border-radius:3px}.transfer-owner-modal__content::-webkit-scrollbar-thumb:hover{background:#555}:root{--ucm-bg: #1c1c1e;--ucm-border: rgba(255, 255, 255, .08);--ucm-text-primary: #ececf1;--ucm-text-secondary: #9898a6;--ucm-item-border: #2a2a32;--ucm-item-hover: rgba(255, 255, 255, .05);--ucm-toggle-off: #e0e0e0;--ucm-toggle-on: #34c759;--ucm-danger: #cc1a1a}@media (prefers-color-scheme: light){:root{--ucm-bg: #ffffff;--ucm-border: #f0f0f0;--ucm-text-primary: #333333;--ucm-text-secondary: #999999;--ucm-item-border: #f0f0f0;--ucm-item-hover: rgba(0, 0, 0, .02);--ucm-toggle-off: #e0e0e0;--ucm-toggle-on: #34c759;--ucm-danger: #cc1a1a}}.user-contact-menu__overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000008c;z-index:1400;display:flex;align-items:center;justify-content:center;animation:ucm-overlay-in .22s ease both}.user-contact-menu{position:relative;width:min(360px,calc(100vw - 48px));background:var(--ucm-bg);border-radius:18px;box-shadow:0 24px 64px #000000b3;border:1px solid var(--ucm-border);animation:ucm-dialog-in .22s cubic-bezier(.34,1.56,.64,1) both;display:flex;flex-direction:column;max-height:80vh;overflow:hidden}.user-contact-menu__close{position:absolute;top:16px;right:16px;width:32px;height:32px;background:transparent;border:none;color:var(--ucm-text-primary);font-size:24px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:color .2s ease;z-index:10}.user-contact-menu__close:hover{color:var(--ucm-danger)}.user-contact-menu__avatar-section{display:flex;justify-content:center;padding:28px 16px 16px}.user-contact-menu__avatar-section img,.user-contact-menu__avatar-section>div{width:120px;height:120px;border-radius:12px;border:2px solid rgba(52,199,89,.3)}.user-contact-menu__user-info{text-align:center;padding:0 16px 16px;border-bottom:1px solid var(--ucm-item-border)}.user-contact-menu__username{font-size:18px;font-weight:600;color:var(--ucm-text-primary);margin:0 0 8px}.user-contact-menu__userid{font-size:12px;color:var(--ucm-text-secondary);font-family:Monaco,Menlo,Ubuntu Mono,Consolas,source-code-pro,monospace}.user-contact-menu__items{flex:1;overflow-y:auto;display:flex;flex-direction:column}.user-contact-menu__item{display:flex;align-items:center;gap:12px;padding:14px 16px;background:transparent;border:none;border-bottom:1px solid var(--ucm-item-border);cursor:pointer;text-align:left;color:var(--ucm-text-primary);font-size:14px;transition:background .2s ease}.user-contact-menu__item:last-child{border-bottom:none}.user-contact-menu__item:active{background:var(--ucm-item-hover)}.user-contact-menu__item--with-toggle{cursor:default}.user-contact-menu__item--danger{color:var(--ucm-danger)}.user-contact-menu__item-icon{width:20px;height:20px;display:flex;align-items:center;justify-content:center;color:currentColor;flex-shrink:0}.user-contact-menu__item-label{flex:1;color:currentColor}.user-contact-menu__item-arrow{width:20px;height:20px;display:flex;align-items:center;justify-content:center;color:var(--ucm-text-secondary);font-size:16px;flex-shrink:0}.user-contact-menu__toggle{position:relative;display:inline-block;width:44px;height:24px;cursor:pointer;flex-shrink:0}.user-contact-menu__toggle input{display:none}.user-contact-menu__toggle-slider{position:absolute;top:0;left:0;right:0;bottom:0;background:var(--ucm-toggle-off);border-radius:12px;transition:background .3s ease}.user-contact-menu__toggle-slider:before{content:"";position:absolute;width:20px;height:20px;border-radius:50%;background:#fff;top:2px;left:2px;transition:left .3s ease;box-shadow:0 2px 4px #0003}.user-contact-menu__toggle input:checked+.user-contact-menu__toggle-slider{background:var(--ucm-toggle-on)}.user-contact-menu__toggle input:checked+.user-contact-menu__toggle-slider:before{left:22px}.user-contact-menu__items::-webkit-scrollbar{width:6px}.user-contact-menu__items::-webkit-scrollbar-track{background:transparent}.user-contact-menu__items::-webkit-scrollbar-thumb{background:#80808066;border-radius:3px}.user-contact-menu__items::-webkit-scrollbar-thumb:hover{background:#80808099}@keyframes ucm-overlay-in{0%{opacity:0}to{opacity:1}}@keyframes ucm-dialog-in{0%{opacity:0;transform:scale(.9) translateY(8px)}to{opacity:1;transform:scale(1) translateY(0)}}.unified-right-panel{display:flex;flex-direction:column;width:320px;height:100%;background:#fff;border-left:1px solid #f0f0f0;overflow-y:auto}.unified-right-panel__header{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;border-bottom:1px solid #f0f0f0;min-height:56px;flex-shrink:0}.unified-right-panel__close{width:32px;height:32px;border:none;background:transparent;color:#999;font-size:28px;cursor:pointer;display:flex;align-items:center;justify-content:center;border-radius:6px}.unified-right-panel__close:hover{background:#0000000d;color:#666}.unified-right-panel__content{flex:1;overflow-y:auto;padding-bottom:16px}.unified-right-panel--user{display:flex;flex-direction:column;width:320px;height:100%}.unified-right-panel--user .unified-right-panel__header{flex-direction:row;justify-content:space-between}.unified-right-panel--user .unified-right-panel__header span{font-size:15px;font-weight:500;color:#333}.unified-right-panel__info{display:flex;flex-direction:column;gap:18px;padding:24px 16px}.unified-right-panel__item{display:flex;flex-direction:column;gap:8px}.unified-right-panel__label{display:block;font-size:11px;font-weight:500;color:#999;text-transform:uppercase;letter-spacing:.5px}.unified-right-panel__value{display:block;font-size:13px;color:#333;word-break:break-word}.unified-right-panel__value--mono{font-family:Monaco,Courier New,monospace;font-size:12px}.unified-right-panel__avatar-wrap{position:relative;display:flex;justify-content:center;margin-bottom:24px;padding-top:24px}.unified-right-panel__avatar-btn{background:transparent;border:none;cursor:pointer;padding:0;display:flex;transition:opacity .2s ease}.unified-right-panel__avatar-btn:hover{opacity:.8}.unified-right-panel__actions{display:flex;flex-direction:column;gap:10px;padding:16px 16px 0;border-top:1px solid #f0f0f0;margin-top:16px}.unified-right-panel__action-btn{flex:1;padding:11px 14px;border:1px solid #e0e0e0;background:#fff;border-radius:6px;font-size:13px;font-weight:500;color:#333;cursor:pointer;transition:background .2s,border-color .2s}.unified-right-panel__action-btn:hover{background:#f5f5f5;border-color:#d0d0d0}.unified-right-panel__action-btn--primary{background:#d4746f;border-color:#d4746f;color:#fff}.unified-right-panel__action-btn--primary:hover{background:#c2547d;border-color:#c2547d}.unified-right-panel--group{display:flex;flex-direction:column;width:320px;height:100%}.unified-right-panel--group .unified-right-panel__header{justify-content:flex-end}.unified-right-panel__avatar-section{padding:24px 16px;text-align:center;border-bottom:1px solid #f0f0f0}.unified-right-panel--user .unified-right-panel__avatar-section{border-bottom:none}.unified-right-panel--user .unified-right-panel__avatar-wrap{display:flex;justify-content:center;margin-bottom:16px}.unified-right-panel--user .unified-right-panel__name{font-size:16px;font-weight:600;color:#333;margin:0 0 8px}.unified-right-panel--user .unified-right-panel__id{font-size:12px;color:#999;font-family:Monaco,Menlo,Ubuntu Mono,Consolas,source-code-pro,monospace}.unified-right-panel--user .unified-right-panel__section{display:flex;flex-direction:column;padding:16px 0}.unified-right-panel--user .unified-right-panel__section-btn{display:flex;align-items:center;gap:12px;padding:14px 16px;background:transparent;border:none;border-bottom:1px solid #f0f0f0;cursor:pointer;text-align:left;color:#333;font-size:14px;transition:background .2s ease}.unified-right-panel--user .unified-right-panel__section-btn:hover{background:#00000005}.unified-right-panel--user .unified-right-panel__section-btn--toggle{cursor:default}.unified-right-panel--user .unified-right-panel__section-btn--danger{color:#cc1a1a}.unified-right-panel--user .unified-right-panel__section-icon{width:20px;height:20px;display:flex;align-items:center;justify-content:center;color:currentColor;flex-shrink:0}.unified-right-panel--user .unified-right-panel__section-label{flex:1;color:currentColor}.unified-right-panel--user .unified-right-panel__arrow{width:16px;height:16px;color:#999;flex-shrink:0}.unified-right-panel--user .unified-right-panel__toggle{position:relative;display:inline-block;width:44px;height:24px;cursor:pointer;flex-shrink:0}.unified-right-panel--user .unified-right-panel__toggle input{display:none}.unified-right-panel--user .unified-right-panel__toggle-slider{position:absolute;top:0;left:0;right:0;bottom:0;background:#e0e0e0;border-radius:12px;transition:background .3s ease}.unified-right-panel--user .unified-right-panel__toggle-slider:before{content:"";position:absolute;width:20px;height:20px;border-radius:50%;background:#fff;top:2px;left:2px;transition:left .3s ease;box-shadow:0 2px 4px #0003}.unified-right-panel--user .unified-right-panel__toggle input:checked+.unified-right-panel__toggle-slider{background:#34c759}.unified-right-panel--user .unified-right-panel__toggle input:checked+.unified-right-panel__toggle-slider:before{left:22px}.unified-right-panel__avatar{width:120px;height:120px;border-radius:20px;background:linear-gradient(135deg,#d4746f,#c2547d);display:flex;align-items:center;justify-content:center;color:#fff;font-size:48px;flex-shrink:0;border:2px solid #e8e8e8;margin:0 auto 16px}.unified-right-panel__name{font-size:15px;font-weight:600;color:#333;margin:0 0 12px;word-break:break-word}.unified-right-panel__id{display:flex;align-items:center;justify-content:center;gap:8px;font-size:12px;color:#999}.unified-right-panel__copy-btn{width:24px;height:24px;border:none;background:transparent;color:#999;cursor:pointer;display:flex;align-items:center;justify-content:center;border-radius:4px;padding:0;transition:all .2s}.unified-right-panel__copy-btn:hover{background:#0000000d;color:#666}.unified-right-panel__section{padding:12px 16px;border-bottom:1px solid #f0f0f0}.unified-right-panel__section-btn{width:100%;display:flex;align-items:center;gap:12px;padding:12px 16px;background:transparent;border:none;color:#333;font-size:15px;cursor:pointer;border-radius:10px;transition:background .2s}.unified-right-panel__section-btn:hover{background:#0000000d}.unified-right-panel__section-btn:active{background:#0000001a}.unified-right-panel__section-icon{width:20px;height:20px;display:flex;align-items:center;justify-content:center;flex-shrink:0;color:#d4746f}.unified-right-panel__section-label{flex:1;text-align:left}.unified-right-panel__section-count{margin-right:8px;color:#999;font-size:14px}.unified-right-panel__arrow{color:#999;transition:transform .2s}.unified-right-panel__section-btn:active .unified-right-panel__arrow{transform:translate(4px)}.unified-right-panel__actions{padding:12px 16px}.unified-right-panel__action{display:flex;align-items:center;gap:12px;padding:12px 16px;background:transparent;border:none;color:#333;font-size:15px;width:100%;margin-bottom:8px;border-radius:10px;transition:background .2s}.unified-right-panel__action:hover{background:#0000000d}.unified-right-panel__action-icon{width:20px;height:20px;display:flex;align-items:center;justify-content:center;flex-shrink:0;color:#d4746f}.unified-right-panel__action-label{flex:1;text-align:left}.unified-right-panel__toggle{position:relative;display:inline-block;width:44px;height:24px;cursor:pointer}.unified-right-panel__toggle input{display:none}.unified-right-panel__toggle-slider{position:absolute;top:0;left:0;right:0;bottom:0;background:#e0e0e0;border-radius:12px;transition:background .3s}.unified-right-panel__toggle-slider:before{content:"";position:absolute;width:20px;height:20px;border-radius:50%;background:#fff;top:2px;left:2px;transition:transform .3s;box-shadow:0 1px 3px #0000001a}.unified-right-panel__toggle input:checked+.unified-right-panel__toggle-slider{background:#d4746f}.unified-right-panel__toggle input:checked+.unified-right-panel__toggle-slider:before{transform:translate(20px)}.unified-right-panel__action-btn{width:100%;display:flex;align-items:center;gap:12px;padding:12px 16px;background:transparent;border:none;color:#333;font-size:15px;cursor:pointer;border-radius:10px;margin-bottom:8px;transition:background .2s}.unified-right-panel__action-btn:hover{background:#0000000d}.unified-right-panel__action-btn:active{background:#0000001a}.unified-right-panel__action-btn svg{width:20px;height:20px;flex-shrink:0;color:#d4746f}.unified-right-panel__action-btn--danger{color:#ff3b30}.unified-right-panel__action-btn--danger:hover{background:#ff3b301a}.unified-right-panel__action-btn--danger:active{background:#ff3b3026}.unified-right-panel__action-btn--danger svg{color:#ff3b30}.unified-right-panel::-webkit-scrollbar{width:6px}.unified-right-panel::-webkit-scrollbar-track{background:transparent}.unified-right-panel::-webkit-scrollbar-thumb{background:#d0d0d0;border-radius:3px}.unified-right-panel::-webkit-scrollbar-thumb:hover{background:#bbb}.conv-pc{display:flex;flex-direction:column;height:100%;background:var(--color-bg-secondary);overflow:hidden}.conv-pc__header{display:flex;align-items:center;justify-content:space-between;padding:20px 16px 12px;flex-shrink:0}.conv-pc__title{font-size:22px;font-weight:700;margin:0;color:var(--color-text);letter-spacing:-.3px}.conv-pc__header-actions{display:flex;align-items:center;gap:4px}.conv-pc__icon-btn{width:32px;height:32px;border:none;border-radius:8px;background:transparent;color:var(--color-text-muted);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .15s,color .15s}.conv-pc__icon-btn:hover{background:var(--color-bg-tertiary);color:var(--color-text)}.conv-pc-action-menu{position:absolute;top:calc(100% + 6px);right:0;width:140px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:10px;box-shadow:0 8px 24px #0000002e;z-index:200;overflow:hidden;padding:4px 0}.conv-pc-action-menu__item{width:100%;border:none;background:transparent;color:var(--color-text);font-size:13px;padding:9px 14px;text-align:left;cursor:pointer;transition:background .12s}.conv-pc-action-menu__item:hover{background:var(--color-bg-tertiary)}.conv-pc__search{position:relative;padding:0 12px 10px;flex-shrink:0}.conv-pc__search-icon{position:absolute;left:24px;top:50%;transform:translateY(-60%);color:var(--color-text-muted);pointer-events:none;display:flex;align-items:center}.conv-pc__search-input{width:100%;height:32px;background:var(--color-bg-tertiary);border:1px solid transparent;border-radius:8px;color:var(--color-text);font-size:13px;padding:0 10px 0 32px;outline:none;transition:border-color .15s;-webkit-appearance:none;-moz-appearance:none;appearance:none}.conv-pc__search-input:focus{border-color:var(--color-border)}.conv-pc__search-input::placeholder{color:var(--color-text-muted)}.conv-pc__list{flex:1;overflow-y:auto;overflow-x:hidden}.conv-pc__section-label{font-size:11px;color:var(--color-text-muted);padding:8px 16px 4px;font-weight:600;letter-spacing:.05em;text-transform:uppercase}.conv-pc__expand-btn{width:100%;border:none;background:transparent;color:var(--color-primary);font-size:12px;font-weight:500;padding:8px 16px;text-align:left;cursor:pointer;display:flex;align-items:center;gap:5px}.conv-pc__expand-btn:hover{background:var(--color-bg-tertiary)}.conv-pc__hint{text-align:center;color:var(--color-text-muted);font-size:13px;margin-top:40px}.conv-pc__error{margin:12px 16px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:10px;padding:12px 14px}.conv-pc__error p{color:#e06060;font-size:13px;margin:0 0 8px}.conv-pc__error button{border:1px solid var(--color-primary);border-radius:8px;background:transparent;color:var(--color-primary);font-size:13px;padding:5px 14px;cursor:pointer}.conv-pc .conv-item-v2{background:transparent;border-bottom-color:var(--color-border)}.conv-pc .conv-item-v2:hover{background:var(--color-bg-tertiary)}.conv-pc .conv-item-v2--active{background:var(--color-bg-tertiary)!important}.conv-pc .conv-item-v2--active:hover{background:var(--color-bg-tertiary)}.conv-pc .conv-content__name{color:var(--color-text);font-size:14px}.conv-pc .conv-content__preview,.conv-pc .conv-content__time{color:var(--color-text-muted)}.conv-pc .conv-avatar{width:44px;height:44px;font-size:17px}.conv-pc .conv-avatar--group{border-radius:10px}.conv-item-context-menu{position:fixed;z-index:9999;background:var(--color-surface);border:1px solid var(--color-border);border-radius:10px;box-shadow:0 8px 24px #0000002e;overflow:hidden;padding:4px 0;min-width:140px;animation:slideIn .2s ease-out}@keyframes slideIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.conv-item-context-menu__item{width:100%;border:none;background:transparent;color:var(--color-text);font-size:13px;padding:9px 14px;text-align:left;cursor:pointer;transition:background .12s;display:flex;align-items:center;gap:8px}.conv-item-context-menu__item:hover{background:var(--color-bg-tertiary)}.conv-item-context-menu__item--danger{color:#e06060}.conv-item-context-menu__item--danger:hover{background:#e060601a}.conv-pc .conv-item-v2{position:relative;cursor:pointer}.conv-pc .conv-item-v2:hover .conv-item-actions{opacity:1;visibility:visible}.conv-item-actions{position:absolute;right:12px;top:50%;transform:translateY(-50%);display:flex;gap:4px;opacity:0;visibility:hidden;transition:opacity .15s,visibility .15s}.conv-item-action-btn{width:24px;height:24px;border:none;border-radius:4px;background:var(--color-bg-tertiary);color:var(--color-text-muted);cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:12px;transition:background .12s,color .12s}.conv-item-action-btn:hover{background:var(--color-border);color:var(--color-text)}.message-context-menu{position:fixed;z-index:10000;background:var(--chat-panel-bg, #f5f5f5);border-radius:12px;box-shadow:0 4px 12px #00000026;overflow:hidden;min-width:140px;animation:menu-appear .15s ease-out}@keyframes menu-appear{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.message-context-menu__item{width:100%;padding:10px 14px;border:none;background:transparent;color:var(--chat-bubble-in-text, #1a1a1a);font-size:14px;cursor:pointer;display:flex;align-items:center;gap:8px;transition:background .15s;text-align:left}.message-context-menu__item:hover{background:var(--chat-divider-bg, rgba(0, 0, 0, .06))}.message-context-menu__item:active{background:var(--chat-divider-bg, rgba(0, 0, 0, .1))}.message-context-menu__icon{display:inline-block;width:20px;font-size:16px;text-align:center;flex-shrink:0}.message-context-menu__label{flex:1;font-weight:500}.message-context-menu__item--danger{color:#ff3b30}.message-context-menu__item--danger:hover{background:#ff3b3014}.message-context-menu__divider{height:1px;background:var(--chat-footer-border, rgba(0, 0, 0, .08));margin:4px 0}:root[data-theme=dark] .message-context-menu{background:#2c2c2e}:root[data-theme=dark] .message-context-menu__item{color:#ececf1}:root[data-theme=dark] .message-context-menu__item:hover{background:#ffffff14}:root[data-theme=dark] .message-context-menu__item--danger:hover{background:#ff3b3026}.contacts-page{display:flex;flex-direction:column;min-height:100%;height:100%;background:#0d0d0f;overflow:hidden}.contacts-nav{display:flex;align-items:center;padding:12px 16px;gap:12px;position:sticky;top:0;z-index:20;background:#0d0d0f}.contacts-nav__avatar{position:relative;flex-shrink:0}.contacts-nav__avatar-img{width:38px;height:38px;border-radius:50%;background:#2a2a2e;display:flex;align-items:center;justify-content:center;font-size:16px;font-weight:700;color:#fff;overflow:hidden}.contacts-nav__online{position:absolute;bottom:1px;right:1px;width:9px;height:9px;background:#22c55e;border-radius:50%;border:1.5px solid #0d0d0f}.contacts-nav__title{flex:1;text-align:center;font-size:17px;font-weight:700;color:#ececf1;margin:0}.contacts-nav__action{width:38px;height:38px;border:none;background:transparent;display:flex;align-items:center;justify-content:center;cursor:pointer;flex-shrink:0;color:#ececf1;padding:0}.contacts-search{padding:6px 16px 10px}.contacts-search__wrap{position:relative;display:flex;align-items:center}.contacts-search__icon{position:absolute;left:12px;color:#555;pointer-events:none;display:flex;align-items:center}.contacts-search__input{width:100%;height:36px;background:#1c1c1e;border:none;border-radius:10px;color:#ececf1;font-size:15px;padding:0 14px 0 34px;outline:none;-webkit-appearance:none;-moz-appearance:none;appearance:none}.contacts-search__input::placeholder{color:#555}.contacts-actions{padding:6px 16px 2px;display:flex;flex-direction:column;gap:10px}.contacts-action-card{width:100%;border:none;background:#161619;border-radius:12px;padding:12px;display:flex;align-items:center;gap:12px;color:#ececf1;cursor:pointer;text-align:left;-webkit-tap-highlight-color:transparent}.contacts-action-card:active{background:#1b1b1f}.contacts-action-card__icon{width:44px;height:44px;border-radius:12px;background:#2a2a2e;display:flex;align-items:center;justify-content:center;flex-shrink:0}.contacts-action-card__icon--primary{background:#7a0d0d}.contacts-action-card__title{flex:1;min-width:0;font-size:15px;font-weight:600}.contacts-action-card__meta{display:flex;align-items:center;gap:8px;flex-shrink:0}.contacts-action-card__badge{background:#cc1a1a;color:#fff;font-size:11px;font-weight:700;min-width:18px;height:18px;padding:0 6px;border-radius:9px;display:inline-flex;align-items:center;justify-content:center}.contacts-action-card__chev{color:#555;display:flex;align-items:center}.contacts-list-wrap{position:relative;flex:1;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:2px 28px 12px 0}.contacts-section-label{font-size:12px;color:#555;padding:6px 16px 4px;font-weight:500;letter-spacing:.04em}.contacts-item{display:flex;align-items:center;padding:10px 16px 10px 20px;gap:12px;position:relative;background:#0d0d0f;border:none;width:100%;text-align:left;cursor:pointer;border-bottom:1px solid #18181a;-webkit-tap-highlight-color:transparent}.contacts-item:active{background:#131315}.contacts-item__avatar{width:56px;height:56px;border-radius:50%;overflow:hidden;flex-shrink:0;position:relative;background:#2a2a2e;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:700;font-size:22px}.contacts-item__avatar-img{width:100%;height:100%;object-fit:cover;border-radius:50%;display:block}.contacts-item__online{position:absolute;right:2px;bottom:2px;width:10px;height:10px;border-radius:50%;background:#22c55e;border:2px solid #0d0d0f}.contacts-item__name{font-size:16px;font-weight:600;color:#ececf1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0}.contacts-index{position:absolute;top:86px;right:4px;padding:8px 4px;display:flex;flex-direction:column;gap:4px;-webkit-user-select:none;user-select:none;z-index:5}.contacts-index__item{width:18px;height:14px;border:none;background:transparent;color:#555;font-size:10px;line-height:14px;padding:0;cursor:pointer}.contacts-index__item--active{color:#cc1a1a;font-weight:700}.contacts-modal-mask{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000008c;z-index:1200;display:flex;align-items:flex-end;justify-content:center;padding:12px}.contacts-modal{width:min(520px,100%);background:#151519;border:1px solid rgba(255,255,255,.08);border-radius:16px;padding:12px 12px 14px}.contacts-modal__title{margin:4px 6px 10px;font-size:15px;font-weight:700;color:#ececf1}.contacts-modal__row{display:flex;flex-direction:column;gap:8px;align-items:stretch;padding:0 4px}.contacts-modal__input{flex:1;height:38px;background:#1c1c1e;border:1px solid #242428;border-radius:10px;color:#ececf1;font-size:14px;padding:0 12px;outline:none}.contacts-modal__btn{height:38px;border-radius:10px;border:none;background:#cc1a1a;color:#fff;font-weight:700;padding:0 14px;cursor:pointer;width:100%}.contacts-modal__btn:disabled{opacity:.6;cursor:not-allowed}.contacts-modal__hint{margin:10px 6px 0;color:#777;font-size:12px;line-height:1.4}.contacts-sub-nav{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;border-bottom:1px solid #1b1b1f}.contacts-sub-nav__back,.contacts-sub-nav__refresh{min-width:52px;height:34px;border:none;border-radius:8px;background:#161619;color:#ececf1;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;font-size:13px;font-weight:600}.contacts-sub-nav__refresh:disabled{opacity:.6;cursor:not-allowed}.contacts-sub-nav__title{flex:1;margin:0;text-align:center;color:#ececf1;font-size:17px;font-weight:700}.contacts-group-list{padding-top:8px}.contacts-group-list__hint,.contacts-group-list__error{text-align:center;font-size:14px;margin-top:28px}.contacts-group-list__hint{color:#707074}.contacts-group-list__error{color:#e06a6a}.contacts-pc__container{display:flex;height:100%;overflow:hidden}.contacts-pc__list{flex:0 0 320px;border-right:1px solid var(--color-border);display:flex;flex-direction:column;background:var(--color-bg);overflow:hidden}.contacts-pc__detail{flex:1;display:flex;flex-direction:column;background:var(--color-surface);overflow-y:auto}.contact-list-pc{display:flex;flex-direction:column;height:100%;overflow:hidden}.contact-list-pc__header{display:flex;align-items:center;justify-content:space-between;padding:16px 16px 12px}.contact-list-pc__title{font-size:16px;font-weight:600;color:var(--color-text)}.contact-list-pc__add-btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border:none;background:transparent;color:var(--color-text-muted);cursor:pointer;border-radius:6px;padding:0}.contact-list-pc__add-btn:hover{background:var(--color-border);color:var(--color-text)}.contact-list-pc__search-wrap{display:flex;align-items:center;gap:8px;margin:0 12px 8px;padding:7px 10px;background:var(--color-border);border-radius:8px}.contact-list-pc__search-icon{display:flex;align-items:center;color:var(--color-text-muted);flex-shrink:0}.contact-list-pc__search-input{flex:1;border:none;background:transparent;color:var(--color-text);font-size:13px;outline:none;min-width:0}.contact-list-pc__search-input::placeholder{color:var(--color-text-muted)}.contact-list-pc__sections{flex:1;overflow-y:auto}.contact-list-pc__sections::-webkit-scrollbar{width:4px}.contact-list-pc__sections::-webkit-scrollbar-track{background:transparent}.contact-list-pc__sections::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:2px}.contact-list-pc__section-hdr{display:flex;align-items:center;width:100%;padding:8px 16px;border:none;background:transparent;cursor:pointer;color:var(--color-text-muted);gap:6px}.contact-list-pc__section-hdr:hover{background:var(--color-border)}.contact-list-pc__section-title{flex:1;text-align:left;font-size:13px;font-weight:500;color:var(--color-text)}.contact-list-pc__section-count{font-size:12px;color:var(--color-text-muted)}.contact-list-pc__letter{padding:6px 16px 2px;font-size:11px;font-weight:600;color:var(--color-text-muted);border-bottom:1px solid var(--color-border)}.contact-list-pc__item{display:flex;align-items:center;gap:10px;width:100%;padding:9px 16px;border:none;background:transparent;cursor:pointer;color:inherit;text-align:left}.contact-list-pc__item:hover{background:var(--color-border)}.contact-list-pc__item--active{background:#5b8dee1f}.contact-list-pc__item--active:hover{background:#5b8dee2e}.contact-list-pc__item--active .contact-list-pc__item-name{color:#5b8dee}.contact-list-pc__avatar{flex-shrink:0;width:36px;height:36px;border-radius:8px;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:600;font-size:14px}.contact-list-pc__avatar--img{object-fit:cover}.contact-list-pc__item-name{font-size:14px;color:var(--color-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1}.contact-list-pc__group-avatar-single{flex-shrink:0;width:36px;height:36px;border-radius:8px;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:600;font-size:14px}.contact-list-pc__group-avatar{flex-shrink:0;width:36px;height:36px;border-radius:8px;display:grid;overflow:hidden;background:var(--color-border)}.contact-list-pc__group-avatar--1{grid-template-columns:1fr;grid-template-rows:1fr}.contact-list-pc__group-avatar--2{grid-template-columns:1fr 1fr;grid-template-rows:1fr}.contact-list-pc__group-avatar--3,.contact-list-pc__group-avatar--4{grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr}.contact-list-pc__group-avatar-cell{display:flex;align-items:center;justify-content:center;color:#fff;font-size:9px;font-weight:600}.contact-list-pc__hint{padding:12px 16px;font-size:13px;color:var(--color-text-muted)}.contact-detail-pc{display:flex;align-items:center;justify-content:center;height:100%}.contact-detail-pc--empty{color:var(--color-text-muted);font-size:14px}.contact-detail-pc__profile{display:flex;flex-direction:column;align-items:center;gap:12px}.contact-detail-pc__avatar-wrap{position:relative;width:120px;height:120px}.contact-detail-pc__avatar{width:120px;height:120px;border-radius:12px;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:700;font-size:48px}.contact-detail-pc__avatar-img{width:120px;height:120px;border-radius:12px;object-fit:cover}.contact-detail-pc__status-dot{position:absolute;bottom:4px;right:4px;width:16px;height:16px;border-radius:50%;background:#9e9e9e;border:2px solid var(--color-surface)}.contact-detail-pc__status-dot--online{background:#4caf50}.contact-detail-pc__name{font-size:18px;font-weight:600;color:var(--color-text);margin-top:8px}.contact-detail-pc__userid{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--color-text-muted)}.contact-detail-pc__userid-label{font-weight:500}.contact-detail-pc__userid-value{font-family:Monaco,Menlo,Ubuntu Mono,monospace;color:var(--color-text)}.contact-detail-pc__actions{display:flex;flex-direction:row;gap:12px;margin-top:12px;width:100%;max-width:100%}.contact-detail-pc__action-row{display:flex;gap:12px;flex:1}.contact-detail-pc__action-btn{display:flex;align-items:center;justify-content:center;gap:8px;padding:12px 16px;border:none;cursor:pointer;font-size:14px;font-weight:500;border-radius:8px;transition:all .2s ease;flex:1}.contact-detail-pc__action-btn--primary{background:#cc1a1a;color:#fff;flex:1.2}.contact-detail-pc__action-btn--primary:hover{background:#b31515;transform:translateY(-1px)}.contact-detail-pc__action-btn--primary:active{transform:translateY(0)}.contact-detail-pc__action-btn--secondary{background:#0000004d;color:#fff}.contact-detail-pc__action-btn--secondary:hover{background:#0006}[data-theme=dark] .contact-detail-pc__action-btn--primary{background:#ff5252}[data-theme=dark] .contact-detail-pc__action-btn--primary:hover{background:#f33}[data-theme=dark] .contact-detail-pc__action-btn--secondary{background:#ffffff26}[data-theme=dark] .contact-detail-pc__action-btn--secondary:hover{background:#ffffff40}.req-page{background:#0d0d0f}.req-list{display:flex;flex-direction:column;gap:10px;padding:6px 0 10px}.req-item{background:#161619;border:1px solid #202026;border-radius:12px;padding:12px}.req-item__header{display:flex;align-items:center;justify-content:space-between;gap:8px}.req-item__name{color:#ececf1;font-size:15px;font-weight:700}.req-item__time{color:#777;font-size:12px}.req-item__reason{color:#9a9aaa;font-size:13px;margin-top:6px;line-height:1.4}.req-item__actions{display:flex;justify-content:flex-end;gap:8px;margin-top:10px}.req-btn{border:none;border-radius:8px;padding:7px 14px;font-size:13px;cursor:pointer}.req-btn:disabled{opacity:.6;cursor:not-allowed}.req-btn--ghost{background:#26262d;color:#c2c2cf}.req-btn--primary{background:#cc1a1a;color:#fff}.req-item__status{margin-top:10px;font-size:13px;text-align:right}.req-item__status--accepted{color:#22c55e}.req-item__status--rejected{color:#9a9aaa}.req-empty{text-align:center;color:#666;margin-top:32px}.req-error{color:#e06a6a;font-size:13px;margin:2px 0 8px}.add-friend-page{min-height:100vh;background:#0d0d0f;color:#ececf1}.add-friend-header{display:flex;align-items:center;padding:12px 16px;gap:12px;position:sticky;top:0;z-index:20;background:#0d0d0f;border-bottom:.5px solid #2a2a2e}.add-friend-back{width:40px;height:40px;border:none;background:transparent;display:flex;align-items:center;justify-content:center;cursor:pointer;color:#ececf1;padding:0;flex-shrink:0}.add-friend-title{flex:1;text-align:center;font-size:17px;font-weight:700;color:#ececf1;margin:0}.add-friend-placeholder{width:40px;flex-shrink:0}.add-friend-content{padding:20px 16px}.add-friend-input-group{margin-bottom:20px}.add-friend-label{display:block;font-size:14px;font-weight:500;color:#888;margin-bottom:8px}.add-friend-input,.add-friend-textarea{width:100%;background:#1c1c1e;border:1px solid #2a2a2e;border-radius:12px;color:#ececf1;font-size:16px;padding:14px 16px;outline:none;transition:border-color .2s}.add-friend-input:focus,.add-friend-textarea:focus{border-color:#0a84ff}.add-friend-input::placeholder,.add-friend-textarea::placeholder{color:#666}.add-friend-textarea{resize:vertical;min-height:80px;font-family:inherit}.add-friend-actions{display:flex;flex-direction:column;gap:12px;margin-top:32px}.add-friend-btn{width:100%;padding:14px 20px;font-size:16px;font-weight:600;border-radius:12px;border:none;cursor:pointer;transition:all .2s}.add-friend-btn--primary{background:#0a84ff;color:#fff}.add-friend-btn--primary:hover{background:#0070e0}.add-friend-btn--primary:active{background:#005bb5}.add-friend-btn--primary:disabled{background:#1c4a7c;cursor:not-allowed}.add-friend-btn--secondary{background:#2a2a2e;color:#ececf1}.add-friend-btn--secondary:hover{background:#3a3a3e}.add-friend-btn--secondary:active{background:#4a4a4e}.sheet-overlay,.dialog-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000008c;z-index:1400;display:flex;align-items:flex-end;justify-content:center;animation:overlay-in .22s ease both}.dialog-overlay{align-items:center}@keyframes overlay-in{0%{opacity:0}to{opacity:1}}.sheet-panel{width:100%;max-width:520px;background:#1c1c1e;border-radius:20px 20px 0 0;padding-bottom:calc(16px + env(safe-area-inset-bottom,0px));box-shadow:0 -4px 40px #0009;animation:sheet-in .3s cubic-bezier(.32,.72,0,1) both;overflow:hidden}@keyframes sheet-in{0%{transform:translateY(100%)}to{transform:translateY(0)}}.sheet-handle{width:36px;height:4px;border-radius:3px;background:#fff3;margin:10px auto 6px}.sheet-title{font-size:13px;font-weight:500;color:#fff6;text-align:center;padding:6px 20px 10px;letter-spacing:.01em}.sheet-list{background:#2c2c2e;border-radius:14px;margin:0 12px;overflow:hidden}.sheet-item{display:flex;align-items:center;width:100%;padding:15px 18px;border:none;border-bottom:1px solid rgba(255,255,255,.07);background:transparent;color:#ffffffe6;font-size:17px;text-align:left;cursor:pointer;gap:12px;transition:background .12s}.sheet-item:last-child{border-bottom:none}.sheet-item:active{background:#ffffff0f}.sheet-item--danger{color:#ff453a}.sheet-item--checked{color:#fff;font-weight:500}.sheet-item__icon{width:20px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.sheet-item__label{flex:1}.sheet-item__extra{font-size:14px;color:#fff6}.sheet-item__check{color:#cc1a1a;display:flex;align-items:center}.sheet-cancel{display:block;width:calc(100% - 24px);margin:8px 12px 0;padding:15px;border-radius:14px;border:none;background:#2c2c2e;color:#ffffffbf;font-size:17px;font-weight:500;cursor:pointer;transition:background .12s}.sheet-cancel:active{background:#3a3a3c}.sheet-panel--edit{border-radius:20px 20px 0 0}.sheet-edit-body{padding:8px 16px 0;position:relative}.sheet-input{width:100%;padding:13px 14px;border-radius:12px;border:1px solid rgba(255,255,255,.1);background:#2c2c2e;color:#f2f2f7;font-size:16px;outline:none;transition:border-color .18s;caret-color:#cc1a1a}.sheet-input:focus{border-color:#cc1a1a99}.sheet-input::placeholder{color:#ffffff47}.sheet-input:disabled{opacity:.5}.sheet-char-count{position:absolute;right:26px;bottom:10px;font-size:12px;color:#ffffff4d;pointer-events:none}.sheet-actions{display:flex;gap:10px;padding:14px 16px 4px}.sheet-btn{flex:1;height:48px;border-radius:12px;border:none;font-size:16px;font-weight:500;cursor:pointer;transition:opacity .15s}.sheet-btn:disabled{opacity:.45;cursor:not-allowed}.sheet-btn--cancel{background:#2c2c2e;color:#ffffffb3}.sheet-btn--cancel:active:not(:disabled){background:#3a3a3c}.sheet-btn--confirm{background:#cc1a1a;color:#fff}.sheet-btn--confirm:active:not(:disabled){background:#aa1414}.dialog-card{background:#1c1c1e;border-radius:18px;padding:28px 24px 20px;width:min(360px,calc(100vw - 48px));box-shadow:0 24px 64px #000000b3;animation:dialog-in .22s cubic-bezier(.34,1.56,.64,1) both;border:1px solid rgba(255,255,255,.08)}@keyframes dialog-in{0%{opacity:0;transform:scale(.9) translateY(8px)}to{opacity:1;transform:scale(1) translateY(0)}}.dialog-title{margin:0 0 8px;font-size:17px;font-weight:600;color:#f2f2f7;text-align:center}.dialog-message{margin:0 0 24px;font-size:14px;color:#ffffff8c;text-align:center;line-height:1.5}.dialog-actions{display:flex;gap:10px}.dialog-btn{flex:1;height:44px;border-radius:10px;border:none;font-size:15px;font-weight:500;cursor:pointer;transition:opacity .15s}.dialog-btn:disabled{opacity:.45;cursor:not-allowed}.dialog-btn--cancel{background:#2c2c2e;color:#ffffffb3}.dialog-btn--confirm{background:#ffffff1f;color:#f2f2f7}.dialog-btn--danger{background:#cc1a1a;color:#fff}.dialog-btn--confirm:active:not(:disabled),.dialog-btn--cancel:active:not(:disabled){opacity:.75}.my-profile{min-height:100%;background:linear-gradient(180deg,#0d0d0f,#111113 55%,#0c0c0e);color:#f2f2f7;padding:0 14px 28px}.my-profile__header{display:flex;flex-direction:column;align-items:center;padding:36px 8px 22px;position:relative}.my-profile__header:before{content:"";position:absolute;top:20px;left:50%;transform:translate(-50%);width:200px;height:200px;background:radial-gradient(circle,rgba(204,26,26,.12) 0%,transparent 70%);pointer-events:none}.my-profile__avatar-wrap{position:relative;margin-bottom:16px}.my-profile__avatar-btn{border:none;background:transparent;padding:0;cursor:pointer;display:block;-webkit-tap-highlight-color:transparent}.my-profile__avatar-btn:disabled{cursor:not-allowed}.my-profile__avatar-ring{width:96px;height:96px;border-radius:50%;border:2.5px solid rgba(204,26,26,.7);padding:3px;box-shadow:0 0 0 1px #cc1a1a2e,0 8px 28px #0000008c}.my-profile__avatar{width:100%;height:100%;border-radius:50%;display:flex;align-items:center;justify-content:center;background:linear-gradient(145deg,#3a3a3c,#1c1c1e);color:#f2f2f7;font-size:38px;font-weight:700;overflow:hidden;letter-spacing:-.02em}.my-profile__avatar-img{width:100%;height:100%;object-fit:cover;border-radius:50%;display:block}.my-profile__avatar-hint{position:absolute;bottom:0;right:0;width:28px;height:28px;border-radius:50%;background:#2c2c2e;border:2px solid #0d0d0f;display:flex;align-items:center;justify-content:center;color:#ffffffb3;pointer-events:none}.my-profile__status-dot{position:absolute;bottom:2px;left:0;width:14px;height:14px;border-radius:50%;border:2.5px solid #0d0d0f;transition:background .3s}.my-profile__status-dot--online{background:#34c759}.my-profile__status-dot--busy{background:#ff9500}.my-profile__status-dot--dnd{background:#ff3b30}.my-profile__status-dot--away{background:#5ac8fa}.my-profile__status-dot--custom{background:#8e8e93}.my-profile__name{margin:0 0 6px;font-size:24px;font-weight:700;letter-spacing:-.01em;color:#f2f2f7;cursor:pointer;display:flex;align-items:center;gap:6px;-webkit-tap-highlight-color:transparent}.my-profile__name-edit-icon{color:#ffffff4d;display:flex;align-items:center;flex-shrink:0}.my-profile__id-row{display:inline-flex;align-items:center;gap:6px;background:#2c2c2ecc;border:1px solid rgba(255,255,255,.07);border-radius:20px;padding:5px 12px;margin-bottom:12px}.my-profile__id-label{font-size:12px;color:#ffffff61;letter-spacing:.04em}.my-profile__id-value{font-size:13px;color:#ffffffb8;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;letter-spacing:.04em}.my-profile__copy-btn{width:18px;height:18px;border:none;background:transparent;color:#ffffff59;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;padding:0;-webkit-tap-highlight-color:transparent}.my-profile__expire{font-size:12px;color:#ffffff61;text-align:center;line-height:1.6;margin:0}.my-profile__card{margin-top:12px;border-radius:16px;background:#1c1c1ee6;border:1px solid rgba(255,255,255,.07);overflow:hidden}.my-profile__menu-item{width:100%;border:none;border-bottom:1px solid rgba(255,255,255,.06);background:transparent;color:inherit;min-height:52px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 16px;text-align:left;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:background .12s}.my-profile__menu-item:last-child{border-bottom:none}.my-profile__menu-item:active{background:#ffffff0d}.my-profile__menu-left{display:inline-flex;align-items:center;gap:12px;min-width:0}.my-profile__item-icon-frame{width:30px;height:30px;border-radius:8px;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;color:#fff}.my-profile__item-icon-frame[data-color=gray]{background:#636366}.my-profile__item-icon-frame[data-color=green]{background:#34c759}.my-profile__item-icon-frame[data-color=blue]{background:#0a84ff}.my-profile__item-icon-frame[data-color=orange]{background:#ff9500}.my-profile__item-icon-frame[data-color=red]{background:#ff3b30}.my-profile__item-icon-frame[data-color=teal]{background:#5ac8fa}.my-profile__item-icon-frame[data-color=purple]{background:#5e5ce6}.my-profile__menu-label{font-size:16px;color:#f2f2f7;font-weight:400}.my-profile__menu-right{display:inline-flex;align-items:center;gap:4px;color:#ffffff47;flex-shrink:0}.my-profile__menu-extra{font-size:14px;color:#ffffff59}.my-profile__card--account{padding:8px 0}.my-profile__group-title{margin:2px 16px 6px;font-size:12px;font-weight:500;color:#ffffff61;text-transform:uppercase;letter-spacing:.06em}.my-profile__action{width:calc(100% - 24px);margin:0 12px 8px;height:46px;border-radius:12px;border:1px solid rgba(255,255,255,.08);background:#2c2c2ecc;color:#ffffffbf;font-size:15px;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:opacity .15s}.my-profile__action:last-child{margin-bottom:0}.my-profile__action:active{opacity:.72}.my-profile__action--danger{color:#ff453a;border-color:#ff453a4d}@media (max-width: 375px){.my-profile__name{font-size:22px}.my-profile__header{padding-top:28px}}.profile-pc__menu-panel{display:flex;flex-direction:column;height:100%;overflow-y:auto;background:var(--color-bg-secondary)}.profile-pc__menu-header{padding:20px 16px 8px}.profile-pc__menu-title{font-size:17px;font-weight:600;margin:0;color:var(--color-text)}.profile-pc__menu-avatar-wrap{position:relative;display:flex;justify-content:flex-start;padding:12px 20px 16px}.profile-pc__menu-avatar{width:54px;height:54px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;color:#fff;font-size:22px;flex-shrink:0;overflow:hidden}.profile-pc__menu-avatar-img{width:100%;height:100%;object-fit:cover;border-radius:50%}.profile-pc__menu-online-dot{position:absolute;bottom:17px;left:56px;width:12px;height:12px;background:#34c759;border:2px solid var(--color-bg-secondary);border-radius:50%}.profile-pc__menu-section-label{font-size:11px;font-weight:500;color:var(--color-text-muted);padding:4px 20px;letter-spacing:.04em;text-transform:none}.profile-pc__menu-list{display:flex;flex-direction:column;padding:2px 8px}.profile-pc__menu-list--account{margin-top:4px;padding-bottom:16px}.profile-pc__menu-item{display:flex;align-items:center;justify-content:space-between;width:100%;padding:9px 12px;border:none;background:transparent;color:var(--color-text);font-size:14px;cursor:pointer;border-radius:8px;text-align:left;transition:background .13s;gap:4px}.profile-pc__menu-item:hover{background:var(--color-bg-tertiary)}.profile-pc__menu-item--active{background:#cc1a1a1a;color:var(--color-primary)}.profile-pc__menu-item--active:hover{background:#cc1a1a26}.profile-pc__menu-item--danger{color:var(--color-primary)}.profile-pc__menu-item-label{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.profile-pc__menu-item-right{display:flex;align-items:center;gap:4px;color:var(--color-text-muted);flex-shrink:0}.profile-pc__menu-item-extra{font-size:12px;color:var(--color-text-muted);max-width:100px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.profile-pc__menu-item-extra--sm{font-size:11px;max-width:120px}.profile-pc__ext-icon{opacity:.55}.profile-pc__detail-panel{display:flex;flex-direction:column;height:100%;background:var(--color-bg);overflow-y:auto}.profile-pc__detail-header{padding:20px 32px 14px;border-bottom:1px solid var(--color-border)}.profile-pc__detail-title{font-size:17px;font-weight:600;margin:0;color:var(--color-text)}.profile-pc__detail-body{padding:32px 32px 24px;display:flex;flex-direction:column;align-items:center;gap:0}.profile-pc__detail-body--empty{flex:1;justify-content:center}.profile-pc__detail-empty-tip{color:var(--color-text-muted);font-size:14px;margin:0}.profile-pc__detail-avatar-wrap{margin-bottom:12px}.profile-pc__detail-avatar{width:88px;height:88px;border-radius:22px;display:flex;align-items:center;justify-content:center;font-weight:700;color:#fff;font-size:34px;overflow:hidden}.profile-pc__detail-avatar-img{width:100%;height:100%;object-fit:cover;border-radius:22px}.profile-pc__detail-id-row{display:flex;align-items:center;gap:6px;margin-bottom:24px;color:var(--color-text-muted);font-size:13px}.profile-pc__detail-id-label,.profile-pc__detail-id-value{color:var(--color-text-muted)}.profile-pc__detail-copy-btn{background:none;border:none;padding:2px 4px;cursor:pointer;color:var(--color-text-muted);display:flex;align-items:center;border-radius:4px;transition:color .13s}.profile-pc__detail-copy-btn:hover{color:var(--color-text)}.profile-pc__detail-list{width:100%;max-width:480px;border-radius:10px;overflow:hidden;border:1px solid var(--color-border);background:var(--color-bg)}.profile-pc__detail-row{display:flex;align-items:center;justify-content:space-between;width:100%;padding:14px 18px;border:none;border-bottom:1px solid var(--color-border);background:transparent;color:var(--color-text);font-size:14px;cursor:pointer;text-align:left;transition:background .13s;gap:12px}.profile-pc__detail-row:last-child{border-bottom:none}.profile-pc__detail-row:hover{background:var(--color-bg-secondary)}.profile-pc__detail-row--active{color:var(--color-primary)}.profile-pc__detail-row-label{font-size:14px;color:var(--color-text)}.profile-pc__detail-row-right{display:flex;align-items:center;gap:8px;color:var(--color-text-muted);flex-shrink:0}.profile-pc__detail-avatar-thumb{width:36px;height:36px;border-radius:8px;display:flex;align-items:center;justify-content:center;font-weight:700;color:#fff;font-size:14px;overflow:hidden;flex-shrink:0}.profile-pc__detail-avatar-thumb-img{width:100%;height:100%;object-fit:cover;border-radius:8px}.profile-pc__detail-panel--iframe{overflow:hidden}.profile-pc__iframe{flex:1;width:100%;border:none;background:var(--color-bg);min-height:0}.profile-pc__about-block{display:flex;flex-direction:column;align-items:center;gap:6px}.profile-pc__about-name{font-size:16px;font-weight:600;color:var(--color-text);margin:0}.profile-pc__about-version{font-size:13px;color:var(--color-text-muted);margin:0}.profile-pc__detail-body--left{align-items:center;padding:24px 32px}.cfg-list{width:100%;max-width:560px;display:flex;flex-direction:column;gap:0;border:1px solid var(--color-border);border-radius:10px;overflow:hidden;background:var(--color-bg)}.cfg-row{display:flex;flex-direction:column;padding:14px 18px;border-bottom:1px solid var(--color-border);gap:8px}.cfg-row:last-child{border-bottom:none}.cfg-row--inline{flex-direction:row;align-items:center;justify-content:space-between;gap:12px}.cfg-row--inline .cfg-row__control{flex-shrink:0}.cfg-row__meta{display:flex;flex-direction:column;gap:2px;min-width:0}.cfg-row__name{font-size:14px;color:var(--color-text);font-weight:500}.cfg-row__desc{font-size:12px;color:var(--color-text-muted)}.cfg-row__control{display:flex;align-items:center;gap:8px}.cfg-row__saving{font-size:12px;color:var(--color-text-muted)}.cfg-toggle{position:relative;width:44px;height:26px;border-radius:13px;border:none;background:var(--color-border);cursor:pointer;transition:background .2s;padding:0;flex-shrink:0}.cfg-toggle--on{background:#34c759}.cfg-toggle__thumb{position:absolute;top:3px;left:3px;width:20px;height:20px;border-radius:50%;background:#fff;transition:transform .2s;box-shadow:0 1px 3px #00000040}.cfg-toggle--on .cfg-toggle__thumb{transform:translate(18px)}.cfg-toggle:disabled{opacity:.5;cursor:not-allowed}.cfg-select{padding:6px 10px;border:1px solid var(--color-border);border-radius:6px;background:var(--color-bg-secondary);color:var(--color-text);font-size:13px;cursor:pointer;outline:none;min-width:100px}.cfg-select:focus{border-color:var(--color-primary)}.cfg-text-input{width:100%;padding:8px 12px;border:1px solid var(--color-border);border-radius:6px;background:var(--color-bg-secondary);color:var(--color-text);font-size:13px;outline:none}.cfg-text-input:focus{border-color:var(--color-primary)}.cfg-checks{display:flex;flex-wrap:wrap;gap:8px}.cfg-check-label{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--color-text);cursor:pointer}.cfg-check-input{width:16px;height:16px;accent-color:#34c759;cursor:pointer}.personal-info-page{--pi-bg: #ffffff;--pi-text: #333333;--pi-text-muted: #888888;--pi-border: #eeeeee;--pi-chevron: #cccccc;--pi-row-active: rgba(0, 0, 0, .04);--pi-header-border: #eeeeee;--pi-back-icon: #333333;--pi-avatar-placeholder: #e8e8ea;--pi-overlay: rgba(0, 0, 0, .35);--pi-sheet-bg: #ffffff;--pi-sheet-shadow: 0 -4px 24px rgba(0, 0, 0, .12);min-height:100vh;min-height:100dvh;background:var(--pi-bg);color:var(--pi-text);display:flex;flex-direction:column}.personal-info-page__header{flex-shrink:0;display:flex;align-items:center;justify-content:space-between;padding:10px 8px 10px 4px;border-bottom:1px solid var(--pi-header-border);background:var(--pi-bg)}.personal-info-page__back{width:44px;height:44px;border:none;background:transparent;color:var(--pi-back-icon);font-size:22px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0}.personal-info-page__title{flex:1;margin:0;text-align:center;font-size:17px;font-weight:600;color:var(--pi-text);padding-right:44px}.personal-info-page__spacer{width:44px;flex-shrink:0}.personal-info-page__list{flex:1;padding-top:0}.personal-info-page__row{width:100%;display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:56px;padding:12px 16px;border:none;border-bottom:1px solid var(--pi-border);background:var(--pi-bg);color:var(--pi-text);font-size:16px;text-align:left;cursor:pointer;-webkit-tap-highlight-color:transparent}.personal-info-page__row:active{background:var(--pi-row-active)}.personal-info-page__row-label{flex-shrink:0}.personal-info-page__row-right{display:flex;align-items:center;gap:10px;min-width:0}.personal-info-page__avatar-thumb{width:48px;height:48px;border-radius:8px;object-fit:cover;background:var(--pi-avatar-placeholder);flex-shrink:0}.personal-info-page__avatar-placeholder{width:48px;height:48px;border-radius:8px;background:var(--pi-avatar-placeholder);display:flex;align-items:center;justify-content:center;font-size:18px;font-weight:700;color:var(--pi-text-muted);flex-shrink:0}.personal-info-page__nickname-value{font-size:16px;color:var(--pi-text-muted);max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.personal-info-page__chevron{color:var(--pi-chevron);flex-shrink:0}.personal-info-page__overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--pi-overlay);z-index:2000;display:flex;align-items:flex-end;justify-content:center}.personal-info-page__sheet{width:100%;max-width:480px;background:var(--pi-sheet-bg);border-radius:16px 16px 0 0;padding:20px 16px calc(20px + env(safe-area-inset-bottom,0px));box-shadow:var(--pi-sheet-shadow)}.personal-info-page__sheet-title{margin:0 0 12px;font-size:17px;font-weight:600;text-align:center;color:var(--pi-text)}.personal-info-page__sheet-input{width:100%;height:44px;border:1px solid var(--pi-border);border-radius:8px;padding:0 12px;font-size:16px;color:var(--pi-text);background:var(--pi-bg);box-sizing:border-box}.personal-info-page__sheet-actions{display:flex;gap:12px;margin-top:16px}.personal-info-page__sheet-btn{flex:1;height:44px;border-radius:10px;border:1px solid var(--pi-border);background:var(--pi-bg);color:var(--pi-text);font-size:16px;cursor:pointer}.personal-info-page__sheet-btn--primary{background:var(--pi-text);color:var(--pi-bg);border-color:var(--pi-text)}.user-settings-page{display:flex;flex-direction:column;height:100%;background:var(--color-bg-secondary)}.user-settings-page__header{display:flex;align-items:center;gap:8px;padding:12px 16px;background:var(--color-bg);border-bottom:1px solid var(--color-border)}.user-settings-page__back-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:none;background:transparent;color:var(--color-text);cursor:pointer;border-radius:8px;padding:0}.user-settings-page__back-btn:hover{background:var(--color-border)}.user-settings-page__title{font-size:17px;font-weight:600;color:var(--color-text);margin:0}.user-settings-page__body{flex:1;overflow-y:auto;padding:16px}.user-settings-page .cfg-list{max-width:100%}:root,:root[data-theme=dark]{--color-bg: #0f0f12;--color-bg-secondary: #1a1a20;--color-bg-tertiary: #2a2a32;--color-surface: #1a1a20;--color-border: #2a2a32;--color-text: #ececf1;--color-text-muted: #9898a6;--color-primary: #cc1a1a;--color-primary-hover: #e62e2e;--color-divider: #1a1a1a}:root[data-theme=light]{--color-bg: #ffffff;--color-bg-secondary: #f8f8f8;--color-bg-tertiary: #f0f0f0;--color-surface: #f5f5f5;--color-border: #e0e0e0;--color-text: #1a1a1a;--color-text-muted: #666666;--color-primary: #cc1a1a;--color-primary-hover: #e62e2e;--color-divider: #e8e8e8}:root[data-theme=dark] .chat-room,:root .chat-room{--chat-bg: #121212;--chat-header-bg: #1a1a1d;--chat-header-border: rgba(255, 255, 255, .06);--chat-bubble-in: #2c2c2e;--chat-bubble-in-text: #ececf1;--chat-bubble-out: #a00b0b;--chat-bubble-out-text: #ffffff;--chat-divider-bg: rgba(255, 255, 255, .08);--chat-divider-text: rgba(255, 255, 255, .55);--chat-footer-border: rgba(255, 255, 255, .08);--chat-input-bg: #2c2c2e;--chat-input-color: #fff;--chat-input-placeholder: rgba(255, 255, 255, .35);--chat-tool-color: rgba(255, 255, 255, .75);--chat-online: #34c759;--chat-meta-color: rgba(255, 255, 255, .4);--chat-panel-bg: #1c1c1e;--chat-attach-item-bg: #2c2c2e;--chat-attach-item-hover: #3a3a3e;--chat-system-text: rgba(255, 255, 255, .55)}:root[data-theme=light] .chat-room{--chat-bg: #f0f0f0;--chat-header-bg: #ffffff;--chat-header-border: rgba(0, 0, 0, .08);--chat-bubble-in: #ffffff;--chat-bubble-in-text: #1a1a1a;--chat-bubble-out: #cc1a1a;--chat-bubble-out-text: #ffffff;--chat-divider-bg: rgba(0, 0, 0, .06);--chat-divider-text: rgba(0, 0, 0, .45);--chat-footer-border: rgba(0, 0, 0, .08);--chat-input-bg: #ffffff;--chat-input-color: #1a1a1a;--chat-input-placeholder: rgba(0, 0, 0, .35);--chat-tool-color: rgba(0, 0, 0, .55);--chat-online: #34c759;--chat-meta-color: rgba(0, 0, 0, .4);--chat-panel-bg: #f5f5f5;--chat-attach-item-bg: #e8e8e8;--chat-attach-item-hover: #d8d8d8;--chat-system-text: rgba(0, 0, 0, .45)}.chat-room{height:100%;display:flex;flex-direction:column;overflow:hidden;background:var(--chat-bg);color:var(--chat-bubble-in-text);padding:0}.chat-room__banner-slot{flex-shrink:0}.chat-room__top{flex-shrink:0;z-index:40;background:var(--chat-header-bg)}.chat-room__body{flex:1;min-height:0;display:flex;flex-direction:column;overflow:hidden}.chat-room__scroll{flex:1;min-height:0;display:flex;flex-direction:column;padding:0 12px;overflow:hidden}.chat-room__footer{flex-shrink:0;background:var(--chat-header-bg);border-top:1px solid var(--chat-footer-border);padding:0 4px;padding-bottom:max(4px,env(safe-area-inset-bottom,0))}.chat-room__loading{flex-shrink:0;font-size:13px;color:var(--chat-meta-color);padding:8px 0;text-align:center}.chat-room-header{display:flex;align-items:center;gap:8px;padding:10px 12px;padding-top:max(10px,env(safe-area-inset-top,0));background:var(--chat-header-bg);border-bottom:1px solid var(--chat-header-border);flex-shrink:0}.chat-room-header__back{background:none;border:none;color:var(--chat-bubble-in-text);padding:6px;cursor:pointer;display:flex;align-items:center;justify-content:center;border-radius:8px;opacity:.75}.chat-room-header__back:hover{opacity:1;background:var(--chat-divider-bg)}.chat-room-header__center{flex:1;min-width:0;display:flex;align-items:center;gap:10px}.chat-room-header__titles{min-width:0}.chat-room-header__title{font-size:15px;font-weight:600;margin:0;line-height:1.25;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--chat-bubble-in-text)}.chat-room-header__status{display:flex;align-items:center;gap:4px;font-size:12px;color:var(--chat-meta-color);margin-top:1px}.chat-room-header__status-dot{width:6px;height:6px;border-radius:50%;background:var(--chat-online);flex-shrink:0}.chat-room-header__status--offline .chat-room-header__status-dot{background:#888}.chat-room-header__actions{display:flex;align-items:center;gap:2px}.chat-room-header__icon-btn{background:none;border:none;color:var(--chat-tool-color);padding:7px;cursor:pointer;border-radius:8px;display:flex;align-items:center;justify-content:center;transition:background .15s,color .15s}.chat-room-header__icon-btn:hover{background:var(--chat-divider-bg);color:var(--chat-bubble-in-text)}.chat-time-divider{display:flex;justify-content:center;margin:12px 0 8px}.chat-time-divider__pill{font-size:11px;color:var(--chat-divider-text);background:var(--chat-divider-bg);padding:3px 10px;border-radius:6px}.chat-msg-list{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;padding:0;-webkit-overflow-scrolling:touch;background:var(--chat-bg)}.chat-msg-row{display:flex;gap:10px;margin-bottom:1px;padding:6px 12px;align-items:flex-end}.chat-msg-row:has(+.chat-msg-row .chat-msg-row__avatar:not(.chat-msg-row__avatar--hidden)){padding-bottom:12px}.chat-msg-row--self{flex-direction:row-reverse}.chat-msg-row__avatar{flex-shrink:0;width:36px;height:36px;transition:transform .2s}.chat-msg-row__avatar--hidden{visibility:hidden;pointer-events:none}.chat-msg-row__avatar--clickable{cursor:pointer;border-radius:50%;outline-offset:2px}.chat-msg-row__avatar--clickable:hover{transform:scale(1.08)}.chat-msg-row__avatar--clickable:focus-visible{outline:2px solid rgba(128,128,128,.5)}.chat-msg-row__bubble-wrap{max-width:min(90%,550px);min-width:0;display:flex;flex-direction:column;align-items:flex-start}@media (min-width: 768px){.chat-msg-row__bubble-wrap{max-width:min(70%,650px)}}@media (min-width: 1200px){.chat-msg-row__bubble-wrap{max-width:min(60%,750px)}}.chat-msg-row--self .chat-msg-row__bubble-wrap{align-items:flex-end}.chat-msg-bubble{border-radius:16px;padding:9px 13px;font-size:15px;line-height:1.45;word-break:break-word;overflow-wrap:break-word;box-shadow:0 1px 2px #0000000f;width:100%;min-width:0;transition:box-shadow .2s}.chat-msg-bubble:hover{box-shadow:0 2px 4px #0000001a}.chat-msg-bubble:active{opacity:.9;box-shadow:0 1px 2px #00000014}.chat-msg-row:not(.chat-msg-row--self) .chat-msg-bubble{background:var(--chat-bubble-in);color:var(--chat-bubble-in-text);border-bottom-left-radius:4px}.chat-msg-row--self .chat-msg-bubble{background:var(--chat-bubble-out);color:var(--chat-bubble-out-text);border-bottom-right-radius:4px}.chat-msg-bubble:has(.chat-msg-bubble__emoji-only){padding:6px 8px}.chat-msg-bubble__emoji-only{display:inline-grid;grid-template-columns:repeat(4,1fr);gap:3px;max-width:140px;line-height:1;word-break:keep-all;font-size:28px;text-align:center}.chat-msg-bubble:has(.chat-msg-bubble__mixed-heavy){padding:8px 10px}.chat-msg-bubble__mixed-heavy{display:flex;flex-wrap:wrap;align-items:baseline;gap:2px 4px;line-height:1.4;word-break:break-word}.chat-msg-bubble__emoji-item{display:inline-block;font-size:24px;line-height:1;flex-shrink:0}.chat-msg-bubble__text-item{display:inline;font-size:15px;word-break:break-word}.chat-msg-bubble__text-only{display:block;word-break:break-word;white-space:pre-wrap;overflow-wrap:break-word}.chat-msg-bubble__markdown{display:block;width:100%;min-width:0;word-break:break-word;overflow-wrap:break-word;word-spacing:break-word}.chat-msg-bubble__markdown p{margin:6px 0;line-height:1.5}.chat-msg-bubble__markdown h1,.chat-msg-bubble__markdown h2,.chat-msg-bubble__markdown h3,.chat-msg-bubble__markdown h4,.chat-msg-bubble__markdown h5,.chat-msg-bubble__markdown h6{margin:8px 0 6px;font-weight:600;line-height:1.35}.chat-msg-bubble__markdown h1{font-size:18px;margin:10px 0 8px}.chat-msg-bubble__markdown h2{font-size:16px;margin:10px 0 8px}.chat-msg-bubble__markdown h3{font-size:15px;margin:8px 0 6px}.chat-msg-bubble__markdown h4{font-size:14px}.chat-msg-bubble__markdown h5{font-size:13px}.chat-msg-bubble__markdown h6{font-size:12px}.chat-msg-bubble__markdown ul,.chat-msg-bubble__markdown ol{margin:6px 0;padding-left:24px}.chat-msg-bubble__markdown li{margin:3px 0;line-height:1.5}.chat-msg-bubble__markdown blockquote{margin:6px 0;padding-left:12px;border-left:3px solid currentColor;opacity:.85;font-style:italic;font-size:14px}.chat-msg-bubble__markdown code{font-family:Monaco,Menlo,Ubuntu Mono,Courier New,monospace;font-size:13px;word-break:break-all}.chat-msg-bubble__markdown code:not(pre code){background:#0000001f;padding:2px 5px;border-radius:4px;font-size:12px}.chat-msg-bubble__markdown pre{margin:6px 0;border-radius:8px;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;font-size:12px;max-width:100%;word-break:break-all}.chat-msg-bubble__markdown pre code{background:none;padding:0;border-radius:0;color:inherit;font-size:inherit;white-space:pre-wrap;word-break:break-word}:root[data-theme=dark] .chat-msg-bubble__markdown a{color:#5a9eff}:root[data-theme=light] .chat-msg-bubble__markdown a{color:#06f}.chat-msg-bubble__markdown a{text-decoration:none;cursor:pointer;font-weight:500;transition:opacity .15s}.chat-msg-bubble__markdown a:active{opacity:.7}.chat-msg-bubble__markdown strong{font-weight:600}.chat-msg-bubble__markdown em{font-style:italic}.chat-msg-bubble__markdown table{border-collapse:collapse;margin:8px 0;font-size:13px;width:100%}.chat-msg-bubble__markdown th,.chat-msg-bubble__markdown td{border:1px solid rgba(0,0,0,.15);padding:6px 8px;text-align:left}.chat-msg-bubble__markdown th{background:#0000000f;font-weight:600}.chat-msg-bubble__markdown hr{border:none;border-top:1px solid rgba(0,0,0,.15);margin:8px 0}.chat-msg-bubble__markdown>*:first-child{margin-top:0}.chat-msg-bubble__markdown>*:last-child{margin-bottom:0}.chat-msg-bubble__markdown pre[class*=language-]{background:#282c34!important;border-radius:8px;padding:12px!important}.chat-msg-bubble__markdown .chat-md-code-block{border-radius:8px;padding:10px 12px!important;margin:6px 0!important;overflow-x:auto;max-width:100%}.chat-msg-bubble__img{max-width:100%;max-height:280px;border-radius:8px;display:block;width:auto;height:auto}.chat-msg-bubble__voice{display:flex;align-items:center;gap:10px;min-width:120px}.chat-msg-bubble__voice-dur{font-variant-numeric:tabular-nums;font-weight:500}.chat-msg-bubble__voice-waves{display:flex;align-items:center;gap:2px;opacity:.95}.chat-msg-bubble__file{display:flex;align-items:center;justify-content:space-between;gap:10px;min-width:0;width:min(260px,80vw)}.chat-msg-bubble__file-name{width:80%;max-width:80%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:14px}.chat-msg-bubble__file-link{flex-shrink:0;color:var(--chat-bubble-out-text);font-size:13px;text-decoration:underline;opacity:.85}.chat-msg-bubble__file-card{width:min(260px,80vw);border:none;border-radius:10px;padding:0;margin:0;overflow:hidden;background:#8080801f;color:inherit;text-align:left;cursor:pointer}.chat-msg-bubble__file-card:disabled{opacity:.7;cursor:not-allowed}.chat-msg-bubble__file-cover-wrap{position:relative;width:100%;height:108px;background:#0000001a}.chat-msg-bubble__file-cover{width:100%;height:100%;object-fit:cover;display:block}.chat-msg-bubble__file-cover-fallback{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:13px;color:var(--chat-meta-color)}.chat-msg-bubble__file-play{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:32px;height:32px;border-radius:50%;background:#0000008c;color:#fff;font-size:14px;display:flex;align-items:center;justify-content:center;padding-left:2px}.chat-msg-bubble__file-info{width:100%;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 10px}.chat-msg-bubble__file-action{flex-shrink:0;font-size:12px;opacity:.78}.chat-msg-bubble__meta{font-size:11px;color:var(--chat-meta-color);margin-top:3px;padding:0 2px}.chat-msg-row--self .chat-msg-bubble__meta{text-align:right}.chat-msg-system{display:flex;justify-content:center;margin:10px 0}.chat-msg-system__pill{font-size:12px;color:var(--chat-system-text);background:var(--chat-divider-bg);padding:6px 14px;border-radius:8px;max-width:92%;text-align:center;line-height:1.4}.chat-composer{flex-shrink:0;background:transparent;padding:8px 4px;width:100%}.chat-composer__toolbar{display:flex;align-items:flex-end;gap:6px}.chat-composer__tool{background:none;border:none;color:var(--chat-tool-color);padding:8px;cursor:pointer;border-radius:8px;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:background .15s}.chat-composer__tool:hover:not(:disabled){background:var(--chat-divider-bg);color:var(--chat-bubble-in-text)}.chat-composer__tool:disabled{opacity:.35;cursor:not-allowed}.chat-composer__main{flex:1;min-width:0}.chat-composer__textarea{width:100%;resize:none;border:1px solid var(--chat-footer-border);border-radius:20px;background:var(--chat-input-bg);color:var(--chat-input-color);padding:10px 14px;font-size:15px;line-height:1.4;min-height:42px;max-height:120px;outline:none;transition:border-color .15s}.chat-composer__textarea:focus{border-color:#8080804d;box-shadow:0 0 0 2px #80808014}.chat-composer__textarea::placeholder{color:var(--chat-input-placeholder)}.chat-composer__voice-hold{width:100%;border:none;border-radius:22px;background:var(--chat-input-bg);color:var(--chat-tool-color);font-size:15px;padding:12px 16px;cursor:pointer;-webkit-user-select:none;user-select:none;touch-action:none}.chat-composer__voice-hold:active,.chat-composer__voice-hold--active{filter:brightness(1.1)}.chat-composer__panels{margin-top:6px}.chat-composer__hidden-input{position:absolute;width:0;height:0;opacity:0;pointer-events:none}.chat-emoji-panel{display:flex;flex-wrap:wrap;gap:4px;padding:8px 4px;background:var(--chat-panel-bg);border-radius:12px;max-height:160px;overflow-y:auto}.chat-emoji-panel button{background:none;border:none;font-size:26px;line-height:1;padding:4px;cursor:pointer;border-radius:6px}.chat-emoji-panel button:hover{background:var(--chat-divider-bg)}.chat-attach-panel{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;padding:12px 8px;background:var(--chat-panel-bg);border-radius:12px}.chat-attach-panel button{background:var(--chat-attach-item-bg);border:none;border-radius:10px;color:var(--chat-bubble-in-text);font-size:13px;padding:14px 8px;cursor:pointer;transition:background .15s}.chat-attach-panel button:hover{background:var(--chat-attach-item-hover)}.chat-msg-bubble__media-hit{display:block;padding:0;margin:0;border:none;background:transparent;cursor:pointer;border-radius:8px;overflow:hidden;max-width:220px}.chat-msg-bubble__media-hit:focus-visible{outline:2px solid rgba(128,128,128,.5);outline-offset:2px}.chat-msg-bubble__video-hit{position:relative;display:block;width:100%;max-width:220px;padding:0;border:none;border-radius:10px;overflow:hidden;cursor:pointer;background:#0000001a}.chat-msg-bubble__video-hit:disabled{cursor:not-allowed;opacity:.65}.chat-msg-bubble__video-thumb{width:100%;max-height:160px;object-fit:cover;display:block}.chat-msg-bubble__video-fallback{min-height:120px;display:flex;align-items:center;justify-content:center;color:var(--chat-meta-color);font-size:14px}.chat-msg-bubble__video-overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;background:#00000052;pointer-events:none}.chat-msg-bubble__video-play{width:44px;height:44px;border-radius:50%;background:#0000008c;color:#fff;font-size:18px;display:flex;align-items:center;justify-content:center;padding-left:4px}.chat-msg-bubble__video-dur{font-size:12px;color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.8)}.chat-msg-bubble__voice-hit{display:flex;align-items:center;gap:10px;min-width:140px;padding:0;margin:0;border:none;background:transparent;color:inherit;font:inherit;cursor:pointer;text-align:left}.chat-msg-bubble__voice-hit:disabled{cursor:not-allowed;opacity:.7}.chat-msg-bubble__voice-hint{font-size:11px;opacity:.75}.media-modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:10050;display:flex;align-items:center;justify-content:center;padding:24px;padding-bottom:max(24px,env(safe-area-inset-bottom))}.media-modal__backdrop{position:absolute;top:0;right:0;bottom:0;left:0;background:#000000d1}.media-modal__panel{position:relative;z-index:1;max-width:min(96vw,900px);max-height:min(88vh,900px);display:flex;flex-direction:column;align-items:center;justify-content:center}.media-modal__close{position:absolute;top:-40px;right:0;width:36px;height:36px;border:none;border-radius:50%;background:#ffffff1f;color:#fff;font-size:24px;cursor:pointer;display:flex;align-items:center;justify-content:center}.media-modal__close:hover{background:#ffffff38}.media-modal__image{max-width:100%;max-height:min(82vh,900px);object-fit:contain;border-radius:8px}.media-modal__video{max-width:100%;max-height:min(70vh,720px);border-radius:8px;background:#000}.media-modal__audio-box{background:var(--chat-input-bg);border-radius:12px;padding:20px 24px;min-width:min(92vw,360px)}.media-modal__audio-label{margin:0 0 12px;font-size:14px;color:var(--chat-meta-color)}.media-modal__audio{width:100%;height:40px}*,*:before,*:after{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,sans-serif;background:var(--color-bg);color:var(--color-text);-webkit-font-smoothing:antialiased}button,input,textarea{font:inherit}a{color:var(--color-primary);text-decoration:none}.muted{color:var(--color-text-muted);font-size:13px}.btn{border:none;border-radius:8px;padding:10px 16px;cursor:pointer;font-weight:500}.btn:disabled{opacity:.5;cursor:not-allowed}.btn--primary{background:var(--color-primary);color:#fff}.btn--primary:hover:not(:disabled){background:var(--color-primary-hover)}.btn--secondary{background:var(--color-surface);color:var(--color-text);border:1px solid var(--color-border)}.input{width:100%;padding:10px 12px;border-radius:8px;border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text)}.form{display:flex;flex-direction:column;gap:12px;max-width:360px}.form__label{display:flex;flex-direction:column;gap:6px;font-size:13px;color:var(--color-text-muted)}.form__error{color:#f66;font-size:13px;margin:0}.page{padding:16px;min-height:100%}.page--auth{display:flex;flex-direction:column;align-items:center;padding-top:48px}.page__title{font-size:20px;margin:0 0 8px}.page__desc{color:var(--color-text-muted);font-size:13px;margin:0 0 24px}.page__header{margin-bottom:12px}.splash{min-height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#000}.splash__logo{font-size:72px;font-weight:800;color:var(--color-primary)}.splash__hint{color:var(--color-text-muted);letter-spacing:.2em}.app-shell{display:flex;flex-direction:column;min-height:100vh;min-height:100dvh}.app-shell__header{position:sticky;top:0;z-index:200;flex-shrink:0}.global-overlay-host{position:fixed;top:0;left:0;right:0;z-index:1200;pointer-events:none}.global-overlay-host>*{pointer-events:auto}.call-invite-banner{margin:8px 12px 0;background:#1b1d22;border-radius:14px;border:1px solid rgba(255,255,255,.08);display:flex;align-items:center;gap:10px;padding:10px 12px}.call-invite-banner__avatar{width:36px;height:36px;border-radius:50%;background:#3a3d44;display:flex;align-items:center;justify-content:center;font-weight:700;color:#fff;flex-shrink:0}.call-invite-banner__body{min-width:0;flex:1}.call-invite-banner__name{margin:0;color:#fff;font-size:18px;font-weight:700;line-height:1.15;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.call-invite-banner__sub{margin:2px 0 0;color:#ffffffdb;font-size:13px;line-height:1.2}.call-invite-banner__actions{display:flex;align-items:center;gap:8px}.call-btn{width:34px;height:34px;border-radius:50%;border:none;color:#fff;font-size:11px;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0}.call-btn--accept{background:#13b44b}.call-btn--reject{background:#de2f3a}.app-shell__main{flex:1;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch;padding-bottom:calc(64px + env(safe-area-inset-bottom,0px))}.tab-bar{position:fixed;bottom:0;left:0;right:0;display:flex;border-top:1px solid var(--color-border);background:var(--color-surface);z-index:10}.tab-bar__item{flex:1;text-align:center;padding:14px 0;color:var(--color-text-muted);font-size:13px}.tab-bar__item--active{color:var(--color-primary);font-weight:600}.nav-bar{display:flex;align-items:center;gap:8px;padding:8px 0 16px;border-bottom:1px solid var(--color-border);margin-bottom:12px}.nav-bar__back{background:none;border:none;color:var(--color-text);font-size:18px;cursor:pointer;padding:4px 8px}.nav-bar__placeholder{width:40px}.nav-bar__title{flex:1;font-size:17px;margin:0;text-align:center}.nav-bar__right{min-width:40px}.conv-list{display:flex;flex-direction:column;gap:0}.conv-item{display:flex;gap:12px;width:100%;padding:12px 0;border:none;border-bottom:1px solid var(--color-border);background:transparent;color:inherit;text-align:left;cursor:pointer}.conv-item__body{flex:1;min-width:0}.conv-item__row{display:flex;justify-content:space-between;align-items:center;gap:8px}.conv-item__row--sub{margin-top:4px}.conv-item__name{font-weight:600}.conv-item__time{font-size:12px;color:var(--color-text-muted)}.conv-item__preview{font-size:13px;color:var(--color-text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.badge{background:var(--color-primary);color:#fff;font-size:11px;padding:2px 6px;border-radius:10px}.manual-chat{margin-bottom:16px}.manual-chat__row{display:flex;gap:8px;margin-top:8px}.manual-chat__row .input{flex:1}.msg-list{flex:1;overflow:auto;padding-bottom:12px;min-height:200px}.page--chat{display:flex;flex-direction:column;height:100vh;padding-bottom:8px}.bubble-row{display:flex;margin-bottom:10px}.bubble-row--self{justify-content:flex-end}.bubble{max-width:78%;background:var(--color-surface);border:1px solid var(--color-border);border-radius:10px;padding:8px 12px}.bubble-row--self .bubble{background:#2a1a1a;border-color:#422}.bubble__text{word-break:break-word;font-size:15px}.bubble__meta{font-size:11px;color:var(--color-text-muted);margin-top:4px}.msg-input{display:flex;gap:8px;align-items:flex-end;border-top:1px solid var(--color-border);padding-top:12px}.msg-input__field{flex:1;resize:none;border-radius:8px;border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text);padding:8px 10px}.spinner{padding:24px;text-align:center;color:var(--color-text-muted)}.app-shell--pc{display:flex;flex-direction:column;min-height:100vh}.app-shell--pc .app-shell__main{flex:1;min-height:0;padding-bottom:0}@media (max-width: 1023px){.app-shell__main{padding-bottom:calc(64px + env(safe-area-inset-bottom,0px))}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}
