/* ================= Messages (public/messages.js) =================
   A calm, private messaging surface in the site's own language: white and ink, hairlines, the single green accent for your
   own messages, Bodoni for the page title and Manrope for everything else. Logical properties throughout so everything
   mirrors for Arabic and Persian. Every tap target is at least 44px on touch screens. */
.dm-app,.dm-th,.dm-sheet{--dm-me:var(--brass);--dm-on-me:var(--on-brass);--dm-them:var(--pit2);--dm-edge:var(--line);--dm-r:20px;--dm-soft:color-mix(in srgb,var(--brass) 7%,var(--pit));--dm-ok:#2F9E62}
:root[data-theme="dark"] .dm-app,:root[data-theme="dark"] .dm-th,:root[data-theme="dark"] .dm-sheet{--dm-me:color-mix(in srgb,var(--brass) 82%,var(--pit));--dm-them:color-mix(in srgb,var(--pit3) 62%,var(--pit));--dm-soft:color-mix(in srgb,var(--brass) 10%,var(--pit));--dm-ok:#6FD39A}
.dm-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.dm-app [hidden],.dm-th [hidden]{display:none!important}

/* ---------- page and two pane shell ---------- */
.dm-page{padding-block:22px 28px}
.dm-app{display:grid;grid-template-columns:minmax(300px,384px) minmax(0,1fr);height:calc(100dvh - 190px);min-height:520px;max-height:880px;border:1px solid var(--line);border-radius:22px;background:var(--pit);overflow:hidden;
  box-shadow:0 1px 2px rgba(20,35,26,.04),0 28px 60px -40px rgba(20,35,26,.28)}
:root[data-theme="dark"] .dm-app{box-shadow:0 1px 2px rgba(0,0,0,.3),0 28px 60px -34px rgba(0,0,0,.65)}
.dm-list{display:flex;flex-direction:column;min-width:0;min-height:0;border-inline-end:1px solid var(--line);background:var(--pit)}
.dm-pane{position:relative;display:flex;min-width:0;min-height:0;background:var(--pit)}
.dm-pane>.dm-th{flex:1}

/* ---------- list header: title, settings, search, filters ---------- */
.dm-lhead{display:grid;gap:12px;padding:20px 18px 12px;border-bottom:1px solid var(--line)}
.dm-ltop{display:flex;align-items:center;justify-content:space-between;gap:10px}
.dm-ltop h1{font-size:clamp(1.7rem,2.6vw,2.1rem)}
.dm-search{position:relative;display:flex;align-items:center}
.dm-search svg{position:absolute;inset-inline-start:14px;width:17px;height:17px;color:var(--dim);pointer-events:none}
.dm-search input{width:100%;min-height:44px;padding:0 14px 0 42px;padding-inline:42px 14px;border:1px solid var(--line);border-radius:999px;background:var(--pit2);font-size:.92rem;outline:none;transition:border-color .15s,box-shadow .15s,background .15s}
.dm-search input:focus{border-color:var(--brass);background:var(--pit);box-shadow:0 0 0 4px color-mix(in srgb,var(--brass) 14%,transparent)}
.dm-search input::placeholder{color:var(--dim)}
.dm-filters{display:flex;gap:2px;padding:3px;border-radius:999px;background:var(--pit2);border:1px solid var(--line);overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch}
.dm-filters::-webkit-scrollbar{display:none}
.dm-filters.dm-ovf{-webkit-mask-image:linear-gradient(to right,#000 82%,transparent);mask-image:linear-gradient(to right,#000 82%,transparent)}
[dir="rtl"] .dm-filters.dm-ovf{-webkit-mask-image:linear-gradient(to left,#000 82%,transparent);mask-image:linear-gradient(to left,#000 82%,transparent)}
.dm-filters.dm-ovf.dm-end{-webkit-mask-image:none;mask-image:none}
.dm-filters button{flex:1 0 auto;display:inline-flex;align-items:center;justify-content:center;gap:5px;min-height:36px;padding:0 9px;border:0;border-radius:999px;background:transparent;color:var(--smoke);font-weight:600;font-size:.8rem;cursor:pointer;white-space:nowrap;transition:background .15s,color .15s,box-shadow .15s}
.dm-filters button:hover{color:var(--chalk)}
.dm-filters button[aria-selected="true"]{background:var(--pit);color:var(--chalk);box-shadow:0 1px 2px rgba(20,35,26,.1),0 0 0 1px var(--line)}
:root[data-theme="dark"] .dm-filters button[aria-selected="true"]{background:var(--pit3);box-shadow:none}
.dm-fn{min-width:18px;height:18px;padding:0 5px;border-radius:999px;display:inline-grid;place-items:center;background:var(--brass);color:var(--on-brass);font-size:.66rem;font-weight:800;font-variant-numeric:tabular-nums}

/* ---------- conversation list ---------- */
.dm-items{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:6px 8px 10px;scrollbar-width:thin}
.dm-it{position:relative;display:flex;gap:12px;align-items:center;padding:12px 12px;border-radius:16px;text-decoration:none;color:inherit;min-width:0;transition:background .12s}
.dm-it+.dm-it{margin-top:2px}
.dm-it:hover{background:var(--pit2)}
.dm-it.on{background:var(--dm-soft);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--brass) 22%,var(--line))}
.dm-it:focus-visible{outline:2px solid var(--brass);outline-offset:-2px}
.dm-avw{position:relative;flex:none;width:50px;height:50px}
.dm-avw .dm-av{width:50px;height:50px;font-size:.92rem}
.dm-thumb{position:absolute;inset-inline-end:-5px;bottom:-4px;width:26px;height:26px;border-radius:8px;object-fit:cover;border:2px solid var(--pit);background:var(--pit3)}
.dm-it.on .dm-thumb{border-color:color-mix(in srgb,var(--brass) 7%,var(--pit))}
.dm-thumb-i{display:grid;place-items:center;color:var(--smoke)}
.dm-thumb-i svg{width:15px;height:15px}
.dm-itm{flex:1;min-width:0;display:grid;gap:2px}
.dm-r1,.dm-r2,.dm-r3{display:flex;align-items:center;gap:6px;min-width:0}
.dm-nm{flex:0 1 auto;min-width:0;font-weight:700;font-size:.95rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.dm-tm{margin-inline-start:auto;flex:none;color:var(--dim);font-size:.74rem;font-variant-numeric:tabular-nums}
.dm-it.unread .dm-tm{color:var(--brass);font-weight:700}
.dm-mut{display:inline-grid;color:var(--dim);flex:none}
.dm-mut svg{width:14px;height:14px}
.dm-role{flex:none;font-size:.62rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--brass)}
.dm-role.b{color:var(--sky)}
.dm-lst{min-width:0;font-size:.8rem;color:var(--smoke);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.dm-pv{flex:1;min-width:0;display:flex;align-items:center;gap:4px;font-size:.85rem;color:var(--smoke);overflow:hidden;white-space:nowrap}
.dm-pv>span{flex:none}
.dm-pv .dm-pvt{flex:0 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis}
.dm-it.unread .dm-pv{color:var(--chalk);font-weight:600}
.dm-it.unread .dm-nm{font-weight:800}
.dm-you{display:inline-flex;align-items:center;gap:3px;color:var(--dim)}
.dm-pvi{display:inline-grid;color:var(--dim)}
.dm-pvi svg{width:15px;height:15px}
.dm-it-del{font-style:italic;color:var(--dim)}
.dm-badge{flex:none;min-width:22px;height:22px;padding:0 7px;border-radius:999px;display:inline-grid;place-items:center;background:var(--brass);color:var(--on-brass);font:800 .72rem/1 var(--body);font-variant-numeric:tabular-nums}
h2 .dm-badge{vertical-align:middle;font-family:var(--body)}
.dm-skel{pointer-events:none}
.dm-skel .dm-av{width:50px;height:50px;background:var(--pit2);box-shadow:none}
.dm-skel i{display:block;height:11px;border-radius:6px;background:var(--pit2);width:60%}
.dm-skel i+i{width:85%;margin-top:6px}
.dm-skel i,.dm-skel .dm-av,.dm-skelh i,.dm-skelh .dm-av{animation:dmpulse 1.4s ease-in-out infinite}
@keyframes dmpulse{50%{opacity:.5}}
.dm-empty{display:grid;justify-items:center;gap:8px;padding:48px 22px;text-align:center}
.dm-empty p{max-width:34ch}
.dm-empty .btn{margin-top:6px}
.dm-empty-i,.dm-none-i{width:58px;height:58px;border-radius:50%;display:grid;place-items:center;background:var(--dm-soft);color:var(--brass);margin-bottom:4px}
.dm-empty-i svg,.dm-none-i svg{width:26px;height:26px}
.dm-none{margin:auto;display:grid;justify-items:center;gap:8px;text-align:center;padding:32px;max-width:340px}
.dm-none b{font-family:var(--display);font-weight:400;font-size:1.6rem;letter-spacing:-.03em}

/* ---------- avatars: the member photo over coloured initials ---------- */
.dm-av{--fh:150;position:relative;width:40px;height:40px;border-radius:50%;flex:none;display:grid;place-items:center;overflow:hidden;font-weight:700;font-size:.8rem;letter-spacing:.02em;
  background:hsl(var(--fh) 28% 91%);color:hsl(var(--fh) 34% 28%);box-shadow:inset 0 0 0 1px hsl(var(--fh) 20% 84%)}
:root[data-theme="dark"] .dm-av{background:hsl(var(--fh) 16% 23%);color:hsl(var(--fh) 38% 84%);box-shadow:inset 0 0 0 1px hsl(var(--fh) 12% 31%)}
.dm-av img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.dm-av.md{width:42px;height:42px;font-size:.84rem}
.dm-av.lg{width:64px;height:64px;font-size:1.1rem}

/* ---------- conversation ---------- */
.dm-th{position:relative;display:flex;flex-direction:column;min-width:0;min-height:0;background:var(--pit)}
.dm-th.dm-drop::after{content:"";position:absolute;inset:8px;border:2px dashed var(--brass);border-radius:18px;background:color-mix(in srgb,var(--brass) 6%,transparent);pointer-events:none}
.dm-ib{position:relative;flex:none;width:40px;height:40px;display:grid;place-items:center;border:0;border-radius:50%;background:none;color:var(--smoke);cursor:pointer;text-decoration:none;transition:background .12s,color .12s}
.dm-ib:hover,.dm-ib[aria-expanded="true"]{background:var(--pit2);color:var(--chalk)}
.dm-ib svg{width:20px;height:20px}
.dm-ib.sm{width:32px;height:32px}.dm-ib.sm svg{width:16px;height:16px}
.dm-thh{display:flex;align-items:center;gap:6px;min-height:68px;padding:10px 12px 10px 18px;padding-inline:18px 12px;border-bottom:1px solid var(--line);background:color-mix(in srgb,var(--pit) 92%,transparent);backdrop-filter:blur(10px);z-index:2}
.dm-backb{display:none;margin-inline-start:-8px}
[dir="rtl"] .dm-backb svg{transform:scaleX(-1)}
.dm-who{flex:1;display:flex;align-items:center;gap:12px;min-width:0;text-decoration:none;color:inherit;border-radius:14px;padding:2px}
a.dm-who:hover .dm-whon{text-decoration:underline;text-underline-offset:3px}
.dm-whot{display:grid;min-width:0;gap:1px}
.dm-whon{font-weight:700;font-size:1rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.dm-whot .dm-mut{position:absolute;opacity:0}
.dm-sub{font-size:.78rem;color:var(--dim);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.dm-sub-t{color:var(--dm-ok);font-weight:600}
.dm-sub-t::after{content:"";display:inline-block;width:1.2em;text-align:start;animation:dmdots 1.2s steps(4) infinite}
@keyframes dmdots{0%{content:""}25%{content:"."}50%{content:".."}75%{content:"..."}}
.dm-skelh i{flex:1;height:14px;max-width:160px;border-radius:7px;background:var(--pit2)}
.dm-skelh .dm-av{background:var(--pit2);box-shadow:none}

/* pinned listing */
.dm-pin{display:flex;align-items:center;gap:12px;padding:10px 12px 10px 18px;padding-inline:18px 12px;border-bottom:1px solid var(--line);background:var(--pit2);min-width:0}
:root[data-theme="dark"] .dm-pin{background:color-mix(in srgb,var(--pit2) 80%,var(--pit))}
.dm-pin-ph{flex:none;width:64px;height:46px;border-radius:10px;overflow:hidden;background:var(--pit3);display:block}
.dm-pin-ph img{width:100%;height:100%;object-fit:cover;display:block}
.dm-pin-ph-i{display:grid;place-items:center;color:var(--smoke)}
.dm-pin-ph-i svg{width:22px;height:22px}
.dm-pin-t{flex:1;min-width:0;display:grid;gap:2px}
.dm-pin-n{font-weight:700;font-size:.9rem;text-decoration:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.dm-pin-n:hover{text-decoration:underline;text-underline-offset:3px}
.dm-pin-m{display:flex;align-items:baseline;gap:8px;font-size:.78rem;color:var(--smoke);flex-wrap:wrap}
.dm-pin-m b{font-size:.9rem;color:var(--chalk)}
.dm-st{font-size:.62rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--live)}
.dm-pin-a{display:flex;align-items:center;gap:4px;flex:none}
.dm-offer{background:var(--pit);min-height:36px}

/* messages */
.dm-scroll{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:18px 18px 8px;scrollbar-width:thin;-webkit-overflow-scrolling:touch}
.dm-msgs{display:flex;flex-direction:column;min-height:100%;justify-content:flex-end}
.dm-day{display:flex;justify-content:center;margin:14px 0 10px;pointer-events:none}
.dm-day span{padding:4px 12px;border-radius:999px;background:color-mix(in srgb,var(--pit) 88%,transparent);backdrop-filter:blur(8px);border:1px solid var(--line);font-size:.72rem;font-weight:700;color:var(--smoke);letter-spacing:.02em}
.dm-row{display:flex;flex-direction:column;align-items:flex-start;margin-top:2px;min-width:0}
.dm-row.g1{margin-top:10px}
.dm-row.me{align-items:flex-end}
.dm-bw{position:relative;display:flex;align-items:center;gap:4px;max-width:min(78%,560px);min-width:0}
.dm-b{position:relative;min-width:0;padding:9px 13px 7px;border-radius:var(--dm-r);background:var(--dm-them);color:var(--chalk);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--line) 60%,transparent);overflow-wrap:anywhere}
.dm-row.me .dm-b{background:var(--dm-me);color:var(--dm-on-me);box-shadow:none}
.dm-row.them:not(.gl) .dm-b{border-end-start-radius:7px}
.dm-row.them:not(.g1) .dm-b{border-start-start-radius:7px}
.dm-row.me:not(.gl) .dm-b{border-end-end-radius:7px}
.dm-row.me:not(.g1) .dm-b{border-start-end-radius:7px}
.dm-tx{display:inline;font-size:.95rem;line-height:1.48;white-space:normal}
.dm-tx a{color:inherit;text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px}
.dm-row.them .dm-tx a{color:var(--brass)}
.dm-meta{float:inline-end;display:inline-flex;align-items:center;gap:4px;margin:6px 0 -2px;margin-inline-start:12px;font-size:.68rem;line-height:1;color:var(--dim);font-variant-numeric:tabular-nums;white-space:nowrap;position:relative;top:3px}
.dm-row.me .dm-meta{color:color-mix(in srgb,var(--dm-on-me) 72%,transparent)}
.dm-ed{font-style:italic}
.dm-tk{display:inline-grid;opacity:.7}
.dm-tk svg{width:15px;height:10px}
.dm-tk.pd svg{width:12px;height:12px}
.dm-tk.dl{opacity:.6}
.dm-tk.rd{opacity:1;color:#D2F5DE}
:root[data-theme="dark"] .dm-tk.rd{color:#1F6B3F}
.dm-you .dm-tk.rd,.dm-pv .dm-tk.rd{color:var(--brass)}
.dm-seen{margin:4px 4px 0;font-size:.7rem;font-weight:700;color:var(--dim)}
.dm-b.del{background:transparent;box-shadow:inset 0 0 0 1px var(--line);color:var(--dim);font-style:italic;font-size:.88rem}
.dm-row.me .dm-b.del{background:transparent;color:var(--dim)}
/* photos */
.dm-b.ph{padding:4px;background:transparent;box-shadow:none}
.dm-row.me .dm-b.ph{background:transparent}
.dm-b.ph .dm-meta{position:absolute;inset-inline-end:12px;bottom:12px;top:auto;margin:0;padding:4px 8px;border-radius:999px;background:rgba(0,0,0,.45);color:#fff;float:none}
.dm-b.ph .dm-tk.rd{color:#BFE7CC}
.dm-b.hasph{width:min(320px,68vw)}
.dm-b.hasph:not(.ph){padding-top:4px;padding-inline:4px}
.dm-b.hasph:not(.ph) .dm-tx,.dm-b.hasph:not(.ph) .dm-meta{margin-inline:9px}
.dm-b.hasph:not(.ph) .dm-tx{display:block;margin-top:2px}
.dm-b.hasph:not(.ph) .dm-meta{float:none;display:flex;justify-content:flex-end;margin:4px 9px 3px;top:0}
.dm-ph{display:grid;gap:3px;border-radius:16px;overflow:hidden;width:100%;margin:0 0 4px}
.dm-b.ph .dm-ph{margin:0}
.dm-ph.n1{grid-template-columns:1fr}
.dm-ph.n2,.dm-ph.n3,.dm-ph.n4{grid-template-columns:1fr 1fr}
.dm-ph.n3 .dm-phb:first-child{grid-row:span 2}
.dm-phb{position:relative;padding:0;border:0;background:var(--pit3);cursor:zoom-in;display:block;aspect-ratio:1;overflow:hidden}
.dm-ph.n1 .dm-phb{aspect-ratio:4/3}
.dm-phb img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .3s}
.dm-phb:hover img{transform:scale(1.03)}
.dm-phmore{position:absolute;inset:0;display:grid;place-items:center;background:rgba(0,0,0,.45);color:#fff;font-weight:700;font-size:1.2rem}
/* listing cards */
.dm-card{display:flex;gap:10px;align-items:center;min-width:0;width:min(300px,62vw);padding:8px;margin:-3px -7px 6px;border-radius:14px;background:var(--pit);color:var(--chalk);text-decoration:none;box-shadow:inset 0 0 0 1px var(--line)}
.dm-b.cd .dm-card{margin-bottom:4px}
.dm-card img,.dm-card-i{flex:none;width:58px;height:44px;border-radius:9px;object-fit:cover;background:var(--pit3)}
.dm-card-i{display:grid;place-items:center;color:var(--smoke)}
.dm-card-i svg{width:20px;height:20px}
.dm-card-t{display:grid;gap:1px;min-width:0;font-size:.78rem;color:var(--smoke)}
.dm-card-t b{font-size:.86rem;color:var(--chalk);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.dm-card:hover b{text-decoration:underline;text-underline-offset:3px}
/* message options */
.dm-mactw{flex:none}
.dm-mact{width:32px;height:32px;display:grid;place-items:center;border:0;border-radius:50%;background:none;color:var(--dim);cursor:pointer;opacity:0;transition:opacity .12s,background .12s}
.dm-mact svg{width:16px;height:16px}
.dm-row:hover .dm-mact,.dm-row.act .dm-mact,.dm-mact:focus-visible{opacity:1}
.dm-mact:hover{background:var(--pit2);color:var(--chalk)}
@media (hover:none){.dm-mact{opacity:0;width:0;overflow:hidden}.dm-row.act .dm-mact{opacity:1;width:36px;height:36px}}
.dm-flag{display:flex;gap:8px;align-items:flex-start;max-width:min(78%,560px);margin-top:6px;padding:9px 12px;border-radius:12px;background:color-mix(in srgb,var(--live) 10%,var(--pit));color:var(--live);font-size:.8rem;line-height:1.45;box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--live) 25%,transparent)}
.dm-flag svg{flex:none;width:16px;height:16px;margin-top:1px}
/* typing */
.dm-typing .dm-b{display:inline-flex;gap:4px;padding:13px 15px}
.dm-typing i{width:7px;height:7px;border-radius:50%;background:var(--dim);animation:dmtype 1.2s infinite ease-in-out}
.dm-typing i:nth-child(2){animation-delay:.15s}.dm-typing i:nth-child(3){animation-delay:.3s}
@keyframes dmtype{0%,60%,100%{transform:translateY(0);opacity:.45}30%{transform:translateY(-4px);opacity:1}}
.dm-loading{margin:auto;display:flex;gap:6px;padding:40px}
.dm-loading span{width:8px;height:8px;border-radius:50%;background:var(--line);animation:dmtype 1.2s infinite ease-in-out}
.dm-loading span:nth-child(2){animation-delay:.15s}.dm-loading span:nth-child(3){animation-delay:.3s}
/* start, safety and older */
.dm-start{display:grid;justify-items:center;gap:6px;text-align:center;margin:auto 0 18px;padding:20px 12px}
.dm-start b{font-size:1.05rem}
.dm-start p{max-width:36ch}
.dm-safe{display:flex;gap:12px;align-items:flex-start;margin:0 auto 14px;max-width:520px;padding:14px 16px;border-radius:16px;background:var(--dm-soft);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--brass) 18%,var(--line));font-size:.82rem;line-height:1.5;color:var(--smoke)}
.dm-safe svg{flex:none;width:22px;height:22px;color:var(--brass);margin-top:1px}
.dm-safe b{display:block;color:var(--chalk);font-size:.86rem;margin-bottom:2px}
.dm-older{display:flex;justify-content:center;margin-bottom:8px}

/* ---------- composer ---------- */
.dm-foot{border-top:1px solid var(--line);padding:10px 14px 12px;background:var(--pit);display:grid;gap:8px}
.dm-foot:empty{display:none}
.dm-comp{display:flex;align-items:flex-end;gap:6px;min-width:0;padding:4px;border:1px solid var(--line);border-radius:26px;background:var(--pit2);transition:border-color .15s,box-shadow .15s,background .15s}
.dm-comp:focus-within{border-color:var(--brass);background:var(--pit);box-shadow:0 0 0 4px color-mix(in srgb,var(--brass) 13%,transparent)}
.dm-tools{display:flex;align-items:center;flex:none}
.dm-tools .dm-ib{width:40px;height:40px}
.dm-comp textarea{flex:1;min-width:0;min-height:40px;max-height:180px;resize:none;border:0;background:transparent;padding:9px 6px;line-height:1.45;outline:none;font-size:.95rem}
.dm-comp textarea::placeholder{color:var(--dim);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.dm-send{flex:none;width:40px;height:40px;display:grid;place-items:center;border:0;border-radius:50%;background:var(--brass);color:var(--on-brass);cursor:pointer;transition:filter .15s,transform .15s}
.dm-send:hover{filter:brightness(1.08)}
.dm-send:active{transform:scale(.94)}
.dm-send[disabled]{opacity:.5;cursor:default}
.dm-send svg{width:19px;height:19px}
[dir="rtl"] .dm-send svg{transform:scaleX(-1)}
.dm-quick{display:flex;gap:6px;overflow-x:auto;scrollbar-width:none;padding:2px 0}
.dm-quick::-webkit-scrollbar{display:none}
.dm-quick button{flex:none;min-height:34px;padding:0 13px;border-radius:999px;border:1px solid color-mix(in srgb,var(--brass) 30%,var(--line));background:var(--dm-soft);color:var(--brass);font-weight:600;font-size:.8rem;cursor:pointer;white-space:nowrap}
.dm-quick button:hover{border-color:var(--brass)}
.dm-editbar{display:flex;align-items:center;gap:8px;padding:6px 6px 6px 12px;padding-inline:12px 6px;border-radius:12px;background:var(--dm-soft);color:var(--brass);font-size:.82rem;font-weight:600}
.dm-editbar svg{width:16px;height:16px}
.dm-editbar span{flex:1}
.dm-phs{display:flex;gap:8px;overflow-x:auto;padding:2px}
.dm-phi{position:relative;flex:none;width:64px;height:64px;border-radius:12px;overflow:hidden;background:var(--pit3)}
.dm-phi img{width:100%;height:100%;object-fit:cover}
.dm-phi button{position:absolute;top:3px;inset-inline-end:3px;width:24px;height:24px;border-radius:50%;border:0;background:rgba(0,0,0,.55);color:#fff;display:grid;place-items:center;cursor:pointer}
.dm-phi button svg{width:13px;height:13px}
.dm-err{font-size:.82rem;color:var(--live);padding:0 6px}
.dm-ro{display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:center;padding:8px 6px;color:var(--smoke);font-size:.86rem;text-align:center}
.dm-ro svg{width:18px;height:18px;flex:none}

/* ---------- popovers ---------- */
.dm-pop-w{position:relative;display:inline-flex}
.dm-pop{position:absolute;z-index:30;min-width:220px;padding:6px;border:1px solid var(--line);border-radius:16px;background:var(--pit);box-shadow:0 18px 40px -16px rgba(20,35,26,.35),0 2px 6px rgba(20,35,26,.06)}
:root[data-theme="dark"] .dm-pop{box-shadow:0 18px 40px -12px rgba(0,0,0,.7)}
.dm-menu{top:calc(100% + 6px);inset-inline-end:0;display:grid}
.dm-menu a,.dm-menu button{display:flex;align-items:center;gap:10px;min-height:42px;padding:0 12px;border:0;border-radius:10px;background:none;color:var(--chalk);font-size:.88rem;font-weight:500;text-decoration:none;cursor:pointer;text-align:start;white-space:nowrap}
.dm-menu a:hover,.dm-menu button:hover{background:var(--pit2)}
.dm-menu svg{width:17px;height:17px;color:var(--smoke)}
.dm-menu .dm-danger,.dm-menu .dm-danger svg{color:var(--live)}
.dm-mmenu{min-width:180px;top:auto;bottom:calc(100% + 4px)}
.dm-row.them .dm-mmenu{inset-inline-end:auto;inset-inline-start:0}
.dm-setpop{top:calc(100% + 6px);inset-inline-end:0;width:min(300px,82vw);padding:10px;display:grid;gap:6px}
.dm-switch{display:flex;align-items:flex-start;gap:12px;padding:8px;border-radius:12px;cursor:pointer}
.dm-switch>span{flex:1;display:grid;gap:3px}
.dm-switch b{font-size:.9rem}
.dm-switch input{position:absolute;opacity:0;pointer-events:none}
.dm-switch i{flex:none;position:relative;width:42px;height:24px;border-radius:999px;background:var(--line);transition:background .15s;margin-top:2px}
.dm-switch i::after{content:"";position:absolute;top:3px;inset-inline-start:3px;width:18px;height:18px;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.25);transition:inset-inline-start .15s}
.dm-switch input:checked+i{background:var(--brass)}
.dm-switch input:checked+i::after{inset-inline-start:21px}
.dm-switch input:focus-visible+i{outline:2px solid var(--brass);outline-offset:2px}
.dm-poplink{padding:8px;font-size:.84rem;color:var(--brass)}
.dm-emoji{bottom:calc(100% + 10px);inset-inline-start:-40px;width:min(296px,80vw);display:grid;grid-template-columns:repeat(8,1fr);gap:2px}
.dm-emoji button{height:34px;border:0;border-radius:8px;background:none;font-size:1.2rem;cursor:pointer;padding:0}
.dm-emoji button:hover{background:var(--pit2)}
.dm-share{bottom:calc(100% + 10px);inset-inline-start:-80px;width:min(330px,86vw);padding:12px;display:grid;gap:8px}
.dm-share>b{font-size:.9rem;padding:0 2px}
.dm-share input{min-height:40px;padding:0 12px;border:1px solid var(--line);border-radius:10px;background:var(--pit2);outline:none;font-size:.88rem}
.dm-share input:focus{border-color:var(--brass)}
.dm-sharel{display:grid;gap:2px;max-height:280px;overflow-y:auto}
.dm-sharel button{display:flex;align-items:center;gap:10px;min-height:52px;padding:6px;border:0;border-radius:10px;background:none;text-align:start;cursor:pointer;min-width:0}
.dm-sharel button:hover{background:var(--pit2)}
.dm-sharel img,.dm-sharel .dm-card-i{flex:none;width:52px;height:38px;border-radius:8px;object-fit:cover}
.dm-sharel span{display:grid;min-width:0}
.dm-sharel b{font-size:.84rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
/* chat author popover */
.dm-apop{position:fixed;z-index:96;min-width:240px;padding:14px;display:grid;gap:12px}
.dm-apop-h{display:flex;align-items:center;gap:12px}
.dm-apop-h>span{display:grid}
.dm-apop-a{display:flex;gap:8px}
.dm-apop-a .btn{flex:1}
.dm-apop-a svg{width:16px;height:16px}
.lc-nameb{padding:0;border:0;background:none;font:inherit;color:inherit;cursor:pointer;font-weight:inherit}
.lc-nameb:hover{text-decoration:underline;text-underline-offset:3px}

/* ---------- listing sidebar: the conversation inline ---------- */
.dm-sidep{display:grid;gap:12px}
.dm-sideh{display:flex;align-items:center;justify-content:space-between;gap:8px}
.dm-private{display:inline-flex;align-items:center;gap:4px}
.dm-private svg{width:13px;height:13px}
.dm-th.dm-side{border:1px solid var(--line);border-radius:18px;overflow:hidden;background:var(--pit)}
.dm-side .dm-scroll{max-height:340px;min-height:120px;padding:12px 12px 6px}
.dm-side .dm-msgs{min-height:0}
.dm-side .dm-bw{max-width:88%}
.dm-side .dm-safe{padding:9px 11px;font-size:.75rem;gap:8px;border-radius:12px;margin-bottom:8px}
.dm-side .dm-safe svg{width:18px;height:18px}
.dm-side .dm-start{margin:0;padding:8px 4px 12px}
.dm-side .dm-start .dm-av.lg{width:44px;height:44px;font-size:.84rem}
.dm-side .dm-foot{padding:8px}
.dm-side .dm-tools .dm-ib{width:36px;height:36px}
.dm-side .dm-emoji{inset-inline-start:-20px;width:260px}
.dm-side .dm-share{inset-inline-start:-110px;width:280px}
.dm-sidelink{display:flex;align-items:center;justify-content:center;gap:6px;padding:10px;border-top:1px solid var(--line);font-size:.8rem;font-weight:600;color:var(--brass);text-decoration:none}
.dm-sidelink svg{width:14px;height:14px}
.dm-sidebtn{display:none}
.dm-sidebtn svg{width:18px;height:18px}
@media (max-width:860px){.dm-th.dm-side{display:none}.dm-sidebtn{display:inline-flex}}
.dm-mbarb{flex:none;width:44px;height:44px;display:grid;place-items:center;border:1px solid var(--line);border-radius:50%;background:var(--pit);color:var(--chalk);cursor:pointer}
.dm-mbarb svg{width:20px;height:20px}

/* ---------- header, account menu, tab bar ---------- */
@media (min-width:641px){#acct.dm-dot::after{display:none}}
#acct.dm-dot::after{content:"";position:absolute;top:2px;inset-inline-end:2px;width:10px;height:10px;border-radius:50%;background:var(--live);box-shadow:0 0 0 2px var(--pit)}
.am-dm{display:flex!important;align-items:center;justify-content:space-between;gap:10px}
.am-n{min-width:20px;height:20px;padding:0 6px;border-radius:999px;display:inline-grid;place-items:center;background:var(--live);color:#fff;font-size:.68rem;font-weight:800}
.tab-ic{position:relative;display:grid}
.tabbar .tab-ic .n{position:absolute;top:-5px;inset-inline-end:-9px;min-width:17px;height:17px;padding:0 4px;border-radius:9px;background:var(--live);color:#fff;font:700 .6rem/17px var(--body);text-align:center;box-shadow:0 0 0 2px var(--tab)}
@media (max-width:860px){.tabbar{grid-template-columns:repeat(6,1fr)!important}}
@media (max-width:360px){.tabbar a{font-size:.6rem!important;letter-spacing:-.01em}}
.dsec .dm-dash{display:grid;gap:2px;border:1px solid var(--line);border-radius:16px;padding:6px;background:var(--pit)}
.fd-prof-acts{display:flex;gap:8px;align-items:center}
.fd-msg svg{flex:none}
@media (max-width:640px){.fd-prof .fd-prof-acts{grid-column:1/-1}.fd-prof .fd-prof-acts .btn{flex:1}}
body.dm-on .nv-launch{display:none!important}

/* ---------- tablet: narrower list ---------- */
@media (max-width:860px) and (min-width:761px){.dm-app{height:calc(100dvh - 214px);min-height:480px}}
@media (max-width:360px){.dm-tools [data-dmtool="emoji"]{display:none}.dm-filters button{padding:0 8px;font-size:.76rem}}
@media (max-width:1000px){.dm-app{grid-template-columns:minmax(270px,320px) minmax(0,1fr)}.dm-bw{max-width:86%}}

/* ---------- phones: the list, then the conversation full screen ---------- */
@media (max-width:760px){
 .dm-page{padding-block:6px 16px}
 .dm-page .wrap{padding-inline:0}
 .dm-app{display:block;height:auto;min-height:0;max-height:none;border:0;border-radius:0;box-shadow:none;overflow:visible;background:transparent}
 .dm-list{border:0;background:transparent}
 .dm-lhead{padding:14px 16px 10px;border-bottom:0}
 .dm-items{overflow:visible;padding:0 8px 8px}
 .dm-pane{display:none}
 .dm-app.dm-has .dm-list{display:none}
 .dm-app.dm-has .dm-pane{display:flex}
 /* the open conversation covers the page, header and tab bar, and follows the visible area above the keyboard */
 .dm-pane>.dm-th,.dm-sheet{position:fixed;inset-inline:0;top:var(--dm-vt,0px);height:var(--dm-vh,100dvh);z-index:70;background:var(--pit)}
 .dm-backb{display:grid}
 .dm-thh{min-height:58px;padding:max(6px,env(safe-area-inset-top,0px)) 8px 6px;padding-inline:max(8px,env(safe-area-inset-left,0px)) max(8px,env(safe-area-inset-right,0px));gap:4px}
 .dm-backb{margin-inline-start:0;width:44px;height:44px}
 .dm-pin{padding:8px 12px;padding-inline:max(12px,env(safe-area-inset-left,0px)) max(12px,env(safe-area-inset-right,0px));gap:10px}
 .dm-pin-ph{width:52px;height:40px}
 .dm-scroll{padding:12px 12px 6px;padding-inline:max(12px,env(safe-area-inset-left,0px)) max(12px,env(safe-area-inset-right,0px))}
 .dm-bw{max-width:86%}
 .dm-foot{padding:8px 10px calc(8px + env(safe-area-inset-bottom,0px));padding-inline:max(10px,env(safe-area-inset-left,0px)) max(10px,env(safe-area-inset-right,0px))}
 .dm-comp textarea{font-size:16px}
 .dm-ib{width:44px;height:44px}
 .dm-tools .dm-ib{width:40px;height:40px}
 .dm-send{width:42px;height:42px}
 .dm-emoji{position:fixed;inset-inline:10px;bottom:calc(var(--dm-fh,76px) + 10px);width:auto;grid-template-columns:repeat(8,1fr)}
 .dm-share{position:fixed;inset-inline:10px;bottom:calc(var(--dm-fh,76px) + 10px);width:auto}
 .dm-pop{z-index:75}
 .dm-filters button{min-height:40px}
}
body.dm-thread,body.dm-sheeton{overflow:hidden}
@media (min-width:761px){body.dm-thread{overflow:visible}.dm-sheet{position:fixed;inset:0;z-index:70;display:grid;place-items:center;background:rgba(10,16,13,.5)}.dm-sheet>.dm-th{width:min(560px,94vw);height:min(760px,90vh);border-radius:22px;overflow:hidden;box-shadow:0 30px 80px -30px rgba(0,0,0,.5)}.dm-sheet .dm-backb{display:grid}}
@media (max-width:760px){body.dm-thread .tabbar,body.dm-sheeton .tabbar{display:none}}
@media (prefers-reduced-motion:reduce){.dm-typing i,.dm-loading span,.dm-sub-t::after,.dm-skel i,.dm-skel .dm-av{animation:none}.dm-phb img{transition:none}}
/* a shared listing on its own sits as a card, without a bubble around it */
.dm-b.cd{padding:0;background:transparent!important;box-shadow:none}
.dm-b.cd .dm-card{margin:0;width:min(300px,66vw);box-shadow:inset 0 0 0 1px var(--line),0 6px 18px -12px rgba(20,35,26,.35)}
.dm-b.cd .dm-meta{float:none;display:flex;justify-content:flex-end;margin:5px 6px 0;top:0;color:var(--dim)!important}
.dm-b.cd .dm-tk.rd{color:var(--brass)}
