.social-avatar{position:relative;display:inline-flex;width:42px;height:42px;flex:none;vertical-align:middle}.social-avatar img{width:100%;height:100%;object-fit:cover;border-radius:12px;border:1px solid var(--cz-a9c9f0,#a9c9f0);box-shadow:0 2px 5px var(--cz-3069aa20,#3069aa20)}.social-dot{position:absolute;right:-1px;bottom:-1px;width:11px;height:11px;background:#31b54a;border:2px solid white;border-radius:50%}.social-dot.offline{background:var(--cz-97a4b4,#97a4b4)}.social-dot.busy{background:#eea629}.social-self{border:0;background:none;display:flex;align-items:center;gap:9px;color:var(--cz-124287,#124287);padding:0;text-align:left;cursor:pointer}.social-status{font:inherit;font-size:12px;color:var(--cz-244b78,#244b78);border:1px solid var(--cz-bfd6ef,#bfd6ef);background:var(--cz-f8fbff,#f8fbff);border-radius:7px;padding:5px;max-width:140px}.social-own-controls{display:flex;flex-wrap:wrap;align-items:center;gap:9px;width:100%}.my-profile>.avatar,.my-profile>.profile-copy{display:none}.friend-button{margin-left:auto;border:1px solid var(--cz-bbd6f4,#bbd6f4);border-radius:9px;color:var(--cz-1768c2,#1768c2);background:var(--cz-eff7ff,#eff7ff);font-size:18px;min-width:33px;min-height:33px;cursor:pointer;flex-shrink:0}.friend-button.added{color:#218550;background:#e5f7ed}.friend-button:disabled{opacity:.55}.social-friends{padding:10px}.social-friends .mobile-home-group-title{display:flex;justify-content:space-between;gap:8px}.social-friends .mobile-home-group-title span{font-size:11px;color:var(--cz-6c86a9,#6c86a9)}.social-friend-row{display:flex;gap:6px;align-items:center;padding:7px 0}.social-friend-row>button:first-child:not(.friend-button){display:flex;align-items:center;gap:9px;flex:1;border:0;background:transparent;text-align:left;color:var(--cz-154184,#154184)}.social-friend-row small{display:block;color:var(--cz-6883a2,#6883a2);margin-top:3px}.social-empty,.social-help{font-size:12px;line-height:1.6;color:var(--cz-617b99,#617b99)}.social-friends details{font-size:12px;color:var(--cz-6883a2,#6883a2);margin-top:8px}.home-profile{flex-wrap:wrap}.home-profile .social-self{flex:1}.social-message-avatar{padding:0;border:0;background:none;cursor:pointer;overflow:visible!important}.social-message-avatar .social-avatar{width:36px;height:36px}.member-avatar .social-avatar{width:30px;height:30px}.member-row{gap:7px}.member-row .friend-button{margin-left:auto}#socialDialog{width:min(430px,calc(100vw - 28px));max-height:85dvh;border:1px solid var(--cz-a7c8f4,#a7c8f4);border-radius:20px;padding:0;color:var(--cz-1c4279,#1c4279);background:linear-gradient(145deg,var(--cz-e0efff,#e0efff),#fff 55%);box-shadow:0 20px 70px var(--cz-10386d50,#10386d50)}#socialDialog::backdrop{background:var(--cz-0e25477a,#0e25477a);backdrop-filter:blur(4px)}#socialDialog header{position:sticky;top:0;display:flex;align-items:center;justify-content:space-between;background:var(--cz-e4f0ff,#e4f0ff);padding:14px 20px;z-index:1}#socialDialog h2{margin:0;font-size:20px}#socialDialog button{cursor:pointer;border:1px solid var(--cz-aacdf1,#aacdf1);border-radius:9px;padding:9px 13px;background:var(--cz-f5faff,#f5faff);color:var(--cz-19519a,#19519a)}#socialDialog button:disabled{opacity:.5}.social-dialog-content{padding:20px}.social-profile-hero{text-align:center;margin:0 0 20px}.social-profile-hero>.social-avatar{width:88px;height:88px}.social-profile-hero h3{font-size:23px;margin:12px 0 5px}.social-profile-hero p{margin:5px}.social-profile-hero small{color:var(--cz-7390ae,#7390ae)}#socialDialog label{display:block;font-size:13px;margin-bottom:13px}#socialDialog textarea,#socialDialog select{display:block;width:100%;box-sizing:border-box;margin-top:6px;border:1px solid var(--cz-b7d1ef,#b7d1ef);padding:10px;border-radius:9px;background:white;color:var(--cz-284a76,#284a76);font:inherit}#socialDialog textarea{min-height:75px;resize:vertical}.social-avatar-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.social-avatar-grid label{position:relative}.social-avatar-grid img{width:100%;border:3px solid transparent;border-radius:14px;box-sizing:border-box}.social-avatar-grid input{position:absolute;left:8px;top:8px}.social-avatar-grid input:checked+img{border-color:var(--cz-247dde,#247dde)}.social-check{display:flex!important;gap:8px;align-items:center}#socialDialog .social-primary{background:var(--cz-1974da,#1974da);color:white;width:100%}.social-pending{background:#fff2cf;color:#87640f;padding:10px;border-radius:9px}.social-review{display:flex;gap:8px;flex-wrap:wrap;align-items:center;padding:15px 0;border-bottom:1px solid var(--cz-cbdef5,#cbdef5)}.social-review img{width:68px;height:68px;border-radius:12px;object-fit:cover}.social-review b{flex:1;min-width:80px}#socialToast{position:fixed;bottom:85px;left:50%;transform:translateX(-50%);z-index:10000;background:var(--cz-173f73,#173f73);color:white;padding:13px 20px;border-radius:12px;box-shadow:0 8px 30px var(--cz-102c5540,#102c5540);max-width:85vw;font-size:14px}#socialDialog input[type=file]{display:block;max-width:100%;margin-top:9px}

.social-person-wrap{display:flex;align-items:center;gap:6px}.social-person-wrap>.mobile-list-row{flex:1;min-width:0}.social-person-wrap>.friend-button{margin-right:10px}
/* Compact themed scrollbars across desktop, touch lists and dialogs. */
*{scrollbar-width:thin;scrollbar-color:var(--cz-83b5e9,#83b5e9) var(--cz-e5f0fb,#e5f0fb)}*::-webkit-scrollbar{width:6px;height:6px}*::-webkit-scrollbar-track{background:var(--cz-e5f0fb,#e5f0fb);border-radius:9px}*::-webkit-scrollbar-thumb{background:var(--cz-83b5e9,#83b5e9);border-radius:9px}*::-webkit-scrollbar-thumb:hover{background:var(--cz-438cda,#438cda)}[hidden]{display:none!important}
.block-button,.conversation-close{flex:none;display:inline-flex;align-items:center;justify-content:center;min-width:27px;min-height:29px;border:1px solid var(--cz-c8dbee,#c8dbee);border-radius:8px;background:var(--cz-f4f9ff,#f4f9ff);color:var(--cz-718db0,#718db0);cursor:pointer;font-size:19px;padding:2px}.block-button:hover,.block-button.blocked{color:#c74464;background:#fff0f4;border-color:#efbfd0}.conversation-close:hover{background:#fdebf0;color:#cc3d62}.show-more{display:block;width:100%;padding:10px;border:0;border-radius:8px;background:var(--cz-eaf4ff,#eaf4ff);color:var(--cz-236dbd,#236dbd);cursor:pointer;font:inherit;font-size:12px;text-align:center;margin-top:5px}.show-more:hover{background:var(--cz-d6eaff,#d6eaff)}.blocked-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 5px;border-bottom:1px solid var(--cz-d6e6f7,#d6e6f7)}.block-remove{border:1px solid #edbdd0;background:#fff5f7;color:#bb3f62;border-radius:8px;padding:6px 12px;cursor:pointer}.social-person-wrap{min-width:0}.social-person-wrap .mobile-list-row{padding-right:3px}.member-row{display:flex;align-items:center}.member-row>div:nth-child(2){flex:1;min-width:0}.member-nick{overflow-wrap:anywhere}.conversation-row{gap:4px}.conversation-row>.mobile-home-row{min-width:0}.conversation-row .favorite-button{flex:none}.private-chat-info{min-width:0;flex:1}.person-row{gap:4px}.mobile-home-tabs button:first-child{white-space:normal;line-height:1.15}.message-reactions{display:flex;flex-wrap:wrap;gap:4px;margin-top:8px}.message-reactions button{border:1px solid var(--cz-c6d9ed,#c6d9ed);border-radius:20px;background:#ffffffa8;min-height:25px;padding:2px 6px;font-size:13px;cursor:pointer;color:var(--cz-36608e,#36608e);display:flex;align-items:center;gap:3px}.message-reactions button:hover,.message-reactions button.selected{background:var(--cz-d4eaff,#d4eaff);border-color:var(--cz-438cda,#438cda);box-shadow:0 0 0 1px var(--cz-8cbcf044,#8cbcf044)}.message-reactions span{font-size:10px;font-weight:bold}.message-reactions span:empty{display:none}
.radio-toggle{position:fixed;right:0;top:43%;z-index:240;border:1px solid var(--cz-79abe4,#79abe4);border-right:0;border-radius:13px 0 0 13px;background:linear-gradient(145deg,var(--cz-f2f9ff,#f2f9ff),var(--cz-a7ceff,#a7ceff));color:var(--cz-1658a8,#1658a8);padding:10px 7px;box-shadow:-3px 4px 15px var(--cz-18559630,#18559630);cursor:pointer;display:grid;gap:5px;justify-items:center}.radio-toggle>span{font-size:24px}.radio-toggle small{font-size:8px;letter-spacing:1px}.radio-toggle.playing>span{color:#15884f}.radio-panel{position:fixed;right:14px;top:50%;transform:translateY(-50%);z-index:260;width:300px;max-width:calc(100vw - 28px);max-height:calc(100dvh - 110px);overflow:auto;background:linear-gradient(150deg,var(--cz-edf7ff,#edf7ff),var(--cz-d6eaff,#d6eaff) 55%,var(--cz-f9fcff,#f9fcff));border:1px solid var(--cz-90b9ec,#90b9ec);border-radius:22px;box-shadow:0 20px 70px var(--cz-123e7850,#123e7850);color:var(--cz-174f90,#174f90);padding:18px;box-sizing:border-box}.radio-panel header{display:flex;align-items:center;justify-content:space-between}.radio-brand{font-size:11px;font-weight:800;letter-spacing:2px}.radio-panel header button{border:0;background:#ffffff90;border-radius:50%;width:28px;height:28px;font-size:24px;color:var(--cz-557da9,#557da9);cursor:pointer}.radio-cover{position:relative;margin:20px 0 18px;height:156px;overflow:hidden;border-radius:16px;background:radial-gradient(ellipse at 20% 15%,var(--cz-87d4ff,#87d4ff),var(--cz-3183d3,#3183d3) 55%,var(--cz-104990,#104990));display:flex;align-items:center;justify-content:center;box-shadow:inset 0 1px 1px #fff9}.radio-disc{width:90px;height:90px;display:grid;place-items:center;border:1px solid var(--cz-c6e8ff9c,#c6e8ff9c);border-radius:50%;color:var(--cz-e6faff,#e6faff);font-size:50px;background:radial-gradient(circle,var(--cz-68b1f2,#68b1f2),var(--cz-1358a49c,#1358a49c));box-shadow:0 0 0 14px #fff1,0 0 0 28px #fff1;transform:rotate(-12deg)}.radio-live{position:absolute;bottom:10px;left:12px;font-size:8px;letter-spacing:2px;color:var(--cz-e8f9ff,#e8f9ff)}.radio-copy small{font-size:9px;letter-spacing:2px;color:var(--cz-7299c2,#7299c2)}.radio-copy h2{font-size:22px;margin:7px 0}.radio-copy p{font-size:11px;color:var(--cz-708dac,#708dac);min-height:30px}.radio-controls{display:flex;align-items:center;justify-content:space-around;margin:13px 0 20px}.radio-controls #radioPlay{display:grid;place-items:center;border:1px solid #fff8;border-radius:50%;width:58px;height:58px;background:linear-gradient(145deg,var(--cz-3e9bf0,#3e9bf0),var(--cz-0956ba,#0956ba));color:white;font-size:24px;box-shadow:0 7px 18px var(--cz-246cca40,#246cca40);cursor:pointer}.radio-controls #radioPlay:disabled{opacity:.45;cursor:default}.radio-bars{height:24px;width:42px;display:flex;gap:3px;align-items:center}.radio-bars i{display:block;width:4px;height:5px;border-radius:3px;background:var(--cz-5297dd,#5297dd)}.radio-bars i:nth-child(2),.radio-bars i:nth-child(4){height:14px}.radio-bars i:nth-child(3){height:24px}.playing .radio-bars i{animation:radioPulse 1s ease-in-out infinite alternate}.playing .radio-bars i:nth-child(2n){animation-delay:.4s}.radio-hd{font-size:9px;letter-spacing:1px;line-height:1.5;color:var(--cz-78a0cb,#78a0cb);text-align:center;width:42px}.radio-volume{display:flex;align-items:center;gap:10px;font-size:14px;color:var(--cz-488bc8,#488bc8)}.radio-volume input{accent-color:var(--cz-3489dd,#3489dd);width:100%;height:5px;cursor:pointer}.radio-footnote{text-align:center;font-size:10px;color:var(--cz-88a4c0,#88a4c0);margin:18px 0 0}@keyframes radioPulse{to{transform:scaleY(.35)}}@media(prefers-reduced-motion:reduce){.playing .radio-bars i{animation:none}}@media(max-width:700px){.radio-toggle{padding:8px 5px;top:40%}.radio-toggle small{font-size:7px}.radio-panel{right:10px;max-height:calc(100dvh - 100px)}.conversation-row{gap:2px}.conversation-row .favorite-button{min-width:25px;width:25px}.block-button,.conversation-close{min-width:24px}.message-reactions{gap:3px}}

.reaction-counts{display:flex;flex-wrap:wrap;gap:5px;margin-top:5px}.reaction-counts:empty{display:none}.reaction-counts button{display:flex;align-items:center;gap:4px;background:var(--cz-e8f3ff,#e8f3ff);border:1px solid var(--cz-b8d4f2,#b8d4f2);border-radius:14px;padding:3px 8px;color:var(--cz-32699d,#32699d);font-size:13px;cursor:pointer}.reaction-counts b{font-size:11px}.reaction-counts button:hover{background:var(--cz-cee6ff,#cee6ff)}#reactionPeople{width:min(280px,calc(100vw - 40px));max-height:55dvh;overflow:auto;border:1px solid var(--cz-a4c8ef,#a4c8ef);border-radius:16px;background:linear-gradient(135deg,var(--cz-edf7ff,#edf7ff),#fff);color:var(--cz-21558b,#21558b);padding:0;box-shadow:0 14px 50px var(--cz-17427055,#17427055)}#reactionPeople::backdrop{background:var(--cz-17385840,#17385840)}#reactionPeople header{padding:12px 15px;display:flex;align-items:center;justify-content:space-between;background:var(--cz-e3f0ff,#e3f0ff)}#reactionPeople header button{border:0;background:transparent;font-size:24px;cursor:pointer;color:var(--cz-5481b1,#5481b1)}.reaction-nicks{padding:6px 15px 13px}.reaction-nicks>div{display:flex;align-items:center;gap:9px;padding:10px 0;border-bottom:1px solid var(--cz-e1ecf8,#e1ecf8);font-size:13px}.reaction-nick-icon{display:grid;place-items:center;width:29px;height:29px;background:var(--cz-d7eaff,#d7eaff);border-radius:9px}.reaction-nicks p{font-size:12px;color:var(--cz-6f8da9,#6f8da9)}
/* v3: one compact reaction trigger, with a single-line popover. */
.reaction-widget{position:relative;margin-top:6px;max-width:100%}.reaction-trigger{display:inline-flex;align-items:center;gap:5px;white-space:nowrap;cursor:pointer;border:1px solid var(--cz-c4d9f0,#c4d9f0);border-radius:12px;background:var(--cz-f4faff,#f4faff);color:var(--cz-537fae,#537fae);font-size:11px;padding:3px 8px;min-height:25px}.reaction-trigger small{display:inline-grid;place-items:center;background:var(--cz-277bdd,#277bdd);color:#fff;border-radius:8px;min-width:14px;font-size:9px;padding:1px 3px}.reaction-trigger small:empty{display:none}.reaction-menu{position:absolute;bottom:calc(100% + 5px);left:0;z-index:40;width:205px;max-width:calc(100vw - 70px);padding:7px;border-radius:16px;background:var(--cz-f7fbff,#f7fbff);border:1px solid var(--cz-aecdec,#aecdec);box-shadow:0 5px 20px var(--cz-23496d38,#23496d38);box-sizing:border-box}.message.self .reaction-menu{left:auto;right:0}.reaction-menu .message-reactions{display:flex;flex-wrap:nowrap;gap:3px;margin:0;justify-content:space-between}.reaction-menu .message-reactions button{flex:0 0 34px;min-width:0;max-width:34px;height:31px;padding:3px;justify-content:center;font-size:19px;gap:1px}.reaction-menu .message-reactions span{font-size:9px}.blue-thumb{width:18px;height:18px;fill:var(--cz-1877f2,#1877f2);color:var(--cz-1877f2,#1877f2);flex:none}.blue-thumb.down{transform:rotate(180deg)}.reaction-menu .reaction-counts{display:flex;flex-wrap:nowrap;gap:2px;overflow-x:auto;padding-top:3px}.reaction-menu .reaction-counts button{font-size:12px;padding:2px 5px;white-space:nowrap;flex:none}.reaction-menu .reaction-counts:empty{display:none}.message-body{overflow:visible}.status-entry{display:flex;align-items:center;gap:8px;width:100%;border:1px solid var(--cz-c0d8f1,#c0d8f1);background:linear-gradient(var(--cz-f7fcff,#f7fcff),var(--cz-e2efff,#e2efff));padding:10px;color:var(--cz-2b619c,#2b619c);border-radius:9px;cursor:pointer;text-align:left}.status-entry>span{font-size:20px}.status-entry small{font-size:10px;margin-left:auto;color:var(--cz-7390ac,#7390ac)}.status-entry i{font-style:normal;font-size:10px;background:var(--cz-3584df,#3584df);color:white;border-radius:8px;padding:2px 5px}#statusEntry{padding:4px 10px}.desktop-sounds{margin:3px 10px 6px;border:0;background:transparent;color:var(--cz-6786a6,#6786a6);cursor:pointer;font-size:11px}.sound-option{display:flex!important;align-items:center;justify-content:space-between;gap:15px}.sound-option small{display:block;color:var(--cz-6789a8,#6789a8);font-size:12px;line-height:1.5;margin-top:5px}.sound-option input{appearance:none;width:40px;height:23px;background:var(--cz-b5c8dd,#b5c8dd);border-radius:15px;flex:none;position:relative;cursor:pointer;transition:background .15s}.sound-option input:before{content:'';position:absolute;width:17px;height:17px;border-radius:50%;background:white;left:3px;top:3px;box-shadow:0 1px 4px var(--cz-44556644,#4564)}.sound-option input:checked{background:var(--cz-2982df,#2982df)}.sound-option input:checked:before{left:20px}#friendRequests{position:fixed;right:16px;top:72px;width:300px;max-width:calc(100vw - 32px);max-height:50dvh;overflow:auto;z-index:280;border:1px solid var(--cz-b9d6f3,#b9d6f3);border-radius:14px;background:var(--cz-f1f8ff,#f1f8ff);box-shadow:0 10px 35px var(--cz-21486a35,#21486a35)}.friend-request-row{padding:13px;border-bottom:1px solid var(--cz-cfe0f2,#cfe0f2);color:var(--cz-2b5685,#2b5685);font-size:13px}.friend-request-row p{margin:0 0 10px}.friend-request-row>div{display:flex;gap:7px}.friend-request-row button{padding:6px 12px;border:1px solid var(--cz-b0ccec,#b0ccec);border-radius:8px;background:#fff;color:var(--cz-4177a9,#4177a9);cursor:pointer}.friend-request-row [data-accept=yes]{background:var(--cz-247ddd,#247ddd);color:white;border-color:var(--cz-247ddd,#247ddd)}.channel-head{position:relative;padding-right:34px!important}.channel-head-toggle{position:absolute;right:5px;top:7px;border:1px solid var(--cz-b9d5f0,#b9d5f0);border-radius:7px;width:25px;height:24px;background:var(--cz-f1f8ff,#f1f8ff);color:var(--cz-5283b4,#5283b4);cursor:pointer;font-size:18px}.channel-head.collapsed{min-height:34px!important;padding-top:4px!important;padding-bottom:4px!important}.channel-head.collapsed>.channel-icon,.channel-head.collapsed p{display:none}.channel-head.collapsed h2{font-size:14px}.info-card>summary{cursor:pointer;font-weight:600;font-size:13px;color:var(--cz-3f72a6,#3f72a6);padding:5px 0}.info-card:not([open]){padding-bottom:8px}#mobileSectionTitle{overflow-wrap:anywhere}@media(max-width:700px){#friendRequests{right:12px;top:60px}.reaction-menu{width:199px;padding:6px}.reaction-menu .message-reactions button{flex-basis:33px}.channel-head.collapsed{min-height:34px!important}}

.reaction-widget .reaction-menu{position:fixed;bottom:auto;z-index:290}

/* Constrain member lists in both layouts. */
#rightPanel{display:flex;flex-direction:column;overflow:hidden;min-height:0;max-height:100%}
#rightPanel.private-hidden{display:none}
#rightPanel .info-card{flex:0 0 auto;max-height:40%;overflow:auto}
#rightPanel .member-card{display:flex;flex-direction:column;flex:1;min-height:0;overflow:hidden}
#memberList{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain}
.member-search{flex:0 0 auto;box-sizing:border-box;width:100%;padding:8px;margin-bottom:8px;border:1px solid var(--cz-a4cbed,#a4cbed);border-radius:8px;background:var(--cz-f4fbff,#f4fbff);color:var(--cz-0758bd,#0758bd)}
#mobileDrawer{display:none;flex-direction:column;max-height:100dvh;overflow:hidden}
#mobileMemberList{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain}
.reaction-menu{pointer-events:auto;z-index:10000}
@media(max-width:1050px){#rightPanel{display:none}}
@media(max-width:760px),(hover:none) and (pointer:coarse) and (max-width:1400px){#mobileDrawer{display:flex}}
.social-dot.unknown{background:var(--cz-97a4b4,#97a4b4)}

/* Member drawer owns its scroll area and covers the composer. */
#mobileDrawer{box-sizing:border-box;padding-bottom:env(safe-area-inset-bottom,0px);height:100dvh;max-height:100dvh;min-height:0;z-index:700;overflow:hidden;isolation:isolate}
#mobileDrawer .drawer-head,#mobileDrawer .member-search{flex-shrink:0}
#mobileDrawer #mobileMemberList{flex:1 1 0%;height:0;min-height:0;max-height:100%;overflow-y:scroll;overflow-x:hidden;scrollbar-gutter:stable;touch-action:pan-y;-webkit-overflow-scrolling:touch;padding-bottom:16px}
#drawerShade{z-index:699}
#mobileDrawer .member-row{min-width:0;flex-shrink:0}
#mobileMemberList::-webkit-scrollbar{width:5px}
#mobileMemberList::-webkit-scrollbar-thumb{background:var(--cz-78afe2,#78afe2);border-radius:9px}
.friend-request-buttons{display:flex;gap:7px;margin:9px 0;flex-wrap:wrap}
.friend-request-buttons button{display:flex;align-items:center;gap:6px;flex:1;justify-content:center;padding:9px 6px;border:1px solid var(--cz-bad7f2,#bad7f2);background:var(--cz-f6fbff,#f6fbff);border-radius:9px;color:var(--cz-16569c,#16569c);cursor:pointer;font-size:12px}
.request-badge,.request-nav-badge{background:#df354c;color:#fff;border-radius:20px;min-width:19px;padding:2px 5px;text-align:center;font:bold 11px Tahoma;line-height:15px}
[data-mobile="friends"]{position:relative}.request-nav-badge{position:absolute;right:15%;top:2px}
.request-nav-badge[hidden]{display:none}
.friend-request-row small{display:block;color:var(--cz-6387ac,#6387ac);margin-top:5px}
.nudge-button{flex:0 0 36px;width:36px;min-width:36px;padding:0;border:1px solid var(--cz-95c0ee,#95c0ee);border-radius:50%;background:linear-gradient(#fff,var(--cz-c5e7ff,#c5e7ff));color:var(--cz-126ad3,#126ad3);font:bold 25px sans-serif;cursor:pointer}
.nudge-button[hidden]{display:none!important}.nudge-button:disabled{opacity:.5}
.composer-row textarea{min-width:0}
.nudge-shake{animation:msnchatapp-nudge .5s ease-in-out 3}
@keyframes msnchatapp-nudge{0%,100%{translate:0 0}15%,45%,75%{translate:-6px 1px}30%,60%,90%{translate:6px -1px}}
@media(prefers-reduced-motion:reduce){.nudge-shake{animation:none;box-shadow:inset 0 0 0 3px var(--cz-6daee9,#6daee9)}}
.composer-small-button{flex:0 0 32px;min-width:32px;padding:0 3px;border:1px solid var(--cz-96c5ef,#96c5ef);border-radius:9px;background:linear-gradient(#fff,var(--cz-d7edff,#d7edff));color:var(--cz-135dba,#135dba);font-size:20px;cursor:pointer}
.composer-small-button[hidden]{display:none!important}#nickTabButton{font-size:11px;flex-basis:37px}
.scroll-lock-button{position:absolute;right:36px;top:7px;width:28px;height:25px;padding:0;border:1px solid var(--cz-b5d5f0,#b5d5f0);border-radius:7px;background:var(--cz-eff8ff,#eff8ff);cursor:pointer}
.channel-head{padding-right:72px!important}.scroll-lock-button[aria-pressed=true]{background:#ffe9ad}
.call-panel{position:fixed;z-index:950;right:18px;bottom:90px;width:min(420px,calc(100vw - 24px));max-height:85dvh;overflow:auto;box-sizing:border-box;padding:14px;border:1px solid var(--cz-8ebae9,#8ebae9);border-radius:16px;background:var(--cz-eaf6ff,#eaf6ff);box-shadow:0 12px 50px var(--cz-16457955,#16457955);color:var(--cz-15477d,#15477d)}
.call-panel[hidden]{display:none}.call-panel header{display:grid;gap:6px;margin-bottom:12px}.call-status{font-size:13px}.call-videos{position:relative;background:var(--cz-102333,#102333);border-radius:10px;overflow:hidden;min-height:120px}.call-remote{display:block;width:100%;max-height:45dvh;object-fit:contain}.call-local{position:absolute;right:8px;bottom:8px;width:28%;max-height:100px;border:1px solid white;border-radius:7px;transform:scaleX(-1)}
.audio-call .call-videos{height:1px;min-height:0;overflow:hidden}.call-controls{display:flex;flex-wrap:wrap;gap:7px;margin-top:12px}.call-controls button{padding:9px;border:1px solid var(--cz-a9cbee,#a9cbee);background:#fff;border-radius:9px;color:var(--cz-185799,#185799);cursor:pointer}.call-controls [data-call-accept]{background:#258454;color:white}.call-controls [data-call-end]{background:#ce384d;color:white}.call-controls button[hidden]{display:none}
@media(max-width:760px),(hover:none) and (pointer:coarse) and (max-width:1400px){.call-panel{right:12px;bottom:75px}.composer-row{gap:4px}.composer-small-button{flex-basis:28px;min-width:28px;font-size:18px}#nickTabButton{flex-basis:34px;font-size:10px}.nudge-button{flex-basis:28px;min-width:28px;width:28px}}
/* Header actions stay next to scroll lock, out of the composer. */
.chat-head-actions{position:absolute;right:35px;top:6px;display:flex;align-items:center;gap:4px}
.chat-head-actions #scrollLockButton,.chat-head-actions .composer-small-button,.chat-head-actions #nudgeButton{position:static;flex:none;width:28px;min-width:28px;height:27px;padding:0;font-size:17px;border-radius:7px}
.channel-head{padding-right:170px!important;min-height:54px}.channel-head h2{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}
.composer-row #emojiButton{position:static!important;display:flex!important;flex:0 0 32px;align-items:center;justify-content:center;width:32px;height:38px;margin:0;padding:0;border:0;border-radius:8px;background:transparent;font-size:22px;pointer-events:auto;transform:none}
.composer-row textarea{padding-left:10px!important;padding-right:10px!important;min-width:0}
#messages .message.self .message-avatar{display:inline-flex!important;flex:0 0 34px;width:34px;height:34px;align-items:center;justify-content:center}
#messages .message.self .social-avatar{display:inline-flex;width:32px;height:32px}
#messages .message-body{min-width:0;overflow-wrap:anywhere}.youtube-preview{display:block;width:min(100%,300px);aspect-ratio:16/9;height:auto;min-height:120px;border:0;border-radius:10px;margin-top:8px;background:var(--cz-102538,#102538)}.message-text a{color:var(--cz-1266b5,#1266b5);text-decoration:underline;overflow-wrap:anywhere}
.history-page{display:block;width:100%;margin:7px 0;padding:8px;border:1px solid var(--cz-b5d6ed,#b5d6ed);border-radius:8px;background:var(--cz-e9f6ff,#e9f6ff);color:var(--cz-29618e,#29618e);cursor:pointer;font-size:12px}
body.login-mode{position:fixed;inset:0;overflow:hidden;overscroll-behavior:none}
body.login-mode #loginScreen{position:fixed;inset:0;box-sizing:border-box;width:100%;height:100svh;min-height:0;overflow:hidden;overscroll-behavior:none}
body.login-mode .login-card{box-sizing:border-box;max-width:calc(100vw - 24px);max-height:100%;margin:auto}
@media(max-width:760px),(hover:none) and (pointer:coarse) and (max-width:1400px){
 body.login-mode #loginScreen{padding:12px;align-items:center;justify-content:center;height:var(--login-layout-height,100svh);bottom:auto;top:var(--login-viewport-top,0px);overflow:clip;grid-template-rows:minmax(calc(var(--login-layout-height,100svh) - 24px),auto)}
 body.login-mode .login-card{width:min(360px,100%);padding:12px 16px;max-height:none}
 body.login-mode .login-avatar{height:76px;margin:0 0 3px}
 body.login-mode .login-avatar img,body.login-mode .login-avatar svg{max-height:76px;max-width:110px}
 body.login-mode .login-card h1{font-size:28px;margin:3px 0}
 body.login-mode .login-community{font-size:13px}
 body.login-mode .login-card p{font-size:16px;line-height:1.25;margin:7px 0 12px}
 body.login-mode .login-card input{height:42px;font-size:16px}
 body.login-mode .login-label{margin:5px 0}
 body.login-mode #loginButton{height:42px;margin-top:10px}
 body.login-mode .login-error{min-height:16px;margin-top:5px}
}
/* 1.7: compact header and a genuine input-contained emoji control. */
.chat-head-actions{top:8px;align-items:center}
.chat-head-actions #mobileMembersButton{position:static!important;display:flex;margin:0 3px 0 0;padding:0;align-items:center;gap:3px;white-space:nowrap;width:auto;min-width:35px;height:28px;background:none;border:0;color:var(--cz-0756b9,#0756b9);font-weight:bold}
.chat-head-actions #mobileMembersButton[hidden]{display:none!important}
.channel-head{padding-right:110px!important}.private-chat .channel-head{padding-right:170px!important}
.composer-row{align-items:center!important}
.composer-row #nickTabButton{align-self:center;margin:0!important;height:30px;line-height:13px;transform:none!important}
.message-input-wrap{position:relative;flex:1;min-width:0;display:flex;align-items:center}
.composer-row .message-input-wrap textarea{box-sizing:border-box;width:100%;padding-right:38px!important;margin:0;flex:1}
.composer-row .message-input-wrap #emojiButton{position:absolute!important;right:5px!important;left:auto!important;top:50%!important;bottom:auto!important;transform:translateY(-50%)!important;width:28px;height:30px;padding:0;margin:0;z-index:2}
#voiceButton{height:34px;width:30px;min-width:30px;flex:0 0 30px;border:0;background:transparent;color:var(--cz-2878c7,#2878c7);padding:4px;border-radius:50%;align-self:center;cursor:pointer}#voiceButton svg{width:23px;height:23px}#voiceButton.recording{color:#ce2949;background:#ffe1e8}
.voice-recording{display:flex;align-items:center;gap:6px;padding:7px;border-radius:10px;background:var(--cz-e4f4ff,#e4f4ff);color:var(--cz-1d5d92,#1d5d92);font-size:12px;margin-bottom:5px}.voice-recording[hidden]{display:none}.voice-recording span{flex:1}.voice-recording button,.voice-listen{border:1px solid var(--cz-a5cfed,#a5cfed);background:var(--cz-f3fbff,#f3fbff);color:var(--cz-185fa3,#185fa3);padding:6px 9px;border-radius:10px;cursor:pointer}.voice-recording button[hidden]{display:none}.voice-audio{display:block;width:min(260px,100%);height:38px;margin-top:5px}.voice-listen{margin-top:5px}
.titlebar{position:relative;padding-right:90px!important}.titlebar .radio-toggle{position:absolute;top:12px;right:12px;bottom:auto;transform:none;width:58px;height:40px;border-radius:13px;border:1px solid var(--cz-a3c9ea,#a3c9ea);background:linear-gradient(#fff,var(--cz-cceaff,#cceaff));display:flex;flex-direction:row;align-items:center;justify-content:center;gap:3px;box-shadow:0 2px 7px var(--cz-367bb326,#367bb326);z-index:5}.radio-toggle span{font-size:22px}.radio-toggle small{font-size:8px}
#radioPanel{position:fixed;transform:none;top:76px;right:14px;bottom:auto;width:min(300px,calc(100vw - 24px));max-height:calc(100dvh - 90px);overflow:auto;z-index:800;border-radius:18px}
#radioPanel .radio-cover{height:95px;min-height:0}#radioPanel .radio-bars{display:flex;align-items:end;gap:3px;height:35px;flex:1}#radioPanel .radio-bars i{width:5px;max-height:35px;background:linear-gradient(var(--cz-8cd4ff,#8cd4ff),var(--cz-1475dc,#1475dc));border-radius:3px;height:5px;animation:none}#radioPanel.playing .radio-bars i{animation:radio-spectrum .85s ease-in-out infinite alternate}#radioPanel .radio-bars i:nth-child(3n){animation-delay:-.4s}#radioPanel .radio-bars i:nth-child(3n+1){animation-delay:-.7s}#radioPanel .radio-bars i:nth-child(4n){animation-duration:.55s}
@keyframes radio-spectrum{from{height:5px}to{height:32px}}
@media(max-width:760px),(hover:none) and (pointer:coarse) and (max-width:1400px){.titlebar .radio-toggle{top:10px;right:12px;height:36px}#radioPanel{top:64px;right:8px;max-height:calc(100dvh - 80px)}.titlebar .title-slogan{display:none}.composer-row{gap:3px!important}#nickTabButton{min-width:28px;flex-basis:28px!important}#voiceButton{min-width:27px;flex-basis:27px}}
@media(prefers-reduced-motion:reduce){#radioPanel.playing .radio-bars i{animation:none;height:18px}}
/* Fixed-width list controls; previews cannot push the action buttons. */
.conversation-row{display:flex;align-items:center;gap:6px;min-width:0;max-width:100%;box-sizing:border-box}
.conversation-row .mobile-home-row{flex:1 1 0%;min-width:0;overflow:hidden}
.mobile-home-row-main,.private-chat-info{min-width:0;flex:1 1 0%;overflow:hidden}
.mobile-home-row-main small,.private-preview{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
.conversation-row>button,.channel-row>.favorite-button,.channel-row>[data-close-conversation]{flex-shrink:0}
.conversation-row .favorite-button{margin-left:3px;margin-right:5px;min-width:25px}
[data-close-conversation]{margin-left:5px!important;flex-shrink:0}
.mobile-home-count{flex-shrink:0}.private-chat-row,.channel-row{min-width:0;max-width:100%}
.applet-admin-dialog{width:min(540px,calc(100vw - 24px));max-height:85dvh;padding:0;border:1px solid var(--cz-94c3eb,#94c3eb);border-radius:16px;background:var(--cz-edf7ff,#edf7ff);color:var(--cz-164e87,#164e87);box-shadow:0 14px 55px var(--cz-173e7855,#173e7855);box-sizing:border-box}
.applet-admin-dialog::backdrop{background:var(--cz-17385870,#17385870)}.applet-admin-dialog header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid var(--cz-c5dff4,#c5dff4)}.applet-admin-dialog header h2{font-size:18px;margin:0}.applet-admin-dialog button{border:1px solid var(--cz-abcdeb,#abcdeb);border-radius:8px;padding:7px 10px;background:var(--cz-f8fcff,#f8fcff);color:var(--cz-17548f,#17548f);cursor:pointer}.admin-content{padding:15px}.admin-content label{display:block;margin:8px 0}.admin-content input{display:block;box-sizing:border-box;width:100%;padding:10px;font-size:16px;border:1px solid var(--cz-acd1ef,#acd1ef);border-radius:8px}.admin-toolbar,.admin-decisions{display:flex;gap:7px;flex-wrap:wrap;margin:8px 0}.admin-review{padding:12px;margin:9px 0;background:white;border:1px solid var(--cz-d0e4f5,#d0e4f5);border-radius:10px;overflow:hidden}.admin-review small{display:block}.admin-review img{display:block;max-width:140px;max-height:140px;margin:10px 0;border-radius:10px}.admin-review audio{max-width:100%}.admin-error{color:#ba2840}.moderated-media{position:relative;margin-top:6px;padding-right:30px;min-height:24px}.moderated-media:empty{display:none}.admin-media-delete{position:absolute;right:0;top:0;width:25px;height:25px;border:1px solid #e3a9b1;background:#fff0f2;color:#b6203d;border-radius:7px;cursor:pointer;font-size:20px;padding:0}.moderated-media small{font-size:11px;color:var(--cz-66849c,#66849c)}
.nick-auth-dialog{border:1px solid var(--cz-92bee7,#92bee7);border-radius:16px;background:var(--cz-edf7ff,#edf7ff);color:var(--cz-164c81,#164c81);width:min(330px,calc(100vw - 32px));box-sizing:border-box;padding:20px}.nick-auth-dialog::backdrop{background:var(--cz-12385d66,#12385d66)}.nick-auth-dialog input{box-sizing:border-box;width:100%;padding:10px;font-size:16px;border:1px solid var(--cz-9dc6e9,#9dc6e9);border-radius:8px;margin:10px 0}.nick-auth-dialog button{padding:9px 12px;border:1px solid var(--cz-8bb9e3,#8bb9e3);border-radius:8px;background:var(--cz-e0efff,#e0efff);color:var(--cz-154d89,#154d89)}.nick-auth-error{color:#b3243e}

.role-avatar{display:inline-flex;align-items:center;justify-content:center;background:linear-gradient(145deg,#fff7d8,var(--cz-cce9ff,#cce9ff));border:1px solid var(--cz-c1d7e8,#c1d7e8);color:#b47b0b;font-size:27px;line-height:1;box-sizing:border-box}.role-avatar>span{display:block;line-height:1}.member-modes{display:none!important}
.admin-live-settings{padding:10px;border:1px solid var(--cz-bcd9ee,#bcd9ee);border-radius:10px;background:var(--cz-f7fcff,#f7fcff)}.admin-live-settings h3{margin:0 0 10px;font-size:15px}.admin-live-settings label{display:flex;align-items:center;gap:10px}.admin-live-settings label>span{flex:1}.admin-live-settings input{width:20px;height:20px;margin:0;accent-color:var(--cz-237cbe,#237cbe)}.admin-live-settings small{min-width:26px}.admin-shuns{margin:12px 0;border:1px solid var(--cz-c6ddee,#c6ddee);border-radius:10px;padding:10px}.admin-shuns summary{cursor:pointer;font-weight:bold}.admin-shun-row{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:6px 0;border-top:1px solid var(--cz-d8e6f3,#d8e6f3)}.admin-clear-channel{height:27px;padding:2px 5px;border:1px solid var(--cz-b5d5f0,#b5d5f0);background:#fff4f4;color:#a83b4d;border-radius:7px;font-size:11px;cursor:pointer}.admin-clear-channel[hidden]{display:none!important}.channel-head.admin-channel{padding-right:175px!important}

.role-avatar-q{color:#b47b0b}.role-avatar-a{color:#a435d0}.role-avatar-o{color:#e34b45}.role-avatar-h{color:var(--cz-1971d9,#1971d9)}.role-avatar-v{color:#168744}.profile-shun{margin:8px}
/* Permanently visible compact HTML5 radio. */
.titlebar{padding-right:18px!important}
#radioPanel.radio-inline{position:absolute;top:9px;left:50%;right:auto;bottom:auto;transform:translateX(-50%);display:flex;align-items:center;gap:9px;width:300px;height:60px;max-width:none;max-height:none;overflow:hidden;box-sizing:border-box;padding:7px 10px;border:1px solid var(--cz-9fc9ed,#9fc9ed);border-radius:16px;background:linear-gradient(140deg,#fff,var(--cz-d5eaff,#d5eaff));box-shadow:0 3px 12px var(--cz-2a6eae20,#2a6eae20);z-index:5;color:var(--cz-16558f,#16558f)}
#radioPanel button{flex:none;width:32px;height:32px;padding:0;border:1px solid var(--cz-b3d7f4,#b3d7f4);border-radius:50%;background:linear-gradient(#fff,var(--cz-c7e5ff,#c7e5ff));color:var(--cz-1766b3,#1766b3);cursor:pointer}#radioPanel #radioPlay{background:linear-gradient(var(--cz-45a9fa,#45a9fa),var(--cz-0861ca,#0861ca));color:white;border-color:var(--cz-3388d7,#3388d7)}#radioPanel button:disabled{opacity:.45;cursor:default}
#radioPanel .radio-info{min-width:0;flex:1}#radioPanel .radio-info strong,#radioPanel .radio-info>span{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:11px}#radioPanel .radio-info>span{font-size:9px;color:var(--cz-6085aa,#6085aa)}#radioPanel #radioVolume{width:60px;min-width:0;accent-color:var(--cz-2485de,#2485de);cursor:pointer}
#radioPanel .radio-bars{height:10px;display:flex;align-items:end;gap:2px;width:auto;margin-top:3px}#radioPanel .radio-bars i{width:3px;height:3px;max-height:10px;border-radius:2px;background:linear-gradient(var(--cz-76d8ef,#76d8ef),var(--cz-2379db,#2379db));animation:none}#radioPanel.playing .radio-bars i{animation:compact-radio .7s ease-in-out infinite alternate}#radioPanel .radio-bars i:nth-child(3n){animation-delay:-.4s}#radioPanel .radio-bars i:nth-child(3n+1){animation-delay:-.2s}
@keyframes compact-radio{to{height:10px}}@media(prefers-reduced-motion:reduce){#radioPanel.playing .radio-bars i{animation:none;height:7px}}
@media(min-width:761px) and (max-width:1100px) and (hover:hover),(min-width:761px) and (max-width:1100px) and (pointer:fine){.title-slogan{display:none}}
@media(max-width:760px),(hover:none) and (pointer:coarse) and (max-width:1400px){
 html,body{overflow:hidden;overscroll-behavior:none}
 #app{position:fixed;inset:auto 0 auto 0;top:var(--chat-top,0px);height:var(--chat-height,100dvh);min-height:0;overflow:hidden;display:flex;flex-direction:column;padding:0}
 #app.hidden{display:none!important}
 #app>.titlebar{height:68px;min-height:68px;flex:0 0 68px;padding-right:190px!important}
 #app>.layout,#app>.layout.private-chat{height:auto!important;flex:1;min-height:0;overflow:hidden}
 #app .chat-panel{height:100%;min-height:0;overflow:hidden}
 #app .messages{min-height:0;overflow-y:auto;overscroll-behavior:contain}
 #app .mobile-nav{position:relative;inset:auto;flex:0 0 calc(66px + env(safe-area-inset-bottom));width:100%}
 #radioPanel.radio-inline{left:auto;right:7px;top:7px;transform:none;width:180px;height:54px;padding:5px 6px;gap:5px;border-radius:13px}
 #radioPanel button{width:25px;height:25px;font-size:12px}#radioPanel #radioVolume{width:36px}#radioPanel .radio-info strong{font-size:9px}#radioPanel .radio-info>span{font-size:8px}
 .titlebar .brand strong{font-size:16px}.titlebar .brand small{font-size:8px}.titlebar .brand-buddies{width:34px}
 #messageInput{font-size:16px!important}
}
@media(max-width:370px){.titlebar .brand small{display:none}.titlebar .brand strong{font-size:14px}.titlebar .brand-buddies{display:none}}

@media(max-width:760px),(hover:none) and (pointer:coarse) and (max-width:1400px){html.chat-keyboard-open #app .mobile-nav{display:none!important}html.chat-keyboard-open #app .mobile-section.open{bottom:0}}

/* Compact composer and right-edge follow control. */
.chat-panel{position:relative}
.chat-panel>#scrollLockButton{position:absolute;top:50%;right:7px;z-index:8;width:29px;height:29px;padding:4px;display:grid;place-items:center;border:1px solid var(--cz-bad7ec,#bad7ec);border-radius:9px;background:var(--cz-f1f9fff0,#f1f9fff0);color:var(--cz-4387b7,#4387b7);box-shadow:0 2px 6px var(--cz-25659a18,#25659a18)}
.chat-panel>#scrollLockButton[aria-pressed=true]{background:var(--cz-d1e9fb,#d1e9fb);color:var(--cz-075daf,#075daf);border-color:var(--cz-65a5db,#65a5db)}
.composer-row{align-items:center!important;gap:6px!important}
.composer-row .message-input-wrap{border:0!important;outline:none!important;box-shadow:none!important}
.composer-row .message-input-wrap textarea,.composer-row .message-input-wrap textarea:focus,.composer-row .message-input-wrap textarea:focus-visible{height:38px!important;min-height:38px!important;border:1px solid var(--cz-c0d9e9,#c0d9e9)!important;border-radius:18px!important;outline:none!important;box-shadow:none!important;background:var(--cz-fbfdff,#fbfdff)!important;padding-top:9px!important;padding-bottom:8px!important}
.composer-row .message-input-wrap textarea:focus{border-color:var(--cz-94bbd5,#94bbd5)!important}
#sendButton{display:grid!important;place-items:center!important;flex:0 0 34px!important;width:34px!important;height:34px!important;min-width:34px!important;padding:0!important;border:0!important;border-radius:50%!important;background:var(--cz-299bd8,#299bd8)!important;box-shadow:none!important;color:white!important}
#sendButton svg{display:block}#nickTabButton{height:29px!important}#voiceButton{font-size:20px!important}
@media(max-width:760px),(hover:none) and (pointer:coarse) and (max-width:1400px){html.chat-keyboard-open #app .channel-head{display:none!important}html.chat-keyboard-open #app .chat-panel{grid-template-rows:auto minmax(0,1fr) auto}.composer{padding:6px 8px!important}}

/* Remove the legacy mobile send glyph and keep the composer truly single-height. */
#sendButton::before,#sendButton::after{content:none!important;display:none!important}
.composer-row .message-input-wrap textarea,.composer-row .message-input-wrap textarea:focus,.composer-row .message-input-wrap textarea:focus-visible{box-sizing:border-box!important;height:38px!important;min-height:38px!important;max-height:38px!important;line-height:20px!important;padding-top:8px!important;padding-bottom:8px!important;overflow:hidden!important;resize:none!important;scrollbar-width:none}
.composer-row .message-input-wrap textarea::-webkit-scrollbar{display:none}
#app .chat-panel{grid-template-rows:auto minmax(0,1fr) auto}
@media(max-width:760px),(hover:none) and (pointer:coarse) and (max-width:1400px){html.chat-keyboard-open #app .chat-panel{grid-template-rows:minmax(0,1fr) auto}}

#sendButton{background:transparent!important;border-radius:0!important;color:var(--cz-229ed9,#229ed9)!important}#sendButton svg{width:27px;height:27px}

#app .chat-panel>#mobileMembersButton{position:absolute;right:6px;top:calc(50% - 47px);z-index:8;min-width:32px;width:auto;height:39px;padding:2px;display:flex;flex-direction:column;justify-content:center;gap:0;border:1px solid var(--cz-bfd9ee,#bfd9ee);border-radius:8px;background:var(--cz-eff8fff0,#eff8fff0);font-size:12px}
#app .chat-panel>#mobileMembersButton[hidden]{display:none!important}
#msnDanceImage{background:transparent!important;border-radius:0!important;animation:transparent-msn 2.4s linear infinite!important;object-fit:contain}
@keyframes transparent-msn{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){#msnDanceImage{animation:none!important}}
.reaction-menu{width:max-content!important;min-width:224px!important;max-width:calc(100vw - 24px)!important;box-sizing:border-box!important}
.reaction-menu .message-reactions{display:flex!important;flex-wrap:nowrap!important;gap:3px!important;box-sizing:border-box!important}
.reaction-menu .message-reactions button{flex:0 0 auto!important;min-width:29px!important;padding:3px!important}
@media(min-width:761px) and (hover:hover),(min-width:761px) and (pointer:fine),(min-width:1401px){#app .chat-panel>#mobileMembersButton{top:6px;right:35px;flex-direction:row;height:27px}}

.reaction-trigger{display:inline-flex;align-items:center;gap:4px}.reaction-trigger .blue-thumb{width:13px;height:13px;flex:none;color:var(--cz-1877f2,#1877f2)}

#connectingScreen .connecting-logo{overflow:visible}#msnOrbit{display:block;max-width:100%;overflow:visible;background:transparent;transform:none!important;animation:none!important}

/* Explicitly requested login motion, scoped to the visible connection screen. */
#connectingScreen:not(.hidden) .connecting-dots span{display:inline-block;animation:login-dot-wave 1.05s ease-in-out infinite!important;animation-play-state:running!important;transform-origin:center}
#connectingScreen:not(.hidden) .connecting-dots span:nth-child(2){animation-delay:.15s!important}
#connectingScreen:not(.hidden) .connecting-dots span:nth-child(3){animation-delay:.30s!important}
@keyframes login-dot-wave{0%,65%,100%{transform:translateY(0);opacity:.4}30%{transform:translateY(-6px);opacity:1}}

@media(max-width:760px),(hover:none) and (pointer:coarse) and (max-width:1400px){#mobileDrawer{width:min(275px,78vw)!important;max-width:78vw!important}#mobileDrawer .drawer-head strong{font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}#mobileDrawer .member-row{gap:5px!important;padding-left:9px!important;padding-right:8px!important}}
.mobile-nav .nav-identity{display:flex;align-items:center;justify-content:center;margin:0}.mobile-nav .nav-identity .social-avatar{width:27px;height:27px}.mobile-nav .nav-identity+span{max-width:78px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

/* Member count sits above the history lock on every screen size. */
#app .chat-panel>#mobileMembersButton{top:calc(50% - 40px)!important;bottom:auto!important;right:7px!important;flex-direction:row!important;height:32px!important;z-index:8}
.admin-category{border:1px solid var(--cz-bfd9ee,#bfd9ee);border-radius:10px;padding:12px;margin:10px 0;background:var(--cz-f6fbff,#f6fbff)}.admin-category>summary{cursor:pointer;font-weight:700}.admin-category>form>h3{display:none}

.theme-options{display:flex;flex-wrap:wrap;gap:10px}.theme-options button{display:flex;align-items:center;gap:7px;padding:10px;border:1px solid var(--cz-bdd3e7,#bdd3e7);border-radius:10px;cursor:pointer}.theme-options button[aria-pressed=true]{outline:2px solid currentColor}.theme-swatch{width:18px;height:18px;border-radius:50%}.theme-black{background:#343434}.theme-pink{background:#d65b89}.theme-green{background:#238557}.theme-purple{background:#8555bc}.theme-fuchsia{background:#ca269b}




#socialToast[popover]{margin:0;border:0;top:auto;right:auto;bottom:85px;left:50%}

/* Channel names carry unread state, without numeric message counters. */
.channel-unread .channel-name,.channel-unread .channel-hash,.channel-unread .mobile-home-row-main>b,.channel-unread .mobile-list-main>b,.channel-unread .mobile-channel-icon,.channel-unread .mobile-home-icon.channel{color:#e53950!important}
.global-favorite{opacity:1;cursor:default}
#messages>.history-page[data-history-page="-1"]{position:sticky;top:0;z-index:3;flex-shrink:0;background:var(--cz-eaf6ff,#eaf6ff)}
.history-page:disabled{cursor:default;opacity:.75}
.operator-total{display:block}.operator-total:first-letter{color:#dfaa13}
@media(min-width:761px) and (hover:hover),(min-width:761px) and (pointer:fine),(min-width:1401px){.private-unread,.private-chat-row .unread-badge,.conversation-row:has([data-mobile-private]) .mobile-home-count{background:var(--cz-d5eaff,#d5eaff)!important;color:var(--cz-0756b9,#0756b9)!important}.member-card h3{display:flex;align-items:center;justify-content:space-between;gap:8px}#rightPanel #mobileMembersButton{position:static!important;display:inline-flex;align-items:center;gap:3px;width:auto;min-width:35px;height:27px;padding:2px 5px;border:1px solid #bfd9ee;border-radius:7px;background:#eff8ff;color:#0756b9}#rightPanel #mobileMembersButton[hidden]{display:none!important}}
@media(max-width:760px),(hover:none) and (pointer:coarse) and (max-width:1400px){.conversation-row .mobile-home-count{box-sizing:border-box;flex:0 0 auto;min-width:22px;width:auto;height:19px;padding:0 5px;border-radius:9px;font-size:10px;font-weight:400;line-height:19px}.conversation-row:has([data-mobile-private]) .mobile-home-count,.private-unread{background:#e53950!important;color:white!important}}

@media(min-width:761px) and (hover:hover),(min-width:761px) and (pointer:fine),(min-width:1401px){.member-card.members-collapsed #memberSearch,.member-card.members-collapsed #memberList{display:none}}

/* Own messages use the selected UI palette rather than a fixed green. */
html .message.self .message-body{background:var(--cz-d5eaff,#d5eaff)!important;border-color:var(--cz-a7cdf2,#a7cdf2)!important}
html .message.self .message-name{color:var(--cz-0756b9,#0756b9)!important}
.text-preferences{padding:12px;border-bottom:1px solid var(--cz-c1daf2,#c1daf2);font-size:12px}.text-preferences>div{display:flex;gap:7px;margin:8px 0;align-items:end}.text-preferences label{display:flex;flex-direction:column;gap:4px;min-width:0}.text-preferences label:first-child{flex:1}.text-preferences select,.text-preferences input,.text-preferences button{box-sizing:border-box;max-width:100%;height:32px;border:1px solid var(--cz-a7cdf2,#a7cdf2);border-radius:7px;background:var(--cz-f4fbff,#f4fbff);color:inherit}.text-preferences input[type=color]{width:38px;padding:3px}.text-preferences button{padding:4px 9px;cursor:pointer}
#messages .message-text,#messageInput{font-family:var(--chat-text-font,inherit)!important;font-size:var(--chat-text-size,14px)!important;color:var(--chat-text-color,inherit)!important}

.call-restore{position:fixed;right:0;top:48%;z-index:1000;border:0;border-radius:12px 0 0 12px;background:#c93650;color:white;width:42px;height:48px;font-size:28px;cursor:pointer}.call-restore[hidden]{display:none}
.call-controls{flex-wrap:wrap}.private-header-actions{display:inline-flex;gap:3px;align-items:center}.private-header-actions[hidden]{display:none}.private-header-actions button{width:28px;min-width:28px;height:28px;padding:2px}
#messages .message{align-items:flex-start;gap:6px;margin:6px 0}#messages .message-avatar,#messages .message.self .message-avatar{width:27px;height:27px;flex-basis:27px}#messages .social-message-avatar .social-avatar{width:26px;height:26px}
#messages .message-body{position:relative;padding:6px 9px;border-radius:9px;min-width:110px;max-width:calc(100% - 42px)}#messages .message-name{font-size:12px;line-height:1.2}#messages .message-text{margin:2px 58px 3px 0;line-height:1.35;overflow-wrap:anywhere}#messages .message-time{position:absolute;right:8px;top:7px;font-size:9px;color:#8095a2}.message-top-reaction{position:absolute;right:8px;top:21px;font-size:11px}
#messages .reaction-widget{display:flex;justify-content:flex-end;margin-top:2px}.reaction-trigger{font-size:10px;padding:2px 6px}.reaction-menu{z-index:1200!important}.quoted-message{margin:5px 0;padding:5px 8px;border-left:3px solid var(--cz-0756b9,#0756b9);border-radius:5px;background:var(--cz-eaf6ff,#eaf6ff);max-width:260px;font-size:12px}.quoted-message b,.quoted-message span{display:block}.quoted-message span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.reply-preview{display:flex;align-items:center;gap:8px;border-left:3px solid var(--cz-0756b9,#0756b9);background:var(--cz-eaf6ff,#eaf6ff);padding:6px 9px;margin-bottom:5px;font-size:12px}.reply-preview[hidden],.typing-line[hidden]{display:none}.reply-preview>div{flex:1;min-width:0}.reply-preview b,.reply-preview span{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.reply-preview button,.quote-action{border:1px solid var(--cz-a7cdf2,#a7cdf2);border-radius:6px;background:var(--cz-f4fbff,#f4fbff);color:inherit;padding:3px 7px;cursor:pointer}.typing-line{display:flex;gap:4px;flex-wrap:wrap;padding:3px 0;font-size:11px}.typing-line>span{background:var(--cz-d5eaff,#d5eaff);border-radius:5px;padding:2px 5px}.typing-line i{animation:typing-pulse 1s infinite alternate;font-style:normal}@keyframes typing-pulse{from{opacity:.35}to{opacity:1}}@media(prefers-reduced-motion:reduce){.typing-line i{animation:none}}


/* Compact inline reactions and channel join controls. */
#messages .message-content-line{display:flex;align-items:baseline;gap:5px;margin-right:42px;min-width:0}
#messages .message-content-line .message-text{margin:2px 0 3px;min-width:0;overflow-wrap:anywhere}
#messages .message-content-line .reaction-widget{display:inline-flex;flex:0 0 auto;margin:0;align-self:baseline}
#messages .reaction-trigger{border:0;background:transparent;padding:0 2px;min-height:0;height:18px;width:20px;vertical-align:baseline;border-radius:4px}
#messages .reaction-trigger .blue-thumb{width:16px;height:16px}
#messages .reaction-trigger:hover{background:var(--cz-eaf6ff,#eaf6ff)}
#messages .reaction-trigger:focus-visible{outline:2px solid #1877f2;outline-offset:2px}
#messages .message-text,#messageInput{font-weight:var(--chat-text-weight,400)!important;font-style:var(--chat-text-style,normal)!important}
.channel-join-form{display:flex;gap:5px;padding:8px;min-width:0}
.channel-join-form input{flex:1;min-width:0;width:0;padding:8px;border:1px solid var(--cz-a7cdf2,#a7cdf2);border-radius:7px;background:var(--cz-f4fbff,#f4fbff);color:inherit;font-size:13px}
.channel-join-form button{flex:none;padding:6px 9px;border:1px solid var(--cz-a7cdf2,#a7cdf2);border-radius:7px;background:var(--cz-eaf6ff,#eaf6ff);color:inherit;cursor:pointer}
.text-preferences>div{flex-wrap:wrap}

/* Tap the bubble to react; received reactions sit below its right edge. */
#messages .message-body[tabindex]{cursor:pointer}
#messages .message-body:focus-visible{outline:2px solid var(--cz-438cda,#438cda);outline-offset:3px}
#messages .message-body.has-reactions{margin-bottom:19px}
#messages .message-body>.reaction-widget{display:block;position:static;margin:0}
#messages .reaction-widget>.reaction-counts{position:absolute;right:6px;bottom:-16px;display:flex;justify-content:flex-end;gap:3px;margin:0;max-width:100%;flex-wrap:wrap;z-index:1}
#messages .reaction-widget>.reaction-counts:empty{display:none}
#messages .reaction-counts button{min-height:23px;padding:1px 5px;gap:3px;border-radius:14px;background:var(--cz-f4faff,#f4faff);border:1px solid var(--cz-c4d9f0,#c4d9f0);box-shadow:0 1px 3px #0002;font-size:14px}
#messages .reaction-counts b:empty{display:none}
#messages .reaction-menu{position:fixed;bottom:auto;width:max-content!important;min-width:0!important;max-width:calc(100vw - 16px)!important;padding:6px;border:1px solid #e7e7e7;border-radius:25px;background:#fff;box-shadow:0 4px 20px #0003;z-index:1200!important;cursor:default}
#messages .reaction-menu[hidden]{display:none!important}
#messages .reaction-menu .message-reactions{gap:1px!important;overflow-x:auto}
#messages .reaction-menu .message-reactions button{display:flex;align-items:center;justify-content:center;flex:0 0 34px!important;min-width:0!important;max-width:none;width:34px;height:36px;min-height:36px;padding:0!important;border:0;border-radius:50%;background:transparent;font-size:26px;cursor:pointer}
#messages .reaction-menu button:hover,#messages .reaction-menu button.selected{background:#e9eef2}
@media(max-width:360px){#messages .reaction-menu .message-reactions button{flex-basis:30px!important;width:30px;font-size:23px}}

#messages .reaction-menu .reaction-share{background:#eef0f1;color:#65727a}
#messages .reaction-share svg{flex:none}

/* Keep long reply excerpts inside the available grid and composer width. */
#app .chat-panel{min-width:0;grid-template-columns:minmax(0,1fr)}
.composer,.composer-row,.message-input-wrap,#messages,.message,.message-body{min-width:0;max-width:100%;box-sizing:border-box}
.reply-preview{width:100%;max-width:100%;min-width:0;box-sizing:border-box;overflow:hidden}
.reply-preview>div{flex:1 1 0;min-width:0;overflow:hidden}
.reply-preview span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.reply-preview>button{flex:0 0 auto}
.quoted-message{min-width:0;max-width:100%;overflow:hidden;box-sizing:border-box}
@media(max-width:760px),(hover:none) and (pointer:coarse) and (max-width:1400px){
 .channel-head:has(.private-header-actions:not([hidden])){padding:8px 29px 8px 7px!important;gap:5px;min-width:0}
 .channel-head:has(.private-header-actions:not([hidden]))>.channel-icon{flex:0 0 26px;width:26px;font-size:26px}
 .channel-head:has(.private-header-actions:not([hidden]))>.channel-icon img{width:26px;height:26px}
 .channel-head:has(.private-header-actions:not([hidden]))>div:not(.channel-icon):not(.chat-head-actions){flex:1 1 0;min-width:0;overflow:hidden}
 .channel-head:has(.private-header-actions:not([hidden])) h2{font-size:15px}
 .channel-head:has(.private-header-actions:not([hidden])) .chat-head-actions{position:static;flex:0 0 auto;margin-left:auto;max-width:none;gap:2px;flex-wrap:nowrap}
 .channel-head .private-header-actions{display:flex;gap:2px;align-items:center}
 .channel-head .private-header-actions[hidden]{display:none}
 .channel-head:has(.private-header-actions:not([hidden])) .chat-head-actions button{position:static!important;box-sizing:border-box;flex:0 0 24px!important;width:24px!important;min-width:24px!important;height:27px!important;padding:0!important;margin:0!important;font-size:16px!important}
 .channel-head:has(.private-header-actions:not([hidden])) .channel-head-toggle{top:50%;transform:translateY(-50%)}
}

/* Each text preference gets usable space even in the narrow desktop sidebar. */
.text-preferences>div{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px}
.text-preferences label{width:100%;min-width:0}
.text-preferences select{width:100%;min-width:0}

.channel-join-form input{min-width:0;outline:none;border-radius:18px;padding:9px 12px;font:inherit;background:var(--cz-fbfdff,#fbfdff)}
.channel-join-form input:focus{outline:none;box-shadow:none;border-color:var(--cz-94bbd5,#94bbd5)}
.mobile-nav{grid-template-columns:repeat(3,minmax(0,1fr))}

.private-preference{position:relative;display:flex;align-items:center;gap:10px;padding:12px;font-size:13px;cursor:pointer}.private-preference>span:first-child{flex:1}.private-preference input{position:absolute;right:12px;opacity:0;width:36px;height:20px}.private-switch{width:36px;height:20px;border-radius:12px;background:#a9afb5;position:relative;transition:background .15s}.private-switch:after{content:'';position:absolute;left:3px;top:3px;width:14px;height:14px;border-radius:50%;background:white;transition:transform .15s}.private-preference input:checked+.private-switch{background:var(--cz-0758bd,#0758bd)}.private-preference input:checked+.private-switch:after{transform:translateX(16px)}.private-preference input:focus-visible+.private-switch{outline:2px solid currentColor;outline-offset:3px}

.mobile-pinned{border-bottom:1px solid var(--cz-c1daf2,#c1daf2);padding-bottom:12px;margin-bottom:12px}
.user-settings-menu{border-top:1px solid var(--cz-c1daf2,#c1daf2);margin-top:12px;padding-top:8px}
.profile-actions{display:flex;align-items:center;flex-wrap:wrap;gap:7px}
.profile-actions button{width:auto;min-height:34px;padding:7px 10px;border:1px solid var(--cz-a7cdf2,#a7cdf2);border-radius:10px;color:inherit;background:var(--cz-f4fbff,#f4fbff);font-size:13px;cursor:pointer}
.profile-actions .profile-message{background:var(--cz-0758bd,#0758bd);color:white}
.social-profile-hero{padding:18px 12px;border-radius:14px;background:var(--cz-f4fbff,#f4fbff);margin-bottom:14px}
.social-profile-hero h3{margin:10px 0 5px}.social-profile-hero p{margin:4px 0}.profile-about{padding:12px;border-left:3px solid var(--cz-a7cdf2,#a7cdf2);border-radius:7px;white-space:pre-wrap;overflow-wrap:anywhere}
.info-page,.admin-contact p{white-space:pre-wrap;overflow-wrap:anywhere}.admin-contact{padding:12px 0;border-bottom:1px solid var(--cz-c1daf2,#c1daf2)}.admin-contact small{display:block;margin-top:5px}
#contactForm label,#adminPages label{display:flex;flex-direction:column;gap:6px;margin-bottom:12px}#contactForm input,#contactForm textarea,#adminPages textarea{box-sizing:border-box;width:100%;padding:10px;border-radius:9px;border:1px solid var(--cz-a7cdf2,#a7cdf2);background:var(--cz-f4fbff,#f4fbff);color:inherit;font:inherit}#contactForm input[readonly]{opacity:.75}
@media(max-width:760px),(hover:none) and (pointer:coarse) and (max-width:1400px){.text-preferences>div{grid-template-columns:minmax(0,1.3fr) minmax(0,1.4fr) minmax(0,.8fr) 34px;gap:5px}.text-preferences{padding:10px 8px}.text-preferences select{font-size:11px;padding:2px}.text-preferences input[type=color]{width:34px}.text-preferences label{font-size:11px}.mobile-home-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}}

.desktop-account-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px;padding:8px}.desktop-account-actions .show-more{margin:0;font-size:11px}

/* Shared menu styles also apply outside the mobile media query. */
.user-settings-menu .mobile-setting-row{box-sizing:border-box;width:100%;min-height:58px;display:flex;align-items:center;gap:12px;padding:10px 12px;border:0;border-bottom:1px solid var(--cz-d7e8f5,#d7e8f5);background:var(--cz-f4fbff,#f4fbff);color:inherit;text-align:left;cursor:pointer}
.user-settings-menu .mobile-setting-row>span{flex:1;display:flex;flex-direction:column;gap:4px}.user-settings-menu .mobile-setting-row b{font-size:13px}.user-settings-menu .mobile-setting-row small{font-size:11px;color:var(--cz-8497aa,#8497aa)}.user-settings-menu .mobile-setting-row i{font-style:normal;color:var(--cz-91abc2,#91abc2)}
.profile-actions{flex-wrap:nowrap;gap:5px}.profile-actions button{flex:0 0 32px;min-width:0;padding:5px;width:32px;font-size:16px}.profile-actions .profile-message{flex:0 1 auto;width:auto;padding:7px 9px;white-space:nowrap;font-size:12px}
.admin-contact{border-bottom:1px solid var(--cz-a7cdf2,#a7cdf2);padding:14px 0;margin-bottom:8px}
.voice-player{display:flex;align-items:center;gap:8px;width:240px;max-width:100%;box-sizing:border-box;padding:8px 10px;border-radius:22px;background:var(--cz-d7edff,#d7edff);color:var(--cz-0758bd,#0758bd)}
.voice-player .voice-play{width:29px;height:29px;flex:0 0 29px;border:0;border-radius:50%;background:var(--cz-126cf4,#126cf4);color:white;cursor:pointer;padding:0;font-size:14px}.voice-wave{height:27px;flex:1;min-width:0;display:flex;gap:2px;align-items:center;background:linear-gradient(to right,currentColor var(--voice-progress,0%),var(--cz-a7cdf2,#a7cdf2) 0);background-clip:padding-box;mask:none}.voice-wave i{flex:1;background:currentColor;opacity:.5;border-radius:2px}.voice-wave{background:none}.voice-time{font-size:11px;font-variant-numeric:tabular-nums}.voice-player audio[hidden]{display:none}
.member-search{box-sizing:border-box;min-width:0;max-width:100%;border-radius:18px!important;outline:none!important;padding:9px 12px!important;border:1px solid var(--cz-c0d9e9,#c0d9e9)!important;background:var(--cz-fbfdff,#fbfdff)!important;box-shadow:none!important;font-size:16px}
.member-search:focus{border-color:var(--cz-94bbd5,#94bbd5)!important;outline:none!important;box-shadow:none!important}

.voice-wave i.played{opacity:1}.mobile-nav .mobile-nav-badge{background:#ef334f;color:white}

@media(max-width:760px),(hover:none) and (pointer:coarse) and (max-width:1400px){.channel-head .chat-head-actions .admin-clear-channel{font-size:0!important}.channel-head .chat-head-actions .admin-clear-channel:before{content:"⌫";font-size:17px}}

#mobileDrawer .member-search{height:32px;min-height:32px;padding:6px 10px!important;font-size:13px;margin:7px 9px 10px;width:calc(100% - 18px);border-radius:12px!important;flex-shrink:0}
#mobileMemberList{border-top:1px solid var(--cz-c1daf2,#c1daf2);padding-top:7px}
#drawerMemberSummary{display:flex;gap:14px;flex-wrap:wrap;padding:7px 12px;font-size:11px;color:var(--cz-0758bd,#0758bd)}
.channel-head:has(.private-header-actions:not([hidden])){padding-right:34px!important}.channel-head:has(.private-header-actions:not([hidden])) .chat-head-actions{position:static;margin-left:auto;flex-wrap:nowrap;gap:4px;max-width:none}.channel-head:has(.private-header-actions:not([hidden])) .admin-clear-channel{position:static!important;order:99;margin-left:5px!important;flex-shrink:0}
.voice-room-panel{position:fixed;z-index:1200;right:15px;top:80px;width:420px;max-width:calc(100vw - 20px);max-height:calc(100dvh - 100px);overflow:auto;border:1px solid var(--cz-a7cdf2,#a7cdf2);border-radius:16px;box-shadow:0 12px 40px #0003;background:var(--cz-f4fbff,#f4fbff);color:var(--cz-315b85,#315b85)}.voice-room-panel[hidden],.room-restore[hidden]{display:none}.voice-room-panel header{display:flex;align-items:center;gap:8px;padding:12px;border-bottom:1px solid var(--cz-c1daf2,#c1daf2)}.voice-room-panel header b{flex:1}.voice-room-panel button{border:1px solid var(--cz-a7cdf2,#a7cdf2);border-radius:8px;background:var(--cz-fbfdff,#fbfdff);color:inherit;padding:7px;cursor:pointer}.voice-room-panel button:disabled{opacity:.5}.room-body{padding:12px}.room-title{display:flex;justify-content:space-between;align-items:center;font-size:13px}.room-speakers{display:flex;flex-wrap:wrap;gap:10px;padding:16px 0;border-bottom:1px solid var(--cz-c1daf2,#c1daf2)}.room-speakers article{display:flex;flex-direction:column;align-items:center;gap:6px;width:82px;text-align:center;font-size:12px}.room-speakers small,.room-listeners small{display:block;font-size:10px;opacity:.75}.room-avatar .social-avatar{width:42px;height:42px}.room-listener-title{margin-top:14px;font-size:13px}.room-listener-title small{display:block;font-size:11px;opacity:.65}.room-body input{box-sizing:border-box;width:100%;padding:8px 10px;margin:10px 0;border:1px solid var(--cz-a7cdf2,#a7cdf2);border-radius:10px;background:inherit;color:inherit}.room-listeners{max-height:35dvh;overflow:auto}.room-listeners article{display:flex;align-items:center;gap:9px;padding:8px;border-bottom:1px solid var(--cz-c1daf2,#c1daf2);font-size:12px}.room-listeners article>span:nth-child(2){flex:1;min-width:0;overflow-wrap:anywhere}.room-controls{display:flex;gap:4px}.room-restore{position:fixed;right:0;top:55%;z-index:1100;border:0;border-radius:10px 0 0 10px;background:var(--cz-126cf4,#126cf4);color:white;padding:12px;font-size:22px}

.chat-panel>.private-floating-clear,.chat-panel>.private-floating-close{position:absolute!important;right:7px!important;z-index:9;width:29px!important;min-width:29px!important;height:29px;padding:0!important;border:1px solid var(--cz-bad7ec,#bad7ec);border-radius:9px;background:var(--cz-f1f9fff0,#f1f9fff0);color:var(--cz-4387b7,#4387b7);margin:0!important;cursor:pointer}.chat-panel>.private-floating-clear{top:calc(50% - 70px)!important;font-size:0!important}.private-floating-clear:before{content:'⌫';font-size:17px}.chat-panel>.private-floating-close{top:calc(50% - 35px)!important;font-size:21px}.private-floating-clear[hidden],.private-floating-close[hidden]{display:none!important}.voice-room-panel [hidden]{display:none!important}.voice-room-panel details{margin-top:12px;padding:10px 0;border-top:1px solid var(--cz-c1daf2,#c1daf2)}.voice-room-panel details article{padding:8px 0;border-bottom:1px solid var(--cz-c1daf2,#c1daf2)}

.room-restore{writing-mode:vertical-rl;text-orientation:upright;letter-spacing:1px;font-size:11px;line-height:14px;padding:9px 6px;border-radius:8px 0 0 8px;box-shadow:0 2px 8px #0002}.room-invitation{max-width:320px;width:calc(100% - 40px);box-sizing:border-box;border:1px solid var(--cz-a7cdf2,#a7cdf2);border-radius:14px;background:var(--cz-f4fbff,#f4fbff);color:inherit;padding:18px}.room-invitation::backdrop{background:#1236}.room-invitation button,.room-invitation input{padding:8px;margin:4px;border:1px solid var(--cz-a7cdf2,#a7cdf2);border-radius:8px;background:var(--cz-fbfdff,#fbfdff);color:inherit}.room-invitation p{overflow-wrap:anywhere}

/* Admin text defaults: keep the native palette visible on mobile and desktop. */
#adminTextDefaults{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:12px 0}
#adminTextDefaults label{display:flex;flex-direction:column;gap:6px;min-width:0}
#adminTextDefaults select{width:100%;min-height:36px;border:1px solid var(--border,#acd0ef);border-radius:8px;background:var(--panel,#f4faff);color:inherit;padding:5px}
#adminTextDefaults input[type=color]{display:block;appearance:auto;width:100%;height:42px;min-height:42px;padding:4px;border:1px solid var(--border,#acd0ef);border-radius:8px;cursor:pointer;background:transparent}
#adminTextDefaults input[type=color]::-webkit-color-swatch-wrapper{padding:0}
#adminTextDefaults input[type=color]::-webkit-color-swatch{border:0;border-radius:5px}
#adminTextDefaults input[type=color]::-moz-color-swatch{border:0;border-radius:5px}
#adminTextDefaults label:has(input[type=checkbox]){grid-column:1/-1;flex-direction:row;align-items:center}
#adminTextDefaults input[type=checkbox]{width:17px;height:17px;min-height:0;margin:0}
#adminTextDefaults button{grid-column:1/-1}
.message-receipt{display:inline-block;margin-left:5px;color:#8a969f;font-size:12px;letter-spacing:-4px;padding-right:4px;font-weight:700;white-space:nowrap}
.message-receipt.is-read{color:#159de0}

.conversation-row + .conversation-row{margin-top:7px}
.applet-admin-dialog[open]{display:flex;flex-direction:column;overflow:hidden;max-height:85dvh}
.applet-admin-dialog>header{flex:0 0 auto;background:var(--cz-edf7ff,#edf7ff);z-index:2}
.applet-admin-dialog>.admin-content{overflow-y:auto;min-height:0;overscroll-behavior:contain}
.media-approve{border:1px solid #64b890;border-radius:8px;color:#167044;background:#eaf8ef;padding:5px 8px;margin:4px}
.chat-image{display:block;width:auto;height:auto;max-width:min(100%,180px);max-height:180px;border-radius:10px;object-fit:contain;margin-top:6px}

.image-viewer{border:0;padding:36px 12px 12px;background:#12202bee;width:min(1100px,96vw);height:min(850px,92dvh);box-sizing:border-box;overflow:hidden;border-radius:12px}
.image-viewer::backdrop{background:#000b}.image-viewer img{display:block;width:100%;height:100%;object-fit:contain}.image-viewer-close{position:absolute;right:8px;top:4px;border:0;border-radius:50%;width:30px;height:30px;background:#fff;color:#222;font-size:25px;cursor:pointer}.chat-image{cursor:zoom-in}.image-message button{margin:4px;padding:5px 8px;border-radius:7px;border:1px solid #acd0ef;color:inherit;background:transparent}#adminConnection input[type=checkbox]{display:inline-block;width:16px;height:16px}

@media(max-width:760px),(hover:none) and (pointer:coarse) and (max-width:1400px){.channel-description-mobile-hide{display:none}}

.call-panel .call-videos{display:flex;flex-direction:column;gap:8px;max-height:56dvh;background:transparent;min-height:0}
.call-panel .call-videos video{position:static;display:block;width:100%;height:26dvh;min-height:90px;max-height:240px;object-fit:contain;background:#101b23;border:1px solid #ffffff30;border-radius:12px;box-sizing:border-box}
.call-panel.audio-call .call-videos{height:0;min-height:0}
.call-panel .call-controls{display:flex;justify-content:center;gap:14px;align-items:center}
.call-controls [data-call-camera],.call-controls [data-call-mic],.call-controls [data-call-end]{width:48px;height:48px;flex:0 0 48px;border-radius:50%;padding:13px;border:0;box-shadow:0 2px 6px #0002}
.call-controls svg{display:block;width:22px;height:22px}.call-controls [data-call-camera]{order:1;color:#222}.call-controls [data-call-end]{order:2;background:#ff3535;color:white}.call-controls [data-call-mic]{order:3;color:#222}.call-controls [data-call-hide],.call-controls [data-call-play],.call-controls [data-call-reject-all]{order:4}.call-controls button[aria-pressed=true]{background:#dce2e6}.call-duration{font-variant-numeric:tabular-nums;font-size:16px;font-weight:600}.call-duration[hidden]{display:none}

.channel-list-copy{display:flex;flex:1;min-width:0;flex-direction:column;gap:3px}.channel-list-copy .channel-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.channel-topic-preview{font-size:11px;line-height:1.3;color:var(--cz-6883a2,#6883a2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}.channel-topic-preview:empty{display:none}
.call-panel.call-awaiting .call-videos{display:none}
.private-header-actions .friend-button{font-size:0!important;background-image:url("/images/simgeler/arkadas-ekle.png")!important;background-repeat:no-repeat!important;background-position:center!important;background-size:22px 22px!important}
.private-header-actions .friend-button.added{font-size:0!important;background-image:url("/images/simgeler/arkadas-cikar.png")!important;background-repeat:no-repeat!important;background-position:center!important;background-size:22px 22px!important}
.private-header-actions .block-button{font-size:0!important;background-image:url("/images/simgeler/engelle.png")!important;background-repeat:no-repeat!important;background-position:center!important;background-size:22px 22px!important}
html.unblock-icon-ready .private-header-actions .block-button.blocked{font-size:0!important;background-image:url("/images/simgeler/engel-kaldir.png")!important;background-repeat:no-repeat!important;background-position:center!important;background-size:22px 22px!important}
.private-header-actions .favorite-button{font-size:0!important;background-image:url("/images/simgeler/favori.png")!important;background-repeat:no-repeat!important;background-position:center!important;background-size:22px 22px!important}
.private-header-actions .favorite-button.is-favorite{font-size:0!important;background-image:url("/images/simgeler/favori-aktif.png")!important;background-repeat:no-repeat!important;background-position:center!important;background-size:22px 22px!important}
#audioCallButton{font-size:0!important;background-image:url("/images/simgeler/sesli-arama.png")!important;background-repeat:no-repeat!important;background-position:center!important;background-size:22px 22px!important}
#videoCallButton{font-size:0!important;background-image:url("/images/simgeler/goruntulu-arama.png")!important;background-repeat:no-repeat!important;background-position:center!important;background-size:22px 22px!important}
#nudgeButton{font-size:0!important;background-image:url("/images/simgeler/titresim.png")!important;background-repeat:no-repeat!important;background-position:center!important;background-size:22px 22px!important}
#channelHeadToggle{font-size:0!important;background-image:url("/images/simgeler/baslik-kapat.png")!important;background-repeat:no-repeat!important;background-position:center!important;background-size:22px 22px!important}
#channelHeadToggle[aria-expanded="false"]{font-size:0!important;background-image:url("/images/simgeler/baslik-ac.png")!important;background-repeat:no-repeat!important;background-position:center!important;background-size:22px 22px!important}
#voiceButton.has-custom-icon:not(.recording){font-size:0!important;background-image:url("/images/simgeler/mikrofon.png")!important;background-repeat:no-repeat!important;background-position:center!important;background-size:contain!important}
#imageButton.has-custom-icon{font-size:0!important;background-image:url("/images/simgeler/resim-gonder.png")!important;background-repeat:no-repeat!important;background-position:center!important;background-size:contain!important}
#voiceButton.has-custom-icon:not(.recording)>svg{visibility:hidden}

.private-header-actions button,#audioCallButton,#videoCallButton,#nudgeButton,#channelHeadToggle{border:0!important;box-shadow:none!important;background-color:transparent!important;border-radius:0!important}
#imageButton,#voiceButton{box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;align-self:center;width:34px;min-width:34px;height:34px;flex:0 0 34px;padding:0;border:0;background-color:transparent;background-image:none;font-size:25px;line-height:1;box-shadow:none}
#voiceButton svg{width:29px;height:29px}
#imageButton:not(.has-custom-icon),#voiceButton:not(.has-custom-icon){background-image:none!important}
@media(max-width:760px),(hover:none) and (pointer:coarse) and (max-width:1400px){#imageButton,#voiceButton{min-width:32px;width:32px;height:34px;flex-basis:32px}}
#voiceButton.recording{background-color:#ffe1e8;color:#ce2949}

#imageButton.has-custom-icon{background-size:24px 24px!important}

.admin-clear-channel,.chat-panel>.private-floating-clear{width:29px;min-width:29px;height:29px;padding:0!important;font-size:0!important;background-image:url('/images/simgeler/temizle.png')!important;background-position:center!important;background-repeat:no-repeat!important;background-size:22px 22px!important}
.admin-clear-channel:before,.private-floating-clear:before,.channel-head .chat-head-actions .admin-clear-channel:before{content:none!important}

.admin-clear-channel,.chat-panel>.private-floating-clear{border:0!important;box-shadow:none!important;background-color:transparent!important;border-radius:0!important;background-size:contain!important;display:inline-flex;align-items:center;justify-content:center}
.admin-clear-channel:not(.clear-icon-ready){background-image:none!important}.admin-clear-channel.clear-icon-ready>svg{visibility:hidden}
#ircAccountForm label{display:flex;flex-direction:column;gap:6px;margin:10px 0}#ircAccountForm input{box-sizing:border-box;width:100%;min-height:38px;border:1px solid var(--cz-acd1ef,#acd1ef);border-radius:8px;background:var(--cz-f4fbff,#f4fbff);color:inherit;padding:8px 10px;font:inherit}
#socialDialog .account-result,.nick-auth-dialog .nick-auth-error{color:#8b542f;font-size:13px;line-height:1.5;white-space:pre-wrap;overflow-wrap:anywhere;margin:8px 0}

/* Kanal başlığı ve hedefe açılan bildirimler */
#socialToast.clickable{cursor:pointer;text-decoration:underline;text-underline-offset:3px}#socialToast.clickable:focus-visible{outline:2px solid #167adc;outline-offset:3px}
.channel-room-icon{display:inline-flex;margin-left:6px;font-size:15px;vertical-align:middle}
#channelHeadToggle{position:absolute;right:7px;top:10px;width:24px;height:26px;padding:0;border:0!important;box-shadow:none!important;background:transparent url('/images/simgeler/baslik-kapat.png') center/20px 20px no-repeat!important;cursor:pointer}
#channelHeadToggle[aria-expanded=false]{background-image:url('/images/simgeler/baslik-ac.png')!important}#channelHeadToggle[hidden]{display:none!important}
.channel-head.collapsed{min-height:36px!important;height:36px;padding-top:0!important;padding-bottom:0!important}.channel-head.collapsed>:not(#channelHeadToggle){display:none!important}.channel-head.collapsed #channelHeadToggle{top:5px}

/* Profil PNG simgeleri, gönderim seçimi ve özel başlık hizası */
.profile-action-icon{width:22px!important;height:22px!important;object-fit:contain;flex:0 0 22px;vertical-align:middle}
.profile-actions button,.profile-shun{display:inline-flex;align-items:center;justify-content:center;gap:5px}.profile-actions .profile-action-icon{max-width:22px}
.profile-moderation{display:flex;flex-wrap:wrap;gap:7px;margin-top:12px;padding-top:10px;border-top:1px solid #c4d9f0}.profile-moderation button{display:inline-flex;align-items:center;gap:5px;padding:6px 8px;border:1px solid #bbd6ef;border-radius:9px;background:transparent;color:inherit;font-size:12px}
#userCardContext{font-size:14px;margin:0 26px 12px 0;text-align:left}#userCard .profile-moderation{max-height:140px;overflow:auto}#userCard{max-height:90dvh;overflow:auto}
.image-send-preview{display:flex;gap:8px;align-items:center;padding:8px 10px;flex-wrap:wrap}.image-send-preview[hidden]{display:none}.image-send-preview span{flex:1;min-width:100px;overflow-wrap:anywhere;font-size:13px}.image-send-preview button{padding:6px 12px;border:1px solid #b2d1ef;border-radius:9px;background:#f4faff;color:#155ba0}
.channel-head:has(.private-header-actions:not([hidden])){padding-right:7px!important}.channel-head:has(.private-header-actions:not([hidden])) .chat-head-actions{margin-left:auto!important;margin-right:0!important}

/* Kanal ve özel sohbet baloncukları */
html:is([data-message-style="modern"],[data-message-style="standard"]) #messages .message{display:flex;justify-content:flex-start;align-items:flex-end;gap:7px;padding:3px 0;margin:5px 0;width:100%}
html:is([data-message-style="modern"],[data-message-style="standard"]) #messages .message.self{flex-direction:row;justify-content:flex-end}
html:is([data-message-style="modern"],[data-message-style="standard"]) #messages .message.self .message-avatar{display:none!important}
html:is([data-message-style="modern"],[data-message-style="standard"]) #messages .message-avatar{align-self:flex-end;width:27px!important;height:27px!important;flex:0 0 27px!important;border:0;background:transparent;box-shadow:none}
html:is([data-message-style="modern"],[data-message-style="standard"]) #messages .message .message-body{width:fit-content;min-width:0;max-width:min(78%,560px);padding:7px 12px 6px;border:0!important;border-radius:18px 18px 18px 4px;background:var(--cz-d5eaff,#dce7ff)!important;color:var(--cz-08285d,#213750);box-shadow:none}
html:is([data-message-style="modern"],[data-message-style="standard"]) #messages .message.self .message-body{background:color-mix(in srgb,var(--cz-0758bd,#086bdd) 85%,#000 15%)!important;color:#fff;border-radius:18px 18px 4px 18px;border:0!important}
html:is([data-message-style="modern"],[data-message-style="standard"]) #messages .message .message-text{margin:2px 0 0;line-height:1.45;overflow-wrap:anywhere;white-space:pre-wrap}
html[data-message-style="modern"] #messages .message.self .message-text,html[data-message-style="modern"] #messages .message.self .message-name{color:#fff!important}
html:is([data-message-style="modern"],[data-message-style="standard"]) #messages .message .message-body>div:first-child{display:flex;align-items:baseline;justify-content:space-between;gap:14px}
html:is([data-message-style="modern"],[data-message-style="standard"]) #messages .message .message-name{font-size:11px;line-height:1.3;color:var(--cz-0756b9,#254a7b)}
html:is([data-message-style="modern"],[data-message-style="standard"]) #messages .message .message-time{position:static;margin:0 0 0 auto;font-size:9px;line-height:1.2;white-space:nowrap;color:var(--cz-6684a9,#667d99)}
html:is([data-message-style="modern"],[data-message-style="standard"]) #messages .message.self .message-name{display:inline}
html:is([data-message-style="modern"],[data-message-style="standard"]) #messages .message.self .message-time{color:#ffffffd9}
html:is([data-message-style="modern"],[data-message-style="standard"]) #messages .message.self .quoted-message{color:#fff;border-left-color:#ffffffb3;background:#ffffff20}
html:is([data-message-style="modern"],[data-message-style="standard"]) #messages .message.self .quoted-message *{color:inherit}
html:is([data-message-style="modern"],[data-message-style="standard"]) #messages .message.self .moderated-media>small{color:#fff}
html:is([data-message-style="modern"],[data-message-style="standard"]) #messages .message.self .message-receipt{color:#bcc9d7}html:is([data-message-style="modern"],[data-message-style="standard"]) #messages .message.self .message-receipt.is-read{color:#66e4ff}
/* Topic kanal adıyla aynı satırda */
.channel-head>div:has(>.channel-title-row){flex:1;min-width:0}.channel-title-row{display:flex;align-items:baseline;gap:14px;min-width:0;width:100%}
.channel-title-row #activeChannel{flex:0 1 auto;min-width:0;max-width:45%}.channel-title-row #headerTopic{flex:1;min-width:0;text-align:right;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:12px;font-weight:400;color:inherit}
.channel-title-row #headerTopic[hidden]{display:none}.private-chat .channel-title-row #activeChannel{max-width:100%}
/* Kapalı başlık yer kaplamaz; açma simgesi sohbet üzerinde kalır. */
.channel-head.collapsed{height:0!important;min-height:0!important;max-height:0!important;padding:0!important;margin:0!important;border:0!important;background:transparent!important;overflow:visible!important;z-index:5}
.channel-head.collapsed #channelHeadToggle{top:5px!important;right:7px;z-index:6}
@media(max-width:480px){html:is([data-message-style="modern"],[data-message-style="standard"]) #messages .message .message-body{max-width:84%;padding:6px 10px}.channel-title-row{gap:8px}.channel-title-row #headerTopic{font-size:11px}}

.room-announcement-link{display:block;width:100%;padding:10px 12px;text-align:center;border:1px solid var(--cz-a7cdf2,#a7cdf2);border-radius:12px;background:var(--cz-d5eaff,#d5eaff);color:var(--cz-0758bd,#0758bd);font:inherit;font-weight:600;cursor:pointer}

/* Üst topic yalnız mobilde; masaüstünde sağ bilgi paneli kullanılır. */
@media(min-width:761px) and (hover:hover),(min-width:761px) and (pointer:fine),(min-width:1401px){.channel-title-row #headerTopic{display:none!important}.channel-title-row #activeChannel{max-width:100%}}
@media(max-width:760px),(hover:none) and (pointer:coarse) and (max-width:1400px){.channel-title-row{align-items:flex-start}.channel-title-row #activeChannel{max-width:38%}.channel-title-row #headerTopic:not([hidden]){display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;white-space:normal;line-height:1.4;text-align:left;overflow-wrap:anywhere;max-height:4.2em}.channel-title-row #headerTopic[hidden]{display:none}}

.google-login{display:flex;justify-content:center;margin-top:12px;min-height:40px}.google-login[hidden]{display:none!important}
@media(max-width:760px),(hover:none) and (pointer:coarse) and (max-width:1400px){.channel-head:not(:has(.private-header-actions:not([hidden]))):not(.collapsed){padding-right:var(--channel-actions-space,78px)!important}.channel-title-row{align-items:baseline}.channel-title-row #headerTopic:not([hidden]){display:block;white-space:nowrap;-webkit-line-clamp:unset;max-height:none;line-height:1.4;text-overflow:ellipsis;overflow:hidden}.channel-title-row #activeChannel{flex-shrink:0;max-width:45%}}

.login-privacy-link{display:block;margin:12px auto 0;text-align:center;font-size:12px;color:var(--cz-0758bd,#0758bd);text-underline-offset:3px}

/* Keyboard login: retain every field and the MSN logo in the visible area. */
@media(max-width:760px),(hover:none) and (pointer:coarse) and (max-width:1400px){
 html.login-keyboard-open body.login-mode #loginScreen{height:var(--login-visible-height);padding:6px 12px;grid-template-rows:minmax(0,1fr)}
 html.login-keyboard-open body.login-mode .login-card{padding:0 12px;margin:auto;transform:scale(var(--login-card-scale,1));transform-origin:center center}
 html.login-keyboard-open body.login-mode .login-avatar{display:grid;height:44px;margin:0}
 html.login-keyboard-open body.login-mode .login-avatar :is(img,svg){height:44px;width:auto;max-height:44px;max-width:70px;transform:none}
 html.login-keyboard-open body.login-mode .login-card h1{font-size:22px;line-height:25px;margin:0}
 html.login-keyboard-open body.login-mode .login-community{font-size:11px;line-height:14px}
 html.login-keyboard-open body.login-mode .login-card p{display:block;font-size:12px;line-height:14px;margin:3px 0 5px}
 html.login-keyboard-open body.login-mode .login-label{font-size:11px;line-height:13px;margin:3px 0}
 html.login-keyboard-open body.login-mode .login-card input{height:36px;font-size:16px}
 html.login-keyboard-open body.login-mode #loginButton{height:36px;margin-top:6px}
 html.login-keyboard-open body.login-mode .login-privacy-link{display:block;font-size:11px;line-height:14px;margin:4px 0}
 html.login-keyboard-open body.login-mode .login-error{min-height:0;margin:2px 0;font-size:11px}
 html.login-keyboard-open body.login-mode .login-footer{font-size:10px;line-height:12px;margin-top:3px}
 html.login-keyboard-open body.login-mode .login-orbs{margin-top:4px;gap:5px}
 html.login-keyboard-open body.login-mode .login-orbs i{width:7px;height:7px}
}

/* Profile hero uses the same framed size for photos and built-in avatars. */
#socialDialog .social-profile-hero .social-avatar{width:80px!important;height:80px!important;min-width:80px;padding:3px;border:2px solid var(--cz-2786ec,#2786ec);border-radius:14px;background:var(--cz-e2f1ff,#e2f1ff);box-shadow:0 2px 7px #0002}
#socialDialog .social-profile-hero .social-avatar img{display:block;width:100%!important;height:100%!important;max-width:none;max-height:none;object-fit:cover;border:0;border-radius:9px}
#socialDialog .social-profile-hero .social-profile-photo{display:inline-flex;align-items:center;justify-content:center;width:auto;min-width:0;height:auto;margin:0;padding:0;border:0;background:transparent;box-shadow:none;cursor:zoom-in}
#socialDialog .social-profile-photo:focus-visible{outline:2px solid var(--cz-2786ec,#2786ec);outline-offset:3px;border-radius:14px}
#socialPhotoSend{display:block;width:100%;margin-top:8px}
#socialPhotoSend:disabled{opacity:.55;cursor:default}

/* Readable pending media status and compact interval settings. */
html body #app .message .moderated-media .media-pending-status,
html body #app .moderated-media .media-pending-status{color:#000!important;-webkit-text-fill-color:#000!important;text-shadow:none!important}
#adminSendIntervals{display:grid;gap:12px}#adminSendIntervals label{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0}#adminSendIntervals select{width:145px;max-width:55%;padding:8px;border:1px solid #a9c9ec;border-radius:8px} 

#socialToast.command-feedback{background:var(--toast-accent,#173f73)!important;color:#fff!important}
/* Operatör komut sonucu: başarılı yeşil, başarısız kırmızı bar. */
#socialToast.command-success{background:#1e8e3e!important;color:#fff!important;border-color:#166d2f!important}
#socialToast.command-error{background:#c5221f!important;color:#fff!important;border-color:#962019!important}
/* Status penceresi aç/kapa düğmesi (ortada). */
.status-toggle-row{display:flex;justify-content:center;padding:10px 8px 4px}
.status-toggle-row button{appearance:none;border:1px solid var(--toast-accent,#2d558d);background:var(--toast-accent,#2d558d);color:#fff;border-radius:999px;padding:7px 16px;font:600 12.5px/1 "Segoe UI",Arial,sans-serif;cursor:pointer;box-shadow:0 2px 8px rgba(10,30,60,.25);transition:background .15s,opacity .15s}
.status-toggle-row button.is-muted{background:#8794a5!important;border-color:#6d7a8b!important;opacity:.92}
.status-toggle-row button:hover{opacity:.88}
.admin-shun-scope{display:inline-block;font-size:10px;font-weight:700;margin-left:6px;padding:1px 6px;border-radius:999px;background:#e4ecf7;color:#2d558d;vertical-align:middle}
/* Modern mobil üst bar özel mesaj bildirim ikonu (kırmızı sayı rozetli). Yalnız modern mobilde görünür. */
#modernPrivateBell{display:none}
#modernPrivateBell svg{width:22px;height:22px;display:block}
#modernPrivateBell .md-private-badge[hidden]{display:none!important}
#modernPrivateBell .md-private-badge{position:absolute;top:-3px;right:-9px;min-width:16px;height:16px;padding:0 4px;border-radius:999px;background:#e5342a;color:#fff;font:700 10px/16px Arial;text-align:center;box-shadow:0 0 0 2px #fff;box-sizing:border-box}
html.modern-demo[data-applet-choice="modern"] body #app#app .channel-head>#modernPrivateBell:not([hidden]){position:absolute!important;left:var(--bell-x,calc(75% - 30px))!important;top:50%!important;transform:translate(-50%,-50%)!important;display:flex!important;align-items:center!important;justify-content:center!important;width:34px!important;height:34px!important;padding:0!important;margin:0!important;border:0!important;background:transparent!important;color:#fff!important;cursor:pointer;z-index:3;overflow:visible!important}
html.modern-demo[data-applet-choice="modern"] body #app#app #modernIdentity :is(strong,small){display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
html body #app #modernPrivateBell[hidden],html body #modernPrivateBell[hidden]{display:none!important}
@media(min-width:761px) and (hover:hover),(min-width:761px) and (pointer:fine),(min-width:1401px){#modernPrivateBell{display:none!important}}

/* Shared admin/operator actions and grouped permission controls. */
html body .applet-admin-dialog button{background:var(--cz-1974da,#1974da)!important;color:#fff!important;border:1px solid var(--cz-0758bd,#0758bd)!important;border-radius:8px;box-shadow:0 2px 4px #173f731c}
html body .applet-admin-dialog button[data-action-color="success"]{background:var(--cz-1974da,#1974da)!important;border-color:var(--cz-0758bd,#0758bd)!important}
html body .applet-admin-dialog button[data-action-color="danger"]{background:var(--cz-1974da,#1974da)!important;border-color:var(--cz-0758bd,#0758bd)!important}
html body .applet-admin-dialog button[data-action-color="send"]{background:var(--cz-1974da,#1974da)!important;border-color:var(--cz-0758bd,#0758bd)!important}
html body .applet-admin-dialog button:hover:not(:disabled){filter:brightness(1.1)}
html body .applet-admin-dialog button:disabled{opacity:.5;cursor:not-allowed}
html body .applet-admin-dialog button:focus-visible{outline:3px solid #85baff;outline-offset:2px}
.applet-admin-dialog .admin-permission-group{margin-top:16px;padding:14px;border:1px solid #aacbea;border-radius:12px;background:#ffffff66}
.applet-admin-dialog .admin-permission-group h3{margin:0 0 8px;font-size:15px}
.applet-admin-dialog .admin-permission-group p{font-size:12px;line-height:1.5}
#adminCallDurations{display:grid;gap:12px}#adminCallDurations label{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0}#adminCallDurations select{width:145px;max-width:55%;padding:8px;border:1px solid #a9c9ec;border-radius:8px}
#adminAnnouncement input[name="name"]{box-sizing:border-box;width:100%;margin-top:6px;padding:9px;border:1px solid #a9c9ec;border-radius:8px}

.call-duration{white-space:nowrap;font-variant-numeric:tabular-nums;flex-shrink:0}

html body #app .admin-announcement-message .announcement-sender{color:#d71920!important;-webkit-text-fill-color:#d71920!important}

#youtubeSendForm{display:grid;gap:12px;min-width:0}
#youtubeSendForm label{margin:0!important}
#socialDialog #youtubeSendForm textarea{width:100%;min-height:64px;max-height:130px;resize:vertical;box-sizing:border-box;background:#fff;color:#17365d;border:1px solid #9fc2e8;border-radius:10px;padding:10px;font:16px/1.4 Arial,sans-serif;-webkit-text-security:none}
#youtubeSendForm .youtube-send-preview{width:100%;max-width:320px;aspect-ratio:16/9;justify-self:center;border-radius:10px;overflow:hidden;background:#101923}
#youtubeSendForm iframe{display:block;width:100%;height:100%;border:0}
#youtubeSendForm [role=status]{margin:0;font-size:12px;color:#a12736}
#youtubeSendForm [role=status]:empty{display:none}
#youtubeSendForm .youtube-send-actions{display:flex;justify-content:flex-end;gap:8px}
#socialDialog #youtubeSendForm button{color:#fff;border:0;padding:9px 14px;border-radius:8px;font-weight:600;background:var(--cz-1974da,#1974da)}
#socialDialog #youtubeSendForm [type=submit]{background:var(--cz-1974da,#1974da)}
#socialDialog #youtubeSendForm [data-youtube-cancel]{background:var(--cz-1974da,#1974da)}
#socialDialog #youtubeSendForm button:hover:not(:disabled){filter:brightness(1.08)}
#socialDialog #youtubeSendForm button:focus-visible{outline:2px solid #78b7f5;outline-offset:3px}

/* Consistent account dialog actions. */
html body :is(.nick-auth-dialog,.nick-result-dialog) button,
html body #socialDialog :is(#ircAccountForm,#operatorLoginForm) button{border:1px solid var(--cz-0758bd,#0758bd)!important;border-radius:8px!important;background:var(--cz-1974da,#1974da)!important;color:#fff!important;padding:9px 13px;cursor:pointer}
html body #socialDialog form button[type="submit"]{background:var(--cz-1974da,#1974da)!important;border-color:var(--cz-0758bd,#0758bd)!important;color:#fff!important}
html body :is(.nick-auth-dialog,.nick-result-dialog) :is([data-nick-cancel],[data-nick-result-close]),
html body #socialDialog [data-social-close],
html body .applet-admin-dialog :is([data-admin-close],[data-media-close]),
html body .media-image-dialog>button{background:var(--cz-1974da,#1974da)!important;border:1px solid var(--cz-0758bd,#0758bd)!important;color:#fff!important;border-radius:8px!important}
html body :is(.nick-auth-dialog,.nick-result-dialog,.applet-admin-dialog) button:disabled{opacity:.5;cursor:not-allowed}

html body #messages .message .quoted-message{color:#26352e!important;background:#edf4f8!important;border-left-color:#5386a6!important}html body #messages .message .quoted-message :is(b,span){color:inherit!important}html.modern-demo body #messages .message .quoted-message{background:var(--md-e5f3ed,#e5f3ed)!important;border-left-color:var(--md-00866c,#00866c)!important;color:#26352e!important}
/* Resim gönderme penceresi: tüm temalar (modern tema kendi renkleriyle üzerine yazar) */
.modern-image-confirm{width:min(380px,calc(100vw - 28px));box-sizing:border-box;padding:16px;border:1px solid #c4d9ef;border-radius:16px;background:#fff;color:#1d3a5a;box-shadow:0 14px 44px rgba(10,40,80,.28)}
.modern-image-confirm::backdrop{background:rgba(8,24,44,.45)}
.modern-image-confirm header{font:600 15px Arial,sans-serif;margin-bottom:12px}
.modern-image-confirm>img{display:block;width:100%;max-height:min(340px,55vh);object-fit:contain;border-radius:10px;background:#eef5fc}
.modern-image-confirm .image-send-preview{display:flex!important;flex-wrap:wrap;gap:8px;padding:12px 0 0;background:transparent;border:0;margin:0;position:static}
.modern-image-confirm .image-send-preview>span{width:100%;flex:none;font:12px Arial,sans-serif;color:#5b708a;overflow-wrap:anywhere;margin-bottom:4px}
.modern-image-confirm .image-send-preview button{flex:1;min-height:40px;border:1px solid #1f6fd1;border-radius:9px;padding:9px 12px;background:#1f6fd1;color:#fff;font:600 14px Arial,sans-serif;cursor:pointer}
.modern-image-confirm .image-send-preview [data-image-cancel]{background:#eef4fb;color:#244a72;border-color:#c4d6ea}
.modern-image-confirm .image-send-preview button:disabled{opacity:.6;cursor:default}
/* ── Sesli mesaj kaydı (WhatsApp tarzı) ─────────────────────────────────────────
   Kayıt çubuğu mesaj satırının üstüne bindirilir; satır ve gönder düğmesi yerinden oynamaz. */
/* Yalnız kayıt sürerken satır konum kutusu olur; aksi halde Tab gibi mutlak konumlu düğmeler yer değiştirir. */
html body #app .composer-row.vr-active{position:relative}
html body #app .composer-row.vr-active #nickTabButton{visibility:hidden}
html body #app .composer-row>.voice-recording{position:absolute!important;inset:0!important;z-index:40;display:flex;align-items:center;gap:6px;margin:0!important;padding:0 6px!important;box-sizing:border-box;border-radius:inherit;min-height:0;
 background:var(--vr-bg,#fff);color:#3b4a5a;box-shadow:0 0 0 1px rgba(30,60,100,.12) inset;font:13px/1.2 Arial,sans-serif;animation:vr-in .16s ease-out}
html body #app .composer-row>.voice-recording[hidden]{display:none!important}
@keyframes vr-in{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
html body #app .composer-row>.voice-recording .vr-main{flex:1;min-width:0;display:flex;align-items:center;gap:8px;height:100%;transform:translateX(calc(-1 * var(--vr-slide,0px)));transition:transform .08s linear}
html body #app .composer-row>.voice-recording .vr-dot{flex:none;width:10px;height:10px;border-radius:50%;background:#e5383b;box-shadow:0 0 0 calc(var(--vr-level,0) * 7px) rgba(229,56,59,.22);animation:vr-blink 1s steps(2,jump-none) infinite}
html body #app .composer-row>.voice-recording.vr-review .vr-dot{animation:none;background:#8a98a8;box-shadow:none}
@keyframes vr-blink{50%{opacity:.25}}
html body #app .composer-row>.voice-recording .vr-time{flex:none;min-width:34px;font:600 14px/1 Arial,sans-serif;font-variant-numeric:tabular-nums;color:#1f2d3a}
html body #app .composer-row>.voice-recording .vr-wave{flex:1;min-width:30px;height:26px;color:#1aa260;opacity:.95}
html body #app .composer-row>.voice-recording.vr-review .vr-wave{color:#8a98a8}
html body #app .composer-row>.voice-recording .vr-hint{display:none;flex:none;color:#7b8794;font-size:12px;white-space:nowrap;animation:vr-nudge 1.4s ease-in-out infinite}
html body #app .composer-row>.voice-recording.vr-hold .vr-hint{display:inline}
html body #app .composer-row>.voice-recording.vr-cancelling .vr-hint{color:#e5383b;font-weight:600}
@keyframes vr-nudge{50%{transform:translateX(-5px)}}
html body #app .composer-row>.voice-recording .vr-status{display:none;flex:none;max-width:45%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#5b6b7b;font-size:12px}
html body #app .composer-row>.voice-recording.vr-review .vr-status{display:inline}
html body #app .composer-row>.voice-recording.vr-review .vr-wave{flex:0 1 90px}
/* Düğmeler: çöp kutusu (iptal), durdur, gönder */
html body #app .composer-row>.voice-recording button{flex:0 0 36px;width:36px;height:36px;padding:7px;border:0!important;border-radius:50%!important;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:none!important}
html body #app .composer-row>.voice-recording button[hidden]{display:none!important}
html body #app .composer-row>.voice-recording [data-voice-cancel]{background:transparent!important;color:#8a98a8!important}
html body #app .composer-row>.voice-recording [data-voice-cancel]:hover{color:#e5383b!important}
html body #app .composer-row>.voice-recording [data-voice-stop]{background:#fdecec!important;color:#e5383b!important}
html body #app .composer-row>.voice-recording [data-voice-send]{background:#1aa260!important;color:#fff!important;animation:vr-pop .2s ease-out}
@keyframes vr-pop{from{transform:scale(.6)}to{transform:scale(1)}}
html body #app .composer-row>.voice-recording button svg{width:20px;height:20px}
/* Mikrofon düğmesi kayıttayken: kırmızı ve sesle büyüyen halka */
html body #app#app#app#app #voiceButton.recording.recording,html body #voiceButton.recording{color:#fff!important;background:#e5383b!important;background-image:none!important;border-radius:50%!important;box-shadow:0 0 0 calc(4px + var(--vr-level,0) * 12px) rgba(229,56,59,.25)!important;transform:scale(calc(1.08 + var(--vr-level,0) * .18));transition:box-shadow .08s linear,transform .08s linear;position:relative;z-index:41}
html body #app#app#app#app #voiceButton.recording.recording :is(svg,img),html body #voiceButton.recording :is(svg,img){filter:brightness(0) invert(1)}
/* Basılı tutma modunda: bırakmak = durdur. Mikrofon sağda üstte kalır, ona yer açılır. */
html body #app .composer-row>.voice-recording.vr-hold{padding-right:58px!important}
html body #app .composer-row>.voice-recording.vr-hold [data-voice-stop]{display:none!important}
/* Onay aşamasında çubuk her şeyin üstünde: Gönder / İptal düğmeleri örtülmez */
html body #app .composer-row>.voice-recording.vr-review{z-index:60!important}
@media (prefers-reduced-motion:reduce){html body #app .composer-row>.voice-recording,html body #app .composer-row>.voice-recording *{animation:none!important}html body #voiceButton.recording{transform:none}}
/* "Yazıyor" katmanı: mesaj alanının sol altında, şeffaf yan yana kutucuklar; hiçbir şeyi kaydırmaz. */
html body .typing-line.typing-overlay{position:fixed!important;z-index:45;display:flex;flex-wrap:nowrap;gap:5px;margin:0!important;padding:0!important;overflow:hidden;pointer-events:none;font:600 10px/1.15 Arial,sans-serif;background:none!important;border:0!important}
html body .typing-line.typing-overlay[hidden]{display:none!important}
html body .typing-line.typing-overlay>span{flex:none;display:inline-flex;align-items:center;gap:4px;max-width:140px;padding:2px 6px;border-radius:6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#fff;background:rgba(40,52,64,.38);background:color-mix(in srgb,var(--typing-accent,#283440) 58%,transparent);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);text-shadow:0 1px 1px rgba(0,0,0,.25);letter-spacing:.2px}
html body .typing-line.typing-overlay>span>i{font-style:normal;letter-spacing:1px;opacity:.95;animation:typing-pulse 1s infinite alternate}
@media (prefers-reduced-motion:reduce){html body .typing-line.typing-overlay>span>i{animation:none}}
/* "Yazıyor" kutucukları için mesaj alanının altında SABİT boşluk: kutucuk çıkıp kaybolurken içerik kaymaz,
   son mesaj kutucukların altında kalmaz. */
/* "Yazıyor" kutucukları için alt boşluk yalnız PC'de: orada katman mesajların altında durur.
   Mobilde kutucuklar Tab satırında olduğu için mesaj alanı boşluk ayırmaz, son mesaj aşağı iner. */
@media(min-width:761px) and (hover:hover),(min-width:761px) and (pointer:fine),(min-width:1401px){html body #app#app#app#app #messages{padding-bottom:21px!important;scroll-padding-bottom:21px}}
@media(max-width:760px),(hover:none) and (pointer:coarse) and (max-width:1400px){html[data-applet-choice="classic"] body #app#app#app#app #messages{padding-bottom:18px!important;scroll-padding-bottom:18px}}
/* Duyuru saati: kanal mesajlarındaki gibi satırın sağ üstünde, küçük ve soluk */
html body #app #messages .admin-announcement-message{position:relative!important;padding-right:48px!important;padding-top:15px!important}
html body #app #messages .admin-announcement-message>.announcement-time{position:absolute;top:5px;right:9px;font:400 10px/13px Arial,sans-serif;color:#8a97a6;-webkit-text-fill-color:#8a97a6;letter-spacing:.2px;pointer-events:none}
.ask-appearance-warning{margin:4px 0 8px;padding:7px 10px;border-radius:8px;border:1px solid #f0c36d;background:#fff6e0;color:#7a4b00;font-size:12px;line-height:1.35}
.ask-appearance-warning[hidden]{display:none}
/* mIRC tarzı ban penceresi */
.ban-window{width:min(560px,calc(100vw - 24px));max-width:560px;padding:0;border:1px solid #6a7f99;border-radius:6px;background:#eef1f5;color:#1c2733;box-shadow:0 14px 48px rgba(10,30,60,.4);overflow:hidden;font:13px/1.4 "Segoe UI",Arial,sans-serif}
.ban-window::backdrop{background:rgba(10,24,44,.45)}
.ban-window .ban-titlebar{display:flex;align-items:center;justify-content:space-between;padding:6px 10px;background:var(--op-accent,#2d558d);color:#fff;font-weight:700}
.ban-window .ban-close{border:0;background:rgba(255,255,255,.18);color:#fff;width:22px;height:22px;border-radius:4px;cursor:pointer;font-size:15px;line-height:1}
.ban-window .ban-head{display:grid;grid-template-columns:1fr 100px 104px 64px;gap:6px;padding:6px 10px;background:#dde3ec;border-bottom:1px solid #c2ccd9;font-size:11px;font-weight:700;color:#4a5a6e}
.ban-window .ban-list{max-height:min(60vh,360px);overflow:auto;background:#fff;margin:0}
.ban-window .ban-row{display:grid;grid-template-columns:1fr 100px 104px 64px;gap:6px;align-items:center;padding:5px 10px;border-bottom:1px solid #eef1f5;font-size:12px}
.ban-window .ban-row:nth-child(even){background:#f6f9fc}
.ban-window .ban-mask{font-family:"Consolas","Courier New",monospace;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#9a2617}
.ban-window .ban-by,.ban-window .ban-at{color:#5a6b7e;font-size:11px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ban-window .ban-remove{border:1px solid #c98b8b;background:#fdecec;color:#b02a2a;border-radius:5px;padding:3px 6px;font-size:11px;cursor:pointer}
.ban-window .ban-remove:hover{background:#f6d6d6}
.ban-window .ban-remove:disabled{opacity:.5;cursor:default}
.ban-window .ban-empty{padding:18px;text-align:center;color:#6a7889;margin:0}
.ban-window .ban-foot{display:flex;justify-content:flex-end;gap:8px;padding:8px 10px;background:#dde3ec;border-top:1px solid #c2ccd9}
.ban-window .ban-foot button{border:1px solid #9fb2c9;background:#f3f6fa;color:#24405f;border-radius:6px;padding:5px 14px;font-size:12px;cursor:pointer}
.ban-window .ban-foot .ban-done{background:var(--op-accent,#2d558d);border-color:var(--op-accent,#2d558d);color:#fff}
@media(max-width:760px),(hover:none) and (pointer:coarse) and (max-width:1400px){.ban-window .ban-head,.ban-window .ban-row{grid-template-columns:1fr 70px 58px}.ban-window .ban-head span:nth-child(3),.ban-window .ban-at{display:none}.ban-window .ban-head span:nth-child(4){display:block}}
/* App Shun penceresi ban penceresini temel alır; yalnız kapsam etiketini ekler. */
.ban-window.shun-window .ban-head,.ban-window.shun-window .ban-row{grid-template-columns:1fr 120px 64px}
.ban-window .shun-scope{display:inline-block;font-size:10.5px;font-weight:700;padding:2px 7px;border-radius:999px;background:#e4ecf7;color:#2d558d}
.ban-window .shun-scope[data-scope="channels"]{background:#e3f3e7;color:#1e7a37}
.ban-window .shun-scope[data-scope="privates"]{background:#fdeede;color:#9a5b14}
@media(max-width:760px),(hover:none) and (pointer:coarse) and (max-width:1400px){.ban-window.shun-window .ban-head,.ban-window.shun-window .ban-row{grid-template-columns:1fr 92px 56px}}
/* Rütbeli ama kendi avatarını seçmiş kullanıcının mesaj avatarı: rütbe ikonu dolgusu olmadan tam avatar. */
html body #app#app#app#app #messages .rank-message.rank-chosen-avatar .message-avatar{padding:0!important;background:none!important}
html body #app#app#app#app #messages .rank-message.rank-chosen-avatar .message-avatar>.social-avatar{width:100%!important;height:100%!important}
/* Profil: applet shun satırı (kapsam seçimi + düğme). */
.profile-shun-row{display:flex;gap:8px;align-items:center;justify-content:center;flex-wrap:wrap;margin-top:12px}
.profile-shun-row .profile-shun-scope{width:auto!important;display:inline-block!important;margin:0!important;padding:7px 9px!important;border-radius:9px;font-size:13px}
.profile-shun-row .profile-shun{margin:0!important}
/* Yeni özel mesajda yalnız kırmızı sayı rozetleri yanıp söner (PC + mobil, tüm görünümler). */
@keyframes private-badge-blink{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.2;transform:scale(1.22)}}
html.private-badge-blink :is(#modernPrivateBell .md-private-badge,.private-unread,.mobile-nav button[data-mobile="friends"] .mobile-nav-badge,.md-private-list .md-channel em b,.reference-private-row .reference-private-bottom i,.pc-navigation button[data-pc-view="friends"]>b,#modernDemoTabs [data-md-tab="friends"]>b){animation:private-badge-blink .7s ease-in-out 4!important;will-change:opacity,transform}
@media(prefers-reduced-motion:reduce){html.private-badge-blink :is(#modernPrivateBell .md-private-badge,.private-unread,.mobile-nav button[data-mobile="friends"] .mobile-nav-badge,.md-private-list .md-channel em b,.reference-private-row .reference-private-bottom i,.pc-navigation button[data-pc-view="friends"]>b,#modernDemoTabs [data-md-tab="friends"]>b){animation:private-badge-blink 1.4s ease-in-out 2!important}}
/* WHOIS kartı — tüm yüzeyler aktif tema renginden (--op-accent) türetilir; siyah/gece temasında koyu mod. Mobilde kompakt. */
.whois-card{--a:var(--op-accent,#2d558d);--wc-text:#1d2a3a;--wc-muted:#66768a;--wc-body:color-mix(in srgb,var(--a) 7%,#fff);--wc-surface:#fff;--wc-border:color-mix(in srgb,var(--a) 22%,#e3e9f1);--wc-soft:color-mix(in srgb,var(--a) 11%,#fff);--wc-title:color-mix(in srgb,var(--a) 82%,#000);--wc-mix:#fff;--wc-ink:#000}
.whois-card.whois-dark{--wc-text:#e7edf5;--wc-muted:#9aa8b8;--wc-body:color-mix(in srgb,var(--a) 10%,#14171b);--wc-surface:color-mix(in srgb,var(--a) 6%,#1d2127);--wc-border:color-mix(in srgb,var(--a) 30%,#2c3239);--wc-soft:color-mix(in srgb,var(--a) 18%,#252a31);--wc-title:color-mix(in srgb,var(--a) 40%,#fff);--wc-mix:#1d2127;--wc-ink:#fff}
.whois-card{width:min(400px,calc(100vw - 24px));max-height:min(80vh,600px);padding:0;border:1px solid var(--wc-border);border-radius:18px;background:var(--wc-surface);color:var(--wc-text);box-shadow:0 22px 60px rgba(8,25,50,.38);overflow:hidden;font:13.5px/1.4 "Segoe UI",-apple-system,Arial,sans-serif}
.whois-card[open]{display:flex;flex-direction:column}
.whois-card::backdrop{background:rgba(8,22,42,.45);backdrop-filter:blur(2px)}
.whois-card .whois-head{flex:none;position:relative;display:flex;align-items:center;gap:12px;padding:16px 44px 14px 16px;background:linear-gradient(135deg,var(--a),color-mix(in srgb,var(--a) 62%,#000));color:#fff}
.whois-card .whois-avatar .social-avatar{width:54px;height:54px;border-radius:50%;overflow:visible}
.whois-card .whois-avatar .social-avatar img{width:100%;height:100%;object-fit:cover;border-radius:50%!important;background:#fff;border:2px solid rgba(255,255,255,.85)}
.whois-card .whois-title{min-width:0}
.whois-card h3{margin:0;font-size:19px;line-height:1.2;color:#fff;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.whois-card .whois-title p{margin:2px 0 0;opacity:.9;font-size:12.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.whois-card .whois-badges{display:flex;flex-wrap:wrap;gap:5px;margin-top:7px}
.whois-card .whois-badge{font-style:normal;font-size:11px;font-weight:700;padding:2px 8px;border-radius:999px;background:rgba(255,255,255,.2);border:1px solid rgba(255,255,255,.35);color:#fff}
.whois-card .whois-badge[data-badge="op"]{background:#f6c445;color:#3b2a00;border-color:#f6c445}
.whois-card .whois-x{position:absolute;top:10px;right:10px;width:30px;height:30px;border:0;border-radius:50%;background:rgba(255,255,255,.2);color:#fff;font-size:20px;line-height:1;cursor:pointer}
.whois-card .whois-body{flex:1 1 auto;min-height:0;overflow:auto;padding:10px 14px 4px;-webkit-overflow-scrolling:touch;background:var(--wc-body)}
.whois-card section{margin:0 0 10px;padding:9px 11px;border-radius:12px;background:var(--wc-surface);border:1px solid var(--wc-border)}
.whois-card h4{display:flex;align-items:center;gap:7px;margin:0 0 6px;font-size:12px;font-weight:700;letter-spacing:.02em;text-transform:uppercase;color:var(--wc-title)}
.whois-card h4 i{font-style:normal;display:inline-grid;place-items:center;width:20px;height:20px;border-radius:6px;background:var(--wc-soft);font-size:12px}
.whois-card h4 small{margin-left:auto;font-weight:700;color:var(--wc-muted);text-transform:none}
.whois-card .whois-row{display:grid;grid-template-columns:104px 1fr;gap:8px;padding:3px 0;border-top:1px dashed var(--wc-border)}
.whois-card .whois-row:first-of-type{border-top:0}
.whois-card .whois-row span{color:var(--wc-muted);font-size:12px}
.whois-card .whois-row strong{font-weight:600;word-break:break-word;font-size:12.5px;color:var(--wc-text)}
.whois-card .whois-chips{display:flex;flex-wrap:wrap;gap:6px}
.whois-card .whois-chip{--hue:var(--a);appearance:none;display:inline-flex;align-items:center;gap:3px;max-width:100%;padding:4px 10px;border-radius:999px;border:1px solid color-mix(in srgb,var(--hue) 40%,var(--wc-mix));background:color-mix(in srgb,var(--hue) 12%,var(--wc-mix));color:color-mix(in srgb,var(--hue) 70%,var(--wc-ink));font:600 12px/1.2 inherit;cursor:pointer;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.whois-card.whois-dark .whois-chip{color:color-mix(in srgb,var(--hue) 45%,#fff)}
.whois-card .whois-chip b{font-weight:800}
.whois-card .whois-chip[data-role="q"]{--hue:#d99a00}
.whois-card .whois-chip[data-role="a"]{--hue:#d0357a}
.whois-card .whois-chip[data-role="o"]{--hue:#22984a}
.whois-card .whois-chip[data-role="h"]{--hue:#2f72cf}
.whois-card .whois-chip[data-role="v"]{--hue:#7a4bd1}
.whois-card .whois-foot{flex:none;display:flex;gap:8px;justify-content:flex-end;padding:10px 14px calc(10px + env(safe-area-inset-bottom));border-top:1px solid var(--wc-border);background:var(--wc-surface)}
.whois-card .whois-foot button{appearance:none;border:1px solid var(--wc-border);background:var(--wc-soft);color:var(--wc-text);border-radius:10px;padding:8px 12px;font:600 12.5px/1 inherit;cursor:pointer}
.whois-card .whois-foot button[data-whois-close]{background:var(--a);border-color:var(--a);color:#fff}
@media(max-width:760px),(hover:none) and (pointer:coarse) and (max-width:1400px){
 .whois-card{width:min(318px,calc(100vw - 44px));max-height:62vh;font-size:12px;border-radius:14px}
 .whois-card .whois-head{padding:9px 36px 8px 10px;gap:8px}
 .whois-card .whois-avatar .social-avatar{width:36px;height:36px}
 .whois-card h3{font-size:14.5px}
 .whois-card .whois-title p{font-size:11px;margin-top:1px}
 .whois-card .whois-badges{gap:4px;margin-top:4px}
 .whois-card .whois-badge{font-size:9.5px;padding:1px 6px}
 .whois-card .whois-x{top:7px;right:7px;width:24px;height:24px;font-size:16px}
 .whois-card .whois-body{padding:6px 7px 1px}
 .whois-card section{padding:5px 7px;margin-bottom:5px;border-radius:9px}
 .whois-card h4{font-size:10.5px;margin-bottom:3px;gap:5px}
 .whois-card h4 i{width:16px;height:16px;font-size:10px;border-radius:5px}
 .whois-card .whois-row{grid-template-columns:70px 1fr;gap:6px;padding:2px 0}
 .whois-card .whois-row span{font-size:10.5px}
 .whois-card .whois-row strong{font-size:11px}
 .whois-card .whois-chips{gap:4px}
 .whois-card .whois-chip{padding:2px 7px;font-size:10.5px}
 .whois-card .whois-foot{padding:6px 7px calc(6px + env(safe-area-inset-bottom));gap:5px}
 .whois-card .whois-foot button{padding:6px 8px;font-size:11px;border-radius:8px}
}
.whois-card.whois-dark .whois-chip[data-role="n"]{--hue:#8fa5bf}
.whois-card.whois-dark .whois-foot button[data-whois-close]{background:color-mix(in srgb,var(--a) 45%,#5d6d82);border-color:color-mix(in srgb,var(--a) 45%,#6d7d92)}
/* Profil penceresinde Whois düğmesi: simge satırının altında, tema renginde, tüm görünümlerde. */
#socialDialog .profile-whois-row{display:flex;justify-content:center;margin:6px 0 4px}
#socialDialog .profile-whois-row .profile-whois{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-width:120px;padding:6px 14px;font-size:13px;border-radius:999px;white-space:nowrap;font-weight:700;background:color-mix(in srgb,var(--toast-accent,var(--op-accent,#1974da)) 12%,#fff);border:1px solid color-mix(in srgb,var(--toast-accent,var(--op-accent,#1974da)) 35%,#fff);color:color-mix(in srgb,var(--toast-accent,var(--op-accent,#1974da)) 80%,#000)}
/* Mobil: gelen arama penceresi görünür alanın ortasında (iOS klavye/kaydırma dahil), her şeyin üstünde. */
@media(max-width:760px),(hover:none) and (pointer:coarse) and (max-width:1400px){
 html body .call-panel.call-awaiting.call-incoming-float{left:50%!important;right:auto!important;bottom:auto!important;top:var(--call-vv-center,50%)!important;transform:translate(-50%,-50%)!important;width:min(360px,calc(100vw - 24px))!important;max-height:calc(var(--call-vv-h,100vh) - 24px)!important;z-index:2147482000!important;margin:0!important}
 /* Gizlenen aramanın "göster" telefon simgesi, sağdaki nick listesi (MSN) düğmesiyle çakışmasın diye yukarıda. */
 html body .call-restore{top:calc(48% - 84px)!important}
}
/* Görünüm penceresi: tema görünümü kartları (WhatsApp / Classic qwebirc). Dar ekranda da yan yana, taşmasız. */
.appearance-style-title{margin:0 0 8px;font-size:13px;font-weight:600}
.appearance-style-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:0 0 14px}
#socialDialog label.appearance-style-card{display:flex!important;flex-direction:column;align-items:center;gap:4px;min-width:0;margin:0!important;padding:8px 8px 9px;border:2px solid #d6e2ee;border-radius:12px;background:#fff;cursor:pointer;text-align:center;box-sizing:border-box;transition:border-color .15s,box-shadow .15s}
#socialDialog label.appearance-style-card input{position:absolute;opacity:0;pointer-events:none;width:1px;height:1px}
#socialDialog label.appearance-style-card.is-selected{border-color:var(--op-accent,#1974da);box-shadow:0 0 0 3px color-mix(in srgb,var(--op-accent,#1974da) 18%,transparent)}
#socialDialog label.appearance-style-card.is-disabled{opacity:.5;cursor:not-allowed}
#socialDialog label.appearance-style-card:focus-within{outline:2px solid color-mix(in srgb,var(--op-accent,#1974da) 55%,transparent);outline-offset:2px}
.appearance-style-card b{display:block;max-width:100%;font-size:12.5px;line-height:1.2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.appearance-style-card small{display:block;max-width:100%;font-size:10.5px;color:#6a7a8e;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.appearance-style-preview{position:relative;display:block;width:100%;max-width:120px;height:62px;border-radius:8px;overflow:hidden;box-sizing:border-box;border:1px solid #dfe7ef}
.appearance-style-preview i{position:absolute;display:block;font-style:normal}
.appearance-style-preview[data-style="modern"]{background:#ece5dd}
.appearance-style-preview[data-style="modern"] .asp-head{left:0;right:0;top:0;height:13px;background:#075e54}
.appearance-style-preview[data-style="modern"] .asp-bubble{height:9px;border-radius:5px;background:#fff;width:52%}
.appearance-style-preview[data-style="modern"] .asp-in{left:6px;top:19px}
.appearance-style-preview[data-style="modern"] .asp-out{right:6px;top:32px;background:#dcf8c6;width:46%}
.appearance-style-preview[data-style="modern"] .asp-short{top:45px;width:32%}
.appearance-style-preview[data-style="classic"]{background:#f4f8fc}
.appearance-style-preview[data-style="classic"] .asp-tabs{left:0;right:0;top:0;height:12px;background:linear-gradient(#5fa8e8,#2f7fd0);display:flex;gap:3px;padding:3px 4px;box-sizing:border-box}
.appearance-style-preview[data-style="classic"] .asp-tabs em{display:block;width:22px;height:6px;border-radius:2px;background:#d8ecff}
.appearance-style-preview[data-style="classic"] .asp-line{left:6px;right:24%;top:18px;height:4px;border-radius:2px;background:#9db6cf}
.appearance-style-preview[data-style="classic"] .asp-mid{top:27px;right:36%;background:#c3d3e3}
.appearance-style-preview[data-style="classic"] .asp-short{top:36px;right:52%}
.appearance-style-preview[data-style="classic"] .asp-input{left:5px;right:5px;bottom:5px;height:10px;border:1px solid #9fc3e6;border-radius:3px;background:#fff}
@media(max-width:360px){.appearance-style-cards{gap:7px}.appearance-style-preview{height:52px}}
/* Sunucudan gelen emoji resimleri (images/emojiler). */
.emoji-item .emoji-img{display:block;width:1.45em;height:1.45em;margin:auto;object-fit:contain;pointer-events:none;-webkit-user-drag:none;user-select:none}
/* Modern mobil özel sohbet üst barı: arkadaş ekle / engelle / kapat (arama butonlarıyla aynı esnek grup → pasif olunca kayma yok). */
html body #modernCallActions [data-md-private-tool][hidden]{display:none!important}
@media(max-width:760px),(hover:none) and (pointer:coarse) and (max-width:1400px){
 html.modern-demo[data-applet-choice="modern"] body #app#app#app .msn-private-chat #modernCallActions{gap:9px!important;flex-wrap:nowrap!important;min-width:0!important}
 html.modern-demo[data-applet-choice="modern"] body #app#app #modernCallActions [data-md-private-tool]{display:flex;align-items:center;justify-content:center;width:26px;height:32px;padding:0;border:0;background:transparent;color:#fff;flex:none;cursor:pointer;-webkit-appearance:none;appearance:none}
 html.modern-demo[data-applet-choice="modern"] body #app#app #modernCallActions [data-md-private-tool] svg{width:23px;height:23px}
 html.modern-demo[data-applet-choice="modern"] body #app#app #modernCallActions [data-md-private-tool="block"].blocked{color:#ff8a80}
 html.modern-demo[data-applet-choice="modern"] body #app#app #modernCallActions [data-md-private-tool]:disabled{opacity:.6;cursor:default}
}
@media(max-width:360px){html.modern-demo[data-applet-choice="modern"] body #app#app#app .msn-private-chat #modernCallActions{gap:2px!important}html.modern-demo[data-applet-choice="modern"] body #app#app#app .msn-private-chat #modernCallActions>button{width:24px!important}html.modern-demo[data-applet-choice="modern"] body #app#app#app .msn-private-chat #modernCallActions svg{width:20px!important;height:20px!important}}
/* Aktif/Pasif: YouTube / mikrofon / resim için kanalda-özelde seçimi. */
.admin-visibility-scope{display:flex;flex-wrap:wrap;gap:6px 14px;margin:-4px 0 10px 12px;padding:6px 10px;border-left:3px solid color-mix(in srgb,var(--cz-1974da,#1974da) 35%,#fff);font-size:12px}
.admin-visibility-scope label{display:inline-flex!important;align-items:center;gap:5px;margin:0!important;white-space:nowrap;cursor:pointer}
html body #modernHeaderClear[hidden]{display:none!important}
/* Emoji baloncuğu (PC + mobil): emoji butonunun üstünde, aşağı bakan oklu, kompakt. */
html body #emojiPicker#emojiPicker#emojiPicker.emoji-bubble{position:fixed!important;inset:auto!important;transform:none!important;z-index:2147480000!important;display:none!important;flex-direction:column!important;width:min(252px,calc(100vw - 16px))!important;min-width:0!important;height:236px!important;max-height:var(--emoji-bubble-max,236px)!important;min-height:0!important;margin:0!important;padding:0!important;border:1px solid #d9dee5!important;border-radius:10px!important;background:#fff!important;color:#2b3440!important;box-shadow:0 6px 22px rgba(0,0,0,.18)!important;box-sizing:border-box!important;overflow:visible!important;font:12px/1.2 "Helvetica Neue",Helvetica,Arial,sans-serif!important;animation:emoji-bubble-in .14s ease-out}
html body #emojiPicker#emojiPicker#emojiPicker.emoji-bubble.open{display:flex!important}
@keyframes emoji-bubble-in{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
html body #emojiPicker#emojiPicker#emojiPicker.emoji-bubble::after{content:"";position:absolute;bottom:-7px;left:calc(var(--emoji-pointer-x,50%) - 7px);width:12px;height:12px;background:#fafbfc;border-right:1px solid #d9dee5;border-bottom:1px solid #d9dee5;transform:rotate(45deg);pointer-events:none}
html body #emojiPicker#emojiPicker#emojiPicker.emoji-bubble .emoji-picker-search{display:none!important}
html body #emojiPicker#emojiPicker#emojiPicker.emoji-bubble .emoji-picker-title{order:1!important;flex:none!important;display:block!important;margin:0!important;padding:7px 10px 3px!important;border:0!important;background:none!important;color:#9aa3ad!important;font:12px/1.2 "Helvetica Neue",Helvetica,Arial,sans-serif!important;text-align:left!important;position:static!important}
html body #emojiPicker#emojiPicker#emojiPicker.emoji-bubble :is(.emoji-picker-title,#emojiCategoryTitle){text-transform:none!important;letter-spacing:normal!important;font-weight:400!important}
html body #emojiPicker#emojiPicker#emojiPicker.emoji-bubble #emojiCategoryTitle{font:inherit!important;color:inherit!important}
html body #emojiPicker#emojiPicker#emojiPicker.emoji-bubble .emoji-grid{order:2!important;flex:1 1 auto!important;min-height:0!important;height:auto!important;max-height:none!important;overflow-x:hidden!important;overflow-y:auto!important;display:grid!important;grid-template-columns:repeat(8,minmax(0,1fr))!important;grid-auto-rows:27px!important;gap:1px 2px!important;align-content:start!important;margin:0!important;padding:2px 7px 6px!important;background:none!important;border:0!important;-webkit-overflow-scrolling:touch;overscroll-behavior:contain}
html body #emojiPicker#emojiPicker#emojiPicker.emoji-bubble .emoji-grid .emoji-item{display:flex!important;align-items:center!important;justify-content:center!important;width:auto!important;min-width:0!important;height:27px!important;min-height:0!important;margin:0!important;padding:0!important;border:0!important;border-radius:6px!important;background:none!important;box-shadow:none!important;font-size:19px!important;line-height:27px!important;cursor:pointer;-webkit-appearance:none;appearance:none}
html body #emojiPicker#emojiPicker#emojiPicker.emoji-bubble .emoji-grid .emoji-item:hover{background:#eef2f6!important}
html body #emojiPicker#emojiPicker#emojiPicker.emoji-bubble .emoji-item .emoji-img{width:22px!important;height:22px!important}
html body #emojiPicker#emojiPicker#emojiPicker.emoji-bubble .emoji-empty{padding:20px 6px!important;font-size:12px!important}
html body #emojiPicker#emojiPicker#emojiPicker.emoji-bubble .emoji-categories{order:3!important;flex:none!important;display:flex!important;align-items:center!important;gap:0!important;height:auto!important;margin:0!important;padding:3px 4px!important;border:0!important;border-top:1px solid #e6eaef!important;border-radius:0 0 10px 10px!important;background:#fafbfc!important;overflow:hidden!important;position:static!important;box-shadow:none!important}
html body #emojiPicker#emojiPicker#emojiPicker.emoji-bubble .emoji-categories>button{flex:1 1 0!important;display:flex!important;align-items:center!important;justify-content:center!important;min-width:0!important;width:auto!important;height:28px!important;margin:0!important;padding:0!important;border:0!important;border-radius:6px!important;background:none!important;box-shadow:none!important;font-size:16px!important;line-height:1!important;opacity:.55;cursor:pointer;-webkit-appearance:none;appearance:none}
html body #emojiPicker#emojiPicker#emojiPicker.emoji-bubble .emoji-categories>button.active{opacity:1!important;background:#e8edf3!important}
html body #emojiPicker#emojiPicker#emojiPicker.emoji-bubble .emoji-categories>button .emoji-img{width:19px!important;height:19px!important}
html body #emojiPicker#emojiPicker#emojiPicker.emoji-bubble .emoji-categories>#emojiClose{flex:0 0 24px!important;opacity:1!important;color:#6b7684!important;font-size:14px!important;margin-left:2px!important}
/* Emoji paneli açıkken mesaj satırındaki emoji butonu X olur (kapatma oradan); baloncuktaki X gizli. */
html body #emojiPicker#emojiPicker#emojiPicker.emoji-bubble .emoji-categories>#emojiClose{display:none!important}
html body #app#app#app #emojiButton#emojiButton.active .emoji-toggle-face,html body #app#app#app #emojiButton#emojiButton.active>svg,html body #app#app#app #emojiButton#emojiButton.active>img,html body #app#app#app #emojiButton#emojiButton.active>.md-control-icon{display:none!important}
html body #app#app#app #emojiButton#emojiButton.active .emoji-toggle-close{display:inline-flex!important;visibility:visible!important;align-items:center;justify-content:center;position:static!important;opacity:1!important;transform:none!important;font:400 24px/1 Arial,Helvetica,sans-serif!important;color:currentColor!important;width:auto!important;height:auto!important}
/* PC: baloncuk biraz daha büyük. */
@media(min-width:761px) and (hover:hover),(min-width:761px) and (pointer:fine),(min-width:1401px){
 html body #emojiPicker#emojiPicker#emojiPicker.emoji-bubble{width:336px!important;height:300px!important;max-height:var(--emoji-bubble-max,300px)!important;font-size:13px!important}
 html body #emojiPicker#emojiPicker#emojiPicker.emoji-bubble .emoji-picker-title{font-size:13px!important;padding:9px 12px 4px!important}
 html body #emojiPicker#emojiPicker#emojiPicker.emoji-bubble .emoji-grid{grid-auto-rows:35px!important;padding:2px 9px 8px!important}
 html body #emojiPicker#emojiPicker#emojiPicker.emoji-bubble .emoji-grid .emoji-item{height:35px!important;line-height:35px!important;font-size:25px!important}
 html body #emojiPicker#emojiPicker#emojiPicker.emoji-bubble .emoji-item .emoji-img{width:28px!important;height:28px!important}
 html body #emojiPicker#emojiPicker#emojiPicker.emoji-bubble .emoji-categories>button{height:34px!important}
 html body #emojiPicker#emojiPicker#emojiPicker.emoji-bubble .emoji-categories>button .emoji-img{width:23px!important;height:23px!important}
}

/* Oturum bilgi / hata penceresi (kopma, otomatik NickServ girişi, nick geri alma) */
.session-alert{--sa-accent:#3b6ea8;--sa-soft:#eef3f9;position:fixed;z-index:2147483000;top:14px;left:50%;display:flex;align-items:flex-start;gap:11px;width:min(380px,calc(100vw - 24px));box-sizing:border-box;padding:12px 12px 12px 14px;border:1px solid rgba(20,40,60,.1);border-left:4px solid var(--sa-accent);border-radius:14px;background:#fff;color:#22313a;box-shadow:0 10px 30px rgba(20,35,50,.16),0 2px 6px rgba(20,35,50,.08);font:13px/1.45 Arial,Helvetica,sans-serif;opacity:0;transform:translate(-50%,-8px);transition:opacity .2s ease,transform .2s ease;pointer-events:auto}
.session-alert.open{opacity:1;transform:translate(-50%,0)}
.session-alert[hidden]{display:none}
.session-alert[data-level="ok"]{--sa-accent:#2f7d5b;--sa-soft:#e9f5ef}
.session-alert[data-level="warn"]{--sa-accent:#b07a22;--sa-soft:#fbf3e4}
.session-alert[data-level="error"]{--sa-accent:#b5524c;--sa-soft:#f9ecea}
.session-alert-icon{flex:0 0 26px;width:26px;height:26px;display:grid;place-items:center;border-radius:50%;background:var(--sa-soft);color:var(--sa-accent);font:700 14px/1 Arial,sans-serif}
.session-alert.busy .session-alert-icon{border:2px solid var(--sa-soft);border-top-color:var(--sa-accent);box-sizing:border-box;animation:session-alert-spin .9s linear infinite}
@keyframes session-alert-spin{to{transform:rotate(360deg)}}
.session-alert-body{flex:1;min-width:0}
.session-alert-body b{display:block;font-size:14px;color:#1d2a31;margin:2px 0 2px}
.session-alert-body p{margin:0;color:#52626b}
.session-alert-close{flex:0 0 26px;width:26px;height:26px;margin:-2px -2px 0 0;padding:0;border:0;border-radius:50%;background:transparent;color:#7a8890;font:18px/26px Arial,sans-serif;cursor:pointer}
.session-alert-close:hover{background:#f0f3f5;color:#33424a}
@media(max-width:760px),(hover:none) and (pointer:coarse) and (max-width:1400px){
 .session-alert{top:calc(env(safe-area-inset-top,0px) + 8px);width:calc(100vw - 16px);padding:10px 10px 10px 12px;border-radius:12px;font-size:12.5px}
 .session-alert-body b{font-size:13px}
}

/* Sesli görüşme: kulak modu kilit ekranı (yanak tuşlara basmasın) */
.call-ear-lock{position:fixed;inset:0;z-index:2147483200;display:grid;place-items:center;padding:24px;background:#0b1114;color:#e8eef0;touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}
.call-ear-card{display:flex;flex-direction:column;align-items:center;gap:10px;max-width:300px;text-align:center;font:14px/1.5 Arial,Helvetica,sans-serif;opacity:.85;transition:opacity .2s}
.call-ear-icon{width:64px;height:64px;display:grid;place-items:center;border-radius:50%;background:#1a2428;font-size:30px}
.call-ear-card b{font-size:17px;color:#fff}
.call-ear-card p{margin:0;color:#b8c6cc}
.call-ear-card small{margin-top:18px;padding:7px 14px;border-radius:999px;background:#1a2428;color:#93a4ab;font-size:12px;transition:background .2s,color .2s}
.call-ear-lock.holding .call-ear-card small{background:#2c3c42;color:#fff}
[data-call-ear].active{outline:2px solid currentColor;outline-offset:-2px}

/* Duyuru Yap: resim ve sesli mesaj (duyuru kartının içinde, kaydırma yok) */
html body #app #messages .admin-announcement-message .announcement-media{display:block!important;margin:9px 0 2px!important;max-width:100%!important;overflow:hidden!important}
html body #app #messages .admin-announcement-message .announcement-image{display:block!important;width:auto!important;max-width:min(100%,340px)!important;height:auto!important;min-height:0!important;margin:0!important;padding:0!important;border:0!important;border-radius:12px!important;background:#eef2f4!important;box-shadow:0 1px 3px rgba(0,0,0,.12)!important;overflow:hidden!important;cursor:zoom-in}
html body #app #messages .admin-announcement-message .announcement-image img{display:block!important;max-width:100%!important;max-height:min(240px,38vh)!important;width:auto!important;height:auto!important;object-fit:contain!important;border-radius:12px!important}
html body #app #messages .admin-announcement-message .announcement-media-voice{display:flex!important;align-items:center!important;gap:10px!important;width:min(100%,340px)!important;box-sizing:border-box!important;padding:7px 12px 7px 7px!important;border:1px solid rgba(0,0,0,.08)!important;border-radius:999px!important;background:rgba(255,255,255,.78)!important}
html body #app #messages .admin-announcement-message .announcement-voice-play{flex:0 0 34px!important;width:34px!important;height:34px!important;min-width:34px!important;min-height:34px!important;margin:0!important;padding:0!important;border:0!important;border-radius:50%!important;background:var(--md-00866c,#00866c)!important;color:#fff!important;font:700 12px/34px Arial,sans-serif!important;text-align:center!important;cursor:pointer}
html body #app #messages .admin-announcement-message .announcement-voice-label{flex:0 0 auto;color:#4b5a62!important;-webkit-text-fill-color:#4b5a62!important;font:600 12px Arial,sans-serif!important;white-space:nowrap}
html body #app #messages .admin-announcement-message .announcement-voice-bar{position:relative;flex:1 1 auto;min-width:40px;height:4px;border-radius:2px;background:rgba(0,0,0,.12);overflow:hidden}
html body #app #messages .admin-announcement-message .announcement-voice-bar i{position:absolute;left:0;top:0;bottom:0;width:0;background:var(--md-00866c,#00866c);transition:width .2s linear}
html body #app #messages .admin-announcement-message .announcement-voice-time{flex:0 0 auto;color:#6b7a82!important;-webkit-text-fill-color:#6b7a82!important;font:11px/1 Arial,sans-serif!important;font-variant-numeric:tabular-nums}
dialog.announcement-image-viewer{max-width:94vw;max-height:90dvh;padding:0;border:0;border-radius:14px;background:#0d1214;overflow:hidden}
dialog.announcement-image-viewer::backdrop{background:rgba(5,10,12,.78)}
dialog.announcement-image-viewer img{display:block;max-width:94vw;max-height:90dvh;object-fit:contain}
dialog.announcement-image-viewer button{position:absolute;top:8px;right:8px;width:34px;height:34px;border:0;border-radius:50%;background:rgba(0,0,0,.55);color:#fff;font:20px/34px Arial,sans-serif;cursor:pointer}
@media(max-width:760px),(hover:none) and (pointer:coarse) and (max-width:1400px){
 html body #app #messages .admin-announcement-message .announcement-image img{max-height:min(200px,30vh)!important}
 html body #app #messages .admin-announcement-message .announcement-media-voice{width:100%!important}
}
html body #app #messages .admin-announcement-message .announcement-media{display:flex!important;justify-content:center!important}
html body #app #messages .admin-announcement-message .announcement-media-voice{margin-left:auto!important;margin-right:auto!important}

/* Uyarı penceresi: göz alıcı giriş, renkli simge, 5 sn geri sayım çubuğu */
.session-alert{overflow:hidden;padding:14px 14px 18px 14px!important;border:0!important;border-left:0!important;border-radius:16px!important;background:#fff!important;box-shadow:0 18px 44px rgba(15,30,45,.24),0 0 0 1px rgba(15,30,45,.06)!important;transform:translate(-50%,-24px) scale(.92)!important;transition:opacity .22s ease,transform .45s cubic-bezier(.2,1.5,.4,1)!important}
.session-alert.open{transform:translate(-50%,0) scale(1)!important}
.session-alert::before{content:"";position:absolute;left:0;right:0;top:0;height:4px;background:linear-gradient(90deg,var(--sa-accent),color-mix(in srgb,var(--sa-accent) 45%,#fff))}
.session-alert-icon{position:relative;flex:0 0 34px!important;width:34px!important;height:34px!important;background:var(--sa-accent)!important;color:#fff!important;font:800 16px/1 Arial,sans-serif!important;box-shadow:0 4px 12px color-mix(in srgb,var(--sa-accent) 40%,transparent)}
.session-alert.pop .session-alert-icon::after{content:"";position:absolute;inset:-4px;border-radius:50%;border:2px solid var(--sa-accent);opacity:0;animation:session-alert-ring 1.2s ease-out 2}
@keyframes session-alert-ring{0%{opacity:.7;transform:scale(.85)}100%{opacity:0;transform:scale(1.45)}}
.session-alert.busy .session-alert-icon{background:var(--sa-soft)!important;box-shadow:none}
.session-alert-body b{color:var(--sa-accent)!important;font-size:15px!important;letter-spacing:.1px}
.session-alert-body p{color:#46545c!important}
.session-alert-timer{position:absolute;left:0;right:0;bottom:0;height:5px;background:var(--sa-soft)}
.session-alert-timer i{display:block;height:100%;width:100%;background:var(--sa-accent);transform-origin:left;animation:session-alert-count var(--sa-duration,5000ms) linear forwards}
@keyframes session-alert-count{from{transform:scaleX(1)}to{transform:scaleX(0)}}
@media(prefers-reduced-motion:reduce){.session-alert{transition:opacity .2s!important}.session-alert.pop .session-alert-icon::after{animation:none}}
@media(max-width:760px),(hover:none) and (pointer:coarse) and (max-width:1400px){.session-alert{padding:12px 12px 16px!important}.session-alert-icon{flex-basis:30px!important;width:30px!important;height:30px!important}}

/* Whois kartı: durum güncellemeleri (tek satır, kaydırma yok) */
.whois-card .whois-status[hidden]{display:none}
.whois-card .whois-status-strip{display:flex;align-items:center;gap:8px;flex-wrap:nowrap;overflow:hidden;padding:2px 0 4px}
.whois-card .whois-status-tile{position:relative;flex:0 0 64px;width:64px;height:64px;margin:0;padding:0;border:2px solid var(--op-accent,#00866c);border-radius:14px;background:#0f1a17;overflow:hidden;cursor:pointer;box-shadow:0 2px 6px rgba(0,0,0,.15);transition:transform .15s}
.whois-card .whois-status-tile:hover{transform:translateY(-1px)}
.whois-card .whois-status-tile :is(img,video){display:block;width:100%;height:100%;object-fit:cover;pointer-events:none}
.whois-card .whois-status-play{position:absolute;inset:auto 4px 4px auto;display:grid;place-items:center;width:20px;height:20px;border-radius:50%;background:rgba(0,0,0,.55);color:#fff;font-size:10px;pointer-events:none}
.whois-card .whois-status-age{flex:0 1 auto;min-width:0;color:var(--wc-muted,#6b7a82);font-size:11.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
@media(max-width:760px),(hover:none) and (pointer:coarse) and (max-width:1400px){.whois-card .whois-status-tile{flex-basis:56px;width:56px;height:56px;border-radius:12px}}
/* Duyuru (süreli + admin): saat sağ üstte değil, mesajın altında sağda */
html body #app#app #messages .admin-announcement-message{padding-right:12px!important;padding-top:10px!important}
html body #app#app #messages .admin-announcement-message>.announcement-time{position:static!important;display:block!important;margin:4px 0 0!important;text-align:right!important}

/* v84 · Duyuru görünümü (admin › Duyuru / Süreli Duyuru › görünüm). Admin duyurusu 'ana', süreli duyuru 'ant'.
   Yalnız ayar seçilince eşleşir (öznitelik yoksa kural çalışmaz). */
html[data-ana-bg] body #app#app#app #messages .admin-announcement-message.admin-announcement-message:not(.announcement-timed){background:var(--ana-bg)!important;background-image:none!important}
html[data-ana-sfont] body #app#app#app #messages .admin-announcement-message:not(.announcement-timed) .announcement-sender{font-family:var(--ana-sfont)!important}
html[data-ana-ssize] body #app#app#app #messages .admin-announcement-message:not(.announcement-timed) .announcement-sender{font-size:var(--ana-ssize)!important}
html[data-ana-sweight] body #app#app#app #messages .admin-announcement-message:not(.announcement-timed) .announcement-sender{font-weight:var(--ana-sweight)!important}
html[data-ana-sitalic] body #app#app#app #messages .admin-announcement-message:not(.announcement-timed) .announcement-sender{font-style:var(--ana-sitalic)!important}
html[data-ana-scolor] body #app#app#app #messages .admin-announcement-message:not(.announcement-timed) .announcement-sender{color:var(--ana-scolor)!important;-webkit-text-fill-color:var(--ana-scolor)!important}
html[data-ana-mfont] body #app#app#app #messages .admin-announcement-message:not(.announcement-timed) .announcement-text{font-family:var(--ana-mfont)!important}
html[data-ana-msize] body #app#app#app #messages .admin-announcement-message:not(.announcement-timed) .announcement-text{font-size:var(--ana-msize)!important}
html[data-ana-mweight] body #app#app#app #messages .admin-announcement-message:not(.announcement-timed) .announcement-text{font-weight:var(--ana-mweight)!important}
html[data-ana-mitalic] body #app#app#app #messages .admin-announcement-message:not(.announcement-timed) .announcement-text{font-style:var(--ana-mitalic)!important}
html[data-ana-mcolor] body #app#app#app #messages .admin-announcement-message:not(.announcement-timed) .announcement-text{color:var(--ana-mcolor)!important;-webkit-text-fill-color:var(--ana-mcolor)!important}
html[data-ant-bg] body #app#app#app #messages .admin-announcement-message.admin-announcement-message.announcement-timed{background:var(--ant-bg)!important;background-image:none!important}
html[data-ant-sfont] body #app#app#app #messages .admin-announcement-message.announcement-timed .announcement-sender{font-family:var(--ant-sfont)!important}
html[data-ant-ssize] body #app#app#app #messages .admin-announcement-message.announcement-timed .announcement-sender{font-size:var(--ant-ssize)!important}
html[data-ant-sweight] body #app#app#app #messages .admin-announcement-message.announcement-timed .announcement-sender{font-weight:var(--ant-sweight)!important}
html[data-ant-sitalic] body #app#app#app #messages .admin-announcement-message.announcement-timed .announcement-sender{font-style:var(--ant-sitalic)!important}
html[data-ant-scolor] body #app#app#app #messages .admin-announcement-message.announcement-timed .announcement-sender{color:var(--ant-scolor)!important;-webkit-text-fill-color:var(--ant-scolor)!important}
html[data-ant-mfont] body #app#app#app #messages .admin-announcement-message.announcement-timed .announcement-text{font-family:var(--ant-mfont)!important}
html[data-ant-msize] body #app#app#app #messages .admin-announcement-message.announcement-timed .announcement-text{font-size:var(--ant-msize)!important}
html[data-ant-mweight] body #app#app#app #messages .admin-announcement-message.announcement-timed .announcement-text{font-weight:var(--ant-mweight)!important}
html[data-ant-mitalic] body #app#app#app #messages .admin-announcement-message.announcement-timed .announcement-text{font-style:var(--ant-mitalic)!important}
html[data-ant-mcolor] body #app#app#app #messages .admin-announcement-message.announcement-timed .announcement-text{color:var(--ant-mcolor)!important;-webkit-text-fill-color:var(--ant-mcolor)!important}
.admin-ann-style{margin:12px 0 0}.admin-ann-style>summary{cursor:pointer;font:700 13px Arial,sans-serif}
html body .applet-admin-dialog .admin-ann-preview{grid-column:1/-1;margin:4px 0;padding:9px 11px;border:1px dashed #d8c7a0;border-radius:8px;background:#fff;font:400 13px Arial,sans-serif;color:#1f2933}
html body .applet-admin-dialog .admin-ann-preview [data-ann-s]{color:#d71920;font-weight:700}
html body .applet-admin-dialog .admin-ann-form .admin-nl-wide{grid-column:1/-1}
/* v85 · Duyuru ikonu (admin duyurusu + süreli duyuru): nickin solunda, nick renginde SVG megafon */
html body #app #messages .admin-announcement-message .announcement-icon{display:inline-block;width:1.15em;height:1.15em;margin:0 .3em 0 0;vertical-align:-.2em;color:inherit}
html body #app #messages .admin-announcement-message .announcement-icon>svg{display:block;width:100%;height:100%}
html body #app#app#app #messages .admin-announcement-message .announcement-sender>.announcement-icon{color:#d71920!important}
html[data-ana-scolor] body #app#app#app #messages .admin-announcement-message:not(.announcement-timed) .announcement-sender>.announcement-icon{color:var(--ana-scolor)!important}
html[data-ant-scolor] body #app#app#app #messages .admin-announcement-message.announcement-timed .announcement-sender>.announcement-icon{color:var(--ant-scolor)!important}
html body #app#app#app #messages .admin-announcement-message .announcement-sender>.announcement-icon>svg,html body #app#app#app #messages .admin-announcement-message .announcement-sender>.announcement-icon>svg>path{fill:currentColor!important;stroke:none!important}
html body .applet-admin-dialog .admin-ann-ico{display:inline-block;width:1.1em;height:1.1em;margin-right:.3em;vertical-align:-.18em}
html body .applet-admin-dialog .admin-ann-ico>svg{display:block;width:100%;height:100%}
/* v88 · Whois kartı üst kısmı: yetkili başlığı rengi (yalnız üst kısım; kartın geri kalanı tema renginde) */
html body dialog.whois-card.whois-rank-head>.whois-head{background:linear-gradient(135deg,color-mix(in srgb,var(--whois-rank) 88%,#fff),color-mix(in srgb,var(--whois-rank) 72%,#000))!important;color:#fff!important}
/* Whois: alttaki Kapat düğmesi üst kısımla aynı yetkili rengi. */
html body dialog.whois-card.whois-rank-head .whois-foot button[data-whois-close]{background:var(--whois-rank)!important;border-color:var(--whois-rank)!important;color:#fff!important}
/* ===== Giriş ekranı › Aktif oturumlar (Session Kontrol) — PC ve mobil ===== */
html body dialog.active-sessions-dialog{--as-accent:#277bdd;box-sizing:border-box;width:min(420px,calc(100vw - 24px));max-height:min(620px,calc(100dvh - 32px));padding:0;border:0;border-radius:20px;background:#fff;color:#1f2d3a;box-shadow:0 24px 70px rgba(10,30,50,.35);overflow:hidden;display:flex;flex-direction:column;font-family:inherit}
html body dialog.active-sessions-dialog:not([open]){display:none}
html body dialog.active-sessions-dialog::backdrop{background:rgba(12,24,36,.55);backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px)}
html body dialog.active-sessions-dialog>header{display:flex;align-items:flex-start;gap:12px;padding:18px 16px 14px;background:linear-gradient(135deg,color-mix(in srgb,var(--as-accent) 14%,#fff),#fff);border-bottom:1px solid color-mix(in srgb,var(--as-accent) 18%,#fff)}
html body dialog.active-sessions-dialog .as-icon{flex:none;display:grid;place-items:center;width:42px;height:42px;border-radius:14px;background:var(--as-accent);color:#fff;box-shadow:0 6px 16px color-mix(in srgb,var(--as-accent) 35%,transparent)}
html body dialog.active-sessions-dialog .as-icon svg{width:24px;height:24px}
html body dialog.active-sessions-dialog header>div{flex:1;min-width:0}
html body dialog.active-sessions-dialog header b{display:block;font-size:18px;line-height:1.2;color:#14263a}
html body dialog.active-sessions-dialog header small{display:block;margin-top:4px;font-size:12.5px;line-height:1.4;color:#5a6b7c}
html body dialog.active-sessions-dialog .as-x{flex:none;width:32px;height:32px;border:0;border-radius:50%;background:rgba(0,0,0,.06);color:#33475b;font-size:20px;line-height:1;cursor:pointer}
html body dialog.active-sessions-dialog .as-list{flex:1 1 auto;overflow:auto;padding:12px;display:flex;flex-direction:column;gap:8px;-webkit-overflow-scrolling:touch}
html body dialog.active-sessions-dialog .as-item{position:relative;display:flex;align-items:center;gap:12px;padding:10px 12px;border:1.5px solid #e3e9ef;border-radius:14px;background:#fbfcfd;cursor:pointer;transition:border-color .15s,background .15s}
html body dialog.active-sessions-dialog .as-item input{position:absolute;opacity:0;pointer-events:none}
html body dialog.active-sessions-dialog .as-item:focus-within{outline:2px solid color-mix(in srgb,var(--as-accent) 45%,transparent);outline-offset:2px}
html body dialog.active-sessions-dialog .as-avatar{flex:none;display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:color-mix(in srgb,var(--as-accent) 16%,#fff);color:var(--as-accent);font-weight:800;font-size:17px}
html body dialog.active-sessions-dialog .as-main{flex:1;min-width:0}
html body dialog.active-sessions-dialog .as-main b{display:block;font-size:15px;color:#17283a;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
html body dialog.active-sessions-dialog .as-main small{display:block;margin-top:2px;font-size:12px;color:#6a7a8a;line-height:1.35}
html body dialog.active-sessions-dialog .as-check{flex:none;width:20px;height:20px;border-radius:50%;border:2px solid #c6d1dc;box-sizing:border-box}
html body dialog.active-sessions-dialog .as-item input:checked~.as-check{border:6px solid var(--as-accent)}
html body dialog.active-sessions-dialog .as-item.is-picked{border-color:var(--as-accent);background:color-mix(in srgb,var(--as-accent) 6%,#fff)}
html body dialog.active-sessions-dialog .as-item input:checked~.as-avatar{background:var(--as-accent);color:#fff}
html body dialog.active-sessions-dialog footer{display:flex;flex-direction:column;gap:8px;padding:12px 16px calc(14px + env(safe-area-inset-bottom));border-top:1px solid #edf1f5;background:#fff}
html body dialog.active-sessions-dialog footer button{appearance:none;width:100%;min-height:44px;border-radius:12px;font:700 15px/1.2 inherit;cursor:pointer}
html body dialog.active-sessions-dialog .as-continue{border:0;background:var(--as-accent);color:#fff;box-shadow:0 6px 16px color-mix(in srgb,var(--as-accent) 32%,transparent)}
html body dialog.active-sessions-dialog .as-continue:disabled{opacity:.7}
html body dialog.active-sessions-dialog .as-new{border:1.5px solid color-mix(in srgb,var(--as-accent) 40%,#fff);background:#fff;color:var(--as-accent)}
html body dialog.active-sessions-dialog .as-closeall{min-height:36px!important;border:0;background:none;color:#c0392b;font-size:13px!important;font-weight:700;text-decoration:underline;text-underline-offset:3px}
@media (max-width:480px){html body dialog.active-sessions-dialog{border-radius:18px}html body dialog.active-sessions-dialog>header{padding:16px 14px 12px}}

/* Özel nick ikonu: kanal mesajlarında nick listesindeki gibi yetki rengine uyumlu yuvarlak zemin (tüm görünümler) */
html body #messages .message.in-channel.nick-icon-message>.message-avatar{background:color-mix(in srgb,var(--message-rank-color,var(--cz-277bdd,#277bdd)) 12%,#fff)!important;border:0!important;border-radius:50%!important;box-sizing:border-box!important}
html body #messages .message.in-channel.nick-icon-message>.message-avatar img.nick-icon-img{padding:6%!important;border-radius:50%!important}
/* Alıntı önizlemesi (mesaj satırının üstü): tüm görünümlerde her zaman beyaz zemin */
html body #app#app#app#app .composer>.reply-preview:not([hidden]){background:#fff!important;background-image:none!important;color:#1d2733!important}
html body #app#app#app#app .composer>.reply-preview:not([hidden]) :is(b,span){color:inherit!important}
html body #app#app#app#app .composer>.reply-preview:not([hidden])>button{background:#fff!important;color:#1d2733!important}
/* Yalnız alıntı gönderilen mesaj: IRC'ye giden kısa satır uygulamada gizlenir, alıntı kutusu kalır */
html body #app#app#app#app #messages#messages .message.quote-only .message-content-line>.message-text{display:none!important}

/* Normal kullanıcı, profil avatarı kapalıyken: mesajda nick listesindeki ikonu yetki rengi zeminle gösterir */
html body #app#app#app#app #messages .message.normal-role-message>.message-avatar{color:var(--message-rank-color)!important;background:color-mix(in srgb,var(--message-rank-color,#5b6b7d) 12%,#fff)!important;border-radius:50%!important}
html body #app#app#app#app #messages .message.normal-role-message>.message-avatar>.nl-file-icon{display:grid!important;place-items:center!important;width:62%!important;height:62%!important;max-width:30px;max-height:30px;color:inherit!important}
html body #app#app#app#app #messages .message.normal-role-message>.message-avatar>.nl-file-icon>*{display:block!important;width:100%!important;height:100%!important;max-width:none!important;max-height:none!important;margin:0!important;color:inherit!important}
html body #app#app#app#app #messages .message.normal-role-message>.message-avatar>.nl-file-icon svg{width:100%!important;height:100%!important}
/* Whois, profil kartı, özel mesaj listeleri: nick listesindeki yetki/tema ikonu */
.social-avatar.identity-role{display:inline-grid!important;place-items:center;position:relative!important;box-sizing:border-box!important;border-radius:50%!important;background:color-mix(in srgb,var(--id-c,#5b6b7d) 12%,#fff)!important;color:var(--id-c,#5b6b7d)!important;overflow:visible}
.social-avatar.identity-role>:not(.social-dot){display:grid!important;place-items:center;position:absolute!important;inset:0!important;margin:auto!important;width:56%!important;height:56%!important;max-width:none!important;max-height:none!important;color:inherit!important;background:none!important;border:0!important;transform:none!important}
.social-avatar.identity-role>:not(.social-dot) :is(svg,i,span){width:100%!important;height:100%!important;color:inherit}
.social-avatar.identity-role>svg,.social-avatar.identity-role>:not(.social-dot)>svg{width:100%!important;height:100%!important}
html body #app#app#app#app #messages .message.normal-role-message>.message-avatar>.nl-file-icon .ico{display:block!important;width:100%!important;height:100%!important}
/* Özel mesaj / arkadaş listelerinde ikon daire içinde ölçülü (daire fotoğraf boyutunda kalır) */
html body .md-channel .social-avatar.identity-role>:not(.social-dot),html body [data-reference-private] .social-avatar.identity-role>:not(.social-dot){width:44%!important;height:44%!important}
/* Profil › avatar seçimi: ilk kutu "Varsayılan" (yetki / özel nick / kullanıcı ikonu), diğer avatarlarla aynı boyutta */
html body #socialDialog .social-avatar-grid .avatar-default-choice{display:grid!important;place-items:center!important}
html body #socialDialog .social-avatar-grid .avatar-default-choice>.social-avatar{width:100%!important;height:100%!important;max-width:72px;max-height:72px;aspect-ratio:1/1;margin:auto!important}
html body #socialDialog .social-avatar-grid label.avatar-default-choice{position:relative}
html body #socialDialog .social-avatar-grid label.avatar-default-choice>input{position:absolute;left:6px;top:6px;margin:0}
/* /session komutu: Session Kontrol paneli (yalnız App Admin) */
html body #sessionControlDialog.admin-session-dialog{width:min(580px,94vw)!important;max-width:94vw!important;height:auto!important;max-height:88vh!important;padding:0!important;border:0!important;border-radius:14px!important;overflow:hidden!important;box-shadow:0 12px 40px #0004!important;background:#fff!important;color:#1d2733!important;inset:0!important;margin:auto!important}
#sessionControlDialog::backdrop{background:#0006}
#sessionControlDialog .admin-session-head{display:flex;align-items:center;justify-content:space-between;padding:12px 14px;border-bottom:1px solid #e3e8ec;font:700 16px/1.2 Arial,sans-serif}
#sessionControlDialog .admin-session-head button{border:0;background:#eef2f5;border-radius:50%;width:30px;height:30px;font-size:18px;line-height:30px;cursor:pointer}
#sessionControlDialog .admin-session-body{max-height:calc(88vh - 56px);overflow:auto;padding:10px 14px 14px;-webkit-overflow-scrolling:touch}
#sessionControlDialog .admin-session-body>details>summary{display:none}
/* Özel nick ikon boyutu (px): kanal mesajında avatar kutusu bu boyuta gelir (classic kanal yazı modunda --qwi-av ile) */
html body #app#app#app#app#app #messages .message.ni-sized:not(.in-channel-irc)>.message-avatar{width:var(--ni-px)!important;height:var(--ni-px)!important;min-width:var(--ni-px)!important;min-height:var(--ni-px)!important;flex:0 0 var(--ni-px)!important;padding:0!important}
html body #app#app#app#app#app #messages .message.ni-sized>.message-avatar>img.nick-icon-img{width:100%!important;height:100%!important;transform:none!important}

/* Yazıyor bilgisi görünürken kanal penceresinin sonunda boşluk bırakılır: son mesaj yazıyor etiketinin altında kalmaz. */
#messages.typing-space::after{content:"";display:block;flex:none;height:24px}
html body .typing-line.typing-overlay>span{background:rgba(30,40,52,.62)}
html body .typing-line.typing-overlay>span{background:color-mix(in srgb,var(--typing-accent,#283440) 80%,#0b1d33)}
/* Mobil üst bar: "Özel Mesaj" sekmesi kenara yapışmasın (Ö harfi dışarı taşıyor gibi görünmesin); okunmamış rozetindeki rakam her temada beyaz. */
html.modern-demo:not(.pc-reference) body #app#app#app #modernDemoTabs>[data-md-tab="friends"]{margin-left:6px!important}
html.modern-demo:not(.pc-reference) body #app#app#app#app#app#app #modernDemoTabs>button>b{color:#fff!important;-webkit-text-fill-color:#fff!important}
/* Görünüm seçimi: 3 kart (WhatsApp · qwebirc baloncuklu · qwebirc classic). qwebirc classic önizlemesi MSN mavisi. */
.appearance-style-cards,.md-appearance-inline .appearance-style-cards{grid-template-columns:repeat(3,minmax(0,1fr))!important}
.appearance-style-preview[data-style="qwclassic"]{background:#f3f8fd}
.appearance-style-preview[data-style="qwclassic"] .asp-tabs{left:0;right:0;top:0;height:12px;background:linear-gradient(#d6ecfd,#bfdcfa);display:flex;gap:3px;padding:3px 4px;box-sizing:border-box}
.appearance-style-preview[data-style="qwclassic"] .asp-tabs em{display:block;width:22px;height:6px;border-radius:2px;background:#2b76d8}
.appearance-style-preview[data-style="qwclassic"] .asp-line{left:6px;right:24%;top:18px;height:4px;border-radius:2px;background:#0a48a4}
.appearance-style-preview[data-style="qwclassic"] .asp-mid{top:27px;right:36%;background:#6d9fd8}
.appearance-style-preview[data-style="qwclassic"] .asp-short{top:36px;right:52%}
.appearance-style-preview[data-style="qwclassic"] .asp-input{left:5px;right:5px;bottom:5px;height:10px;border:1px solid #9fc3e6;border-radius:3px;background:#fff}
.md-appearance-inline .appearance-style-preview[data-style="qwclassic"]{background:linear-gradient(#bfdcfa 0 8px,#f3f8fd 8px)!important}
.appearance-style-preview[data-style="qwebirc"]{background:#f4f8fc}
.appearance-style-preview[data-style="qwebirc"] .asp-tabs{left:0;right:0;top:0;height:12px;background:linear-gradient(#5fa8e8,#2f7fd0);display:flex;gap:3px;padding:3px 4px;box-sizing:border-box}
.appearance-style-preview[data-style="qwebirc"] .asp-tabs em{display:block;width:22px;height:6px;border-radius:2px;background:#d8ecff}
.appearance-style-preview[data-style="qwebirc"] .asp-line{left:6px;right:24%;top:18px;height:4px;border-radius:2px;background:#9db6cf}
.appearance-style-preview[data-style="qwebirc"] .asp-mid{top:27px;right:36%;background:#c3d3e3}
.appearance-style-preview[data-style="qwebirc"] .asp-short{top:36px;right:52%}
.appearance-style-preview[data-style="qwebirc"] .asp-input{left:5px;right:5px;bottom:5px;height:10px;border:1px solid #9fc3e6;border-radius:3px;background:#fff}
.appearance-style-card b,.appearance-style-card small,.md-appearance-inline .appearance-style-card b{white-space:normal!important;overflow-wrap:anywhere}
/* Mesaj avatarı zemini (PC, WhatsApp, Classic): yetki / kullanıcı ikonunda ikonun renginin, özel nick ikonunda nick renginin açık tonu.
   Kendi seçtiği avatar / fotoğraf gösterilen satırlara dokunulmaz. */
html body #app#app#app#app#app #messages .message:is(.rank-message,.nick-icon-message):not(.rank-chosen-avatar)>.message-avatar{background:color-mix(in srgb,var(--av-tint,var(--message-rank-color,#5b6b7d)) 14%,#fff)!important;border-color:color-mix(in srgb,var(--av-tint,var(--message-rank-color,#5b6b7d)) 22%,#fff)!important}
/* Nick listesinde özel nick ikonu: zemin nick renginin açık tonu (renk verilmemişse şeffaf kalır). */
html body #app#app#app#app #app .roster-profile-avatar.nick-icon-avatar[style*="--av-tint"],html body #app#app#app#app .roster-profile-avatar.nick-icon-avatar[style*="--av-tint"]{background:color-mix(in srgb,var(--av-tint) 14%,#fff)!important;border-radius:50%!important}
/* qwebirc classic teması (msn) giriş ekranı: kanal ekranındaki açık MSN mavisi (koyu mavi yerine). */
html[data-qw-irc][data-chat-background="msn"]:not(.pc-reference) body :is(#loginScreen#loginScreen#loginScreen#loginScreen,#connectingScreen#connectingScreen#connectingScreen#connectingScreen){background:linear-gradient(165deg,#e6f3fe 0%,#cfe8fc 45%,#b6d6f7 100%)!important}
html[data-qw-irc][data-chat-background="msn"]:not(.pc-reference) body #loginScreen#loginScreen#loginScreen#loginScreen .login-card{background:#f6fbff!important;border:1px solid #c4dcf5!important;box-shadow:0 8px 28px #0a48a41f!important;color:#0a48a4!important}
html[data-qw-irc][data-chat-background="msn"]:not(.pc-reference) body #loginScreen#loginScreen#loginScreen#loginScreen .login-card :is(label,p,small,a,span,h1,h2,strong):not(button *){color:#0a48a4!important}
html[data-qw-irc][data-chat-background="msn"]:not(.pc-reference) body #loginScreen#loginScreen#loginScreen#loginScreen .login-card input{border:1px solid #c4dcf5!important;background:#fff!important}
html[data-qw-irc][data-chat-background="msn"]:not(.pc-reference) body #loginScreen#loginScreen#loginScreen#loginScreen #loginButton{background:#2b76d8!important;color:#fff!important}
/* v131 · qwebirc classic teması (yalnız mobil classic qwebirc): Aktif oturumlar penceresinde üstteki simge, nickin baş
   harfi ve "Devam et" düğmesi tema renginin açık mavisiyle silik kalıyordu; canlı maviyle çizilir. */
html[data-chat-background="msn"] body dialog.active-sessions-dialog{--as-accent:#1769d2!important}
html[data-chat-background="msn"] body dialog.active-sessions-dialog .as-avatar{background:color-mix(in srgb,var(--as-accent) 22%,#fff)}
html[data-chat-background="msn"] body dialog.active-sessions-dialog .as-continue{box-shadow:0 6px 16px color-mix(in srgb,var(--as-accent) 42%,transparent)}
/* v136 · Whois kartı › Konum bölümündeki VPN / Proxy rozeti (yalnız yetkililere görünür) */
.whois-card .whois-vpn-badge{display:inline-block;padding:1px 8px;border-radius:9px;background:#c5221f;color:#fff;font:700 11px/1.5 Arial,Helvetica,sans-serif;font-style:normal}
