:root{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#252d35;background:#e9eef1;font-synthesis:none}*{box-sizing:border-box}body{margin:0}button,input,textarea{font:inherit}button{cursor:pointer;border:0;background:none;color:inherit}button:focus-visible,input:focus-visible{outline:3px solid #8bd4f3;outline-offset:2px}.shell{height:100vh;display:grid;grid-template-columns:72px 350px minmax(360px,1fr) 310px;background:#fff}.rail{background:#f2f7fa;border-right:1px solid #e1e9ee;display:flex;align-items:center;flex-direction:column;padding:22px 0;gap:12px}.logo {
  position:relative;
  width:42px;
  height:42px;
  flex-shrink:0;
  border-radius:15px;
  background:linear-gradient(150deg,#227ead,#176088);
  font-size:42px;
  margin-bottom:28px;
  box-shadow:0 5px 12px #17608836;
}
.railbtn[data-action="calls"] {
  display:grid;
  place-items:center;
}
.phone-icon {
  display:block;
  width:24px;
  height:24px;
  background:currentColor;
  clip-path:path('M6.6 10.8a14.3 14.3 0 0 0 6.6 6.6l2.2-2.2a1 1 0 0 1 1-.24 11.5 11.5 0 0 0 3.6.57 1 1 0 0 1 1 1V20a1 1 0 0 1-1 1C10.6 21 3 13.4 3 4a1 1 0 0 1 1-1h3.5a1 1 0 0 1 1 1 11.5 11.5 0 0 0 .57 3.6 1 1 0 0 1-.24 1z');
}.railbtn{width:46px;height:46px;border-radius:15px;color:#8b9aa6;font-size:21px;position:relative}.railbtn.active{background:#d8effb;color:#229fd8}.railbtn:hover{background:#e3edf2}.railbottom{margin-top:auto}.sidebar{border-right:1px solid #e8eef1;min-width:0;display:flex;flex-direction:column}.sidehead{padding:27px 22px 15px}.brandline{display:flex;align-items:center;justify-content:space-between}.brandline h1{font-size:23px;letter-spacing:-.7px;margin:0}.iconbtn{color:#91a2ae;font-size:21px;width:36px;height:36px;border-radius:10px}.iconbtn:hover{background:#f0f6f9;color:#219fd8}.search {
  display:flex;
  align-items:center;
  gap:10px;
  min-height:42px;
  margin-top:19px;
  padding:7px 11px;
  border:1px solid transparent;
  border-radius:12px;
  background:#f3f6f8;
  color:#5c7180;
}
.search:focus-within {
  border-color:#73bddd;
  background:#fff;
}
.search input {
  flex:1 1 0;
  width:0;
  min-width:0;
  padding:0;
  border:0;
  outline:0;
  background:transparent;
  font-size:13px;
  line-height:20px;
}
.search-icon {
  position:relative;
  flex:0 0 18px;
  height:18px;
}
.search-icon::before,.search-icon::after {
  content:'';
  position:absolute;
}
.search-icon::before {
  top:1px;
  left:1px;
  width:12px;
  height:12px;
  border:1.5px solid currentColor;
  border-radius:50%;
}
.search-icon::after {
  top:11px;
  left:11px;
  width:6px;
  height:1.5px;
  border-radius:1px;
  background:currentColor;
  transform:rotate(45deg);
  transform-origin:left center;
}
.search-shortcut {
  display:inline-flex;
  flex:none;
  align-items:center;
  gap:5px;
  padding:2px 6px;
  border:1px solid #dbe5eb;
  border-radius:6px;
  background:#fff;
  font-family:inherit;
  font-size:12px;
  font-weight:600;
  line-height:16px;
  white-space:nowrap;
}.tabs{display:flex;gap:20px;padding:0 22px;border-bottom:1px solid #f0f3f5;overflow:auto}.tab{padding:14px 0;color:#9caab4;font-size:13px;white-space:nowrap;position:relative}.tab.active{color:#299ed4;font-weight:650}.tab.active:after{content:"";position:absolute;bottom:0;left:0;right:0;height:2px;background:#34a9df}.list{overflow:auto;padding:8px}.chatitem{display:flex;gap:12px;align-items:center;width:100%;text-align:left;border-radius:12px;padding:10px}.chatitem:hover{background:#f5f9fb}.chatitem.selected{background:#e9f6fc}.avatar{flex-shrink:0;width:48px;height:48px;border-radius:50%;display:grid;place-items:center;color:white;font-weight:700;font-size:16px;position:relative}.avatar.big{width:76px;height:76px;font-size:25px}.dot{position:absolute;right:1px;bottom:1px;width:12px;height:12px;background:#55c993;border:2px solid white;border-radius:50%}.chatcontent{min-width:0;flex:1}.chatrow{display:flex;align-items:center;justify-content:space-between;gap:6px}.chatname{font-size:14px;font-weight:650;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.time{font-size:11px;color:#a8b6bf;white-space:nowrap}.preview{font-size:12px;color:#9baab4;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:6px}.badge{background:#36a9df;color:white;font-size:10px;padding:3px 6px;border-radius:20px}.main{min-width:0;display:flex;flex-direction:column;background:#e9f3f6}.chathead{height:76px;background:white;display:flex;align-items:center;padding:0 25px;gap:12px;border-bottom:1px solid #edf2f4}.chathead .avatar{width:42px;height:42px}.headtext{flex:1}.headtitle{font-weight:700;font-size:14px}.status{font-size:12px;color:#58b7d8;margin-top:5px}.headbuttons{display:flex;gap:8px}.conversation{flex:1;overflow:auto;padding:30px 8%;background-color:#eaf4f6;background-image:radial-gradient(#bcd5db 0.8px,transparent 0.8px);background-size:22px 22px}.date{text-align:center;margin:4px auto 25px}.date span{font-size:11px;background:#c6dce1;color:white;padding:6px 12px;border-radius:20px}.message{display:flex;gap:9px;margin:13px 0;align-items:end}.message.out{justify-content:flex-end}.message .avatar{width:32px;height:32px;font-size:10px}.bubble{max-width:min(76%,480px);background:white;padding:11px 14px 8px;border-radius:14px 14px 14px 4px;box-shadow:0 2px 3px #7896a10d;font-size:13px;line-height:1.55;white-space:pre-wrap;overflow-wrap:anywhere}.out .bubble{background:#d8f3fc;border-radius:14px 14px 4px 14px}.sender{font-weight:700;color:#42a5cf;margin-bottom:4px}.msgtime{font-size:10px;color:#a8b8bd;text-align:right;margin:3px 0 0 15px}.composewrap{padding:16px 8% 23px;background:#eaf4f6}.compose{display:flex;align-items:flex-end;gap:8px;background:white;border-radius:15px;padding:7px 9px;box-shadow:0 4px 16px #6c98a114}.compose .iconbtn,.compose .send {
  flex:none;
}
.compose textarea {
  flex:1;
  min-width:0;
  min-height:39px;
  max-height:130px;
  padding:9px 6px;
  border:0;
  border-radius:8px;
  background:transparent;
  color:inherit;
  font:inherit;
  font-size:14px;
  line-height:21px;
  resize:none;
}
.compose textarea:focus {
  outline:2px solid #93cfeb;
  outline-offset:-2px;
}
.draft-label {
  color:#a63d49;
  font-weight:600;
}
@media(pointer:coarse) {
  .compose textarea {
    font-size:16px;
  }
}
.send{background:#36a9df;color:white;width:39px;height:39px;border-radius:12px;font-size:19px}.details{background:#fff;border-left:1px solid #eaf0f3;overflow:auto}.detailtop{height:76px;display:flex;align-items:center;justify-content:space-between;padding:0 22px;border-bottom:1px solid #eef3f5;font-size:13px;font-weight:650}.profile{text-align:center;padding:27px 20px 21px}.profile .avatar{margin:auto}.profile h2{font-size:16px;margin:14px 0 4px}.muted{color:#9baab4;font-size:12px;line-height:1.5}.profileactions{display:flex;justify-content:center;gap:19px;margin-top:21px}.action{display:flex;flex-direction:column;align-items:center;gap:7px;color:#91a2ad;font-size:11px}.action i{font-style:normal;display:grid;place-items:center;background:#eff8fc;color:#35a9df;width:39px;height:39px;border-radius:13px;font-size:17px}.section{border-top:1px solid #f0f3f5;padding:20px 22px}.section h3{font-size:12px;margin:0 0 15px}.line{display:flex;justify-content:space-between;gap:8px;font-size:12px;margin:12px 0;color:#879aa5}.line strong{font-weight:500;color:#43545e}.media{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}.tile{height:70px;border-radius:9px;background:linear-gradient(145deg,#a9d5dd,#5b9aa5);display:grid;place-items:center;font-size:24px}.tile:nth-child(2){background:linear-gradient(145deg,#f5cfac,#ce8f78)}.tile:nth-child(3){background:linear-gradient(145deg,#adbfdf,#7792b8)}.mapview{flex:1;display:flex;align-items:center;justify-content:center;padding:35px;background:#eaf4f6}.mapcard{width:min(650px,100%);background:white;border-radius:22px;padding:28px;box-shadow:0 12px 40px #7896a12b}.map{height:300px;border-radius:16px;margin:20px 0;background-color:#dbeadf;background-image:linear-gradient(27deg,transparent 47%,#fff9 48%,#fff9 51%,transparent 52%),linear-gradient(115deg,transparent 46%,#fff 47%,#fff 50%,transparent 51%);background-size:150px 130px;display:grid;place-items:center}.mapmarker{background:#35a9df;color:white;border:5px solid white;box-shadow:0 5px 15px #6394a2a0;border-radius:50%;width:60px;height:60px;display:grid;place-items:center;font-size:24px}.primary{background:#35a9df;color:white;padding:11px 17px;border-radius:10px}.empty{padding:25px;color:#9baab4;font-size:13px;text-align:center}.modalback{position:fixed;inset:0;background:#1a374d77;display:grid;place-items:center;padding:20px}.modal{background:white;border-radius:20px;padding:25px;width:min(390px,100%);box-shadow:0 20px 70px #19364a44}.modal h2{font-size:19px;margin:0 0 8px}.modal input{width:100%;border:1px solid #dce8ed;border-radius:10px;padding:12px;margin:16px 0}.modalactions{display:flex;justify-content:flex-end;gap:10px}.toast{position:fixed;bottom:22px;left:50%;transform:translateX(-50%);background:#304c5b;color:white;border-radius:10px;padding:12px 18px;font-size:13px;z-index:5}.mobileback{display:none}@media(max-width:1150px){.shell{grid-template-columns:65px 320px minmax(300px,1fr)}.details{display:none}}@media(max-width:700px){.shell{grid-template-columns:58px 1fr}.main{display:none}.shell.showchat{grid-template-columns:1fr}.shell.showchat .rail,.shell.showchat .sidebar{display:none}.shell.showchat .main{display:flex}.mobileback{display:block}.conversation{padding:22px 5%}.composewrap{padding:12px 4%}.sidehead{padding-top:22px}}
.authscreen{min-height:100vh;display:grid;place-items:center;background:#eaf4f6;background-image:radial-gradient(#bcd5db 0.8px,transparent 0.8px);background-size:22px 22px;padding:20px}.authcard{width:min(420px,100%);padding:40px;background:#fff;border-radius:24px;box-shadow:0 18px 60px #5b85962b;text-align:center}.authcard .logo{margin:0 auto 16px;width:52px;height:52px;font-size:52px}.authcard h1{font-size:28px;margin:0}.authcard>p{font-size:13px;color:#94a7b2;margin:8px 0 25px}.authtabs,.typeselect{display:flex;gap:5px;background:#f3f7f9;padding:4px;border-radius:11px;margin:14px 0 20px}.authtabs button,.typeselect button{flex:1;padding:10px 5px;font-size:12px;border-radius:8px;color:#8296a1}.authtabs .on,.typeselect .on{background:#fff;color:#269dd4;box-shadow:0 1px 5px #51717e1a;font-weight:650}.authcard label{display:block;text-align:left;font-size:12px;font-weight:600;margin:15px 0;color:#536a75}.authcard input{display:block;width:100%;border:1px solid #dfe9ee;border-radius:10px;padding:12px;margin-top:7px;outline-color:#45aee0}.authsubmit{width:100%;margin-top:8px}.autherror{font-size:12px;color:#ce625d;min-height:18px}.authfoot{font-size:11px;color:#b1bec5;margin-top:20px}.accountline{padding:18px 22px;border-top:1px solid #edf2f4;font-size:12px;font-weight:600}.accountline span{color:#a5b4bd;font-weight:400;margin-left:5px}.welcome{flex:1;display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center;color:#6e8995}.welcomeicon{font-size:45px;color:#8dbdcc}.welcome h2{font-size:20px;margin:14px 0 4px;color:#486672}.welcome p{font-size:13px;margin-bottom:22px}.channelnotice{text-align:center;color:#7c98a4;font-size:12px;padding:12px}.memberline{display:flex;align-items:center;gap:10px;margin:13px 0;font-size:12px}.memberline .avatar{width:34px;height:34px;font-size:10px}.result{display:block;width:100%;padding:10px;text-align:left;border-radius:8px;font-size:12px}.result:hover{background:#edf8fc}.result span{color:#9baab4}.chosen{display:inline-block;background:#e6f5fc;border-radius:20px;padding:6px 10px;font-size:12px;color:#299dce;margin:3px}.chosen button{color:#299dce}.modal input{margin:8px 0}.modalactions{margin-top:15px}.typeselect{margin-bottom:8px}
.attachment{color:#2599ce;font-weight:600;text-decoration:none;display:inline-block;padding:5px 0;overflow-wrap:anywhere}.attachment:hover{text-decoration:underline}.addmember{font-size:11px;color:#2ca3d9;margin-top:-15px}.remove-member{margin-left:auto;color:#b5c4cb;font-size:20px}.remove-member:hover{color:#d66d6d}
#callpanel{position:fixed;inset:0;z-index:10;background:#173344ad;display:grid;place-items:center;padding:20px}.callcard{width:min(510px,100%);background:#fff;border-radius:22px;box-shadow:0 25px 80px #102d4077;padding:24px}.callheading{display:flex;justify-content:space-between;align-items:center}.callheading h2{margin:5px 0;font-size:20px}.callheading p,.callcaption{font-size:12px;color:#91a7b2}.callpulse{width:52px;height:52px;border-radius:18px;background:#e2f5fc;color:#35a9df;display:grid;place-items:center;font-size:25px}.videobox{position:relative;background:#1f3541;border-radius:14px;overflow:hidden;height:260px;margin-top:18px}.videobox video:first-child{width:100%;height:100%;object-fit:cover}.videobox video:nth-child(2){position:absolute;width:110px;height:80px;right:10px;bottom:10px;object-fit:cover;border-radius:9px;background:#385664}.videobox.audioonly{display:none}.callactions{display:flex;justify-content:center;gap:8px;flex-wrap:wrap;margin-top:24px}.callactions button{border-radius:11px;padding:11px 15px;font-size:12px;font-weight:600}.callcontrol{background:#edf4f7;color:#66818e}.endcall{background:#e76e73;color:white}.acceptcall{background:#55bd8c;color:white}
.mapview{overflow:auto;align-items:flex-start}.nearbycard{max-width:680px;margin:auto;padding:32px}.nearbyhead{display:flex;justify-content:space-between;gap:20px}.nearbyhead h2{font-size:24px;letter-spacing:-.5px;margin:8px 0}.eyebrow{font-size:10px;letter-spacing:1.3px;color:#35a9df;font-weight:750}.nearbyicon{flex-shrink:0;width:76px;height:76px;border-radius:25px;display:grid;place-items:center;background:#e7f6fc;color:#35a9df;font-size:42px}.privacycard{display:flex;gap:15px;align-items:flex-start;background:#f3f9fb;padding:20px;border-radius:15px;margin:26px 0}.privacy-symbol{font-size:26px;color:#38a7d7}.privacycard strong,.visibility strong,.nearbytoolbar strong,.nearby-person strong{font-size:13px}.privacycard p{font-size:12px;line-height:1.6;color:#8299a5;margin:6px 0 0}.duration,.nearbytoolbar label{display:flex;align-items:center;gap:12px;color:#8197a2;font-size:12px}.duration select,.nearbytoolbar select{border:1px solid #e0eaf0;border-radius:9px;background:white;padding:9px;color:#435b67}.locationbutton{margin-top:20px}.privacyhint{max-width:490px;margin-top:16px}.visibility{display:flex;align-items:center;gap:12px;background:#effaf5;border-radius:14px;padding:15px;margin:24px 0}.visibilitydot{width:10px;height:10px;border-radius:50%;background:#5bc995}.visibility button{margin-left:auto;font-size:12px;color:#369f75}.nearbytoolbar{display:flex;justify-content:space-between;align-items:center;margin:25px 0 10px}.nearby-person{display:flex;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid #eef3f5}.nearby-person-name{flex:1}.nearby-message{font-size:12px;color:#299ed4;background:#edf8fc;padding:9px 12px;border-radius:9px}.nearbyempty{text-align:center;padding:32px 10px;color:#91a7b1;font-size:12px}.nearbyempty div{font-size:36px;color:#acd3e2}.nearbyempty strong{color:#607d8a;font-size:13px}.refreshlocation{font-size:12px;color:#35a4d6;margin-top:20px}
.msgactions{display:flex;justify-content:flex-end;gap:8px;margin-top:2px}.msgactions button{color:#9cb0ba;font-size:10px;padding:1px}.msgactions button:hover{color:#299ed4}.replyquote{display:flex;flex-direction:column;gap:2px;border-left:2px solid #42a9d7;background:#edf8fc;border-radius:4px;padding:5px 8px;margin-bottom:7px;font-size:11px;max-width:min(300px,100%);min-height:34px;text-align:left}.replyquote strong{color:#1e719a}.replyquote:hover,.replyquote:focus-visible{background:#e1f2fb}.replyquote span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.replybar{display:flex;justify-content:space-between;padding:9px 14px;background:#f8fdff;color:#419bc2;font-size:12px;border-radius:10px 10px 0 0}.replybar button{font-size:18px;color:#91aab4}
.mapconsent{display:flex;gap:9px;align-items:flex-start;font-size:12px;color:#617d89;line-height:1.5;margin:16px 0}.mapframe{height:320px;position:relative;overflow:hidden;border-radius:15px;margin:24px 0 8px;background-color:#e1edf0;background-image:linear-gradient(#cbdde166 1px,transparent 1px),linear-gradient(90deg,#cbdde166 1px,transparent 1px);background-size:32px 32px}.maptiles{position:absolute;inset:0}.maptiles img{position:absolute}.map-center,.map-pin{position:absolute;transform:translate(-50%,-50%);border:3px solid white;border-radius:50%;display:grid;place-items:center;box-shadow:0 2px 8px #536c7d66}.map-center{left:50%;top:50%;width:20px;height:20px;background:#35a9df;color:#35a9df}.map-pin{width:36px;height:36px;background:#d88f7f;color:white;font-size:11px;font-weight:700}.map-label{position:absolute;bottom:8px;left:10px;background:#ffffffde;padding:5px 8px;border-radius:7px;font-size:10px;color:#607d8a}
.chatsearchpanel{background:#fff;padding:12px 25px;border-bottom:1px solid #e8f0f4}.chatsearchhead{display:flex;gap:8px;align-items:center}.chatsearchhead input{flex:1;border:1px solid #e1ebef;border-radius:9px;padding:9px 12px;outline-color:#35a9df;font-size:13px}.chatsearchhead button{color:#91a2ae;font-size:22px}.chatsearchresults{max-height:180px;overflow:auto;padding-top:8px}
.older{text-align:center;margin-bottom:18px}.older button{font-size:11px;color:#398caf;background:#fff;border-radius:18px;padding:7px 12px;box-shadow:0 2px 6px #7896a122}
.mapframe{background:#d7ebef}.mapframe svg,.mapoverlay{position:absolute;inset:0;width:100%;height:100%}.mapframe svg path{fill:#e8e9dd;stroke:#b7cfc9;stroke-width:.8;fill-rule:evenodd}.mapoverlay{pointer-events:none}.mapoverlay img{position:absolute;width:256px;height:256px}.mapoverlay .map-pin{pointer-events:auto}.map-controls{position:absolute;right:10px;top:10px;display:flex;flex-direction:column;background:white;border-radius:10px;box-shadow:0 2px 8px #536c7d33;overflow:hidden}.map-controls button{width:38px;height:38px;font-size:22px;color:#557784}.map-controls button+button{border-top:1px solid #eaf1f3}.refreshlocation+.refreshlocation{margin-left:18px}@media(max-width:700px){.mapview{padding:14px}.nearbycard{padding:20px}.nearbyhead h2{font-size:20px}.nearbyicon{width:54px;height:54px;font-size:30px;border-radius:17px}.mapframe{height:300px}.nearby-person{flex-wrap:wrap}.nearby-person-name{min-width:130px}}
.callhistory{max-width:650px;margin:auto}.callhistory h2{font-size:22px;margin:0 0 6px}.callhistory-row{display:flex;align-items:center;gap:13px;text-align:left;width:100%;border-bottom:1px solid #edf3f5;padding:15px 0}.callhistory-row:hover{background:#f7fbfd}.callhistory-row strong{font-size:13px}.callhistory-row time{margin-left:auto;color:#9aadb7;font-size:11px;white-space:nowrap}
.reactions{display:flex;flex-wrap:wrap;gap:4px;margin-top:7px}.reaction{border:1px solid transparent;border-radius:12px;padding:3px 7px;background:#edf6fa;font-size:11px}.reaction.mine{border-color:#82cde9;background:#e0f5fd}.reactionpicker{display:flex;flex-wrap:wrap;gap:3px;margin-top:7px;padding:5px;background:#f4f9fb;border-radius:10px}.reactionpicker button{font-size:17px;padding:3px;border-radius:7px}.reactionpicker button:hover{background:#dceff7}
.profilebutton{padding:0;border-radius:50%}.profilebutton:focus-visible{outline:3px solid #8bd4f3;outline-offset:2px}.profilelabel{display:block;color:#536a75;font-size:12px;font-weight:600;margin-top:16px}.profilelabel input{display:block;margin:8px 0 0}.profileusername{display:flex;justify-content:space-between;align-items:center;color:#91a2ad;font-size:12px;padding:15px 0}.profileusername strong{color:#4c6876;font-weight:500}
.pinmark{color:#68a8c6;font-size:10px;margin-right:3px}
.mutemark{font-size:12px;color:#a6b6bf;font-weight:400}

.pinned-message{display:flex;align-items:center;gap:8px;flex-shrink:0;padding:7px 16px;border-bottom:1px solid #e4eff5;background:#fff}
.pinned-message-open{display:grid;gap:3px;min-width:0;flex:1;border-left:3px solid #35a9df;padding:4px 9px;text-align:left}
.pinned-message-open strong{color:#1e719a;font-size:12px}
.pinned-message-open span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px}
.pinned-message-dialog{border:0;max-height:80dvh;overflow:auto;color:inherit}
.pinned-message-dialog::backdrop{background:#172f4355}
.pinned-message-text{white-space:pre-wrap;overflow-wrap:anywhere}
.message:focus .bubble{outline:2px solid #35a9df;outline-offset:2px}
.msgactions{flex-wrap:wrap}

.chathead {
  flex-shrink:0;
  min-width:0;
}
.chathead .headtext {
  min-width:0;
}
.chathead .headtitle,.chathead .status {
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.headbuttons {
  flex:none;
  align-items:center;
  gap:4px;
}
.headbuttons .iconbtn,.chat-info-top .iconbtn {
  display:grid;
  place-items:center;
  padding:0;
  color:#587587;
}
.headbuttons .phone-icon {
  transform:scale(.8);
}
.headbuttons .search-icon {
  width:18px;
}
.video-icon {
  display:block;
  width:21px;
  height:16px;
  background:currentColor;
  clip-path:polygon(6% 14%,64% 14%,64% 36%,99% 17%,99% 83%,64% 64%,64% 86%,6% 86%,0 77%,0 23%);
}
.chat-options {
  position:relative;
}
.chat-options summary {
  cursor:pointer;
  list-style:none;
}
.chat-options summary::-webkit-details-marker {
  display:none;
}
.chat-options[open] summary {
  background:#eaf5fb;
  color:#1a729c;
}
.more-icon {
  width:3px;
  height:3px;
  border-radius:50%;
  background:currentColor;
  box-shadow:0 -5px currentColor,0 5px currentColor;
}
.chat-options-list {
  position:absolute;
  z-index:3;
  top:calc(100% + 12px);
  right:0;
  width:min(240px,calc(100vw - 24px));
  padding:5px;
  border:1px solid #ddeaf1;
  border-radius:12px;
  background:#fff;
  box-shadow:0 9px 24px #29495b23;
}
.chat-options-list button {
  display:block;
  width:100%;
  min-height:40px;
  padding:8px 11px;
  border-radius:7px;
  font-size:13px;
  text-align:left;
}
.chat-options-list button:hover,.chat-options-list button:focus-visible {
  background:#eaf5fb;
}
.chat-info-dialog {
  max-width:calc(100vw - 28px);
  max-height:calc(100dvh - 28px);
  overflow:auto;
  padding:0;
  border:0;
  color:inherit;
}
.chat-info-dialog::backdrop {
  background:#172f4355;
}
.chat-info-top {
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:9px 12px 9px 20px;
  border-bottom:1px solid #eaf0f3;
}
.chat-info-top h2 {
  margin:0;
  font-size:15px;
}
.chat-members .chatrow h3,.chat-members .addmember {
  margin:0;
}
.chat-members .addmember {
  min-height:34px;
  color:#1e719a;
}
.chat-members .memberline {
  min-width:0;
}
.chat-members .memberline > div:nth-child(2) {
  min-width:0;
  overflow-wrap:anywhere;
}
@media(max-width:700px) {
  .chathead {
    height:62px;
    gap:8px;
    padding:0 10px;
  }
  .chathead .avatar {
    width:34px;
    height:34px;
  }
  .headbuttons {
    gap:0;
  }
  .headbuttons .iconbtn {
    width:36px;
    height:40px;
  }
}

.searchresult {
  display:block;
  width:100%;
  border-radius:8px;
  padding:9px 10px;
  border-bottom:1px solid #edf2f4;
  font-size:12px;
  text-align:left;
}
.searchresult:hover,.searchresult:focus-visible {
  background:#eef7fb;
}
.searchresult .searchresult-meta {
  display:flex;
  align-items:baseline;
  justify-content:space-between;
  gap:8px;
}
.searchresult-meta strong {
  color:#1e719a;
}
.searchresult-meta time {
  flex:none;
  color:#607787;
  font-size:11px;
}
.searchresult .searchresult-text {
  display:-webkit-box;
  margin-top:4px;
  overflow:hidden;
  color:#2d3f4a;
  line-height:1.45;
  overflow-wrap:anywhere;
  white-space:pre-wrap;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2;
}
.history-context {
  display:flex;
  flex-shrink:0;
  flex-wrap:wrap;
  gap:4px 12px;
  align-items:center;
  justify-content:space-between;
  padding:4px 14px;
  background:#f4f9fc;
  border-bottom:1px solid #deebf3;
  color:#587587;
  font-size:12px;
}
.history-context button {
  min-height:36px;
  padding:2px 5px;
  color:#1e719a;
  font-weight:600;
}

.chat-files-dialog {
  width:min(460px, calc(100vw - 28px));
}
.chat-files-dialog[open] {
  display:flex;
  flex-direction:column;
}
.chat-files-dialog .chat-info-top {
  flex:none;
}
.chat-files-search {
  display:flex;
  align-items:center;
  gap:8px;
  margin:12px 16px 4px;
  padding:8px 10px;
  border:1px solid #deebf3;
  border-radius:9px;
  background:#f6fafc;
  color:#546e7e;
}
.chat-files-search:focus-within {
  border-color:#73bddd;
}
.chat-files-search input {
  flex:1;
  min-width:0;
  width:auto;
  margin:0;
  padding:2px 0;
  border:0;
  outline:0;
  background:transparent;
  font-size:14px;
}
.chat-files-content {
  min-height:0;
  overflow:auto;
  padding:0 16px 12px;
}
.chat-files-list {
  margin:0;
  padding:0;
  list-style:none;
}
.chat-files-list a {
  display:flex;
  align-items:center;
  gap:10px;
  min-height:52px;
  padding:7px 4px;
  border-bottom:1px solid #edf3f6;
  color:#254656;
  text-decoration:none;
}
.chat-files-list a:hover,.chat-files-list a:focus-visible {
  background:#f0f8fc;
}
.chat-file-icon {
  display:grid;
  flex:none;
  place-items:center;
  width:34px;
  height:34px;
  border-radius:9px;
  background:#eaf5fb;
  color:#1e719a;
  font-size:20px;
}
.chat-file-description {
  display:grid;
  gap:3px;
  min-width:0;
}
.chat-file-description strong,.chat-file-description small {
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.chat-file-description strong {
  font-size:13px;
}
.chat-file-description small {
  color:#5b7381;
  font-size:11px;
}
.chat-files-status:empty {
  display:none;
}
.chat-files-more {
  min-height:40px;
  margin-top:8px;
  padding:4px 8px;
  color:#1e719a;
  font-size:13px;
}

.chat-files-list li {
  display:flex;
  align-items:center;
  gap:6px;
  border-bottom:1px solid #edf3f6;
}
.chat-files-list a {
  flex:1;
  min-width:0;
  border-bottom:0;
}
.chat-file-jump {
  flex:none;
  min-height:40px;
  padding:4px 6px;
  border-radius:7px;
  color:#1e719a;
  font-size:12px;
  white-space:nowrap;
}
.chat-file-jump:hover,.chat-file-jump:focus-visible {
  background:#eaf5fb;
}

.railbtn[data-action="chats"],
.railbtn[data-action="map"],
.railbtn[data-action="notifications"] {
  display:grid;
  place-items:center;
  padding:0;
  color:#5c7180;
}
.railbtn[data-action="chats"].active,
.railbtn[data-action="map"].active,
.railbtn[data-action="notifications"].active {
  color:#1675a5;
}
.rail-icon {
  display:block;
  width:22px;
  height:22px;
}
.nearbyicon .rail-icon {
  width:52%;
  height:52%;
}

.sidebar-actions { display:flex; flex:none; }
.avatar-photo { width:100%; height:100%; object-fit:cover; border-radius:inherit; }
.forwarded-label { display:block; margin-bottom:3px; color:#327399; font-size:11px; }
.forward-content { padding:12px 16px 16px; }
.forward-content input { margin:0 0 10px; }
.forward-list { max-height:48dvh; overflow:auto; }
.forward-target { display:flex; align-items:center; width:100%; gap:10px; min-height:52px; padding:5px; border-radius:9px; text-align:left; }
.forward-target:hover,.forward-target:focus-visible { background:#eaf5fb; }
.forward-target > span:last-child { min-width:0; overflow-wrap:anywhere; }
.forward-target .avatar { width:36px; height:36px; font-size:13px; }
.forward-target .forward-saved { background:#d9eff9; color:#176a95; font-size:20px; }
.forward-error { color:#a23746; font-size:13px; }
.forward-error:empty { display:none; }
.member-profile { padding:0; text-align:left; }
.member-profile:hover strong,.member-profile:focus-visible strong { color:#1e719a; text-decoration:underline; }
.member-profile .muted { display:block; }

.room-dialog {
  width:min(700px,calc(100vw - 20px));
  max-height:calc(100dvh - 20px);
  overflow:auto;
  background:#142f42;
  color:#edf7fd;
  border:1px solid #264a60;
  border-radius:18px;
  padding:16px;
}
.room-dialog::backdrop { background:#0a2338a3; }
.room-dialog header,.room-dialog footer {
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:8px;
}
.room-dialog header h2 { margin:4px 0 0; overflow-wrap:anywhere; font-size:22px; }
.room-dialog header small,.room-status { color:#b7d6e7; font-size:13px; }
.room-media-status { margin:0 0 8px; color:#ffd9b1; font-size:13px; }
.room-media-status:empty { display:none; }
.room-dialog header .iconbtn { color:#edf7fd; flex:none; }
.room-dialog header .iconbtn:hover { background:#264a60; }
.room-dialog footer { justify-content:flex-start; flex-wrap:wrap; }
.room-dialog footer button { padding:9px 11px; border-radius:8px; background:#245774; font-size:13px; }
.room-dialog footer [aria-pressed="true"] { background:#286f92; }
.room-dialog footer [data-room="leave"] { background:#a43951; }
.room-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(172px,100%),1fr)); gap:8px; margin:10px 0; }
.room-tile {
  position:relative;
  display:grid;
  place-items:center;
  overflow:hidden;
  min-height:125px;
  aspect-ratio:4/3;
  background:#1d455e;
  border-radius:12px;
}
.room-tile video { position:absolute; width:100%; height:100%; object-fit:contain; opacity:0; }
.room-tile.has-video video { opacity:1; }
.room-tile.has-video .room-initial { visibility:hidden; }
.room-tile.room-presenter { order:-1; grid-column:1/-1; aspect-ratio:16/9; max-height:48dvh; background:#0a2233; }
.room-dialog footer button:disabled { opacity:.55; cursor:default; }
.room-presentation-tools:not([hidden]) {
  position:absolute;
  top:8px;
  right:8px;
  left:8px;
  display:flex;
  align-items:start;
  justify-content:space-between;
  flex-wrap:wrap;
  gap:5px;
  pointer-events:none;
  font-size:12px;
}
.room-presentation-tools > * {
  padding:5px 8px;
  border-radius:6px;
  background:#102b3eea;
  color:#edf7fd;
}
.room-presentation-tools button { pointer-events:auto; }
.room-presentation-tools [data-room=exit-fullscreen],
.room-presenter:fullscreen [data-room=fullscreen] { display:none; }
.room-presenter:fullscreen { width:100%; height:100%; max-height:none; border-radius:0; }
.room-presenter:fullscreen [data-room=exit-fullscreen] { display:block; }
.room-initial { display:grid; place-items:center; width:50px; height:50px; border-radius:50%; background:#2d6581; font-weight:700; }
.room-tile > span {
  position:absolute;
  left:8px;
  right:8px;
  bottom:8px;
  padding:3px 6px;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  background:#102b3ed7;
  border-radius:5px;
  font-size:12px;
}
.room-peer-failed::after { content:'Связь потеряна'; position:absolute; top:5px; left:6px; font-size:11px; color:#ffb8b8; }
@media(max-width:480px) {
  .room-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .room-tile { min-height:93px; }
  .room-dialog { padding:12px; }
}

.invite-content { padding:12px 16px 16px; }
.invite-form { display:flex; flex-wrap:wrap; gap:10px; align-items:end; }
.invite-form label,.invite-result label { display:grid; gap:4px; color:#526e7e; font-size:12px; }
.invite-form select { padding:7px 8px; border:1px solid #d9e8ef; border-radius:8px; background:white; color:#193d52; }
.invite-form .primary { font-size:12px; }
.invite-result:not([hidden]) { display:flex; align-items:end; gap:6px; margin-top:12px; }
.invite-result label { flex:1; min-width:0; }
.invite-result input { margin:0; padding:7px; }
.invite-result button,.invite-row button { color:#1e719a; font-size:12px; min-height:35px; }
.invite-list { margin-top:10px; }
.invite-row { display:flex; justify-content:space-between; align-items:center; gap:5px; padding:8px 0; border-bottom:1px solid #edf3f6; font-size:13px; }
.invite-row small { display:block; margin-top:3px; color:#526e7e; }
.invite-name { margin:2px 0; font-size:17px; font-weight:600; overflow-wrap:anywhere; }
.invite-error { color:#a23746; font-size:13px; }
.invite-error:empty { display:none; }
.room-list-indicator {
  display:inline-flex;
  align-items:center;
  gap:3px;
  flex:none;
  border-radius:6px;
  padding:3px 5px;
  background:#d9f3ef;
  color:#185c50;
  font-size:11px;
}
.room-list-indicator .video-icon { width:13px; height:10px; }
.headbuttons .active-room { background:#d9f3ef; color:#185c50; }

.member-role { display:block; color:#526e7e; font-size:10px; margin-top:2px; }
.member-rights { color:#1e719a; font-size:12px; min-height:34px; padding:4px; margin-left:auto; }
.member-rights + .remove-member { margin-left:0; }
.rights-form { display:grid; gap:8px; padding:12px 18px 18px; }
.rights-form p { margin:2px 0; }
.rights-form label { display:flex; align-items:center; gap:7px; font-size:13px; }
.rights-form label input { width:auto; margin:0; }
.rights-note { color:#526e7e; font-size:12px; }
.rights-error { color:#a23746; font-size:13px; }
.rights-error:empty { display:none; }
.rights-form button { justify-self:end; }
.member-ban { color:#a23746; min-width:28px; min-height:34px; padding:4px; }
.member-ban:hover { background:#fff0f2; border-radius:8px; }
.chat-bans { padding:4px 16px 12px; }
.chat-bans [role="status"] { color:#526e7e; font-size:13px; }
.chat-bans [role="status"]:empty { display:none; }

.chat-poll { white-space:normal; min-width:min(176px,100%); }
.poll-question { margin:0 0 4px; font-weight:650; white-space:pre-wrap; }
.poll-note { margin:3px 0 8px; font-size:11px; color:#546d7b; }
.poll-options { display:grid; gap:4px; }
.poll-options button { position:relative; isolation:isolate; overflow:hidden; display:flex; align-items:center; justify-content:space-between; min-height:32px; padding:4px 7px; gap:6px; text-align:left; border:1px solid #c6e3f0; border-radius:7px; }
.poll-options button small { white-space:nowrap; color:#185b7a; }
.poll-meter { position:absolute; z-index:-1; inset:0 auto 0 0; background:#d5edf9; }
.poll-options button[aria-pressed=true] { border-color:#51a8cb; }
.poll-options button:not(:disabled):hover { background:#e6f4fa; }
.poll-close,.poll-add { color:#1e719a; font-size:12px; }
.poll-close { padding:3px 0; }
.poll-form,.poll-fields { display:grid; gap:7px; }
.poll-form { padding:10px 16px 16px; max-height:calc(100dvh - 100px); overflow:auto; }
.poll-form label { display:grid; gap:4px; font-size:13px; }
.poll-form input,.poll-form textarea { margin:0; padding:7px; }
.poll-form textarea { border:1px solid #e2ecf2; border-radius:8px; font:inherit; resize:vertical; }
.poll-form .poll-multiple { display:flex; align-items:center; gap:5px; }
.poll-form .poll-multiple input { width:auto; }
.poll-form .poll-add { justify-self:start; padding:5px 0; }
.poll-form .primary { justify-self:end; }

.schedule-icon {
  display:block;
  position:relative;
  width:16px;
  height:16px;
  border:1.75px solid currentColor;
  border-radius:50%;
}
.schedule-icon::after {
  content:"";
  position:absolute;
  top:2px;
  left:6px;
  width:4px;
  height:5px;
  border-left:1.5px solid currentColor;
  border-bottom:1.5px solid currentColor;
  border-radius:0 0 0 1px;
}
.scheduled-dialog { width:min(450px,calc(100% - 24px)); }
.scheduled-body { padding:16px; overflow:auto; }
.scheduled-status,.scheduled-items { color:#556b79; font-size:13px; }
.scheduled-status { margin:0 0 12px; }
.scheduled-status:empty { display:none; }
.scheduled-items { display:grid; gap:9px; margin-bottom:12px; }
.scheduled-item {
  min-width:0;
  padding:10px 12px;
  background:#f3f8fa;
  border-radius:11px;
}
.scheduled-item p { white-space:pre-wrap; overflow-wrap:anywhere; color:#223340; margin:6px 0; }
.scheduled-meta { font-weight:600; }
.scheduled-actions { display:flex; flex-wrap:wrap; column-gap:12px; }
.scheduled-actions button { min-height:36px; color:#1e719a; text-align:left; }
.scheduled-form:not([hidden]) { display:grid; gap:10px; }
.scheduled-form label { display:grid; min-width:0; gap:4px; font-size:13px; }
.scheduled-form input,.scheduled-form textarea {
  min-width:0;
  width:100%;
  min-height:42px;
  margin:0;
  padding:8px;
  font:inherit;
  font-size:16px;
  border:1px solid #dce8ed;
  border-radius:9px;
}
.scheduled-form textarea { resize:vertical; }
.scheduled-timezone,.scheduled-reply { margin:0; color:#556b79; overflow-wrap:anywhere; }
.scheduled-form .modalactions { flex-wrap:wrap; }

.compose [data-action=voice-message] {
  display:grid;
  place-items:center;
  flex-shrink:0;
}
.compose [data-action=voice-message]:hover { color:#1e719a; }
.voice-mic { display:inline-block; width:18px; height:20px; position:relative; }
.voice-mic i {
  position:absolute;
  left:5px;
  top:0;
  width:8px;
  height:13px;
  border:1.5px solid currentColor;
  border-radius:5px;
}
.voice-mic::before {
  content:"";
  position:absolute;
  inset:5px 2px 4px;
  border:1.5px solid currentColor;
  border-top:0;
  border-radius:0 0 8px 8px;
}
.voice-mic::after {
  content:"";
  position:absolute;
  left:8px;
  bottom:0;
  width:2px;
  height:5px;
  background:currentColor;
}
.voice-dialog-body { display:grid; gap:15px; padding:16px; }
.voice-reply:not([hidden]) {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:6px;
  padding-left:9px;
  border-left:2px solid #35a9df;
  color:#304c5b;
  font-size:13px;
  overflow-wrap:anywhere;
}
.voice-reply button { flex-shrink:0; min-width:34px; min-height:32px; border-radius:8px; }
.voice-indicator {
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  align-items:center;
  gap:8px;
  padding:12px;
  border-radius:10px;
  background:#f3f8fa;
  color:#304c5b;
  font-size:13px;
}
.voice-record-dot { width:8px; height:8px; border-radius:50%; background:#93a6b1; }
.voice-dialog.recording .voice-record-dot { background:#bb4351; box-shadow:0 0 0 3px #bb435124; }
.voice-clock,.voice-message time { font-variant-numeric:tabular-nums; }
.voice-audio audio,.voice-audio[hidden] { display:none; }
.voice-dialog .modalactions { flex-wrap:wrap; align-items:center; }
.voice-dialog [data-voice-restart] { color:#1e719a; min-height:40px; }
.voice-message { width:min(245px,100%); min-width:min(184px,100%); }
.voice-message-title { display:flex; gap:6px; align-items:center; margin-bottom:6px; font-size:12px; }
.voice-message-title .voice-mic { flex-shrink:0; transform:scale(.8); }
.voice-message-title time { margin-left:auto; color:#516c7b; }

.folder-strip {
  display:flex;
  align-items:center;
  gap:6px;
  min-width:0;
  flex-shrink:0;
  padding:6px 10px;
  border-bottom:1px solid #eef3f5;
}
.folder-tabs {
  display:flex;
  gap:4px;
  flex:1;
  min-width:0;
  overflow:auto;
  scrollbar-width:thin;
  padding:2px 4px 4px;
}
.folder-tab,.folder-manage {
  display:flex;
  align-items:center;
  justify-content:center;
  gap:6px;
  min-height:34px;
  flex-shrink:0;
  padding:0 9px;
  color:#526b7a;
  white-space:nowrap;
  border-radius:9px;
  font-size:13px;
}
.folder-tab:hover,.folder-manage:hover { background:#eff7fb; }
.folder-tab.active { color:#176b95; background:#dff2fb; font-weight:650; }
.folder-tab span { max-width:155px; overflow:hidden; text-overflow:ellipsis; }
.folder-tab small { padding:1px 5px; background:#d6e8f1; border-radius:9px; font-size:10px; color:#235473; }
.folder-symbol {
  display:block;
  position:relative;
  width:17px;
  height:12px;
  border:1.5px solid currentColor;
  border-radius:2px;
  margin-top:2px;
}
.folder-symbol::before {
  position:absolute;
  top:-4px;
  left:-1.5px;
  content:"";
  width:7px;
  height:4px;
  border:1.5px solid currentColor;
  border-bottom:0;
  border-radius:2px 2px 0 0;
}
.folder-dialog { width:min(480px,calc(100% - 24px)); }
.folder-body { padding:14px 16px 16px; }
.folder-status { margin:0 0 10px; color:#526b7a; font-size:13px; }
.folder-status:empty { display:none; }
.folder-list { display:grid; gap:5px; margin-bottom:12px; }
.folder-list p,.folder-picker p { margin:2px 0 8px; color:#526b7a; font-size:13px; }
.folder-row {
  display:grid;
  grid-template-columns:minmax(0,1fr) auto auto;
  align-items:center;
  border-radius:10px;
  background:#f3f8fa;
  padding:2px 5px;
}
.folder-open { display:grid; gap:3px; padding:8px; text-align:left; overflow-wrap:anywhere; }
.folder-open small { color:#526b7a; }
.folder-target { border-radius:10px; background:#f3f8fa; }
.folder-target:not(:disabled):hover { background:#e7f4fa; }
.folder-target:disabled { cursor:default; opacity:.65; }
.folder-move { min-width:34px; min-height:40px; }
.folder-move:disabled { opacity:.3; cursor:default; }
.folder-form { display:grid; gap:11px; font-size:13px; }
.folder-form > label { display:grid; gap:5px; min-width:0; }
.folder-form fieldset { display:flex; gap:6px 12px; flex-wrap:wrap; min-width:0; margin:0; border:1px solid #dce8ed; border-radius:9px; padding:8px; }
.folder-form legend { padding:0 4px; color:#455b6b; }
.folder-form fieldset label { display:flex; align-items:center; gap:4px; min-height:26px; }
.folder-form input { margin:0; font-size:16px; padding:7px 9px; }
.folder-form input[type=checkbox] { width:auto; }
.folder-picker { max-height:28dvh; overflow:auto; }
.folder-picker label {
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
  gap:8px;
  padding:3px 0;
  border-bottom:1px solid #eef3f5;
}
.folder-picker label span { overflow-wrap:anywhere; }
.folder-picker select { min-height:36px; max-width:135px; padding:4px; color:#304c5b; font:inherit; background:white; border:1px solid #dce8ed; border-radius:7px; }
.folder-form-actions { display:flex; align-items:center; justify-content:flex-end; flex-wrap:wrap; gap:8px; }
.folder-form-actions .folder-delete { color:#973948; margin-right:auto; }

[data-action=account-security].railbtn { display:grid; place-items:center; }
.account-lock {
  position:relative;
  display:block;
  width:16px;
  height:13px;
  margin-top:5px;
  border:1.7px solid currentColor;
  border-radius:4px;
}
.account-lock::before {
  content:"";
  position:absolute;
  left:2px;
  right:2px;
  bottom:100%;
  height:7px;
  border:1.7px solid currentColor;
  border-bottom:0;
  border-radius:8px 8px 0 0;
}
.account-lock::after {
  content:"";
  position:absolute;
  top:3px;
  left:5px;
  width:2px;
  height:4px;
  border-radius:2px;
  background:currentColor;
}
.account-dialog { width:min(460px,calc(100% - 28px)); }
.account-dialog-body { padding:14px 16px 16px; display:grid; gap:14px; }
.account-dialog-body h3 { font-size:14px; margin:0 0 8px; }
.account-status,.account-password p { color:#455f71; font-size:13px; margin:0; }
.account-status:empty { display:none; }
.account-sessions { list-style:none; display:grid; gap:5px; padding:0; margin:0; max-height:34dvh; overflow:auto; }
.account-sessions li { display:flex; gap:8px; align-items:center; justify-content:space-between; padding:9px 10px; border-radius:10px; background:#f3f8fa; }
.account-sessions li > div { display:grid; gap:2px; font-size:13px; }
.account-sessions small { color:#526b7a; }
.account-link { color:#176b95; text-align:left; min-height:38px; font-size:13px; }
.account-link:hover { text-decoration:underline; }
.account-logout { justify-self:start; padding:0; color:#99394a; }
.account-password { border-block:1px solid #eaf0f3; padding:8px 0; }
.account-password summary { font-size:14px; cursor:pointer; padding:5px 0; }
.account-password-form { display:grid; gap:9px; margin:8px 0 5px; }
.account-password-form label { display:grid; gap:4px; font-size:13px; }
.account-password-form input { margin:0; padding:8px; font-size:16px; }
.account-password-form .primary { justify-self:start; }

[data-action=community-discover] { display:grid; place-items:center; }
.community-compass {
  position:relative;
  display:block;
  width:17px;
  height:17px;
  border:1.6px solid currentColor;
  border-radius:50%;
}
.community-compass::after {
  position:absolute;
  top:2px;
  left:4px;
  content:"";
  width:5px;
  height:9px;
  background:currentColor;
  clip-path:polygon(50% 0,100% 52%,50% 100%,0 52%);
  transform:rotate(38deg);
}
.community-dialog { width:min(520px,calc(100% - 28px)); }
.community-body { padding:14px 16px 16px; }
.community-status,.community-form p,.community-description { font-size:13px; color:#476170; }
.community-description { white-space:pre-wrap; overflow-wrap:anywhere; margin:0 auto; max-width:28ch; }
.community-status { margin:0 0 10px; }
.community-status:empty { display:none; }
.community-search,.community-form label { display:grid; gap:4px; min-width:0; font-size:13px; }
.community-search input,.community-form input,.community-form textarea {
  margin:0;
  padding:8px;
  min-width:0;
  width:100%;
  border:1px solid #dce8ed;
  border-radius:8px;
  font-size:16px;
}
.community-filters { display:flex; flex-wrap:wrap; gap:4px; margin:9px 0; }
.community-filters button { min-height:34px; padding:4px 10px; border-radius:8px; color:#476170; }
.community-filters button[aria-pressed=true] { background:#def1fa; color:#176b95; font-weight:600; }
.community-results { display:grid; gap:7px; max-height:50dvh; overflow:auto; }
.community-card { display:flex; flex-wrap:wrap; gap:8px; align-items:center; justify-content:space-between; padding:10px; background:#f3f8fa; border-radius:10px; }
.community-card > div { display:grid; min-width:0; flex:1 1 145px; gap:3px; overflow-wrap:anywhere; }
.community-card span,.community-card p { font-size:12px; color:#476170; margin:0; }
.community-card p { white-space:pre-wrap; }
.community-card .primary { padding:7px 11px; }
.community-card + .community-search { margin-top:12px; }
.community-link { color:#176b95; min-height:34px; }
.community-link:hover { text-decoration:underline; }
.community-form { display:grid; gap:10px; }
.community-form p { margin:0; line-height:1.45; }
.community-form textarea { resize:vertical; }
.community-actions { display:flex; flex-wrap:wrap; justify-content:flex-end; align-items:center; gap:8px; }

.discussion-open { display:block; min-height:32px; padding:3px 0; color:#176b95; font-size:13px; font-weight:600; }
.discussion-open:hover,.discussion-actions button:not(.primary):hover,.discussion-tools button:hover { text-decoration:underline; }
.discussion-dialog { width:min(520px,calc(100% - 28px)); }
.discussion-body { padding:12px 16px 16px; }
.discussion-status,.discussion-readonly,.discussion-empty,.discussion-settings p { margin:0 0 8px; font-size:13px; color:#455f71; }
.discussion-status:empty { display:none; }
.discussion-post { background:#f3f8fa; padding:9px 11px; border-radius:10px; overflow-wrap:anywhere; }
.discussion-post:empty { display:none; }
.discussion-post p,.discussion-comment p { white-space:pre-wrap; margin:4px 0; }
.discussion-post small,.discussion-comment time { color:#526b7a; font-size:12px; }
.discussion-tools,.discussion-actions { display:flex; flex-wrap:wrap; align-items:center; gap:6px 10px; }
.discussion-tools button,.discussion-actions button:not(.primary) { color:#176b95; padding:4px 0; min-height:32px; font-size:13px; }
.discussion-tools:has(+ .discussion-list:empty) { display:none; }
.discussion-list { max-height:43dvh; overflow:auto; }
.discussion-comment { overflow-wrap:anywhere; padding:9px 2px 4px; border-bottom:1px solid #eaf0f3; font-size:14px; }
.discussion-comment header { display:flex; flex-wrap:wrap; justify-content:space-between; align-items:baseline; gap:3px 8px; }
.discussion-comment blockquote {
  border-left:2px solid #34a9df;
  margin:5px 0;
  background:#f3f8fa;
  padding:4px 7px;
  color:#455f71;
  font-size:12px;
}
.discussion-form:not([hidden]),.discussion-settings { display:grid; gap:8px; }
.discussion-form { margin-top:10px; }
.discussion-form label,.discussion-settings label { display:grid; font-size:13px; gap:5px; min-width:0; }
.discussion-form textarea,.discussion-settings select { width:100%; padding:7px 9px; font-size:16px; border:1px solid #dce8ed; border-radius:8px; }
.discussion-form textarea { resize:vertical; }
.discussion-form .primary { justify-self:end; }
.discussion-target:not([hidden]) { display:flex; justify-content:space-between; align-items:center; gap:6px; padding-left:8px; border-left:2px solid #34a9df; }
.discussion-target span { overflow-wrap:anywhere; font-size:13px; }
.discussion-target button { min-width:34px; min-height:34px; }
.discussion-readonly { margin-top:10px; }

.sidebar-search { display:flex; gap:6px; min-width:0; margin-top:19px; }
.sidebar-search .search { flex:1; min-width:0; margin-top:0; }
.global-search-open {
  display:grid;
  place-items:center;
  flex:0 0 37px;
  color:#526b7a;
  border-radius:11px;
  background:#f3f6f8;
}
.global-search-open:hover { background:#e8f4fb; color:#176b95; }
.global-search-lines {
  display:block;
  width:15px;
  height:11px;
  border-block:1.5px solid currentColor;
  position:relative;
}
.global-search-lines::after { content:""; position:absolute; left:0; right:3px; top:3.5px; border-top:1.5px solid currentColor; }
.global-search-dialog { width:min(590px,calc(100% - 28px)); }
.global-search-body { padding:13px 16px 16px; }
.global-search-main {
  display:flex;
  gap:8px;
  align-items:center;
  padding:0 10px;
  border:1px solid #dce8ed;
  border-radius:10px;
  color:#526b7a;
}
.global-search-main:focus-within { border-color:#73bddd; }
.global-search-main input { margin:0; border:0; padding:9px 0; min-width:0; font-size:16px; }
.global-search-types { display:flex; flex-wrap:wrap; gap:4px; margin:8px 0; }
.global-search-types button { color:#476170; min-height:34px; padding:4px 9px; border-radius:8px; font-size:13px; }
.global-search-types button[aria-pressed=true] { color:#176b95; background:#def1fa; font-weight:650; }
.global-search-filters { color:#455f71; font-size:13px; margin:0 0 10px; }
.global-search-filters summary { cursor:pointer; padding:5px 0; width:fit-content; }
.global-search-filters label { display:grid; gap:4px; margin-top:5px; min-width:0; }
.global-search-filters > div { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }
.global-search-filters input,.global-search-filters select { margin:0; padding:6px; width:100%; min-width:0; border:1px solid #dce8ed; border-radius:8px; color:#455f71; background:white; font-size:16px; }
.global-search-status { color:#455f71; font-size:13px; }
.global-search-status:empty { display:none; }
.global-search-results { display:grid; gap:5px; max-height:46dvh; overflow:auto; }
.global-search-hit { min-width:0; text-align:left; background:#f3f8fa; padding:9px 10px; border-radius:9px; font-size:13px; }
.global-search-hit:hover,.global-search-hit:focus-visible { background:#e5f2f9; outline-offset:-2px; }
.global-search-hit-header { display:flex; justify-content:space-between; flex-wrap:wrap; gap:3px 8px; overflow-wrap:anywhere; }
.global-search-hit-header time { color:#526b7a; font-size:11px; }
.global-search-hit-text { display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; overflow-wrap:anywhere; color:#476170; margin-top:4px; }
.global-search-hit-text mark { color:#184b68; background:#cdebf8; border-radius:2px; }
.draft-conflict:not([hidden]) { display:flex; align-items:center; flex-wrap:wrap; gap:5px 10px; padding:6px 9px; margin-bottom:6px; background:#fff4df; color:#665023; border-radius:9px; font-size:12px; }
.draft-conflict span { flex:1 0 100%; }
.draft-conflict button { color:#176b95; min-height:29px; text-align:left; padding:0; }
.privacy-dialog { width:min(470px,calc(100% - 28px)); }
.privacy-body { padding:13px 16px 16px; font-size:13px; color:#455f71; }
.privacy-body p { margin:0 0 10px; }
.privacy-status:empty { display:none; }
.privacy-body label { display:grid; gap:5px; margin-top:12px; }
.privacy-body input { margin:0; padding:8px; font-size:16px; }
.privacy-list,.privacy-results { list-style:none; margin:7px 0; padding:0; display:grid; gap:5px; max-height:28dvh; overflow:auto; }
.privacy-body li { display:flex; align-items:center; justify-content:space-between; gap:7px; background:#f3f8fa; border-radius:9px; padding:8px; }
.privacy-body li div { min-width:0; display:grid; gap:2px; overflow-wrap:anywhere; }
.privacy-body li button { color:#176b95; min-height:34px; font-size:12px; }
.auto-delete-dialog { width:min(430px,calc(100% - 28px)); }
.auto-delete-form { padding:14px 16px 16px; display:grid; gap:10px; font-size:13px; color:#455f71; }
.auto-delete-form p { margin:0; line-height:1.5; }
.auto-delete-form label { display:grid; gap:4px; }
.auto-delete-form select { border:1px solid #dce8ed; border-radius:8px; padding:7px; font-size:16px; background:white; color:inherit; }
.auto-delete-status:empty { display:none; }
.auto-delete-form button { justify-self:end; }
.expiry-marker { display:inline-flex; vertical-align:middle; color:#456a7e; }
.expiry-marker .schedule-icon { transform:scale(.7); }
.expiry-chat-label { white-space:nowrap; }
.global-search-more { min-height:34px; color:#176b95; margin-top:6px; }
@media(max-width:400px) {
  .sidebar-actions .iconbtn { width:31px; }
}
@media(max-width:400px) {
  .compose { gap:4px; }
  .compose .iconbtn { width:32px; }
}
.callcard { max-height:calc(100dvh - 40px); overflow:auto; }
.callcontrol:disabled { opacity:.55; cursor:default; }
.videobox video[hidden] { display:none; }
.videobox.screen-view #remotevideo { object-fit:contain; }
.videobox.screen-view #localvideo { object-fit:contain; }
.videobox.local-screen #remotevideo {
  position:absolute;
  z-index:1;
  width:24%;
  height:28%;
  right:10px;
  bottom:10px;
  border-radius:9px;
  background:#385664;
  object-fit:cover;
}
.videobox.local-screen #localvideo { inset:0; width:100%; height:100%; border-radius:0; background:#1f3541; }
.call-share-label { position:absolute; z-index:2; top:9px; left:9px; max-width:calc(100% - 18px); border-radius:7px; padding:5px 8px; background:#142d3ae6; color:#fff; font-size:12px; }
#callpanel .videobox:fullscreen { width:100%; height:100%; border-radius:0; margin:0; }
#callpanel .videobox:fullscreen video { object-fit:contain; }
.call-exit-fullscreen { display:none; }
#callpanel .videobox:fullscreen .call-exit-fullscreen {
  display:block;
  position:absolute;
  z-index:3;
  top:9px;
  right:9px;
  max-width:calc(100% - 18px);
  border-radius:7px;
  padding:7px 9px;
  background:#142d3a;
  color:#fff;
}
@media(max-width:430px) {
  .callcard { padding:16px; }
  .callcard .videobox { height:min(225px,37dvh); }
  .callcard .callactions { margin-top:15px; }
}

.message-format-menu { position:relative; width:max-content; margin:0 0 4px 8px; color:#235675; font-size:13px; }
.message-format-menu summary { list-style:none; padding:4px 8px; cursor:pointer; border-radius:7px; background:#e6f4fa; }
.message-format-menu summary::-webkit-details-marker { display:none; }
.message-format-menu > div { position:absolute; z-index:3; bottom:100%; left:0; display:grid; background:#fff; border:1px solid #cfe4ee; border-radius:9px; padding:3px; box-shadow:0 4px 12px #17334426; }
.message-format-menu button { text-align:left; padding:7px 10px; }
.message-format-menu button:hover { background:#e6f4fa; }
.bubble a { color:#075d8c; }
.bubble code { background:#deedf4; padding:1px 4px; border-radius:4px; }
.message-spoiler { display:inline; padding:0 3px; border-radius:4px; background:#d7e8ef; overflow-wrap:anywhere; }
.message-spoiler[aria-expanded=false] { background:#466a7c; }
.message-spoiler[aria-expanded=false] span { visibility:hidden; }

.bubble .message-mention { display:inline; padding:0; color:#075d8c; font:inherit; font-weight:600; }
.bubble .message-mention:hover { text-decoration:underline; }
.mention-suggestions { display:grid; gap:2px; max-height:145px; overflow:auto; background:#fff; border:1px solid #cfe4ee; border-radius:10px; padding:4px; margin:4px 0; }
.mention-suggestions button { text-align:left; padding:7px 9px; color:#235675; overflow-wrap:anywhere; }
.mention-suggestions button:hover,.mention-suggestions button:focus-visible { background:#e6f4fa; }

.mention-badge,.headbuttons .unread-mentions { background:#e5f3ff; color:#126098; font-weight:650; }
.mention-badge { flex:none; border-radius:8px; padding:2px 5px; font-size:11px; }

.orb-icon { display:inline-block; flex:none; width:1.15em; height:1.15em; vertical-align:-.17em; background:currentColor; mask:var(--orb-icon) center/contain no-repeat; }
.orb-close { --orb-icon:url("/icons/close.svg"); }
.orb-ban { --orb-icon:url("/icons/ban.svg"); }
.orb-download { --orb-icon:url("/icons/download.svg"); }
.orb-saved { --orb-icon:url("/icons/saved.svg"); }
.orb-pin { --orb-icon:url("/icons/pin.svg"); }
.orb-muted { --orb-icon:url("/icons/muted.svg"); }
.orb-back { --orb-icon:url("/icons/back.svg"); }
.orb-phone { --orb-icon:url("/icons/phone.svg"); }
.orb-nearby { --orb-icon:url("/icons/nearby.svg"); }
.orb-privacy { --orb-icon:url("/icons/privacy.svg"); }
.orb-read { --orb-icon:url("/icons/read.svg"); }
.orb-sent { --orb-icon:url("/icons/sent.svg"); }
.orb-emoji { --orb-icon:url("/icons/emoji.svg"); }
.orb-send { --orb-icon:url("/icons/send.svg"); }
.orb-mail { --orb-icon:url("/icons/mail.svg"); }
.orb-add { --orb-icon:url("/icons/add.svg"); }
.orb-minus { --orb-icon:url("/icons/minus.svg"); }
.orb-up { --orb-icon:url("/icons/up.svg"); }
.orb-down { --orb-icon:url("/icons/down.svg"); }
.orb-attach { --orb-icon:url("/icons/attach.svg"); }
.orb-video { --orb-icon:url("/icons/video.svg"); }
.orb-refresh { --orb-icon:url("/icons/refresh.svg"); }
.orb-heart { --orb-icon:url("/icons/heart.svg"); }
[data-social=like][aria-pressed=true] .orb-heart { color:#c72a57; }

.shared-post-card {
  display:grid;
  gap:4px;
  max-width:100%;
  padding:8px 10px;
  text-align:start;
  white-space:normal;
  overflow-wrap:anywhere;
  border:1px solid currentColor;
  border-radius:10px;
  color:inherit;
  background:transparent;
}
.shared-post-card:hover { background:#798fa018; }
.shared-post-open { text-decoration:underline; }
.location-feedback { margin:12px 0 0; color:#3c5c70; font-size:13px; }
.location-feedback:empty { margin:0; }

.link-copy {
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:8px;
  padding-top:12px;
  border-top:1px solid #dbe7ee;
}
.link-copy input { flex:1 1 170px; min-width:0; margin:0; }
.link-copy button { flex:0 0 auto; }
.link-copy [role=status] { flex:1 0 100%; margin:0; color:#3c5c70; font-size:13px; }

.voice-controls {
  display:flex;
  align-items:center;
  gap:6px;
  color:#244d66;
}
.voice-controls button {
  flex:none;
  display:grid;
  place-items:center;
  min-width:34px;
  height:36px;
  padding:0 4px;
  border-radius:10px;
  background:#e1f1f9;
  color:#1d678b;
  font-size:12px;
  font-weight:650;
}
.voice-controls button:hover { background:#c5e7f7; }
.voice-controls button:focus-visible { outline:2px solid #176a95; }
.voice-controls svg {
  width:20px;
  height:20px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.voice-pause-glyph,.voice-controls .is-playing .voice-play-glyph { display:none; }
.voice-controls .is-playing .voice-pause-glyph { display:block; }
.voice-controls input[type=range] {
  flex:1;
  min-width:0;
  margin:0;
  padding:0;
  accent-color:#2481af;
}
.voice-controls time { flex:none; font-size:11px; }

.video-attachment { display:grid; gap:6px; }
.video-attachment button { justify-self:start; }
.chat-video-dialog { width:650px; }
.chat-video-dialog > .attachment { margin:10px 16px 16px; }

.image-attachment { display:grid; gap:6px; }
.image-attachment button { justify-self:start; padding:0; border-radius:10px; overflow:hidden; }
.image-attachment button:focus-visible { outline:2px solid #176a95; outline-offset:2px; }
.image-attachment img { display:block; width:min(200px,100%); height:128px; object-fit:contain; background:#dfedf4; }
.chat-photo { touch-action:pan-y pinch-zoom; display:block; width:100%; max-height:65dvh; object-fit:contain; background:#e5f0f5; }
.chat-photo[hidden] { display:none; }
.chat-photo-error { margin:16px; }

.chat-file-filters {
  display:flex;
  flex-wrap:wrap;
  gap:4px;
  margin:6px 16px 8px;
}
.chat-file-filters button { padding:6px 8px; min-height:32px; border-radius:8px; color:#36586d; }
.chat-file-filters button[aria-pressed=true] { background:#dceff8; color:#12486a; font-weight:650; }

.chat-gallery-controls { display:grid; grid-template-columns:auto minmax(0,1fr) auto; gap:8px; align-items:center; padding:8px 16px; }
.chat-gallery-status { overflow-wrap:anywhere; text-align:center; font-size:13px; }
.chat-gallery-controls .iconbtn:disabled { opacity:.38; }
[data-photo-newer] .orb-back { transform:scaleX(-1); }
