@font-face{font-family:Vazirmatn;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/1abbc144918f74fd-s.p.woff2) format("woff2");unicode-range:u+06??,u+0750-077f,u+0870-0891,u+0897-08e1,u+08e3-08ff,u+200c-200e,u+2010-2011,u+204f,u+2e41,u+fb50-fdff,u+fe70-fe74,u+fe76-fefc,u+102e0-102fb,u+10e60-10e7e,u+10ec2-10ec7,u+10ec9-10eee,u+10ef?,u+1ee00-1ee03,u+1ee05-1ee1f,u+1ee21-1ee22,u+1ee24,u+1ee27,u+1ee29-1ee32,u+1ee34-1ee37,u+1ee39,u+1ee3b,u+1ee42,u+1ee47,u+1ee49,u+1ee4b,u+1ee4d-1ee4f,u+1ee51-1ee52,u+1ee54,u+1ee57,u+1ee59,u+1ee5b,u+1ee5d,u+1ee5f,u+1ee61-1ee62,u+1ee64,u+1ee67-1ee6a,u+1ee6c-1ee72,u+1ee74-1ee77,u+1ee79-1ee7c,u+1ee7e,u+1ee80-1ee89,u+1ee8b-1ee9b,u+1eea1-1eea3,u+1eea5-1eea9,u+1eeab-1eebb,u+1eef0-1eef1}@font-face{font-family:Vazirmatn;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/17cf9497af825577-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c4,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Vazirmatn;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/8c96cc4bd2a39381-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Vazirmatn Fallback;src:local("Arial");ascent-override:101.87%;descent-override:53.36%;line-gap-override:0.00%;size-adjust:100.66%}.__className_59f4ba{font-family:Vazirmatn,Vazirmatn Fallback;font-style:normal}.__variable_59f4ba{--font-vazirmatn:"Vazirmatn","Vazirmatn Fallback"}:root{color-scheme:light dark;--bg:#ffffff;--panel:#ffffff;--panel-2:#f0f2f5;--chat-bg:#efeae2;--dots:#0000000d;--text:#111b21;--muted:#667781;--line:#e9edef;--hover:#f5f6f6;--active:#f0f2f5;--accent:#00a884;--accent-dark:#008069;--accent-text:#ffffff;--gold:#f4b400;--bubble-in:#ffffff;--bubble-out:#d9fdd3;--bubble-text:#111b21;--meta:#667781;--badge:#25d366;--badge-text:#ffffff;--input:#ffffff;--sep:#ffffffe6;--danger:#ea0038;--shadow:0 1px 1px #0b141a21}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#0b141a;--panel:#111b21;--panel-2:#202c33;--chat-bg:#0b141a;--dots:#ffffff0a;--text:#e9edef;--muted:#8696a0;--line:#222d34;--hover:#202c33;--active:#2a3942;--accent:#00a884;--accent-dark:#00a884;--accent-text:#0b141a;--bubble-in:#202c33;--bubble-out:#005c4b;--bubble-text:#e9edef;--meta:#ffffff99;--badge:#00a884;--badge-text:#0b141a;--input:#2a3942;--sep:#182229e6;--danger:#f15c6d;--shadow:0 1px 1px #0005}}:root[data-theme=dark]{--bg:#0b141a;--panel:#111b21;--panel-2:#202c33;--chat-bg:#0b141a;--dots:#ffffff0a;--text:#e9edef;--muted:#8696a0;--line:#222d34;--hover:#202c33;--active:#2a3942;--accent:#00a884;--accent-dark:#00a884;--accent-text:#0b141a;--bubble-in:#202c33;--bubble-out:#005c4b;--bubble-text:#e9edef;--meta:#ffffff99;--badge:#00a884;--badge-text:#0b141a;--input:#2a3942;--sep:#182229e6;--danger:#f15c6d;--shadow:0 1px 1px #0005}:root[data-theme=light]{color-scheme:light}:root[data-theme=dark]{color-scheme:dark}*{box-sizing:border-box}body,html{margin:0;min-height:100%;background:var(--bg);color:var(--text);font-family:var(--font-vazirmatn),"Vazirmatn",Tahoma,sans-serif;-webkit-font-smoothing:antialiased}button,input{font:inherit;color:inherit}button{cursor:pointer}button:disabled{opacity:.45;cursor:not-allowed}small{font-size:12px}a{color:var(--accent-dark)}.muted{color:var(--muted)}.tiny{font-size:12px}.eyebrow{margin:0 0 4px;color:var(--accent-dark);font-size:11px;letter-spacing:1px;font-weight:700}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.danger,.primary{display:inline-flex;align-items:center;justify-content:center;gap:6px;border:0;border-radius:22px;padding:10px 20px;font-weight:700}.primary{background:var(--accent);color:#fff}.primary:hover:not(:disabled){background:var(--accent-dark)}.danger{background:var(--danger);color:#fff}.danger:hover:not(:disabled){filter:brightness(1.08)}.full{width:100%}.icon-btn{display:grid;place-items:center;width:40px;height:40px;border:0;border-radius:50%;background:transparent;color:var(--muted)}.icon-btn:hover:not(:disabled){background:var(--active);color:var(--text)}input:not([type=checkbox]):not([type=radio]){width:100%;border:1px solid var(--line);border-radius:12px;background:var(--input);padding:11px 14px;outline:none}input:focus-visible{border-color:var(--accent);box-shadow:0 0 0 3px #00a88433;outline:none}input::placeholder{color:var(--muted)}.brand-mark{flex:0 0 56px;width:56px;height:56px;border-radius:16px}.brand-mark.small{flex-basis:38px;width:38px;height:38px;border-radius:11px}.choqa-mark{background:url(/homdorong-mark.svg?v=1) 50%/cover no-repeat;box-shadow:0 4px 14px #0003}.auth-page,.center-screen{min-height:100dvh;display:grid;place-items:center;padding:20px;background:var(--panel-2)}.center-screen{gap:12px;align-content:center;color:var(--muted)}.auth-card{width:min(440px,100%);background:var(--panel);border-radius:22px;padding:30px 26px;box-shadow:0 12px 40px #0b141a26}.auth-card h1{margin:0 0 6px;font-size:30px;font-weight:800}.auth-card .brand-mark{margin-bottom:14px}.setup-steps{-webkit-padding-start:20px;padding-inline-start:20px;line-height:2;color:var(--muted)}.setup-steps code{padding:2px 6px;border-radius:6px;direction:ltr;unicode-bidi:embed;color:var(--text)}.setup-steps code,.tabs{background:var(--panel-2)}.tabs{display:grid;grid-template-columns:1fr 1fr;grid-gap:4px;gap:4px;padding:4px;margin:18px 0;border-radius:22px}.tabs button{border:0;border-radius:18px;padding:9px;background:transparent;color:var(--muted);font-weight:600}.tabs button.selected{background:var(--accent);color:#fff}.stack-form{display:grid;grid-gap:14px;gap:14px}.modal-label,.stack-form label{display:grid;grid-gap:6px;gap:6px;font-size:13px;color:var(--muted)}.alert{margin:14px 0 0;padding:10px 14px;border-radius:12px;font-size:13px}.alert.error{background:#ea003812;color:var(--danger);border:1px solid #ea003833}.alert.success{background:#00a88418;color:var(--accent-dark);border:1px solid #00a88444}.loader{width:34px;height:34px;border-radius:50%;border:3px solid var(--line);border-top-color:var(--accent);animation:spin .9s linear infinite}@keyframes spin{to{transform:rotate(1turn)}}.app-shell{width:min(1500px,100%);height:100dvh;min-height:520px;margin:0 auto;display:grid;grid-template-columns:400px 1fr;overflow:hidden}.app-shell,.sidebar{background:var(--panel)}.sidebar{position:relative;min-width:0;min-height:0;display:flex;flex-direction:column;-webkit-border-end:1px solid var(--line);border-inline-end:1px solid var(--line)}.sidebar-header{justify-content:space-between;padding:10px 16px 6px;min-height:60px}.brand-inline,.sidebar-header{display:flex;align-items:center;gap:10px}.brand-inline{min-width:0}.brand-inline>div{display:grid;min-width:0}.brand-inline strong{font-size:22px;line-height:1.2;font-weight:800}.brand-inline small{color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.search-box{display:flex;align-items:center;gap:10px;margin:6px 14px 10px;padding:0 16px;background:var(--panel-2);border-radius:24px;color:var(--muted)}.search-box input{border:0!important;background:transparent!important;box-shadow:none!important;padding:11px 0!important;font-size:15px}.search-box:focus-within{box-shadow:0 0 0 2px #00a88455}.avatar{flex:0 0 52px;width:52px;height:52px;display:grid;place-items:center;border-radius:50%;background:linear-gradient(145deg,#6b7c85,#4a5a63);color:#fff;font-weight:700;font-size:20px}.avatar.group-avatar{background:linear-gradient(145deg,var(--gold),#d99b00);color:#2b2100}.conversation-list{flex:1 1;min-height:0;overflow-y:auto;padding-bottom:90px}.conversation-item{width:100%;display:flex;align-items:center;gap:14px;padding:10px 16px;border:0;background:transparent;text-align:start}.conversation-item:hover{background:var(--hover)}.conversation-item.active{background:var(--active)}.conversation-copy{flex:1 1;min-width:0;display:grid;grid-gap:3px;gap:3px;padding-block:4px;border-bottom:1px solid var(--line)}.conversation-item:last-child .conversation-copy{border-bottom:0}.row-bottom,.row-top{display:flex;align-items:center;justify-content:space-between;gap:10px;min-width:0}.row-top strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:16px;font-weight:600}.row-top time{flex:0 0 auto;font-size:12px;color:var(--muted)}.row-top time.has-unread{color:var(--badge);font-weight:600}.preview{flex:1 1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:14px;color:var(--muted)}.badge{flex:0 0 auto;min-width:22px;height:22px;padding:0 7px;display:grid;place-items:center;border-radius:11px;background:var(--badge);color:var(--badge-text);font-size:12px;font-weight:700}.empty-hint{padding:24px 16px;text-align:center;color:var(--muted);font-size:14px;line-height:1.9}.fab-wrap{position:absolute;inset-block-end:22px;inset-inline-end:22px;z-index:5;display:grid;justify-items:end;grid-gap:10px;gap:10px}.fab{width:58px;height:58px;display:grid;place-items:center;border:0;border-radius:18px;background:var(--accent);color:#fff;box-shadow:0 6px 16px #0b141a40}.fab:hover{background:var(--accent-dark)}.fab-backdrop{position:fixed;inset:0;z-index:-1}.fab-menu{display:grid;min-width:200px;padding:6px;background:var(--panel);border-radius:14px;box-shadow:0 8px 28px #0b141a40}.fab-menu button{display:flex;align-items:center;gap:10px;border:0;background:transparent;padding:11px 12px;border-radius:10px;text-align:start}.fab-menu button:hover{background:var(--hover)}.chat-panel{min-width:0;min-height:0;display:flex;flex-direction:column;background:var(--chat-bg);background-image:radial-gradient(var(--dots) 1.2px,transparent 1.3px),radial-gradient(var(--dots) 1.2px,transparent 1.3px);background-size:26px 26px;background-position:0 0,13px 13px}.chat-header{display:flex;align-items:center;gap:12px;padding:8px 16px;min-height:60px;background:var(--panel-2);border-bottom:1px solid var(--line)}.chat-header .avatar{flex-basis:42px;width:42px;height:42px;font-size:17px}.back-btn{display:none}.chat-heading{flex:1 1;min-width:0;display:grid}.chat-heading strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:16px}.chat-heading small{color:var(--muted)}.header-tools{display:flex;gap:2px}.inline-error{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:10px 16px 0;padding:9px 14px;border-radius:12px;background:var(--panel);border:1px solid #ea003844;color:var(--danger);font-size:13px;box-shadow:var(--shadow)}.inline-error button{display:grid;place-items:center;border:0;background:transparent;color:inherit}.call-panel{margin:12px 16px 0;padding:14px;display:grid;grid-gap:12px;gap:12px;background:var(--panel);border:1px solid var(--accent);border-radius:18px;box-shadow:var(--shadow)}.call-top{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.call-top>div:first-child{display:grid}.call-top small{color:var(--muted)}.call-actions{display:flex;gap:8px;flex-wrap:wrap}.video-grid{position:relative;border-radius:14px;overflow:hidden;background:#0b141a;aspect-ratio:16/9;max-height:38dvh;width:100%}.video-grid video{width:100%;height:100%;object-fit:cover;background:#0b141a}.video-grid video:last-child{position:absolute;inset-block-end:10px;inset-inline-start:10px;width:28%;height:auto;aspect-ratio:4/3;border-radius:10px;border:2px solid #fff}.video-grid.audio-only{aspect-ratio:auto;height:0;max-height:0;overflow:hidden}.messages{flex:1 1;min-height:0;overflow-y:auto;padding:14px 6%}.message-group,.messages{display:flex;flex-direction:column;gap:3px}.day-sep{display:flex;justify-content:center;margin:12px 0 8px;position:-webkit-sticky;position:sticky;top:4px;z-index:1}.day-sep span{background:var(--sep);color:var(--muted);font-size:12px;padding:4px 14px;border-radius:8px;box-shadow:var(--shadow)}.message-row{display:flex;width:100%}.message-row.mine{justify-content:flex-start}.message-row.theirs{justify-content:flex-end}.message-bubble{max-width:min(560px,82%);padding:6px 10px 4px;border-radius:10px;color:var(--bubble-text);box-shadow:var(--shadow);overflow-wrap:anywhere}.message-row.mine .message-bubble{background:var(--bubble-out);border-start-start-radius:2px}.message-row.theirs .message-bubble{background:var(--bubble-in);border-start-end-radius:2px}.sender-name{display:block;font-size:12.5px;font-weight:700;margin-bottom:1px}.message-bubble p{margin:0 0 2px;line-height:1.75;white-space:pre-wrap;font-size:15px}.message-meta{display:flex;justify-content:flex-end;font-size:11px;color:var(--meta)}.attachment{display:flex;gap:10px;align-items:flex-start;margin-bottom:2px}.attachment-icon{flex:0 0 34px;width:34px;height:34px;display:grid;place-items:center;border-radius:10px;background:#00000012}.attachment-content{min-width:0;display:grid;grid-gap:6px;gap:6px;font-size:13px}.attachment-content strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.attachment-content a{display:inline-flex;align-items:center;gap:4px;font-size:12px;font-weight:600}.media-preview{display:block;max-width:min(100%,340px);max-height:300px;border-radius:8px;object-fit:contain;background:#0b141a}.attachment-content audio{max-width:100%;width:260px}.welcome-empty{margin:auto;text-align:center;max-width:340px;display:grid;grid-gap:10px;gap:10px;justify-items:center;color:var(--muted)}.welcome-empty h2{margin:0;color:var(--text)}.empty-symbol{display:grid;place-items:center;width:74px;height:74px;border-radius:50%;background:var(--panel);color:var(--accent);box-shadow:var(--shadow)}.composer{display:flex;align-items:center;gap:8px;padding:8px 12px;background:var(--panel-2)}.composer>input{flex:1 1;min-width:0;border-radius:24px;border-color:transparent}.attach-btn,.record-btn{flex:0 0 42px;width:42px;height:42px;display:grid;place-items:center;border:0;border-radius:50%;background:transparent;color:var(--muted);cursor:pointer}.attach-btn:hover,.record-btn:hover{background:var(--active);color:var(--text)}.record-btn.recording{background:var(--danger);color:#fff;animation:pulse 1.2s ease-in-out infinite}@keyframes pulse{50%{box-shadow:0 0 0 7px #ea003833}}.send-btn{display:inline-flex;align-items:center;gap:6px;border:0;border-radius:24px;padding:0 18px;height:42px;background:var(--accent);color:#fff;font-weight:700}.send-btn:hover:not(:disabled){background:var(--accent-dark)}.send-btn svg{transform:scaleX(-1)}.chat-bottom-note{padding:2px 14px 8px;text-align:center;font-size:11px;color:var(--muted);background:var(--panel-2)}.modal-backdrop{position:fixed;inset:0;z-index:50;display:grid;place-items:center;padding:16px;background:#0b141acc}.modal-card{position:relative;width:min(460px,100%);max-height:90dvh;overflow-y:auto;display:grid;grid-gap:12px;gap:12px;padding:24px;background:var(--panel);border-radius:20px;box-shadow:0 20px 60px #0008}.modal-card h2{margin:0}.modal-close{position:absolute;inset-block-start:14px;inset-inline-end:14px;display:grid;place-items:center;width:34px;height:34px;border:0;border-radius:50%;background:transparent;color:var(--muted)}.modal-close:hover{background:var(--active);color:var(--text)}.people-list{display:grid;grid-gap:2px;gap:2px;max-height:300px;overflow-y:auto}.person-row{display:flex;align-items:center;gap:12px;padding:8px 10px;border-radius:12px;cursor:pointer}.person-row:hover{background:var(--hover)}.person-row .avatar{flex-basis:42px;width:42px;height:42px;font-size:17px}.person-row>div:last-child{display:grid}.person-row small{color:var(--muted)}.person-row input{accent-color:var(--accent);width:18px;height:18px}@media (max-width:820px){.app-shell{grid-template-columns:1fr}.app-shell.chat-open .sidebar,.app-shell:not(.chat-open) .chat-panel{display:none}.back-btn{display:grid}.messages{padding-inline:10px}.message-bubble{max-width:88%}.chat-bottom-note{display:none}.video-grid{max-height:30dvh}}.pw-field{position:relative;display:block}.pw-field input{-webkit-padding-end:44px!important;padding-inline-end:44px!important}.pw-toggle{position:absolute;inset-block:0;inset-inline-end:6px;display:grid;place-items:center;width:36px;border:0;background:transparent;color:var(--muted);border-radius:50%}.pw-toggle:hover{color:var(--text)}.check-row{display:flex!important;grid-template-columns:none;align-items:center;gap:8px;font-size:13px;cursor:pointer}.check-row input{width:18px;height:18px;accent-color:var(--accent)}.menu-backdrop{position:fixed;inset:0;z-index:5}.top-menu{position:absolute;inset-block-start:54px;inset-inline-end:12px;z-index:6;min-width:230px}.menu-danger{color:var(--danger)}.theme-row{display:flex;align-items:center;gap:4px;padding:8px 12px;font-size:13px;color:var(--muted)}.theme-row span{-webkit-margin-end:auto;margin-inline-end:auto}.theme-row button{border:1px solid var(--line);background:transparent;border-radius:14px;padding:3px 10px;font-size:12px}.theme-row button.on{background:var(--accent);border-color:var(--accent);color:#fff}.avatar{overflow:hidden}.avatar img{width:100%;height:100%;object-fit:cover;display:block}.avatar.xl{flex-basis:96px;width:96px;height:96px;font-size:38px}.profile-avatar{display:flex;align-items:center;gap:18px;flex-wrap:wrap}.profile-actions{display:grid;grid-gap:8px;gap:8px}.profile-actions .danger,.profile-actions .primary{cursor:pointer;font-size:14px;padding:8px 16px}.profile-actions .primary.disabled{opacity:.5;pointer-events:none}
/* ===== Homdorong polish v2 (replaces the old !important override layer) ===== */
:root{--ease:cubic-bezier(.2,.8,.2,1);--tick:#8696a0;--tick-read:#53bdeb;--ring:#25d366}
html,body{background:var(--bg);color:var(--text)}
*{-webkit-tap-highlight-color:transparent}
::-webkit-scrollbar{width:8px;height:8px}
::-webkit-scrollbar-track{background:transparent}
::-webkit-scrollbar-thumb{background:color-mix(in srgb,var(--muted) 38%,transparent);border-radius:8px}
::-webkit-scrollbar-thumb:hover{background:color-mix(in srgb,var(--muted) 60%,transparent)}
::selection{background:color-mix(in srgb,var(--accent) 30%,transparent)}

/* app frame */
.app-shell,.sidebar{background:var(--panel)}
@media (min-width:1100px){
  body{background:var(--panel-2)}
  .app-shell{box-shadow:0 0 0 1px var(--line),0 12px 40px #0b141a1f}
}

/* sidebar header */
.sidebar-header{position:sticky;top:0;z-index:10;padding:10px 14px;min-height:64px;background:var(--panel);border-bottom:1px solid var(--line)}
.brand-inline strong{font-size:20px;font-weight:800;color:var(--text);letter-spacing:-.2px}
.brand-inline small{font-size:12px}
.brand-mark.small{border-radius:12px;box-shadow:0 2px 8px #0b141a33}
.icon-btn{transition:background .18s,color .18s,transform .12s}
.icon-btn:active:not(:disabled){transform:scale(.9)}

/* search */
.search-box{margin:10px 12px 6px;padding:0 14px;border-radius:14px;background:var(--panel-2);transition:box-shadow .2s,background .2s}
.search-box:focus-within{background:var(--panel);box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 50%,transparent)}
.search-box input{font-size:14.5px}

/* conversation list */
.conversation-list{padding:4px 6px 96px;gap:0}
.conversation-item{padding:9px 10px;margin:0;border:0;border-radius:14px;transition:background .15s,transform .12s}
.conversation-item:hover{background:var(--hover)}
.conversation-item.active{background:var(--active)}
.conversation-item:active{transform:scale(.99)}
.conversation-copy{border-bottom:0;padding-block:2px;gap:4px}
.row-top strong{font-size:15.5px;font-weight:700}
.preview{font-size:13.5px}
.badge{min-width:22px;height:22px;border-radius:11px;font-size:11.5px;box-shadow:0 1px 3px #0b141a33}
.empty-hint{line-height:2}

/* avatars: round, like WhatsApp / Telegram */
.avatar{flex:0 0 50px;width:50px;height:50px;border-radius:50%;font-size:19px;font-weight:700;letter-spacing:0;box-shadow:inset 0 0 0 1px #ffffff1f}
.avatar.group-avatar{background:linear-gradient(145deg,#f4b400,#d97706);color:#fff}

/* new-chat button */
.fab{width:56px;height:56px;border-radius:50%;box-shadow:0 8px 20px color-mix(in srgb,var(--accent) 45%,transparent);transition:transform .18s var(--ease),box-shadow .18s,background .18s}
.fab:hover{transform:translateY(-2px) scale(1.04)}
.fab:active{transform:scale(.94)}
.fab-menu{border-radius:16px;box-shadow:0 12px 36px #0b141a52;animation:pop .16s var(--ease)}

/* chat panel */
.chat-panel{background-color:var(--chat-bg)}
.chat-header{padding:8px 14px;min-height:64px;background:var(--panel);border-bottom:1px solid var(--line)}
.chat-heading strong{font-size:16px;font-weight:700}
.chat-heading small{font-size:12px;color:var(--muted)}
.header-tools{gap:4px}
.header-tools .icon-btn{width:42px;height:42px;color:var(--accent-dark)}
.header-tools .icon-btn:disabled{color:var(--muted)}
.back-btn{color:var(--text)}

.inline-error{border-radius:14px;margin:10px 14px 0}

/* messages */
.messages{padding:12px 5% 10px;gap:2px;scroll-behavior:smooth}
.day-sep{margin:14px 0 8px}
.day-sep span{background:color-mix(in srgb,var(--panel) 88%,transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);padding:5px 14px;border-radius:999px;font-weight:600;font-size:12px}
.message-row{animation:msgIn .22s var(--ease) both}
.message-row:not(.cont){margin-top:7px}
.message-bubble{position:relative;max-width:min(600px,80%);padding:7px 12px 5px;border-radius:16px;box-shadow:0 1px 1.5px #0b141a26}
.message-row.mine .message-bubble{border-start-start-radius:0}
.message-row.theirs .message-bubble{border-start-end-radius:0}
.message-row.cont.mine .message-bubble,.message-row.cont.theirs .message-bubble{border-radius:16px}
/* bubble tails (RTL: mine = right edge, theirs = left edge) */
.message-row:not(.cont) .message-bubble::before{content:"";position:absolute;top:0;width:9px;height:13px;background:inherit}
.message-row.mine:not(.cont) .message-bubble::before{right:-8px;clip-path:polygon(0 0,100% 0,0 100%)}
.message-row.theirs:not(.cont) .message-bubble::before{left:-8px;clip-path:polygon(0 0,100% 0,100% 100%)}
.message-bubble p{font-size:15px;line-height:1.75;margin:0 0 1px}
.sender-name{font-size:12.5px}
.message-meta{gap:3px;align-items:center;margin-top:1px;font-size:11px;opacity:.85}
.tick{font-size:12px;font-weight:700;letter-spacing:-4px;margin-inline-end:5px;color:var(--tick);line-height:1}
.tick.read{color:var(--tick-read)}
.attachment-icon{background:color-mix(in srgb,var(--text) 8%,transparent)}
.media-preview{border-radius:10px}
.attachment-content audio{height:38px}

.welcome-empty{gap:12px}
.empty-symbol{width:84px;height:84px;box-shadow:0 6px 20px #0b141a1f}

/* composer */
.composer{padding:8px 10px calc(8px + env(safe-area-inset-bottom));gap:6px;background:transparent}
.composer>input{border-radius:26px;background:var(--panel);border:1px solid var(--line);padding:12px 18px;box-shadow:0 1px 2px #0b141a14}
.composer>input:focus-visible{border-color:var(--accent)}
.attach-btn,.record-btn{flex:0 0 44px;width:44px;height:44px;background:var(--panel);box-shadow:0 1px 2px #0b141a14;transition:background .15s,transform .12s,color .15s}
.attach-btn:active,.record-btn:active{transform:scale(.92)}
.send-btn{flex:0 0 46px;width:46px;height:46px;padding:0;justify-content:center;border-radius:50%;box-shadow:0 4px 10px color-mix(in srgb,var(--accent) 40%,transparent);transition:transform .15s var(--ease),background .15s,opacity .15s}
.send-btn:hover:not(:disabled){transform:scale(1.06)}
.send-btn:active:not(:disabled){transform:scale(.92)}
.send-btn:disabled{background:var(--muted);box-shadow:none;opacity:.5}
.chat-bottom-note{display:none}

/* calls */
.call-panel{margin:10px 12px 0;border:0;border-radius:20px;background:var(--panel);box-shadow:0 10px 30px #0b141a33;position:relative;z-index:3;animation:pop .2s var(--ease)}
.call-top strong{font-size:16px}
.call-actions .primary,.call-actions .danger{padding:10px 22px;border-radius:999px;font-size:14px}
.call-actions .primary{background:var(--ring);color:#fff;animation:ring 1.6s ease-out infinite}
.call-actions .primary:hover:not(:disabled){background:#1ebe5a}
.call-panel>small.muted{font-size:11px;line-height:1.7}

/* modals + menus */
.modal-backdrop{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#0b141a99}
.modal-card{border-radius:24px;animation:pop .2s var(--ease)}
.person-row{transition:background .15s}
.auth-card{border-radius:26px}
.primary,.danger{transition:background .15s,transform .12s,filter .15s}
.primary:active:not(:disabled),.danger:active:not(:disabled){transform:scale(.97)}

@keyframes msgIn{from{opacity:0;transform:translateY(6px) scale(.98)}to{opacity:1;transform:none}}
@keyframes pop{from{opacity:0;transform:scale(.96) translateY(-4px)}to{opacity:1;transform:none}}
@keyframes ring{0%{box-shadow:0 0 0 0 #25d36699}70%{box-shadow:0 0 0 12px #25d36600}100%{box-shadow:0 0 0 0 #25d36600}}

@media (max-width:820px){
  .messages{padding-inline:8px}
  .message-bubble{max-width:86%}
  .conversation-list{padding-inline:4px}
  .composer{padding-inline:8px}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
}

/* V49 HOTFIX: keep conversation header visible while messages scroll */
html,body{height:100%;min-height:100%;overscroll-behavior:none}
body{margin:0}
.app-shell{height:100dvh!important;min-height:0!important;overflow:hidden!important}
.chat-panel{height:100%;min-height:0!important;max-height:100%;overflow:hidden!important;display:flex!important;flex-direction:column!important;position:relative}
.chat-panel>.chat-header{display:flex!important;position:relative!important;top:auto!important;z-index:20!important;flex:0 0 auto!important;min-height:60px;visibility:visible!important;opacity:1!important;transform:none!important}
.chat-panel>.messages{flex:1 1 auto!important;min-height:0!important;overflow-y:auto!important;overscroll-behavior:contain}
.chat-panel>.composer{position:relative!important;inset:auto!important;flex:0 0 auto!important;margin-top:0!important;z-index:15!important;padding-bottom:calc(8px + env(safe-area-inset-bottom,0px))!important}
@media(max-width:820px){
 .app-shell.chat-open .chat-panel{display:flex!important;min-height:0!important;height:100dvh!important}
 .app-shell.chat-open .chat-panel>.chat-header{display:flex!important;visibility:visible!important}
 .app-shell.chat-open .chat-panel>.messages{min-height:0!important}
}
