  *{-webkit-tap-highlight-color:transparent;box-sizing:border-box;-webkit-user-select:none;user-select:none;}
  body{background:#111;font-family:-apple-system,BlinkMacSystemFont,'SF Pro Text',system-ui,sans-serif;margin:0;overflow:hidden;height:100dvh;}
  .screen{position:absolute;inset:0;display:flex;flex-direction:column;opacity:0;pointer-events:none;transition:opacity .22s ease;}
  .screen.active{opacity:1;pointer-events:all;}
  .scroll-area{overflow-y:auto;-webkit-overflow-scrolling:touch;flex:1;min-height:0;}
  .scroll-area::-webkit-scrollbar{display:none;}
  .header-blur{backdrop-filter:blur(28px);-webkit-backdrop-filter:blur(28px);background:rgba(100,100,110,0.28);border-radius:0 0 2.2rem 2.2rem;flex-shrink:0;}
  .input-bar{padding:8px 10px 24px;flex-shrink:0;background:transparent;}
  .input-pill{display:flex;align-items:center;gap:6px;background:rgba(44,44,46,0.82);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);border-radius:999px;padding:6px 6px 6px 12px;height:52px;overflow:hidden;will-change:height,padding,gap;transition:height .42s cubic-bezier(.22,1,.36,1),padding .42s cubic-bezier(.22,1,.36,1),gap .42s cubic-bezier(.22,1,.36,1);}
  .input-pill.chat-recording{height:86px;border-radius:999px;padding:14px 18px 14px 24px;gap:12px;}
  .chat-voice-hidden{opacity:0;pointer-events:none;transform:translateY(4px) scale(.97);max-width:0!important;width:0!important;flex:0 0 0!important;padding:0!important;margin:0!important;overflow:hidden;transition:max-width .42s cubic-bezier(.22,1,.36,1),opacity .34s ease,transform .42s cubic-bezier(.22,1,.36,1);}
  #recording-ui,#fav-recording-ui{display:flex;align-items:center;gap:4px;flex:1;min-width:0;max-width:0;opacity:0;transform:translateY(6px);overflow:hidden;pointer-events:none;transition:max-width .42s cubic-bezier(.22,1,.36,1),opacity .34s ease,transform .42s cubic-bezier(.22,1,.36,1);}
  .input-pill.chat-recording #recording-ui,
  .input-pill.chat-recording #fav-recording-ui{max-width:100%;opacity:1;transform:translateY(0);}
  .input-pill.recording-stopping #recording-ui,
  .input-pill.recording-stopping #fav-recording-ui{max-width:0;opacity:0;transform:translateY(6px);}
  #record-dot{width:11px;height:11px;border-radius:50%;background:#ff4d4f;flex:0 0 auto;align-self:center;margin-left:0;animation:recordDotPulse 1.2s ease-in-out infinite;}
  #fav-record-dot{width:11px;height:11px;border-radius:50%;background:#ff4d4f;flex:0 0 auto;align-self:center;margin-left:0;animation:recordDotPulse 1.2s ease-in-out infinite;}
  @keyframes recordDotPulse{0%,100%{opacity:.35;transform:scale(.9);}50%{opacity:1;transform:scale(1.08);}}
  @keyframes recordHoldPop{0%{transform:scale(.9);}60%{transform:scale(1.12);}100%{transform:scale(1.06);}}
  #record-wave,#fav-record-wave{display:flex;align-items:center;gap:3px;height:30px;flex:1;min-width:0;margin:0 0 0 4px;}
  .record-bar{width:4px;border-radius:3px;background:#fff;height:8px;transform-origin:center;transition:height .09s linear;}
  #record-time{color:rgba(255,255,255,.9);font-size:14px;font-variant-numeric:tabular-nums;min-width:44px;margin-right:8px;margin-left:0;text-align:right;}
  #fav-record-time{color:rgba(255,255,255,.9);font-size:14px;font-variant-numeric:tabular-nums;min-width:44px;margin-right:8px;margin-left:0;text-align:right;}
  #send-btn.voice-mode svg{width:20px;height:20px;}
  #send-btn,#fav-send-btn{margin-left:auto;transition:transform .38s cubic-bezier(.22,1,.36,1);}
  #send-btn.record-pressing,#fav-send-btn.record-pressing{transform:scale(.95);}
  #send-btn.record-hold,#fav-send-btn.record-hold{transform:scale(1.06);animation:recordHoldPop .24s cubic-bezier(.22,1,.36,1);}
  @media (min-width:768px){
    #screen-chat .input-pill.chat-recording,#fav-input-pill.chat-recording{padding-left:24px;padding-right:18px;}
    #record-dot,#fav-record-dot{margin-left:0;}
    #record-wave,#fav-record-wave{margin:0 0 0 4px;min-width:0;}
    .record-bar{width:3px;}
    #record-time,#fav-record-time{min-width:44px;margin-left:0;margin-right:8px;text-align:right;}
    #send-btn.record-hold,#fav-send-btn.record-hold{margin-left:auto;}
  }
  .voice-bubble{width:276px;max-width:276px;display:flex;flex-direction:row!important;align-items:flex-start;gap:10px;padding:8px 10px 7px!important;flex-wrap:wrap;position:relative;}
  .voice-play-btn{width:40px;height:40px;border:none;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;flex-shrink:0;}
  .bubble-out .voice-play-btn{background:rgba(255,255,255,.2);}
  .bubble-in .voice-play-btn{background:rgba(255,255,255,.1);}
  .voice-wave-static{display:flex;align-items:center;gap:1.5px;flex:1;min-width:0;height:18px;}
  .voice-wave-static span{display:block;width:2px;background:rgba(255,255,255,.88);border-radius:3px;height:var(--h,8px);}
  .voice-meta{display:flex;align-items:center;gap:5px;margin-top:4px;flex-wrap:wrap;}
  .voice-sent{display:inline-flex;align-items:center;gap:3px;margin-left:auto;}
  .voice-time{margin-left:0;}
  .voice-dot{width:7px;height:7px;border-radius:50%;background:rgba(255,255,255,.55);}
  .voice-caption{margin-top:6px;font-size:14px;line-height:1.35;word-break:break-word;}
  .voice-bubble .msg-reactions{flex-basis:100%;margin:0 6px;align-self:stretch;}
  .voice-bubble .msg-reactions.visible{margin-top:10px;margin-bottom:4px;}
  .bubble-out.voice-bubble .msg-reactions{justify-content:flex-start;margin-left:0;}
  .bubble-in.voice-bubble .msg-reactions{justify-content:flex-start;margin-left:0;}
  .voice-bubble.voice-reactions-open .voice-meta{align-items:flex-end;padding-bottom:14px;}
  .voice-bubble.voice-reactions-open .voice-sent{position:absolute;right:10px;bottom:6px;width:auto;margin:0;}
  .bubble-out.voice-bubble.voice-reactions-open .voice-sent{justify-content:flex-end;}
  .bubble-in.voice-bubble.voice-reactions-open .voice-sent{justify-content:flex-end;align-self:flex-end;}
  #desktop-placeholder{display:none;}
  /* ── Цитата внутри пузыря (исходящие) ── */
  .msg-quote-out{background:rgba(255,255,255,0.14);border-left:3px solid rgba(255,255,255,0.82);border-radius:0.6rem;padding:5px 9px;margin-bottom:6px;overflow:hidden;width:100%;max-width:100%;min-width:0;}
  .msg-quote-in{background:rgba(255,255,255,0.08);border-left:3px solid rgba(255,255,255,0.42);border-radius:0.6rem;padding:5px 9px;margin-bottom:6px;overflow:hidden;width:100%;max-width:100%;min-width:0;}
  .bubble-out:has(.msg-quote-out){min-width:200px;}
  .bubble-in:has(.msg-quote-out){min-width:200px;}
  .bubble-in:has(.msg-quote-in){min-width:200px;}
  .msg-quote-name{color:rgba(255,255,255,0.95);font-size:12px;font-weight:700;margin-bottom:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
  .msg-quote-text{color:rgba(255,255,255,0.72);font-size:13px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis;word-break:break-word;}
  /* ── Медиа превью (над полем ввода) ── */
  #media-preview{display:none;flex-direction:row;gap:8px;overflow-x:auto;padding:0 10px 6px;scrollbar-width:none;}
  #media-preview.show{display:flex;}
  #media-preview::-webkit-scrollbar{display:none;}
  .media-thumb{position:relative;width:72px;height:72px;border-radius:10px;overflow:hidden;flex-shrink:0;background:#333;}
  .media-thumb img,.media-thumb video{width:100%;height:100%;object-fit:cover;display:block;}
  .media-thumb-del{position:absolute;top:3px;right:3px;width:20px;height:20px;border-radius:50%;background:rgba(0,0,0,0.72);border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0;z-index:2;}
  /* ── Медиа сетка в сообщениях ── */
  .msg-media-grid{display:grid;gap:2px;border-radius:0.8rem;overflow:hidden;width:100%;}
  .msg-media-grid.n1{grid-template-columns:1fr;}
  .msg-media-grid.n2{grid-template-columns:1fr 1fr;}
  .msg-media-grid.n3{grid-template-columns:1fr 1fr;}
  .msg-media-grid.n3 .mi:first-child{grid-column:span 2;}
  .msg-media-grid.n4{grid-template-columns:1fr 1fr;}
  .msg-media-grid.n5,.msg-media-grid.n6,.msg-media-grid.n7,.msg-media-grid.n8,.msg-media-grid.n9{grid-template-columns:1fr 1fr;}
  .msg-media-grid.n5 .mi:first-child{grid-column:span 2;}
  .mi{position:relative;overflow:hidden;background:#1a1a1a;min-height:100px;}
  .msg-media-grid.n1 .mi{min-height:140px;max-height:260px;}
  .msg-media-grid.n2 .mi,.msg-media-grid.n3 .mi,.msg-media-grid.n4 .mi,.msg-media-grid.n5 .mi,.msg-media-grid.n6 .mi,.msg-media-grid.n7 .mi,.msg-media-grid.n8 .mi,.msg-media-grid.n9 .mi{height:110px;}
  .msg-media-grid.n3 .mi:first-child,.msg-media-grid.n5 .mi:first-child{height:140px;}
  .mi img,.mi video{width:100%;height:100%;object-fit:cover;display:block;}
  .mi-more{position:absolute;inset:0;background:rgba(0,0,0,0.52);display:flex;align-items:center;justify-content:center;color:#fff;font-size:24px;font-weight:700;}
  .bubble-in{background:#252525;border-radius:1.4rem 1.4rem 1.4rem 0.3rem;padding:10px 14px 6px;display:inline-flex;flex-direction:column;position:relative;min-width:80px;}
  .bubble-out{background:#0078FF;border-radius:1.4rem 1.4rem 0.3rem 1.4rem;padding:10px 14px 6px;display:inline-flex;flex-direction:column;position:relative;min-width:80px;}
  .msg-text-in{color:#fff;font-size:15px;margin:0;line-height:1.45;word-break:break-word;}
  .msg-text-out{color:#fff;font-size:15px;margin:0;line-height:1.45;word-break:break-word;}
  .msg-meta{display:flex;align-items:center;justify-content:flex-end;gap:3px;margin-top:4px;align-self:flex-end;}
  .msg-time-in{color:#8E8E93;font-size:11px;}
  .msg-time-out{color:rgba(255,255,255,.6);font-size:11px;}

  #chat-title-wrap{flex:1;margin-right:36px;min-width:0;text-align:center;display:flex;flex-direction:column;align-items:center;gap:2px;}
  #chat-contact-name{font-size:20px;font-weight:700;color:#fff;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:inline-flex;align-items:center;justify-content:center;gap:4px;line-height:1.12;}
  #chat-presence-status{min-height:17px;color:#8E8E93;font-size:13px;font-weight:600;line-height:17px;display:flex;align-items:center;justify-content:center;gap:5px;}
  #chat-presence-status.online{color:#0A84FF;}
  #chat-presence-status.typing{color:#0A84FF;}
  .typing-dots{display:inline-flex;align-items:flex-end;gap:3px;height:11px;}
  .typing-dots span{width:4px;height:4px;border-radius:50%;background:currentColor;opacity:.35;animation:typingDot 1.05s ease-in-out infinite;}
  .typing-dots span:nth-child(2){animation-delay:.15s;}
  .typing-dots span:nth-child(3){animation-delay:.3s;}
  @keyframes typingDot{0%,60%,100%{transform:translateY(0);opacity:.35;}30%{transform:translateY(-4px);opacity:1;}}
  .chat-avatar-wrap{position:relative;width:54px;height:54px;flex:0 0 54px;display:flex;align-items:center;justify-content:center;}
  .chat-avatar-wrap .tg-avatar{flex:0 0 auto;}
  .online-dot{position:absolute;right:2px;bottom:2px;width:12px;height:12px;border-radius:50%;background:#34C759;box-shadow:0 0 0 4px #1A1A1A;opacity:0;transform:scale(.55);transition:opacity .18s ease,transform .18s ease;pointer-events:none;}
  .chat-avatar-wrap.is-online .online-dot{opacity:1;transform:scale(1);}
  .chat-row{display:flex;align-items:center;gap:12px;background:#1A1A1A;border:none;border-radius:999px;padding:12px 16px;cursor:pointer;text-align:left;width:100%;}
  .chat-row-item{transition:transform .22s ease,opacity .22s ease;}
  .chat-row-item.chat-pin-anim{transform:scale(.985);opacity:.86;}
  .chat-pin-icon{transition:opacity .2s ease,transform .22s ease;transform:scale(1);opacity:.55;}
  .chat-row-item.chat-pinned .chat-pin-icon{opacity:.75;transform:scale(1);}
  .chat-row-name{display:block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
  .chat-row-preview{display:block;color:#8E8E93;font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
  .chat-row-preview-system{display:inline-flex;align-items:center;gap:6px;}
  .chat-row-preview-system svg{width:13px;height:13px;flex-shrink:0;opacity:.85;}
  .chat-row:active{opacity:.7;}
  .settings-row{width:100%;display:flex;align-items:center;gap:14px;padding:17px 16px;background:none;border:none;cursor:pointer;min-height:68px;flex-shrink:0;}
  .settings-row:active{opacity:.7;}
  .settings-icon{width:34px;height:34px;border-radius:9px;flex-shrink:0;display:flex;align-items:center;justify-content:center;}
  .tg-avatar{border-radius:50%;flex-shrink:0;display:flex;align-items:center;justify-content:center;font-weight:600;color:#fff;font-family:inherit;}

/* ── Чат: шапка и инпут плавают поверх сообщений ── */
#screen-chat{overflow:hidden;background:#111;background-image:url('wallpaper-mob.png');background-size:cover;background-position:center;background-repeat:no-repeat;}
#screen-favorites{overflow:hidden;background:#111!important;background-image:url('wallpaper-mob.png')!important;background-size:cover!important;background-position:center!important;background-repeat:no-repeat!important;}
body.chat-bg-default #screen-chat,body.chat-bg-default #screen-favorites,body.chat-bg-default #desktop-placeholder{background-image:none!important;background:#111!important;}
body.chat-bg-wallpaper #screen-chat{background-image:url('wallpaper-mob.png')!important;}
body.chat-bg-wallpaper #screen-favorites{background-image:url('wallpaper-mob.png')!important;}
body.chat-bg-wallpaper #desktop-placeholder{background-image:url('wallpaper-mob.png')!important;}
body.chat-theme-default{--chat-out-bg:#0078FF;}
body.chat-theme-aurora{--chat-out-bg:linear-gradient(135deg,#ff6bd6,#7c2cff);}
body.chat-theme-mint{--chat-out-bg:linear-gradient(135deg,#7CFF91,#16A05C);}
body.chat-theme-sunset{--chat-out-bg:linear-gradient(135deg,#FFD36B,#FF7A00);}
body.chat-theme-ocean{--chat-out-bg:linear-gradient(135deg,#00E0FF,#314DFF);}
body.chat-theme-flame{--chat-out-bg:linear-gradient(135deg,#FFB06B,#FF3B30);}
body.chat-theme-default .bubble-out{background:#0078FF;}
body.chat-theme-aurora .bubble-out,body.chat-theme-mint .bubble-out,body.chat-theme-sunset .bubble-out,body.chat-theme-ocean .bubble-out,body.chat-theme-flame .bubble-out{background:var(--chat-out-bg);}
body.chat-theme-default .custom-chat-preview .bubble-out{background:#0078FF;}
@media (min-width:768px){
  body.chat-bg-wallpaper #screen-chat,body.chat-bg-wallpaper #screen-favorites,body.chat-bg-wallpaper #desktop-placeholder{background-image:url('wallpaper-pc.png')!important;}
}
@media (min-width:768px){
  #screen-chat,#screen-favorites,#desktop-placeholder{background-size:cover;background-position:center;background-repeat:no-repeat;}
  #screen-chat,#desktop-placeholder{background-image:url('wallpaper-pc.png');}
  #screen-favorites{background-image:url('wallpaper-pc.png')!important;background-size:cover!important;background-position:center!important;background-repeat:no-repeat!important;}
}
#screen-chat>.header-blur{position:absolute;top:0;left:0;right:0;z-index:5;background:rgba(44,44,46,0.72)!important;backdrop-filter:blur(28px)!important;-webkit-backdrop-filter:blur(28px)!important;border-radius:0 0 2.2rem 2.2rem!important;}
#screen-chat>.input-bar{position:absolute;bottom:0;left:0;right:0;z-index:5;background:transparent;}
/* ── Избранное: позиционирование ── */
#screen-favorites>.header-blur{position:absolute;top:0;left:0;right:0;z-index:5;background:rgba(44,44,46,0.72)!important;backdrop-filter:blur(28px)!important;-webkit-backdrop-filter:blur(28px)!important;border-radius:0 0 2.2rem 2.2rem!important;}
/* ── Поиск ── */
#screen-search{background:#111;}
#search-bar-wrap{display:flex;align-items:center;gap:10px;padding:12px 12px 10px;flex-shrink:0;}
#search-input{flex:1;background:rgba(44,44,46,0.82);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);border:none;border-radius:999px;padding:10px 16px;color:#fff;font-size:15px;font-family:inherit;outline:none;-webkit-user-select:text;user-select:text;}
#search-input::placeholder{color:rgba(255,255,255,0.35);}
#search-cancel{background:none;border:none;color:#0078FF;font-size:16px;cursor:pointer;white-space:nowrap;padding:4px;flex-shrink:0;font-family:inherit;}
#bug-report-modal{display:none;position:fixed;inset:0;z-index:720;background:rgba(0,0,0,0.55);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);align-items:center;justify-content:center;opacity:0;transition:opacity .18s ease;padding:18px;box-sizing:border-box;}
#bug-report-modal.open{display:flex;opacity:1;}
#bug-report-card{width:min(92vw,390px);background:#1C1C1E;border-radius:24px;padding:22px 18px 18px;box-shadow:0 22px 70px rgba(0,0,0,.55);transform:translateY(12px) scale(.97);transition:transform .2s cubic-bezier(0.22,1,0.36,1);}
#bug-report-modal.open #bug-report-card{transform:translateY(0) scale(1);}
#bug-report-title{color:#fff;font-size:24px;font-weight:800;text-align:center;margin-bottom:16px;}
.bug-report-step{display:flex;align-items:center;gap:14px;background:#2C2C2E;border-radius:18px;padding:15px 16px;color:#fff;font-size:16px;font-weight:600;}
.bug-report-step+.bug-report-step{margin-top:10px;}
.bug-report-step svg{flex-shrink:0;}
#bug-report-submit{width:100%;margin-top:16px;background:#0078FF;border:none;border-radius:999px;padding:14px;color:#fff;font-size:16px;font-weight:800;font-family:inherit;cursor:pointer;}

/* ── Контекстное меню ── */
#ctx-overlay{position:fixed;inset:0;z-index:100;opacity:0;pointer-events:none;}
#ctx-overlay.open{opacity:1;pointer-events:all;}
#ctx-blur-bg{position:absolute;inset:0;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);background:rgba(0,0,0,0.55);}

#ctx-msg-wrap{position:absolute;max-width:82%;}

#ctx-menu{position:absolute;background:#2C2C2E;border-radius:1.2rem;overflow:hidden;min-width:220px;box-shadow:0 8px 40px rgba(0,0,0,0.6);will-change:transform,opacity;transform-origin:top center;transform:scale(0.86);opacity:0;transition:transform 0.32s cubic-bezier(0.22,1,0.36,1),opacity 0.24s ease;}
#ctx-overlay.open #ctx-menu{transform:scale(1);opacity:1;}
.ctx-item{display:flex;align-items:center;gap:14px;padding:13px 18px;border:none;background:none;cursor:pointer;width:100%;text-align:left;color:#fff;font-size:16px;font-family:inherit;}
.ctx-item:not(:last-child){border-bottom:1px solid rgba(255,255,255,0.08);}
.ctx-item:active{background:rgba(255,255,255,0.08);}
.ctx-item.danger{color:#FF453A;}

/* ── Островок ответа ── */
#reply-island{display:none;align-items:center;gap:10px;background:rgba(44,44,46,0.72);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);border-radius:1.1rem;padding:10px 14px;margin:0 10px 6px;border-left:3px solid #0078FF;}
#reply-island.show{display:flex;}
#reply-island-text{flex:1;min-width:0;}
#reply-island-title{color:#0078FF;font-size:12px;font-weight:600;margin-bottom:2px;}
#reply-island-preview{color:rgba(255,255,255,0.7);font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
#reply-close{background:none;border:none;cursor:pointer;color:rgba(255,255,255,0.5);padding:4px;flex-shrink:0;}
/* ── Просмотр медиа на весь экран ── */
#media-viewer{position:fixed;inset:0;z-index:300;background:#000;opacity:0;pointer-events:none;transition:opacity 0.22s ease;display:flex;align-items:center;justify-content:center;touch-action:none;}
#media-viewer.open{opacity:1;pointer-events:all;}
#mv-wrap{position:relative;width:100%;height:100%;display:flex;align-items:center;justify-content:center;padding:20px;box-sizing:border-box;}
#mv-item{display:flex;align-items:center;justify-content:center;max-width:100%;max-height:100%;}
#mv-item img{max-width:min(92vw,100%);max-height:min(88dvh,100%);object-fit:contain;display:block;-webkit-user-drag:none;}
#mv-item video{max-width:min(92vw,100%);max-height:min(88dvh,100%);object-fit:contain;display:block;}
#mv-close{position:absolute;top:max(56px,env(safe-area-inset-top,24px));right:16px;background:rgba(0,0,0,0.45);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:none;color:#fff;cursor:pointer;border-radius:50%;width:46px;height:46px;display:flex;align-items:center;justify-content:center;z-index:2;font-size:22px;line-height:1;}
#mv-count{position:absolute;top:max(62px,env(safe-area-inset-top,30px));left:50%;transform:translateX(-50%);color:#fff;font-size:15px;font-weight:600;z-index:2;pointer-events:none;}
#mv-prev,#mv-next{position:absolute;top:50%;transform:translateY(-50%);background:rgba(0,0,0,0.45);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:none;color:#fff;cursor:pointer;border-radius:50%;width:52px;height:52px;display:flex;align-items:center;justify-content:center;z-index:2;}
#mv-prev{left:12px;}#mv-next{right:12px;}
.mi{cursor:pointer;}
  /* ── Подсветка при переходе по цитате (Telegram-стиль) ── */
  .bubble-in::after,.bubble-out::after{content:'';position:absolute;inset:0;border-radius:inherit;pointer-events:none;background:transparent;}
  @keyframes msgFlash{0%{background:transparent;}40%{background:rgba(255,255,255,0.24);}100%{background:transparent;}}
  .msg-flash::after{animation:msgFlash 0.9s ease;}
  /* ── Реакции ── */
  .msg-reactions{display:flex;flex-wrap:wrap;gap:5px;align-self:flex-start;overflow:hidden;max-height:0;opacity:0;margin-top:0;margin-left:6px;margin-right:6px;transition:max-height 0.32s cubic-bezier(0.4,0,0.2,1),opacity 0.25s ease,margin-top 0.32s ease;}
  .msg-reactions.visible{max-height:200px;opacity:1;margin-top:10px;margin-bottom:4px;}
  .bubble-in:has(.msg-reactions.visible),.bubble-out:has(.msg-reactions.visible){padding-bottom:2px;}
  .bubble-out:has(.msg-media-grid) .msg-reactions,.bubble-in:has(.msg-media-grid) .msg-reactions{margin-left:10px;margin-right:10px;}
  .media-time-ovl{position:absolute;bottom:8px;right:8px;background:rgba(0,0,0,0.45);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-radius:999px;padding:4px 9px;min-height:22px;display:inline-flex;align-items:center;gap:3px;pointer-events:none;}
  .media-time-ovl .msg-time-in{color:rgba(255,255,255,.9);}
  .media-time-spacer{display:inline-block;width:10px;height:10px;opacity:0;}
  .media-meta-foot{display:none;padding:6px 10px 2px;justify-content:flex-end;}
  .bubble-out:has(.msg-reactions.visible) .media-time-ovl{display:none;}
  .bubble-out:has(.msg-reactions.visible) .media-meta-foot{display:flex;}
  .bubble-out:has(.msg-reactions.visible) .msg-media-grid{border-radius:calc(1.4rem - 3px) calc(1.4rem - 3px) 0 0 !important;}
  .bubble-in:has(.msg-reactions.visible) .media-time-ovl{display:none;}
  .bubble-in:has(.msg-reactions.visible) .media-meta-foot{display:flex;}
  .bubble-in:has(.msg-reactions.visible) .msg-media-grid{border-radius:calc(1.4rem - 3px) calc(1.4rem - 3px) 0 0 !important;}
  .reaction-pill{border:none;border-radius:999px;padding:4px 10px 4px 8px;color:#fff;font-size:14px;cursor:pointer;display:inline-flex;align-items:center;gap:4px;font-family:inherit;line-height:1.3;transform:scale(0.7);opacity:0;transition:transform 0.28s cubic-bezier(0.34,1.56,0.64,1),opacity 0.2s ease,background 0.18s ease;}
  .msg-reactions.visible .reaction-pill{transform:scale(1);opacity:1;}
  .bubble-in .reaction-pill{background:rgba(255,255,255,0.14);}
  .bubble-out .reaction-pill{background:rgba(255,255,255,0.18);}
  .reaction-pill.active{background:rgba(255,255,255,0.88);color:#111;}
  /* ── Picker реакций ── */
  #reaction-picker{position:fixed;inset:0;z-index:250;display:flex;align-items:flex-end;pointer-events:none;}
  #reaction-picker.open{pointer-events:all;}
  #reaction-picker-bg{position:absolute;inset:0;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);background:rgba(0,0,0,0.32);opacity:0;transition:opacity 0.16s ease;}
  #reaction-picker.open #reaction-picker-bg{opacity:1;}
  #reaction-picker-sheet{position:relative;background:rgba(44,44,46,0.82);backdrop-filter:blur(28px);-webkit-backdrop-filter:blur(28px);border-radius:1.6rem 1.6rem 0 0;padding:18px 16px 40px;width:100%;display:flex;flex-wrap:wrap;gap:10px;justify-content:center;transform:translateY(100%);transition:transform 0.36s cubic-bezier(0.25,0.46,0.45,0.94);}
  #reaction-picker.open #reaction-picker-sheet{transform:translateY(0);}
  .emoji-pick-btn{background:rgba(255,255,255,0.1);border:none;border-radius:999px;width:56px;height:56px;font-size:28px;cursor:pointer;display:flex;align-items:center;justify-content:center;}
  /* ── Островок редактирования ── */
  #edit-island{display:none;align-items:center;gap:10px;background:rgba(44,44,46,0.72);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);border-radius:1.1rem;padding:10px 14px;margin:0 10px 6px;border-left:3px solid #FF9500;}
  #edit-island.show{display:flex;}
  #edit-island-text{flex:1;min-width:0;}
  #edit-island-title{color:#FF9500;font-size:12px;font-weight:600;margin-bottom:2px;}
  #edit-island-preview{color:rgba(255,255,255,0.7);font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
  #edit-close{background:none;border:none;cursor:pointer;color:rgba(255,255,255,0.5);padding:4px;flex-shrink:0;}
  #fav-media-preview{display:none;flex-direction:row;gap:8px;overflow-x:auto;padding:0 10px 6px;scrollbar-width:none;}
  #fav-media-preview.show{display:flex;}
  #fav-media-preview::-webkit-scrollbar{display:none;}
  #fav-reply-island{display:none;align-items:center;gap:10px;background:rgba(44,44,46,0.72);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);border-radius:1.1rem;padding:10px 14px;margin:0 10px 6px;border-left:3px solid #0078FF;}
  #fav-reply-island.show{display:flex;}
  #fav-reply-island-text{flex:1;min-width:0;}
  #fav-reply-island-title{color:#0078FF;font-size:12px;font-weight:600;margin-bottom:2px;}
  #fav-reply-island-preview{color:rgba(255,255,255,0.7);font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
  #fav-reply-close{background:none;border:none;cursor:pointer;color:rgba(255,255,255,0.5);padding:4px;flex-shrink:0;}
  #fav-pinned-bar{display:none;position:absolute;top:116px;left:12px;right:12px;z-index:4;align-items:center;gap:10px;background:rgba(44,44,46,0.82);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);border-radius:1.1rem;padding:10px 14px;border-left:3px solid #0078FF;cursor:pointer;}
  #fav-pinned-bar.show{display:flex;}
  #fav-pinned-bar-stack{width:3px;height:34px;display:none;flex-direction:column;gap:3px;flex-shrink:0;}
  #fav-pinned-bar-stack.show{display:flex;}
  #fav-pinned-bar-stack span{flex:1;min-height:3px;border-radius:999px;background:rgba(0,120,255,0.35);transition:background .18s ease,opacity .18s ease;}
  #fav-pinned-bar-stack span.active{background:#0078FF;}
  #fav-pinned-bar-info{flex:1;min-width:0;}
  #fav-pinned-bar-label{color:#0078FF;font-size:12px;font-weight:600;margin-bottom:2px;}
  #fav-pinned-bar-preview{color:rgba(255,255,255,0.7);font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
  #fav-pinned-bar-close{background:none;border:none;cursor:pointer;color:rgba(255,255,255,0.5);padding:4px;flex-shrink:0;}
  #fav-edit-island{display:none;align-items:center;gap:10px;background:rgba(44,44,46,0.72);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);border-radius:1.1rem;padding:10px 14px;margin:0 10px 6px;border-left:3px solid #FF9500;}
  #fav-edit-island.show{display:flex;}
  #fav-edit-island-text{flex:1;min-width:0;}
  #fav-edit-island-title{color:#FF9500;font-size:12px;font-weight:600;margin-bottom:2px;}
  #fav-edit-island-preview{color:rgba(255,255,255,0.7);font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
  #fav-edit-close{background:none;border:none;cursor:pointer;color:rgba(255,255,255,0.5);padding:4px;flex-shrink:0;}
  /* ── Закреплённое сообщение (бар под шапкой) ── */
  #pinned-bar{display:none;position:absolute;top:116px;left:12px;right:12px;z-index:4;align-items:center;gap:10px;background:rgba(44,44,46,0.82);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);border-radius:1.1rem;padding:10px 14px;border-left:3px solid #0078FF;cursor:pointer;}
  #pinned-bar.show{display:flex;}
  #pinned-bar-stack{width:3px;height:34px;display:none;flex-direction:column;gap:3px;flex-shrink:0;}
  #pinned-bar-stack.show{display:flex;}
  #pinned-bar-stack span{flex:1;min-height:3px;border-radius:999px;background:rgba(0,120,255,0.35);transition:background .18s ease,opacity .18s ease;}
  #pinned-bar-stack span.active{background:#0078FF;}
  #pinned-bar-info{flex:1;min-width:0;}
  #pinned-bar-label{color:#0078FF;font-size:12px;font-weight:600;margin-bottom:2px;}
  #pinned-bar-preview{color:rgba(255,255,255,0.7);font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
  #pinned-bar-close{background:none;border:none;cursor:pointer;color:rgba(255,255,255,0.5);padding:4px;flex-shrink:0;}
  /* ── Шторка пересылки ── */
  #forward-overlay{position:fixed;inset:0;z-index:200;display:flex;align-items:flex-end;pointer-events:none;}
  #forward-overlay.open{pointer-events:all;}
  #forward-bg{position:absolute;inset:0;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);background:rgba(0,0,0,0.45);opacity:0;transition:opacity 0.2s ease;}
  #forward-overlay.open #forward-bg{opacity:1;}
  #forward-sheet{position:relative;background:rgba(28,28,30,0.92);backdrop-filter:blur(28px);-webkit-backdrop-filter:blur(28px);border-radius:1.6rem 1.6rem 0 0;width:100%;max-height:70dvh;overflow-y:auto;transform:translateY(100%);transition:transform 0.36s cubic-bezier(0.25,0.46,0.45,0.94);}
  #forward-sheet::-webkit-scrollbar{display:none;}
  #forward-overlay.open #forward-sheet{transform:translateY(0);}
  #forward-sheet-handle{display:flex;justify-content:center;padding:10px 0 0;}
  .forward-title{color:#fff;font-size:17px;font-weight:700;text-align:center;padding:12px 16px 8px;}
  .forward-row{display:flex;align-items:center;gap:12px;padding:10px 16px;cursor:pointer;border:none;background:none;width:100%;text-align:left;}
  .forward-row:active{background:rgba(255,255,255,0.06);}
  .forward-row-name{color:#fff;font-size:16px;}
  /* ── Карточка «Избранное» в начале чата ── */
  .favorites-intro-card{display:flex;flex-direction:column;align-items:center;background:rgba(30,30,32,0.56);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-radius:1.6rem;padding:28px 20px 22px;margin:0 8px;gap:0;width:calc(100% - 16px);}
  .fav-intro-wrap{flex:1;display:flex;align-items:center;justify-content:center;}
  /* ── Миниатюра медиа при редактировании (в области предпросмотра медиа) ── */
  .edit-media-thumb-wrap{position:relative;width:72px;height:72px;border-radius:10px;overflow:hidden;flex-shrink:0;background:#333;}
  .edit-media-thumb-wrap img{width:100%;height:100%;object-fit:cover;display:block;}
  .favorites-intro-avatar{width:80px;height:80px;border-radius:50%;background:linear-gradient(135deg,#0078FF,#005fcc);display:flex;align-items:center;justify-content:center;margin-bottom:14px;position:relative;}
  .favorites-intro-name{color:#fff;font-size:20px;font-weight:700;margin-bottom:5px;}
  .favorites-intro-sub{color:rgba(255,255,255,0.45);font-size:14px;}
  /* ── Шторка редактирования профиля ── */
  #profile-edit-wrap,.mi-sheet-wrap{position:fixed;inset:0;z-index:200;display:flex;align-items:flex-end;pointer-events:none;}
  #profile-edit-wrap.open,.mi-sheet-wrap.open{pointer-events:all;}
  #profile-edit-bg,.mi-sheet-bg{position:absolute;inset:0;background:rgba(0,0,0,0.5);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);opacity:0;transition:opacity 0.2s ease;}
  #profile-edit-wrap.open #profile-edit-bg,.mi-sheet-wrap.open .mi-sheet-bg{opacity:1;}
  #profile-edit-slideable,.mi-sheet-slideable{position:relative;width:100%;transform:translateY(100%);transition:transform 0.36s cubic-bezier(0.25,0.46,0.45,0.94);}
  #profile-edit-slideable,#privacy-slideable,#customization-slideable,#pwd-slideable,#del-slideable,.mi-sheet-slideable{flex-shrink:0;}
  #profile-edit-wrap.open #profile-edit-slideable,.mi-sheet-wrap.open .mi-sheet-slideable{transform:translateY(0);}
  #profile-edit-close-row,.mi-sheet-close-row{display:flex;align-items:center;padding:6px 16px 12px;}
  #profile-edit-close-btn,.mi-sheet-close-row button{border:none;background:none;color:#fff;display:flex;align-items:center;gap:4px;padding:0;font-size:18px;font-weight:700;font-family:inherit;cursor:pointer;z-index:2;}
  #upv-close{border:none;background:rgba(0,0,0,0.28);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-radius:999px;color:#fff;display:flex;align-items:center;gap:4px;padding:8px 12px;font-size:18px;font-weight:700;font-family:inherit;cursor:pointer;z-index:2;}
  #profile-main-back{position:absolute;top:52px;left:16px;border:none;background:rgba(0,0,0,0.28);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-radius:999px;color:#fff;display:flex;align-items:center;gap:4px;padding:8px 12px;font-size:18px;font-weight:700;font-family:inherit;cursor:pointer;z-index:2;}
  #profile-main-back span{font-size:15px;color:#fff;font-weight:500;}
  #profile-edit-sheet,.mi-sheet{position:relative;background:#1C1C1E;border-radius:1.6rem 1.6rem 0 0;width:100%;max-height:92dvh;overflow-y:auto;}
  #profile-edit-sheet::-webkit-scrollbar,.mi-sheet::-webkit-scrollbar{display:none;}
  .pe-field{background:#2C2C2E;border-radius:1rem;padding:14px 16px;border:none;outline:none;color:#fff;font-size:16px;font-family:inherit;width:100%;box-sizing:border-box;-webkit-user-select:text;user-select:text;}
  .pe-field::placeholder{color:rgba(255,255,255,0.32);}
  .pe-label{color:#fff;font-size:14px;font-weight:600;margin-bottom:8px;}
  .pe-hint{color:#8E8E93;font-size:12px;margin-top:5px;}

  #screen-profile .profile-scroll{padding-bottom:calc(96px + env(safe-area-inset-bottom,0px)) !important;overscroll-behavior:contain;}
  #screen-profile .profile-scroll > div{flex-shrink:0;}
  .profile-hero{position:relative;margin:0 -12px 0;}
  .profile-avatar-wrap{position:absolute;bottom:-50px;left:50%;transform:translateX(-50%);}
  .profile-name-row{text-align:center;margin:0 -12px 8px;padding:66px 12px 12px;}
  /* ── Шторка Язык ── */
  #language-wrap{position:fixed;inset:0;z-index:200;display:flex;align-items:flex-end;pointer-events:none;}
  #language-wrap.open{pointer-events:all;}
  #language-bg{position:absolute;inset:0;background:rgba(0,0,0,0.5);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);opacity:0;transition:opacity 0.2s ease;}
  #language-wrap.open #language-bg{opacity:1;}
  #language-slideable{position:relative;width:100%;transform:translateY(100%);transition:transform 0.36s cubic-bezier(0.25,0.46,0.45,0.94);flex-shrink:0;}
  #language-wrap.open #language-slideable{transform:translateY(0);}
  #language-sheet{position:relative;background:#1C1C1E;border-radius:1.6rem 1.6rem 0 0;width:100%;max-height:92dvh;overflow-y:auto;scrollbar-width:none;}
  #language-sheet::-webkit-scrollbar{display:none;}
  .language-content{padding:18px 16px 34px;display:flex;flex-direction:column;gap:12px;}
  .language-hint{color:#8E8E93;font-size:14px;line-height:1.35;padding:0 4px 4px;}
  .language-list{background:#2C2C2E;border-radius:1.3rem;overflow:hidden;}
  .language-row{width:100%;min-height:58px;border:none;border-bottom:1px solid rgba(255,255,255,0.08);background:none;color:#fff;font-family:inherit;display:flex;align-items:center;gap:12px;padding:10px 14px;cursor:pointer;text-align:left;}
  .language-row:last-child{border-bottom:none;}
  .language-row:active{opacity:.72;}
  .language-code{width:32px;color:#8E8E93;font-size:13px;font-weight:700;line-height:1;text-align:center;letter-spacing:.4px;flex-shrink:0;}
  .language-name{font-size:17px;font-weight:600;line-height:1.2;}
  .language-native{display:block;color:#8E8E93;font-size:13px;margin-top:2px;}
  .language-check{margin-left:auto;color:#0A84FF;opacity:0;width:22px;height:22px;display:flex;align-items:center;justify-content:center;flex-shrink:0;}
  .language-check svg{width:21px;height:21px;display:block;fill:currentColor;}
  .language-row.selected .language-check{opacity:1;}
  /* ── Шторка Конфиденциальность ── */
  #privacy-wrap{position:fixed;inset:0;z-index:200;display:flex;align-items:flex-end;pointer-events:none;}
  #privacy-wrap.open{pointer-events:all;}
  #privacy-bg{position:absolute;inset:0;background:rgba(0,0,0,0.5);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);opacity:0;transition:opacity 0.2s ease;}
  #privacy-wrap.open #privacy-bg{opacity:1;}
  #privacy-slideable{position:relative;width:100%;transform:translateY(100%);transition:transform 0.36s cubic-bezier(0.25,0.46,0.45,0.94);}
  #privacy-wrap.open #privacy-slideable{transform:translateY(0);}
  #privacy-sheet{position:relative;background:#1C1C1E;border-radius:1.6rem 1.6rem 0 0;width:100%;max-height:92dvh;overflow-y:auto;}
  #privacy-sheet::-webkit-scrollbar{display:none;}

  /* ── Шторка Кастомизация ── */
  #customization-wrap{position:fixed;inset:0;z-index:200;display:flex;align-items:flex-end;pointer-events:none;}
  #customization-wrap.open{pointer-events:all;}
  #customization-bg{position:absolute;inset:0;background:rgba(0,0,0,0.5);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);opacity:0;transition:opacity 0.2s ease;}
  #customization-wrap.open #customization-bg{opacity:1;}
  #customization-slideable{position:relative;width:100%;transform:translateY(100%);transition:transform 0.36s cubic-bezier(0.25,0.46,0.45,0.94);}
  #customization-wrap.open #customization-slideable{transform:translateY(0);}
  #customization-sheet{position:relative;background:#1C1C1E;border-radius:1.6rem 1.6rem 0 0;width:100%;max-height:92dvh;overflow-y:auto;}
  #customization-sheet::-webkit-scrollbar{display:none;}
  .customization-content{padding:18px 16px 32px;display:flex;flex-direction:column;gap:14px;}
  .custom-chat-preview{border-radius:1.4rem;padding:18px 12px;display:flex;flex-direction:column;gap:8px;overflow:hidden;background:#111;}
  .custom-chat-preview .msg-bubble{max-width:82%;}
  .custom-chat-preview .bubble-in{background:rgba(37,37,37,0.92);}
  .custom-chat-preview .bubble-out{background:var(--chat-out-bg,#0078FF);}
  .custom-theme-grid{display:grid;gap:10px;}
  .custom-theme-grid-six{grid-template-columns:repeat(3,1fr);}
  .custom-bg-grid{grid-template-columns:repeat(2,1fr);}
  .custom-theme-card,.custom-bg-card{position:relative;min-height:104px;border:none;border-radius:1.2rem;padding:12px;cursor:pointer;display:flex;flex-direction:column;gap:7px;overflow:hidden;font-family:inherit;outline:0 solid transparent;outline-offset:4px;transition:opacity .18s ease,outline-color .18s ease;}
  .custom-theme-card:active,.custom-bg-card:active{opacity:.78;}
  .custom-theme-card.selected,.custom-bg-card.selected{outline:2px solid #5AC8FA;}
  .theme-mini-row{display:flex;align-items:flex-end;gap:4px;width:100%;}
  .theme-mini-row.left{justify-content:flex-start;}
  .theme-mini-row.right{justify-content:flex-end;}
  .theme-mini-bubble{height:20px;border-radius:13px;display:block;box-shadow:0 4px 14px rgba(0,0,0,.16);}
  .theme-mini-bubble.in{background:rgba(37,37,37,.88);border-bottom-left-radius:4px;}
  .theme-mini-bubble.out{border-bottom-right-radius:4px;}
  .theme-mini-bubble.w1{width:68%;}.theme-mini-bubble.w2{width:54%;}.theme-mini-bubble.w3{width:76%;}
  .preview-bg-default .custom-theme-card{background:#111;}
  .preview-bg-wallpaper .custom-theme-card{background:#111 url('wallpaper-mob.png') center/cover no-repeat;}
  .custom-theme-1 .theme-mini-bubble.out{background:#0078FF;}
  .custom-theme-2 .theme-mini-bubble.out{background:linear-gradient(135deg,#ff6bd6,#7c2cff);}
  .custom-theme-3 .theme-mini-bubble.out{background:linear-gradient(135deg,#7CFF91,#16A05C);}
  .custom-theme-4 .theme-mini-bubble.out{background:linear-gradient(135deg,#FFD36B,#FF7A00);}
  .custom-theme-5 .theme-mini-bubble.out{background:linear-gradient(135deg,#00E0FF,#314DFF);}
  .custom-theme-6 .theme-mini-bubble.out{background:linear-gradient(135deg,#FFB06B,#FF3B30);}
  .custom-section-title{color:#fff;font-size:18px;font-weight:700;margin-top:4px;text-align:left;}
  .custom-bg-card{min-height:120px;background:#111;}
  .custom-bg-default{background:#111;}
  .custom-bg-wallpaper{background:#111 url('wallpaper-mob.png') center/cover no-repeat;}
  .custom-chat-preview.custom-bg-default{background:#111;}
  .custom-chat-preview.custom-bg-wallpaper{background:#111 url('wallpaper-mob.png') center/cover no-repeat;}
  .custom-bg-card .theme-mini-bubble.out{background:var(--chat-out-bg,#0078FF);}
  .custom-bg-label{margin-top:auto;color:#fff;font-size:15px;font-weight:700;text-align:left;align-self:flex-start;text-shadow:0 1px 8px rgba(0,0,0,.45);}
  /* ── Шторка Устройства ── */
  #devices-wrap{position:fixed;inset:0;z-index:200;display:flex;align-items:flex-end;pointer-events:none;}
  #devices-wrap.open{pointer-events:all;}
  #devices-bg{position:absolute;inset:0;background:rgba(0,0,0,0.5);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);opacity:0;transition:opacity 0.2s ease;}
  #devices-wrap.open #devices-bg{opacity:1;}
  #devices-slideable{position:relative;width:100%;transform:translateY(100%);transition:transform 0.36s cubic-bezier(0.25,0.46,0.45,0.94);}
  #devices-wrap.open #devices-slideable{transform:translateY(0);}
  #devices-sheet{position:relative;background:#1C1C1E;border-radius:1.6rem 1.6rem 0 0;width:100%;max-height:92dvh;overflow-y:auto;}
  #devices-sheet{scrollbar-width:none;}
  #devices-sheet::-webkit-scrollbar{display:none;}
  /* ── Шторка Изменить пароль ── */
  #pwd-wrap{position:fixed;inset:0;z-index:210;display:flex;align-items:flex-end;pointer-events:none;}
  #pwd-wrap.open{pointer-events:all;}
  #pwd-bg{position:absolute;inset:0;background:rgba(0,0,0,0.55);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);opacity:0;transition:opacity 0.2s ease;}
  #pwd-wrap.open #pwd-bg{opacity:1;}
  #pwd-slideable{position:relative;width:100%;transform:translateY(100%);transition:transform 0.36s cubic-bezier(0.25,0.46,0.45,0.94);}
  #pwd-wrap.open #pwd-slideable{transform:translateY(0);}
  #pwd-sheet{background:rgba(28,28,30,0.95);backdrop-filter:blur(28px);-webkit-backdrop-filter:blur(28px);border-radius:1.6rem 1.6rem 0 0;padding:14px 16px 44px;display:flex;flex-direction:column;gap:12px;}
  /* ── Шторка Удалить аккаунт ── */
  #del-wrap{position:fixed;inset:0;z-index:210;display:flex;align-items:flex-end;pointer-events:none;}
  #del-wrap.open{pointer-events:all;}
  #del-bg{position:absolute;inset:0;background:rgba(0,0,0,0.55);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);opacity:0;transition:opacity 0.2s ease;}
  #del-wrap.open #del-bg{opacity:1;}
  #del-slideable{position:relative;width:100%;transform:translateY(100%);transition:transform 0.36s cubic-bezier(0.25,0.46,0.45,0.94);}
  #del-wrap.open #del-slideable{transform:translateY(0);}
  #del-sheet{background:rgba(28,28,30,0.95);backdrop-filter:blur(28px);-webkit-backdrop-filter:blur(28px);border-radius:1.6rem 1.6rem 0 0;padding:14px 16px 44px;display:flex;flex-direction:column;gap:12px;}
  .login-screen{
    position:fixed;top:0;left:0;right:0;bottom:0;z-index:260;
    background:#0b0b0d;display:flex;flex-direction:column;align-items:center;justify-content:center;
    padding:0 32px;overflow-y:auto;transition:opacity .5s cubic-bezier(0.16,1,0.3,1),visibility .5s cubic-bezier(0.16,1,0.3,1);
  }
  .login-screen.hidden{opacity:0;visibility:hidden;pointer-events:none;}
  .login-logo-wrap{display:flex;align-items:center;gap:14px;margin-bottom:52px;}
  .login-logo-img{width:200px;height:200px;object-fit:contain;border-radius:20px;}
  .login-input{
    width:100%;max-width:380px;box-sizing:border-box;background:#2a2a2e;border:none;outline:none;
    border-radius:999px;color:#fff;font-size:17px;font-family:inherit;padding:20px 22px;margin-bottom:14px;-webkit-appearance:none;
  }
  .login-input::placeholder{color:rgba(255,255,255,0.35);}
  .login-input:focus{background:#333338;}
  .login-btn-white{
    width:100%;max-width:380px;box-sizing:border-box;background:#fff;border:none;border-radius:999px;color:#000;
    font-size:18px;font-weight:700;font-family:inherit;padding:20px;cursor:pointer;margin-top:10px;margin-bottom:14px;
    -webkit-appearance:none;transition:transform .2s cubic-bezier(0.16,1,0.3,1),opacity .2s;
  }
  .login-btn-white:active{transform:scale(0.97);opacity:.9;}
  .login-btn-blue{
    width:100%;max-width:380px;box-sizing:border-box;background:#1877f2;border:none;border-radius:999px;
    color:#fff;font-size:18px;font-weight:700;font-family:inherit;padding:0;cursor:pointer;display:flex;align-items:center;justify-content:center;
    height:64px;margin-bottom:18px;-webkit-appearance:none;transition:transform .2s cubic-bezier(0.16,1,0.3,1),opacity .2s;overflow:hidden;position:relative;
  }
  .login-btn-blue:active{transform:scale(0.97);opacity:.9;}
  .login-reg-link{
    color:rgba(255,255,255,0.4);font-size:15px;font-weight:500;cursor:pointer;background:none;border:none;
    font-family:inherit;padding:8px 18px;border-radius:999px;
  }
  .login-error{
    color:#ff4545;font-size:14px;text-align:center;margin-bottom:10px;min-height:18px;max-width:380px;width:100%;
  }
  .reg-panel{width:100%;max-width:380px;display:none;flex-direction:column;align-items:center;}
  .reg-panel.active{display:flex;}
  .reg-title{color:#fff;font-size:24px;font-weight:700;margin-bottom:24px;text-align:center;width:100%;}
  .vpsc-panel{width:100%;max-width:380px;display:none;flex-direction:column;align-items:center;}
  .vpsc-panel.active{display:flex;}
  .vpsc-title{color:#fff;font-size:20px;font-weight:700;margin-bottom:6px;text-align:center;}
  .vpsc-subtitle{color:rgba(255,255,255,0.4);font-size:14px;margin-bottom:24px;text-align:center;}
  .vpsc-boxes{display:flex;gap:10px;margin-bottom:24px;position:relative;}
  .vpsc-box{width:50px;height:60px;background:#2a2a2e;border-radius:14px;display:flex;align-items:center;justify-content:center;font-size:22px;font-weight:700;color:#fff;cursor:pointer;border:2px solid transparent;transition:border-color .2s;}
  .vpsc-box.active-box{border-color:#1877f2;}
  .vpsc-input-hidden{position:fixed;opacity:0;pointer-events:none;width:1px;height:1px;top:-9999px;left:-9999px;}
  /* ── Тост «Скопировано» ── */
  #copy-toast{position:fixed;bottom:118px;left:50%;transform:translateX(-50%) translateY(16px);z-index:500;background:rgba(255,255,255,0.95);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-radius:999px;padding:12px 28px;color:#111;font-size:17px;font-weight:700;opacity:0;pointer-events:none;transition:opacity 0.18s ease,transform 0.18s ease;}
  #copy-toast.show{opacity:1;transform:translateX(-50%) translateY(0);}
  /* ── Закреплённый чат: иконка пина ── */
.chat-pin-icon{width:22px;height:22px;display:flex;align-items:center;justify-content:center;opacity:0.5;flex-shrink:0;}
.chat-unread-pill{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 6px;border-radius:999px;background:#0078FF;color:#fff;font-size:12px;font-weight:700;}
.new-msg-sep{align-self:stretch;display:flex;align-items:center;justify-content:center;color:rgba(255,255,255,.9);font-size:13px;font-weight:500;margin:10px 0;padding:8px 14px;border-radius:12px;background:rgba(44,44,46,0.42);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);text-transform:none;}
.sys-msg{align-self:center;max-width:86%;display:flex;justify-content:center;}
.sys-pill{background:rgba(60,60,67,.45);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);color:#fff;font-size:12px;padding:6px 12px;border-radius:999px;}
  /* ── Контекстное меню чат-листа ── */
  #chatlist-ctx-overlay{position:fixed;inset:0;z-index:100;opacity:0;pointer-events:none;}
  #chatlist-ctx-overlay.open{opacity:1;pointer-events:all;}
  #chatlist-ctx-blur-bg{position:absolute;inset:0;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);background:rgba(0,0,0,0.55);}
  #chatlist-ctx-row-wrap{position:absolute;left:12px;right:12px;}
  #chatlist-ctx-menu{position:absolute;left:12px;right:12px;background:#2C2C2E;border-radius:1.2rem;overflow:hidden;box-shadow:0 8px 40px rgba(0,0,0,0.6);will-change:transform,opacity;transform-origin:top center;transform:scale(0.86);opacity:0;transition:transform 0.32s cubic-bezier(0.22,1,0.36,1),opacity 0.24s ease;}
  #chatlist-ctx-overlay.open #chatlist-ctx-menu{transform:scale(1);opacity:1;}
#top-profile-btn img{width:100%;height:100%;object-fit:cover;border-radius:50%;display:block;}
#top-profile-btn{padding:0;overflow:hidden;}
#upv-close{position:absolute;top:14px;left:16px;}
#user-profile-view{opacity:0;transition:opacity 0.22s ease;}
#user-profile-view.open{opacity:1;}
#upv-card{transform:translateY(18px) scale(0.98);opacity:0;transition:transform 0.28s cubic-bezier(0.22,1,0.36,1),opacity 0.2s ease;}
#user-profile-view.open #upv-card{transform:translateY(0) scale(1);opacity:1;}
.chat-row-skeleton{display:flex;align-items:center;gap:12px;background:rgba(44,44,46,0.82);border-radius:999px;padding:10px 12px;min-height:68px;}
.chat-row-skeleton-avatar{width:48px;height:48px;border-radius:50%;background:linear-gradient(90deg,#2e2e31 0%,#3a3a3d 50%,#2e2e31 100%);background-size:200% 100%;animation:chat-skeleton-shimmer 1.2s linear infinite;}
.chat-row-skeleton-lines{flex:1;min-width:0;display:flex;flex-direction:column;gap:10px;}
.chat-row-skeleton-line{height:11px;border-radius:999px;background:linear-gradient(90deg,#2e2e31 0%,#3a3a3d 50%,#2e2e31 100%);background-size:220% 100%;animation:chat-skeleton-shimmer 1.2s linear infinite;}
.chat-row-skeleton-line.w1{width:62%;}
.chat-row-skeleton-line.w2{width:38%;}
@keyframes chat-skeleton-shimmer{
  0%{background-position:200% 0;}
  100%{background-position:-200% 0;}
}
.upv-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;width:100%;margin-top:16px;}
.upv-actions.upv-actions-group{display:flex;flex-wrap:nowrap;}
.upv-actions.upv-actions-group .upv-action{flex:1 1 0;min-width:0;}
.upv-action{background:#2C2C2E;border:none;border-radius:12px;min-height:66px;color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;font-family:inherit;cursor:pointer;}
.upv-action span{font-size:21px;line-height:1;}
.upv-action em{font-style:normal;font-size:13px;}
#app-loading{position:fixed;inset:0;z-index:1200;background:#0b0b0d;display:flex;align-items:center;justify-content:center;transition:opacity .28s ease,visibility .28s ease;}
#app-loading.hidden{opacity:0;visibility:hidden;pointer-events:none;}
#app-loading img{width:88px;height:88px;object-fit:contain;display:block;animation:appLogoPulse 1s ease-in-out infinite alternate;}
@keyframes appLogoPulse{from{transform:scale(0.96);opacity:.85;}to{transform:scale(1.04);opacity:1;}}
.scale-control-row{display:flex;flex-direction:column;gap:6px;}
.scale-control-row label{color:#8E8E93;font-size:12px;font-weight:600;}
.scale-control-row input[type="range"]{width:100%;}
.uploading-media{position:relative;}
.uploading-media::after{content:'';position:absolute;inset:-2px;border-radius:inherit;border:2px solid rgba(0,120,255,.55);border-top-color:transparent;animation:spinUpload .8s linear infinite;}
@keyframes spinUpload{to{transform:rotate(360deg);}}
#ext-link-modal.open{opacity:1 !important;}
#ext-link-modal.open #ext-link-card{transform:translateY(0) scale(1) !important;}
#upv-ctx-overlay{position:fixed;inset:0;z-index:360;display:none;opacity:0;pointer-events:none;transition:opacity .22s ease;}
#upv-ctx-overlay.open{display:block;opacity:1;pointer-events:all;}
#upv-ctx-bg{position:absolute;inset:0;background:rgba(0,0,0,0.0);}
#upv-ctx-menu{position:absolute;left:50%;transform:translateX(-50%) scale(.9);width:min(92vw,480px);bottom:28px;background:#1A1A1A;border-radius:14px;overflow:hidden;opacity:0;transition:transform .22s ease,opacity .22s ease;}
#upv-ctx-overlay.open #upv-ctx-menu{transform:translateX(-50%) scale(1);opacity:1;}
#profile-save-btn.loading{position:relative;pointer-events:none;overflow:hidden;}
#profile-save-btn.loading::after{content:'';position:absolute;inset:0;background:linear-gradient(110deg,rgba(180,180,180,.16) 8%,rgba(220,220,220,.38) 18%,rgba(180,180,180,.16) 33%);background-size:200% 100%;animation:saveShimmer 1s linear infinite;}
@keyframes saveShimmer{to{background-position:-200% 0;}}
.shimmer-loading{position:relative;overflow:hidden;}
.shimmer-loading::after{content:'';position:absolute;inset:0;background:linear-gradient(110deg,rgba(180,180,180,.16) 8%,rgba(220,220,220,.38) 18%,rgba(180,180,180,.16) 33%);background-size:200% 100%;animation:saveShimmer 1s linear infinite;}

  /* ════════════ DESKTOP LAYOUT ════════════ */
  @media (min-width: 768px) {

    /* ── Основной сайдбар (список чатов) ── */
    #screen-list {
      position: fixed !important;
      top: 0; left: 0; bottom: 0; right: auto !important;
      width: 360px !important;
      opacity: 1 !important;
      pointer-events: all !important;
      transform: none !important;
      z-index: 10;
      border-right: 1px solid rgba(255,255,255,0.07);
    }
    #screen-list > .header-blur {
      padding: 20px 20px 18px !important;
      border-radius: 0 !important;
    }

    /* ── Экраны сайдбара (поиск, профиль) — поверх списка чатов ── */
    #screen-search, #screen-profile {
      position: fixed !important;
      top: 0; left: 0 !important; bottom: 0; right: auto !important;
      width: 360px !important;
      z-index: 15;
      border-right: 1px solid rgba(255,255,255,0.07);
    }
    /* Поиск: убрать большой отступ сверху (был под iOS-статусбар) */
    #screen-search > div:first-child { padding-top: 10px !important; }
    /* Профиль: кнопка "назад" — скорректировать позицию */
    #profile-main-back { top: 14px !important; }

    /* ── Правая панель — чат и избранное ── */
    .screen:not(#screen-list):not(#screen-search):not(#screen-profile) {
      left: 360px !important;
    }

    /* ── Шапка чата: выровнять по высоте с шапкой сайдбара, убрать скругление ── */
    #screen-chat > .header-blur {
      padding: 20px 20px 18px !important;
      border-radius: 0 !important;
    }
    /* Убрать кнопку "назад" и компенсирующий margin в чате */
    #screen-chat > .header-blur > button:first-child { display: none !important; }
    #screen-chat > .header-blur span { margin-right: 0 !important; }

    /* ── Шапка Избранного ── */
    #screen-favorites > .header-blur {
      padding: 20px 20px 18px !important;
      border-radius: 0 !important;
    }
    #screen-favorites > .header-blur > button:first-child { display: none !important; }
    #screen-favorites > .header-blur span { margin-right: 0 !important; }

    /* ── Плейсхолдер правой панели ── */
    #desktop-placeholder {
      position: fixed;
      top: 0; left: 360px; right: 0; bottom: 0;
      display: flex; align-items: center; justify-content: center;
      z-index: 0; pointer-events: none; background-color:#111;
    }
    body.has-right-screen #desktop-placeholder { display: none; }
    #desktop-placeholder-pill {
      background: rgba(44,44,46,0.55);
      backdrop-filter: blur(28px); -webkit-backdrop-filter: blur(28px);
      border-radius: 999px; padding: 18px 38px;
      color: rgba(255,255,255,0.65); font-size: 16px; font-weight: 500;
    }

    /* ── Контекстное меню чата — только над сайдбаром ── */
    #chatlist-ctx-overlay { right: auto !important; width: 360px !important; }

    /* ── Оверлеи правой панели — позиционируются от левого края сайдбара ── */
    #ctx-overlay, #reaction-picker, #forward-overlay, #media-viewer {
      left: 360px !important;
    }

    /* ── Шторки (sheets) — по центру экрана с полным блюром ── */
    #privacy-wrap, #customization-wrap, #language-wrap, #pwd-wrap, #del-wrap, #profile-edit-wrap, #devices-wrap, .mi-sheet-wrap {
      left: 0 !important;
      right: 0 !important;
      width: auto !important;
      z-index: 120 !important;
      align-items: center !important;
      justify-content: center !important;
    }
    #privacy-slideable, #customization-slideable, #language-slideable, #pwd-slideable, #del-slideable, #profile-edit-slideable, #devices-slideable, .mi-sheet-slideable {
      width: min(480px, 92vw) !important;
      max-width: none !important;
      margin: 0 !important;
      transform: scale(0.96) translateY(32px) !important;
      opacity: 0 !important;
      transition: transform 0.22s ease, opacity 0.22s ease !important;
    }
    #privacy-wrap.open #privacy-slideable,
    #customization-wrap.open #customization-slideable,
    #language-wrap.open #language-slideable,
    #pwd-wrap.open #pwd-slideable,
    #del-wrap.open #del-slideable,
    #profile-edit-wrap.open #profile-edit-slideable,
    #devices-wrap.open #devices-slideable,
    .mi-sheet-wrap.open .mi-sheet-slideable {
      transform: scale(1) translateY(0) !important;
      opacity: 1 !important;
    }
    #privacy-sheet, #customization-sheet, #language-sheet, #pwd-sheet, #del-sheet, #profile-edit-sheet, #devices-sheet, .mi-sheet {
      border-radius: 1.8rem !important;
      max-height: 86dvh !important;
    }
    #profile-edit-close-row { display: flex !important; }
    #chat-blocked-pill .input-pill{justify-content:center !important;}
    #upv-ctx-menu{bottom:20px;}
  }

/* ── Upload progress animation ── */
.mi-upload-anim{position:absolute;inset:0;background:rgba(0,0,0,0.42);display:flex;align-items:center;justify-content:center;z-index:1;transition:opacity 0.38s ease;}
.mi-upload-anim.done{opacity:0;pointer-events:none;}
.upload-arc{transform-origin:22px 22px;transform:rotate(-90deg);animation:upload-arc-fill 1.15s cubic-bezier(0.4,0,0.2,1) forwards;}
@keyframes upload-arc-fill{from{stroke-dashoffset:113;}to{stroke-dashoffset:0;}}

/* ── Drag & drop ── */
.input-pill{position:relative;overflow:hidden;transition:min-height 0.25s cubic-bezier(0.25,0.46,0.45,0.94),border-radius 0.25s ease;}
.input-pill.drag-over{min-height:82px;border-radius:1.5rem;justify-content:center;}
.input-pill.drag-over>*:not(#drag-hint){opacity:0;pointer-events:none;transition:opacity 0.14s ease;}
#drag-hint{display:none;position:absolute;inset:0;align-items:center;justify-content:center;pointer-events:none;}
.input-pill.drag-over #drag-hint{display:flex;}
#drag-hint-pill{background:rgba(44,44,46,0.55);backdrop-filter:blur(28px);-webkit-backdrop-filter:blur(28px);border-radius:999px;padding:13px 28px;color:rgba(255,255,255,0.72);font-size:15px;font-weight:500;white-space:nowrap;}

/* ── Desktop: выровнять высоту шапок ── */
@media (min-width:768px){
  #screen-list>.header-blur,#screen-chat>.header-blur,#screen-favorites>.header-blur{min-height:68px;}
  #screen-chat>.header-blur{padding:33.4px 20px 20px !important;}
}

#min-menu-wrap{position:fixed;inset:0;z-index:310;display:flex;align-items:flex-end;pointer-events:none;opacity:0;visibility:hidden;transition:opacity .2s ease,visibility .2s ease;}
#min-menu-wrap.open{pointer-events:all;opacity:1;visibility:visible;}
#min-menu-bg{position:absolute;inset:0;background:rgba(0,0,0,0.5);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);opacity:0;transition:opacity 0.2s ease;}
#min-menu-wrap.open #min-menu-bg{opacity:1;}
#min-menu-slideable{position:relative;width:100%;transform:translateY(100%);transition:transform 0.36s cubic-bezier(0.25,0.46,0.45,0.94);}
#min-menu-wrap.open #min-menu-slideable{transform:translateY(0);}
#min-menu-close-row{padding:0 16px 12px;}
#min-menu-close-btn{background:none;border:none;cursor:pointer;color:#fff;display:flex;align-items:center;gap:4px;padding:0;font-size:18px;font-weight:700;font-family:inherit;}
#min-menu-sheet{position:relative;background:#1C1C1E;border-radius:1.6rem 1.6rem 0 0;width:100%;max-height:92dvh;overflow-y:auto;padding:16px 16px 28px;display:flex;flex-direction:column;align-items:center;gap:10px;}
#min-menu-grip{width:36px;height:4px;background:rgba(255,255,255,.18);border-radius:2px;margin-bottom:4px;}
#min-menu-sheet::-webkit-scrollbar{display:none;}
#min-menu-logo-dock{width:124px;height:124px;border-radius:30px;margin-top:12px;}
#min-menu-logo-flight{position:fixed;border-radius:12px;background-size:cover;background-position:center;z-index:312;pointer-events:none;transition:all .25s ease;opacity:0;}
#min-menu-wrap.open #min-menu-logo-flight{opacity:1;}
#min-menu-title{color:#fff;font-weight:800;font-size:32px;line-height:1.1;text-align:center;max-width:100%;}
#min-menu-version{color:rgba(255,255,255,.58);font-size:14px;margin-top:0;}
#min-menu-share{margin-top:10px;background:#fff;border-radius:24px;padding:12px 12px 14px;width:min(250px,76vw);display:flex;flex-direction:column;align-items:center;gap:10px;}
#min-menu-qr{width:min(210px,64vw);aspect-ratio:1;border-radius:16px;object-fit:cover;background:#f4f4f4;}
#min-menu-qr-wrap{position:relative;width:min(210px,64vw);aspect-ratio:1;border-radius:16px;background:#f4f4f4;overflow:hidden;display:grid;place-items:center;}
#min-menu-qr{width:100%;height:100%;border-radius:16px;object-fit:cover;background:#f4f4f4;display:block;}
#min-menu-qr-fallback{position:absolute;inset:0;display:none;flex-direction:column;align-items:center;justify-content:center;gap:10px;color:#8E8E93;font-size:18px;font-weight:800;background:#f4f4f4;}
#min-menu-qr-fallback svg{width:58%;height:58%;fill:currentColor;}
#min-menu-qr-wrap.qr-failed #min-menu-qr{display:none;}
#min-menu-qr-wrap.qr-failed #min-menu-qr-fallback{display:flex;background:linear-gradient(110deg,#b9b9bd 8%,#ededf2 18%,#b9b9bd 33%);background-size:200% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:saveShimmer 1s linear infinite;}
#create-group-btn.loading{position:relative;pointer-events:none;overflow:hidden;}
#create-group-btn.loading::after{content:'';position:absolute;inset:0;background:linear-gradient(110deg,rgba(255,255,255,.10) 8%,rgba(255,255,255,.46) 18%,rgba(255,255,255,.10) 33%);background-size:200% 100%;animation:saveShimmer 1s linear infinite;}
.min-link-preview{display:block;margin-top:8px;padding:10px;border-radius:14px;background:rgba(255,255,255,0.10);text-decoration:none;color:#fff;cursor:pointer;position:relative;overflow:hidden;}
.min-link-preview-head{display:flex;align-items:center;gap:10px;min-width:0;}
.min-link-preview-avatar{width:42px;height:42px;border-radius:50%;background:linear-gradient(135deg,#7c3aed,#0078FF);display:grid;place-items:center;flex:0 0 auto;overflow:hidden;color:#fff;font-size:18px;font-weight:800;}
.min-link-preview-avatar img{width:100%;height:100%;object-fit:cover;display:block;}
.min-link-preview-avatar.missing{background:#5a5a5f;}
.min-link-preview-title{font-size:15px;font-weight:800;line-height:1.2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0;}
.min-link-preview-divider{height:1px;background:rgba(255,255,255,.14);margin:10px 0;}
.min-link-preview-action{width:100%;border:none;background:transparent;color:#fff;padding:0;font-family:inherit;font-size:14px;font-weight:800;cursor:pointer;text-align:center;}
.min-link-preview.loading::after{content:'';position:absolute;inset:0;background:linear-gradient(110deg,rgba(255,255,255,.10) 8%,rgba(255,255,255,.46) 18%,rgba(255,255,255,.10) 33%);background-size:200% 100%;animation:saveShimmer 1s linear infinite;pointer-events:none;}

#min-menu-share-caption{color:#111;font-weight:500;font-size:18px;line-height:1.1;text-align:center;}
@media (max-width:767px){
  #min-menu-title{font-size:30px;}
  #min-menu-version{font-size:13px;}
  #min-menu-share-caption{font-size:18px;}
}
@media (min-width:768px){
  #min-menu-wrap{align-items:center;justify-content:center;}
  #min-menu-slideable{width:min(480px,92vw);} 
  #min-menu-sheet{border-radius:1.8rem;}
}

#min-brand-logo{transition:none;}
.verified-check{display:inline-flex;width:.88em;height:.88em;margin-left:6px;vertical-align:-.12em;color:#2f9bff;flex:0 0 auto;align-items:center;justify-content:center;line-height:1;overflow:visible;}
.verified-check svg{width:100%;height:100%;fill:currentColor;display:block;overflow:visible;}
#ban-info-modal.open{opacity:1 !important;}
#ban-info-modal.open #ban-info-card{transform:translateY(0) scale(1) !important;}
#new-chat-fab{position:absolute;right:18px;bottom:28px;z-index:6;width:58px;height:58px;border-radius:50%;border:none;background:#0078FF;box-shadow:0 10px 28px rgba(0,0,0,.38);display:flex;align-items:center;justify-content:center;cursor:pointer;color:#fff;}
#new-chat-fab svg{position:absolute;fill:currentColor;display:block;}.fab-comment{width:31px;height:31px;}.fab-plus{width:17px;height:17px;right:11px;bottom:12px;background:#0078FF;border-radius:50%;padding:1px;}
.mi-sheet{scrollbar-width:none;}.mi-sheet-grip{width:36px;height:4px;background:rgba(255,255,255,0.18);border-radius:2px;margin:10px auto 0;}.mi-sheet-title{color:#fff;font-size:22px;font-weight:800;text-align:center;padding:14px 16px 12px;}.mi-sheet-list{padding:8px 16px 34px;display:flex;flex-direction:column;gap:10px;}.mi-action-row{width:calc(100% - 32px);margin:14px 16px 8px;border:none;border-radius:18px;background:#2C2C2E;color:#fff;padding:14px 16px;display:flex;align-items:center;gap:12px;font-size:16px;font-weight:700;font-family:inherit;text-align:left;cursor:pointer;}.mi-action-icon{width:34px;height:34px;border-radius:50%;background:#7c3aed;display:grid;place-items:center;flex-shrink:0;}.mi-action-icon svg{width:19px;height:19px;fill:#fff;}#new-chat-search-wrap{padding:14px 16px 6px;}#new-chat-search{width:100%;background:#2C2C2E;border:none;border-radius:1rem;padding:14px 16px;color:#fff;font-size:16px;font-family:inherit;outline:none;-webkit-user-select:text;user-select:text;}.mi-primary-pill{width:calc(100% - 32px);margin:12px 16px 34px;border:none;border-radius:999px;background:#0078FF;color:#fff;padding:15px 16px;font-size:17px;font-weight:800;font-family:inherit;cursor:pointer;}.group-pick-row{display:flex;align-items:center;gap:12px;width:100%;border:none;background:#2C2C2E;border-radius:18px;padding:12px;color:#fff;text-align:left;font-family:inherit;cursor:pointer;}.group-pick-row .pick-check,.mi-chat-row .pick-check{margin-left:auto;width:24px;height:24px;border-radius:50%;border:2px solid rgba(255,255,255,.28);display:grid;place-items:center;color:#fff;flex-shrink:0;}.group-pick-row.selected .pick-check,.mi-chat-row.selected .pick-check{background:#0078FF;border-color:#0078FF;}.group-details-card{margin:14px 16px 0;background:#2C2C2E;border-radius:24px;padding:16px;display:flex;align-items:center;gap:14px;}#group-avatar-picker{width:72px;height:72px;background:linear-gradient(135deg,#7c3aed,#0078FF);font-size:28px;overflow:hidden;cursor:pointer;}.group-member-title{align-self:center;background:rgba(44,44,46,.9);border-radius:999px;padding:8px 18px;color:#fff;font-size:15px;font-weight:800;margin:12px 0 2px;}.owner-pill{background:rgba(124,58,237,.35);color:#d8c3ff;border-radius:999px;padding:4px 9px;font-size:11px;font-weight:800;white-space:nowrap;flex-shrink:0;}.upv-members{margin-top:12px;background:rgba(255,255,255,.08);border-radius:18px;padding:10px;}.upv-member-row{display:flex;align-items:center;gap:10px;padding:7px 2px;color:#fff;font-size:14px;}
@media (min-width:768px){#new-chat-fab{right:24px;bottom:24px}}
.mi-action-icon.mi-action-icon-plain{background:transparent;border-radius:0;}
.mi-action-icon.mi-action-icon-plain svg{width:22px;height:22px;}
#group-avatar-picker{position:relative;display:flex;align-items:center;justify-content:center;}
#group-avatar-picker>img{width:100%;height:100%;object-fit:cover;border-radius:50%;display:block;}
#group-avatar-overlay{position:absolute;inset:0;border-radius:50%;background:transparent;display:flex;align-items:center;justify-content:center;transition:background .18s ease;}
#group-avatar-cam{opacity:0;transition:opacity .18s ease;filter:drop-shadow(0 1px 3px rgba(0,0,0,.5));}
#group-avatar-picker:hover #group-avatar-overlay{background:rgba(0,0,0,.45);}
#group-avatar-picker:hover #group-avatar-cam{opacity:1;}
.group-sender-name{display:block;background:none;border:none;padding:0;font-family:inherit;text-align:left;font-size:12px;font-weight:800;color:#7bbcff;margin:0 10px 3px;line-height:1.15;max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;cursor:pointer;}
.group-typing-prefix{display:inline-flex;align-items:center;gap:5px;}

.mi-sheet-list .mi-chat-row{background:#2C2C2E;border-radius:999px;padding:12px 16px;}
.mi-sheet-list .mi-chat-row:active{opacity:.7;}
.voice-bubble .group-sender-name{flex-basis:100%;margin-left:0;margin-right:0;}
#new-chat-search{border-radius:999px;}
#create-group-btn,.mi-primary-pill{border-radius:999px;}

.group-details-row{display:flex;align-items:center;gap:14px;}
.group-details-card{margin:14px 16px 0;background:#2C2C2E;border-radius:24px;padding:16px;}
.group-details-banner-card{padding:14px;}
.group-details-avatar-card .group-details-row{align-items:center;}
.group-details-bio-card{padding:14px 16px;}
#group-banner-picker{height:130px;background:#fff;border-radius:1.8rem;position:relative;overflow:hidden;cursor:pointer;margin:14px 16px 0;}
#group-banner-overlay{position:absolute;inset:0;background:transparent;display:flex;align-items:center;justify-content:center;border-radius:1.8rem;transition:background .18s ease;}
#group-banner-overlay svg{opacity:0;transition:opacity .18s ease;filter:drop-shadow(0 1px 4px rgba(0,0,0,.4));}
#group-banner-picker:hover #group-banner-overlay{background:rgba(0,0,0,.35);}
#group-banner-picker:hover #group-banner-overlay svg{opacity:1;}
.group-sender-name{margin:2px 8px 8px 8px;max-width:calc(100% - 16px);}
.msg-bubble:has(.msg-media-grid) .group-sender-name{margin:4px 8px 10px 10px;}
.msg-fwd .group-sender-name{margin:6px 10px 8px 10px;max-width:calc(100% - 20px);}
.msg-bubble .group-sender-name:first-child + .msg-media-grid,
.msg-bubble .group-sender-name:first-child + div .msg-media-grid{border-top-left-radius:0!important;border-top-right-radius:0!important;}
