#dmLauncher{position:fixed;right:18px;bottom:88px;z-index:800;width:52px;height:52px;border-radius:50%;
    display:none;align-items:center;justify-content:center;cursor:pointer;padding:0;touch-action:none;-webkit-user-select:none;user-select:none;
    background:linear-gradient(135deg,#ff7a18,#e91e63);color:#fff;border:none;
    box-shadow:0 8px 24px rgba(233,30,99,.45);transition:transform .15s;}
  @media(min-width:768px){#dmLauncher{bottom:24px;right:24px;}}
  #dmLauncher:hover{transform:scale(1.06);}
  #dmLauncher svg{width:26px;height:26px;}
  #dmLauncher img{width:100%;height:100%;object-fit:cover;border-radius:50%;display:block;}
  #dmBadge{position:absolute;top:-3px;right:-3px;min-width:20px;height:20px;padding:0 5px;border-radius:10px;
    background:#ff3b3b;color:#fff;font-size:11px;font-weight:800;line-height:1;
    display:none;align-items:center;justify-content:center;border:2px solid #12151b;}
  #dmPanel{position:fixed;z-index:801;right:18px;bottom:150px;width:340px;max-width:calc(100vw - 24px);
    height:70vh;max-height:520px;background:#12151b;border:1px solid #262c38;border-radius:16px;
    overflow:hidden;display:none;flex-direction:column;box-shadow:0 20px 60px rgba(0,0,0,.55);}
  @media(min-width:768px){#dmPanel{bottom:84px;right:24px;}}
  @media(max-width:440px){#dmPanel{right:8px;left:8px;width:auto;bottom:82px;height:76vh;}}
  #dmPanel .dm-head{display:flex;align-items:center;gap:10px;padding:12px 14px;color:#fff;
    background:linear-gradient(135deg,#1c1410,#171c28);border-bottom:1px solid #262c38;}
  #dmPanel .dm-head b{font-size:15px;font-weight:800;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
  #dmPanel .dm-x,#dmPanel .dm-back{background:none;border:none;color:#9aa4b2;cursor:pointer;padding:4px;display:inline-flex;}
  #dmPanel .dm-x:hover,#dmPanel .dm-back:hover{color:#fff;}
  #dmPanel .dm-body{flex:1;overflow-y:auto;}
  #dmPanel .dm-av{width:40px;height:40px;border-radius:50%;object-fit:cover;background:#2a3240;flex-shrink:0;
    display:grid;place-items:center;color:#fff;font-weight:800;font-size:15px;overflow:hidden;}
  #dmPanel .dm-thread{display:flex;gap:10px;padding:10px 14px;cursor:pointer;align-items:center;border-bottom:1px solid rgba(255,255,255,.04);}
  #dmPanel .dm-thread:hover{background:rgba(255,255,255,.05);}
  #dmPanel .dm-t-main{flex:1;min-width:0;}
  #dmPanel .dm-t-name{color:#fff;font-weight:700;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
  #dmPanel .dm-t-last{color:#8a94a6;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:1px;}
  #dmPanel .dm-t-badge{background:#ff3b3b;color:#fff;font-size:10px;font-weight:800;min-width:18px;height:18px;
    border-radius:9px;display:grid;place-items:center;padding:0 5px;flex-shrink:0;}
  #dmPanel .dm-empty{padding:28px 18px;text-align:center;color:#8a94a6;font-size:13px;line-height:1.6;}
  #dmPanel .dm-msgs{display:flex;flex-direction:column;gap:6px;padding:12px;}
  #dmPanel .dm-msg{max-width:80%;padding:7px 11px;border-radius:14px;font-size:13.5px;line-height:1.4;word-break:break-word;white-space:pre-wrap;}
  #dmPanel .dm-msg.me{align-self:flex-end;background:linear-gradient(135deg,#ff7a18,#e91e63);color:#fff;border-bottom-right-radius:4px;}
  #dmPanel .dm-msg.you{align-self:flex-start;background:#232a3a;color:#e8edf4;border-bottom-left-radius:4px;}
  #dmPanel .dm-seen{align-self:flex-end;color:#8a94a6;font-size:10.5px;margin:-3px 4px 2px 0;}
  #dmPanel .dm-typing{padding:0 14px 8px;color:#8a94a6;font-size:12px;font-style:italic;}
  #dmPanel .dm-msg.has-img{padding:3px;background:transparent!important;}
  #dmPanel .dm-img{max-width:210px;max-height:260px;border-radius:11px;display:block;cursor:pointer;object-fit:cover;}
  #dmPanel .dm-img-cap{margin-top:4px;font-size:13px;color:#e8edf4;padding:0 4px 2px;}
  #dmPanel .dm-attach{display:grid;place-items:center;width:36px;height:38px;color:#8a94a6;cursor:pointer;flex-shrink:0;}
  #dmPanel .dm-attach:hover{color:#ff7a18;}
  #dmPanel .dm-msg.own{cursor:pointer;}
  #dmPanel .dm-msg.recalled{background:transparent!important;border:1px dashed #3a4150;color:#8a94a6;font-style:italic;font-size:12.5px;}
  #dmPanel .dm-edited{font-size:10.5px;opacity:.6;margin-left:5px;}
  #dmPanel .dm-menuback{position:absolute;inset:0;z-index:5;}
  #dmPanel .dm-msgmenu,#dmPanel .dm-headmenu{position:absolute;z-index:6;background:#1c2230;border:1px solid #2a3240;border-radius:10px;overflow:hidden;box-shadow:0 8px 24px rgba(0,0,0,.5);min-width:140px;}
  #dmPanel .dm-headmenu{top:48px;right:10px;}
  #dmPanel .dm-msgmenu button,#dmPanel .dm-headmenu button{display:block;width:100%;text-align:left;background:none;border:none;color:#e8edf4;padding:10px 14px;font-size:13px;cursor:pointer;}
  #dmPanel .dm-msgmenu button:hover,#dmPanel .dm-headmenu button:hover{background:rgba(255,255,255,.06);}
  #dmPanel .dm-msgmenu button.danger,#dmPanel .dm-headmenu button.danger{color:#ff6b6b;}
  #dmPanel .dm-editbanner{display:flex;align-items:center;gap:8px;padding:6px 14px;background:rgba(255,122,24,.1);border-top:1px solid #262c38;color:#ffb454;font-size:12px;}
  #dmPanel .dm-editbanner button{margin-left:auto;background:none;border:none;color:#9aa4b2;cursor:pointer;font-size:12px;text-decoration:underline;}
  #dmPanel .dm-headbtn{background:none;border:none;color:#9aa4b2;cursor:pointer;padding:4px;display:inline-flex;flex-shrink:0;}
  #dmPanel .dm-headbtn:hover{color:#fff;}
  #dmPanel .dm-inputbar{display:flex;gap:8px;padding:10px;border-top:1px solid #262c38;background:#12151b;}
  #dmPanel .dm-inputbar input{flex:1;background:#1c2230;border:1px solid #2a3240;color:#fff;border-radius:20px;
    padding:8px 14px;outline:none;font-size:14px;}
  #dmPanel .dm-inputbar input:focus{border-color:#ff7a18;}
  #dmPanel .dm-inputbar input:disabled{opacity:.5;}
  #dmPanel .dm-send{background:#ff7a18;border:none;color:#fff;width:38px;height:38px;border-radius:50%;
    cursor:pointer;display:grid;place-items:center;flex-shrink:0;}
  #dmPanel .dm-send:disabled{opacity:.4;cursor:not-allowed;}
  #dmPanel .dm-gatemsg{padding:9px 14px;text-align:center;color:#ffb454;font-size:12px;
    background:rgba(255,180,84,.08);border-top:1px solid #262c38;}
  html:not(.dark) #dmPanel{background:#ffffff;border-color:#e5e7eb;box-shadow:0 20px 60px rgba(0,0,0,.18);}
  html:not(.dark) #dmPanel .dm-head{background:#f8fafc;border-bottom-color:#e5e7eb;color:#1f2733;}
  html:not(.dark) #dmPanel .dm-head b{color:#ff7a18;}
  html:not(.dark) #dmPanel .dm-x,html:not(.dark) #dmPanel .dm-back,html:not(.dark) #dmPanel .dm-headbtn,html:not(.dark) #dmPanel .dm-attach{color:#6b7280;}
  html:not(.dark) #dmPanel .dm-x:hover,html:not(.dark) #dmPanel .dm-back:hover,html:not(.dark) #dmPanel .dm-headbtn:hover,html:not(.dark) #dmPanel .dm-attach:hover{color:#1f2733;}
  html:not(.dark) #dmPanel .dm-thread{border-bottom-color:rgba(0,0,0,.07);}
  html:not(.dark) #dmPanel .dm-thread:hover{background:rgba(0,0,0,.04);}
  html:not(.dark) #dmPanel .dm-t-name{color:#1f2733;}
  html:not(.dark) #dmPanel .dm-t-last,html:not(.dark) #dmPanel .dm-empty,html:not(.dark) #dmPanel .dm-seen,html:not(.dark) #dmPanel .dm-typing{color:#6b7280;}
  html:not(.dark) #dmPanel .dm-av{background:#cbd5e1;color:#1f2733;}
  html:not(.dark) #dmPanel .dm-msg.you{background:#eef1f5;color:#1f2733;}
  html:not(.dark) #dmPanel .dm-img-cap{color:#1f2733;}
  html:not(.dark) #dmPanel .dm-inputbar{background:#ffffff;border-top-color:#e5e7eb;}
  html:not(.dark) #dmPanel .dm-inputbar input{background:#f1f5f9;border-color:#d1d5db;color:#1f2733;}
  html:not(.dark) #dmPanel .dm-msgmenu,html:not(.dark) #dmPanel .dm-headmenu{background:#ffffff;border-color:#e5e7eb;box-shadow:0 8px 24px rgba(0,0,0,.15);}
  html:not(.dark) #dmPanel .dm-msgmenu button,html:not(.dark) #dmPanel .dm-headmenu button{color:#1f2733;}
  html:not(.dark) #dmPanel .dm-msgmenu button:hover,html:not(.dark) #dmPanel .dm-headmenu button:hover{background:rgba(0,0,0,.05);}
  html:not(.dark) #dmBadge{border-color:#ffffff;}
  #dmPanel .dm-qr{align-self:flex-start;display:flex;flex-wrap:wrap;gap:6px;max-width:92%;margin:-2px 0 4px;}
  #dmPanel .dm-qr-btn{appearance:none;border:1px solid rgba(255,122,24,.65);background:rgba(255,122,24,.1);color:#ffb067 !important;font-size:12.5px;font-weight:700;line-height:1.25;padding:7px 12px;border-radius:999px;cursor:pointer;text-decoration:none;text-align:left;transition:background .15s,transform .1s;}
  #dmPanel .dm-qr-btn:hover{background:rgba(255,122,24,.22);}
  #dmPanel .dm-qr-btn:active{transform:scale(.97);}
  #dmPanel .dm-qr-btn.link{border-color:rgba(56,189,248,.6);background:rgba(56,189,248,.1);color:#7dd3fc !important;}
