*{box-sizing:border-box}body{margin:0;font-family:Inter,Segoe UI,Arial,sans-serif;color:#f7f5ff;background:#0d0b19}button,input{font:inherit}.login-body{min-height:100vh;display:grid;place-items:center;overflow:hidden;background:radial-gradient(circle at 20% 20%,#7c3aed55,transparent 35%),radial-gradient(circle at 80% 70%,#ec489955,transparent 35%),#090713}.login-glow{position:fixed;width:280px;height:280px;border-radius:50%;filter:blur(80px);opacity:.4}.g1{background:#8b5cf6;top:8%;left:5%}.g2{background:#22d3ee;right:4%;bottom:8%}.login-card{position:relative;width:min(460px,92vw);padding:38px;border:1px solid #ffffff18;background:#141126dd;backdrop-filter:blur(24px);border-radius:28px;box-shadow:0 30px 100px #0008}.brand{display:flex;align-items:center;gap:12px}.brand>span{font-size:36px;filter:drop-shadow(0 0 14px #ec4899)}.brand b{font-size:22px}.brand small{display:block;color:#a7a1bd;margin-top:3px}.login-card h1{font-size:30px;margin:34px 0 10px}.login-card p{color:#aaa4bd;line-height:1.6}.login-card label{display:block;color:#c9c2dd;margin:20px 0 8px}.login-card input,.modal-card input,.modal-card select{width:100%;padding:14px 16px;border-radius:14px;border:1px solid #ffffff18;background:#0d0b18;color:#fff;outline:none;margin-top:8px}.primary{border:0;border-radius:14px;padding:14px 18px;color:#fff;background:linear-gradient(135deg,#7c3aed,#ec4899);cursor:pointer;font-weight:800;box-shadow:0 12px 30px #7c3aed33}.login-card .primary{width:100%;margin-top:14px}.primary span{float:right}.error{min-height:22px;color:#fb7185;margin-top:10px}.back{background:none;border:0;color:#a78bfa;cursor:pointer}.user-chip{margin-top:22px;padding:10px 14px;border-radius:12px;background:#ffffff08;color:#ddd}.login-note{text-align:center;color:#7f7896;font-size:13px;margin-top:25px}.app-body{min-height:100vh;background:#090713;overflow-x:hidden}.app-bg{position:fixed;inset:0;pointer-events:none;background:radial-gradient(circle at 10% 10%,#7c3aed22,transparent 25%),radial-gradient(circle at 90% 80%,#22d3ee16,transparent 25%)}.topbar{height:74px;padding:0 24px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #ffffff10;background:#100d1de8;backdrop-filter:blur(18px);position:sticky;top:0;z-index:5}.top-actions{display:flex;align-items:center;gap:10px}.icon-btn{position:relative;border:1px solid #ffffff12;background:#ffffff08;color:#fff;border-radius:12px;width:42px;height:42px;cursor:pointer}.icon-btn i{position:absolute;right:-3px;top:-5px;background:#ec4899;border-radius:20px;font-size:10px;padding:2px 5px;font-style:normal}.top-user{display:flex;align-items:center;gap:8px;padding:6px 10px;border-radius:14px;background:#ffffff07}.top-user img{width:34px;height:34px;border-radius:11px}.top-user em{font-style:normal;font-size:11px}.chat-layout{position:relative;display:grid;grid-template-columns:250px minmax(420px,1fr) 310px;gap:12px;padding:12px;min-height:calc(100vh - 74px)}.panel{border:1px solid #ffffff0e;background:#121020e8;backdrop-filter:blur(18px);border-radius:20px;overflow:hidden}.rooms,.rightbar{padding:16px}.panel-title,.side-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.panel-title span,.side-heading span{font-size:11px;color:#67e8f9}.rooms-list{display:grid;gap:7px}.room{width:100%;display:grid;grid-template-columns:36px 1fr auto;align-items:center;gap:8px;text-align:left;padding:10px;border:1px solid transparent;background:transparent;color:#fff;border-radius:14px;cursor:pointer}.room:hover,.room.active{background:linear-gradient(90deg,#7c3aed22,#ec489911);border-color:#8b5cf633}.room>span{font-size:22px}.room b,.room small{display:block}.room small{color:#817b94;font-size:11px;margin-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.room i{font-style:normal;color:#7f7896;font-size:11px}.outline{width:100%;margin-top:12px;border:1px dashed #8b5cf655;background:#8b5cf611;color:#c4b5fd;padding:12px;border-radius:13px;cursor:pointer}.mini-links{border-top:1px solid #ffffff0b;margin-top:15px;padding-top:12px;display:grid;gap:4px}.mini-links button{background:none;border:0;color:#9b94ad;text-align:left;padding:8px;cursor:pointer}.conversation{display:grid;grid-template-rows:auto 1fr auto auto;min-width:0}.conversation-head{padding:17px 20px;border-bottom:1px solid #ffffff0d;display:flex;justify-content:space-between;align-items:center}.conversation-head>div:first-child{display:flex;align-items:center;gap:10px}.conversation-head h2{margin:0;font-size:18px}.conversation-head p{margin:4px 0 0;color:#817b94;font-size:12px}.live-dot{width:10px;height:10px;border-radius:50%;background:#34d399;box-shadow:0 0 15px #34d399;animation:pulse 1.8s infinite}.head-tools{display:flex;gap:8px;align-items:center;color:#aaa3bb;font-size:12px}.voice-btn{border:1px solid #22d3ee44;background:#22d3ee0f;color:#67e8f9;border-radius:11px;padding:9px 12px;cursor:pointer}.messages{padding:20px;overflow:auto;min-height:0;max-height:calc(100vh - 220px)}.message{display:flex;gap:10px;margin-bottom:14px;animation:rise .25s ease}.message.mine{flex-direction:row-reverse}.avatar{width:34px;height:34px;flex:none;border-radius:12px;display:grid;place-items:center;background:linear-gradient(135deg,#7c3aed55,#ec489955);cursor:pointer}.message>div:nth-child(2){max-width:78%}.message.mine>div:nth-child(2){text-align:right}.meta{display:flex;gap:7px;align-items:center;font-size:11px;color:#8d879f;margin:0 2px 5px}.message.mine .meta{justify-content:flex-end}.meta span{font-weight:700}.bubble{display:inline-block;padding:11px 14px;border-radius:15px 15px 15px 5px;background:#ffffff08;border:1px solid #ffffff0b;color:#eeeaf7;line-height:1.45}.mine .bubble{border-radius:15px 15px 5px 15px;background:linear-gradient(135deg,#7c3aed33,#ec489922)}.typing{height:22px;padding:0 20px;color:#8e87a0;font-size:12px;font-style:italic}.compose{margin:0 14px 12px;display:flex;gap:8px;padding:8px;border-radius:16px;background:#090812;border:1px solid #ffffff0e}.compose button:first-child{width:44px;background:none;border:0;color:#fff;font-size:20px}.compose input{flex:1;border:0;background:none;outline:0;color:#fff}.send{border:0;border-radius:12px;background:#7c3aed;color:#fff;padding:0 17px;cursor:pointer}.profile-card{display:flex;gap:12px;padding:12px;border-radius:16px;background:linear-gradient(135deg,#7c3aed18,#ec489918);border:1px solid #ffffff0c}.profile-card img{width:52px;height:52px;border-radius:15px}.profile-card b,.profile-card span,.profile-card small{display:block}.profile-card span{font-size:11px;margin-top:4px}.profile-card small{color:#8d879f;margin-top:5px}.side-heading{margin-top:18px}.members{display:grid;gap:5px;max-height:46vh;overflow:auto}.member{display:flex;align-items:center;gap:9px;border:0;background:none;color:#fff;text-align:left;padding:7px;border-radius:11px;cursor:pointer}.member:hover{background:#ffffff08}.m-avatar{width:34px;height:34px;border-radius:11px;background:#ffffff08;display:grid;place-items:center}.speaking{box-shadow:0 0 0 2px #34d399,0 0 15px #34d399}.member b,.member small,.member em{display:block}.member small{font-size:10px}.member em{font-size:10px;color:#67e8f9;font-style:normal}.radio{margin-top:15px;padding:14px;border-radius:17px;background:linear-gradient(145deg,#ec489912,#22d3ee0d);border:1px solid #ffffff0d}.radio-head{display:flex;gap:10px;align-items:center}.radio-icon{width:42px;height:42px;border-radius:14px;display:grid;place-items:center;background:#ec489922;animation:spinSlow 5s linear infinite}.radio-head b,.radio-head small{display:block}.radio-head small{color:#8f889f;font-size:11px}.eq{height:28px;display:flex;align-items:end;gap:4px;margin:10px 0}.eq i{width:5px;background:linear-gradient(#22d3ee,#ec4899);border-radius:5px;animation:eq .7s ease-in-out infinite alternate}.eq i:nth-child(2){animation-delay:.15s}.eq i:nth-child(3){animation-delay:.3s}.eq i:nth-child(4){animation-delay:.1s}.eq i:nth-child(5){animation-delay:.25s}.eq i:nth-child(6){animation-delay:.4s}.eq i:nth-child(7){animation-delay:.2s}.radio-controls{display:flex;gap:6px}.radio-controls input{min-width:0;flex:1;background:#080710;border:1px solid #ffffff0e;border-radius:10px;color:#fff;padding:9px;font-size:10px}.radio-controls button{border:0;background:#ec4899;color:#fff;border-radius:10px;padding:9px 11px;cursor:pointer}.modal[hidden]{display:none!important}.modal{position:fixed;inset:0;background:#0009;display:grid;place-items:center;z-index:20;padding:20px}.modal-card{position:relative;width:min(440px,95vw);padding:25px;border:1px solid #ffffff14;background:#151126;box-shadow:0 30px 100px #000c;border-radius:22px}.modal-card.wide{width:min(700px,95vw)}.close{position:absolute;right:14px;top:12px;border:0;background:none;color:#aaa;font-size:26px;cursor:pointer}.profile-big{text-align:center}.big-avatar{font-size:50px}.profile-big h2{margin:10px 0 4px}.profile-big p{color:#aaa}.checks{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:10px 0 20px}.checks label{padding:9px;border:1px solid #ffffff0c;border-radius:10px;background:#ffffff05;color:#c5bfd4;font-size:12px}@keyframes pulse{50%{transform:scale(1.25);opacity:.6}}@keyframes rise{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}@keyframes eq{from{height:5px}to{height:26px}}@keyframes spinSlow{to{transform:rotate(360deg)}}@media(max-width:1050px){.chat-layout{grid-template-columns:220px minmax(0,1fr)}.rightbar{display:none}}@media(max-width:720px){.topbar{padding:0 12px}.top-user span,.top-user em{display:none}.chat-layout{display:block;padding:8px}.rooms{display:none}.conversation{height:calc(100vh - 90px)}.messages{max-height:none}.head-tools span{display:none}.rightbar{display:none}.login-card{padding:28px}.conversation-head{padding:14px}.compose{margin-bottom:8px}}

.context-menu{position:fixed;z-index:1000;min-width:190px;padding:6px;border:1px solid #ffffff18;border-radius:14px;background:#151126;box-shadow:0 18px 50px #000b}.context-menu button{display:block;width:100%;text-align:left;border:0;background:none;color:#eee;padding:10px 12px;border-radius:9px;cursor:pointer}.context-menu button:hover{background:#ffffff0b}.context-menu .danger-item{color:#fb7185}.admin-float{position:fixed;right:18px;bottom:18px;z-index:10;border:1px solid #ec489955;background:linear-gradient(135deg,#7c3aed,#ec4899);color:#fff;border-radius:14px;padding:11px 15px;font-weight:800;box-shadow:0 12px 35px #0008;cursor:pointer}.radio-request{margin-top:10px;display:grid;grid-template-columns:1fr 1fr auto;gap:6px}.radio-request input{min-width:0;background:#080710;border:1px solid #ffffff0e;border-radius:10px;color:#fff;padding:9px;font-size:10px}.radio-request button{border:0;background:#7c3aed;color:#fff;border-radius:10px;padding:9px 10px;cursor:pointer;font-size:10px}.radio-request #requestStatus{grid-column:1/-1;color:#67e8f9;font-size:10px;min-height:14px}.dj-requests{margin-top:10px;padding:10px;border-radius:12px;background:#0b0913;border:1px solid #ffffff0b;font-size:11px}.dj-request{display:flex;justify-content:space-between;gap:8px;align-items:center;padding:7px 0;border-top:1px solid #ffffff08}.dj-request:first-of-type{border-top:0}.dj-request small{display:block;color:#8d879f;margin-top:2px}.dj-request button{border:0;background:#ffffff0a;color:#fff;border-radius:7px;margin-left:3px;cursor:pointer}.social-compose textarea{width:100%;min-height:90px;resize:vertical;background:#0b0913;color:#fff;border:1px solid #ffffff10;border-radius:12px;padding:12px}.social-compose input{width:100%;margin:8px 0;background:#0b0913;color:#fff;border:1px solid #ffffff10;border-radius:12px;padding:11px}.social-feed{display:grid;gap:12px;margin-top:15px;max-height:60vh;overflow:auto}.social-post{padding:14px;border:1px solid #ffffff0d;border-radius:15px;background:#0e0c19}.social-post-head{display:flex;justify-content:space-between;gap:10px;color:#cfc8df}.social-post-head time{color:#817b94;font-size:10px}.social-content{margin:12px 0;line-height:1.5}.social-image{width:100%;max-height:320px;object-fit:cover;border-radius:12px}.social-actions{display:flex;gap:12px;padding:7px 0;border-top:1px solid #ffffff08}.social-actions button{border:0;background:none;color:#ddd;cursor:pointer}.social-comments{display:grid;gap:5px;font-size:11px;color:#aaa3ba}.comment-form{display:flex;gap:6px;margin-top:8px}.comment-form input{flex:1;background:#080710;border:1px solid #ffffff0e;color:#fff;border-radius:9px;padding:8px}.comment-form button{border:0;background:#7c3aed;color:#fff;border-radius:9px;padding:8px 10px}.empty-state{padding:30px;text-align:center;color:#8d879d}.login-html{margin-top:15px;padding:12px;border-radius:12px;background:#ffffff06;border:1px solid #ffffff0a}.site-chat-html{margin:10px 14px;padding:10px;border-radius:12px;background:#ffffff05}.no-animations *{animation:none!important;transition:none!important}@media(max-width:720px){.radio-request{grid-template-columns:1fr 1fr}.radio-request button{grid-column:1/-1}.admin-float{right:10px;bottom:10px}}

/* ChatLume 2026 UI+ enhancement pack */
:root{--cl-accent:#7c3aed;--cl-pink:#ec4899;--cl-panel:#121020e8}
body.cl-light{background:#f4f2fb;color:#211b2e}.cl-light .app-body{background:#f4f2fb}.cl-light .topbar,.cl-light .panel{background:#ffffffeb;color:#211b2e;border-color:#211b2e14}.cl-light .room,.cl-light .mini-links button{color:#332b42}.cl-light .room small,.cl-light .conversation-head p{color:#776d86}.cl-light .message .bubble{background:#eeeaf7;color:#2d2539}.cl-light .compose{background:#fff}.cl-light .compose input{background:#f7f5fb;color:#211b2e}.cl-light .site-announcement{background:#fff;color:#332b42}
body.cl-no-anim *,body.cl-no-anim *::before,body.cl-no-anim *::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}
.room-search{display:flex;align-items:center;gap:7px;background:#0b0912;border:1px solid #ffffff0b;border-radius:12px;padding:8px 10px;margin:0 0 10px}.room-search span{color:#8e879e;font-size:18px}.room-search input{width:100%;border:0;outline:0;background:transparent;color:#fff;font-size:12px}.cl-light .room-search{background:#f5f2fa;border-color:#211b2e12}.cl-light .room-search input{color:#211b2e}
.quick-panel{position:fixed;right:18px;top:68px;width:min(390px,calc(100vw - 36px));background:#151126f5;border:1px solid #ffffff16;border-radius:18px;box-shadow:0 25px 80px #000b;backdrop-filter:blur(20px);z-index:60;padding:10px}.quick-panel[hidden]{display:none}.quick-panel h3{margin:8px 10px 12px;font-size:14px}.quick-item{width:100%;display:flex;align-items:center;gap:10px;background:#ffffff06;color:#eee;border:1px solid transparent;border-radius:12px;padding:10px;text-align:left;cursor:pointer}.quick-item:hover{background:#7c3aed18;border-color:#8b5cf633}.quick-item kbd{margin-left:auto;color:#8e879e;font-size:10px}.cl-light .quick-panel{background:#fff;color:#211b2e}.cl-light .quick-item{color:#332b42;background:#211b2e06}
.site-announcement{position:fixed;left:50%;top:84px;transform:translateX(-50%);width:min(900px,calc(100vw - 32px));z-index:25;padding:11px 15px;border:1px solid #ec489933;border-radius:14px;background:#171126ed;color:#f4ecff;box-shadow:0 18px 50px #0007;backdrop-filter:blur(16px);font-size:12px}.site-announcement:empty{display:none}
.mobile-nav{display:none}.mobile-nav button{border:0;background:none;color:#9d96ac;display:grid;place-items:center;gap:2px;font-size:18px;padding:6px 10px}.mobile-nav button.active{color:#f9a8d4}.mobile-nav small{font-size:9px}
.context-menu{z-index:80}.context-menu button{min-width:180px;text-align:left}
@media(max-width:720px){.mobile-nav{position:fixed;display:grid;grid-template-columns:repeat(4,1fr);left:8px;right:8px;bottom:8px;height:58px;background:#151126f2;border:1px solid #ffffff12;border-radius:17px;z-index:40;box-shadow:0 15px 45px #0009;backdrop-filter:blur(18px)}.cl-light .mobile-nav{background:#fff}.conversation{padding-bottom:64px}.quick-panel{top:62px;right:10px;width:calc(100vw - 20px)}.site-announcement{top:78px}.room-search{margin-bottom:8px}}
@media(min-width:721px){.mobile-nav{display:none!important}}

/* ===== Ultra v6 ===== */
.profile-v6{text-align:center}.profile-v6 .big-avatar{font-size:64px;margin:5px auto 10px}.status-line{padding:10px 14px;border-radius:14px;background:rgba(255,255,255,.04);margin:14px 0}.xp-box{display:flex;justify-content:space-between;gap:12px;padding:12px;border:1px solid rgba(255,255,255,.08);border-radius:14px}.xp-box span{opacity:.75}.badges{display:flex;flex-wrap:wrap;gap:7px;justify-content:center;margin:14px 0}.badge-chip{padding:7px 10px;border-radius:999px;background:rgba(124,58,237,.15);font-size:12px}.profile-actions{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.profile-actions button{padding:10px;border:1px solid rgba(255,255,255,.1);border-radius:10px;background:rgba(255,255,255,.04);color:inherit}.message .bubble{position:relative}.message[data-pinned="1"] .bubble{outline:1px solid var(--cl-accent);}.message .reaction-row{display:flex;gap:4px;margin-top:4px}.message .reaction-chip{font-size:12px;padding:3px 7px;border-radius:999px;background:rgba(255,255,255,.06)}


/* ===== Ultra v6.1 viewport + message scrollbar fix ===== */
html,body{width:100%;height:100%;overflow:hidden}
.app-body{height:100vh;min-height:0;overflow:hidden}
.chat-layout{height:calc(100vh - 74px);min-height:0;overflow:hidden}
.chat-layout>.panel{min-height:0}
.rooms,.rightbar{min-height:0;overflow:hidden}
.rooms{display:flex;flex-direction:column}
.rooms-list{min-height:0;overflow-y:auto;overscroll-behavior:contain}
.rightbar{overflow-y:auto;overscroll-behavior:contain}
.conversation{height:100%;min-height:0;overflow:hidden}
.messages{height:100%;max-height:none;min-height:0;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.28) transparent}
.messages::-webkit-scrollbar,.rooms-list::-webkit-scrollbar,.rightbar::-webkit-scrollbar,.members::-webkit-scrollbar,.social-feed::-webkit-scrollbar{width:5px;height:5px}
.messages::-webkit-scrollbar-track,.rooms-list::-webkit-scrollbar-track,.rightbar::-webkit-scrollbar-track,.members::-webkit-scrollbar-track,.social-feed::-webkit-scrollbar-track{background:transparent}
.messages::-webkit-scrollbar-thumb,.rooms-list::-webkit-scrollbar-thumb,.rightbar::-webkit-scrollbar-thumb,.members::-webkit-scrollbar-thumb,.social-feed::-webkit-scrollbar-thumb{background:rgba(255,255,255,.25);border-radius:99px}
.messages::-webkit-scrollbar-thumb:hover,.rooms-list::-webkit-scrollbar-thumb:hover,.rightbar::-webkit-scrollbar-thumb:hover,.members::-webkit-scrollbar-thumb:hover,.social-feed::-webkit-scrollbar-thumb:hover{background:rgba(255,255,255,.42)}
@media(max-width:720px){html,body{overflow:hidden}.chat-layout{height:calc(100vh - 74px);min-height:0;padding:8px}.conversation{height:100%;min-height:0}.messages{height:100%;max-height:none;padding:14px}.rooms{height:100%;overflow:auto}.rightbar{height:100%;overflow:auto}.conversation{padding-bottom:64px}}

/* ===== Voice stage + room background ===== */
.messages{background-size:cover;background-position:center;background-repeat:no-repeat;background-attachment:local;}
.voice-slots{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;padding:9px 14px 5px;background:#0b0912aa;border-bottom:1px solid #ffffff0b;backdrop-filter:blur(10px);min-height:72px;}
.voice-slot{position:relative;min-width:0;height:58px;border:1px solid #ffffff0d;border-radius:13px;background:#ffffff05;color:#aaa3ba;display:flex;align-items:center;justify-content:center;gap:5px;cursor:pointer;overflow:hidden;}
.voice-slot.empty:hover{background:#ffffff0b;color:#fff;border-color:#a78bfa55;}
.voice-slot.empty span{font-size:19px;opacity:.7}.voice-slot.empty small{font-size:9px;display:none;}
.voice-slot.active{border-color:#34d39977;box-shadow:inset 0 0 18px #34d3990d;}
.voice-slot.active img{width:34px;height:34px;border-radius:11px;object-fit:cover;background:#ffffff0a;}
.voice-slot.active b{position:absolute;right:5px;top:4px;font-size:11px;}
.voice-name{max-width:calc(100% - 45px);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:10px;color:#eeeaf7;font-weight:700;}
.voice-slot.mine-voice{border-color:#a78bfa99;box-shadow:0 0 0 1px #a78bfa33,0 0 18px #a78bfa18;}
@media(max-width:720px){.voice-slots{gap:5px;padding:7px 8px 4px;min-height:60px}.voice-slot{height:48px;border-radius:10px}.voice-slot.active img{width:28px;height:28px}.voice-name{display:none}.voice-slot.active b{font-size:9px}.voice-slot.empty span{font-size:16px}}

/* Keep voice stage inside the fixed chat viewport. */
.conversation{display:flex;flex-direction:column;}
.voice-slots{flex:0 0 auto;}
.messages{flex:1 1 auto;height:auto!important;max-height:none!important;overflow-y:auto;}
.typing{flex:0 0 22px;}
.compose{flex:0 0 auto;}

/* ===== Ultra v6.3 radio + room polish ===== */
.radio-head{position:relative}.radio-live{margin-left:auto;font-size:10px;color:#6b6478}.radio-live.on{color:#34d399;text-shadow:0 0 10px #34d399}.radio-now{display:flex;justify-content:space-between;align-items:center;gap:8px;margin:8px 0;padding:9px 10px;border-radius:11px;background:#0b0913;border:1px solid #ffffff0b}.radio-now small{display:block;color:#7f7891;font-size:8px;letter-spacing:.08em}.radio-now b{display:block;font-size:11px;margin-top:2px}.radio-now span{font-size:10px;color:#67e8f9;white-space:nowrap}.radio-volume{display:flex;align-items:center;gap:7px;margin:8px 0;color:#8f889f;font-size:10px}.radio-volume input{flex:1;accent-color:#ec4899}.radio-volume span:last-child{min-width:32px;text-align:right}.radio-request-title{margin-top:9px;margin-bottom:5px;color:#cfc8df;font-size:10px;font-weight:700}.radio-request button{white-space:nowrap}.room-actions .small{font-weight:800}.room-admin{position:relative}.room-admin:hover{border-color:#8b5cf644}.room-admin-grid{align-items:stretch}


/* ===== BadeSohbet • Soft Kum Beji Tema ===== */
:root{--bs-bg:#eee4d5;--bs-bg-2:#f5eee4;--bs-panel:#fffaf3;--bs-panel-2:#fbf4ea;--bs-border:#dfd0bd;--bs-text:#302a25;--bs-muted:#82776b;--bs-accent:#c72d78;--bs-accent-2:#e66a9c;--bs-green:#29965c;--bs-shadow:0 12px 35px rgba(91,65,42,.09)}
body.app-body{color:var(--bs-text);background:var(--bs-bg)}
.app-body .app-bg{background:radial-gradient(circle at 12% 8%,rgba(230,106,156,.10),transparent 28%),radial-gradient(circle at 88% 85%,rgba(191,155,111,.13),transparent 30%),linear-gradient(135deg,#efe5d7,#e9dece)}
.app-body .topbar{background:rgba(255,250,243,.92);border-bottom:1px solid var(--bs-border);box-shadow:0 3px 18px rgba(91,65,42,.05);backdrop-filter:blur(16px)}
.app-body .brand b{color:#211d19}.app-body .brand small{color:var(--bs-muted)}
.app-body .brand>span{filter:none;color:var(--bs-accent)}
.app-body .icon-btn{background:#fffaf4;border-color:var(--bs-border);color:#51473d}
.app-body .icon-btn i{background:var(--bs-accent)}
.app-body .top-user{background:#f5ede2;border:1px solid #e4d6c5;color:var(--bs-text)}
.app-body .chat-layout{background:transparent}
.app-body .panel{background:rgba(255,250,243,.96);border:1px solid var(--bs-border);box-shadow:var(--bs-shadow);backdrop-filter:none}
.app-body .panel-title span,.app-body .side-heading span{color:var(--bs-accent)}
.app-body .room{color:var(--bs-text)}
.app-body .room small,.app-body .conversation-head p,.app-body .profile-card small,.app-body .member small,.app-body .radio-head small{color:var(--bs-muted)}
.app-body .room:hover,.app-body .room.active{background:linear-gradient(90deg,rgba(199,45,120,.10),rgba(230,106,156,.04));border-color:rgba(199,45,120,.20)}
.app-body .outline{border:1px dashed rgba(199,45,120,.35);background:rgba(199,45,120,.05);color:var(--bs-accent)}
.app-body .mini-links{border-color:#e7dacb}.app-body .mini-links button{color:#766b60}
.app-body .conversation-head{border-bottom:1px solid #e6d9ca}.app-body .conversation-head h2{color:#28221e}
.app-body .messages{background-color:transparent}
.app-body .meta{color:#95887b}.app-body .meta span:first-child{color:#2e2823}
.app-body .bubble{background:#f8f0e6;border-color:#eadccc;color:#3b342e}
.app-body .mine .bubble{background:linear-gradient(135deg,rgba(199,45,120,.12),rgba(230,106,156,.07));border-color:rgba(199,45,120,.20)}
.app-body .compose{background:#fffaf4;border-color:var(--bs-border);box-shadow:0 5px 18px rgba(91,65,42,.05)}
.app-body .compose input{color:var(--bs-text)}.app-body .compose input::placeholder{color:#a29689}
.app-body .compose button:first-child{color:#725f50}.app-body .send{background:linear-gradient(135deg,#c72d78,#df5a91)}
.app-body .profile-card{background:linear-gradient(135deg,rgba(199,45,120,.08),rgba(230,106,156,.04));border-color:#eadaca}
.app-body .member{color:var(--bs-text)}.app-body .member:hover{background:#f7eee4}
.app-body .m-avatar{background:#f0e5d9}.app-body .speaking{box-shadow:0 0 0 2px #36a968,0 0 12px rgba(54,169,104,.22)}
.app-body .voice-btn{border-color:rgba(199,45,120,.25);background:rgba(199,45,120,.06);color:var(--bs-accent)}
.app-body .radio{background:linear-gradient(145deg,rgba(199,45,120,.08),rgba(191,155,111,.08));border-color:#e7d8c8}
.app-body .radio-now{background:#f7eee4;border-color:#e7d9c9}.app-body .radio-now span{color:var(--bs-accent)}
.app-body .radio-controls input{background:#fffaf4;border-color:#e4d6c6;color:var(--bs-text)}.app-body .radio-controls button{background:var(--bs-accent)}
.app-body .radio-volume input{accent-color:var(--bs-accent)}
.app-body .radio-request-title{color:#6f6257}
.app-body .context-menu{background:#fffaf4!important;border-color:#decfbd!important;box-shadow:0 18px 45px rgba(65,45,28,.18)!important}
.app-body .context-menu button{color:#3b342e!important}.app-body .context-menu button:hover{background:#f3e7da!important}
/* Role/unvan badges */
.role-badge{display:inline-flex!important;align-items:center;gap:4px;padding:3px 8px;border-radius:999px;background:rgba(199,45,120,.09);border:1px solid rgba(199,45,120,.16);font-size:10px!important;font-weight:800!important;line-height:1.2;white-space:nowrap}
.member .role-badge{margin-top:3px}.meta .role-badge{padding:2px 7px;font-size:9px!important}
.profile-big .role-badge{margin-top:4px}

/* ===== BadeSohbet sıcak kum beji tema - daha tok tonlar ===== */
:root{
  --bs-bg:#e3d3be;
  --bs-bg-2:#eadcca;
  --bs-panel:#f7efe4;
  --bs-panel-2:#efe2d2;
  --bs-border:#d2bda1;
  --bs-text:#342b25;
  --bs-muted:#76685a;
  --bs-accent:#c83f76;
  --bs-accent-2:#dc668f;
  --bs-green:#31935a;
  --bs-shadow:0 12px 35px rgba(79,56,35,.14)
}
body.app-body{background:var(--bs-bg);color:var(--bs-text)}
.app-body .app-bg{background:radial-gradient(circle at 10% 8%,rgba(220,102,143,.13),transparent 28%),radial-gradient(circle at 88% 82%,rgba(176,133,82,.16),transparent 30%),linear-gradient(135deg,#e4d5c1,#dccaaf)}
.app-body .topbar{background:rgba(247,239,228,.96);border-bottom-color:#d8c4aa;box-shadow:0 3px 18px rgba(79,56,35,.09)}
.app-body .icon-btn{background:#f5ecdf;border-color:#d9c5aa;color:#55473a}
.app-body .top-user{background:#eee1d0;border-color:#d7c2a7}
.app-body .panel{background:rgba(247,239,228,.97);border-color:#d3bea2;box-shadow:var(--bs-shadow)}
.app-body .room:hover,.app-body .room.active{background:linear-gradient(90deg,rgba(200,63,118,.13),rgba(220,102,143,.06));border-color:rgba(200,63,118,.25)}
.app-body .mini-links{border-color:#dcc8ae}
.app-body .conversation-head{border-bottom-color:#dcc8ae}
.app-body .bubble{background:#f1e6d8;border-color:#dfccb4;color:#3d332b}
.app-body .mine .bubble{background:linear-gradient(135deg,rgba(200,63,118,.15),rgba(220,102,143,.09));border-color:rgba(200,63,118,.25)}
.app-body .compose{background:#f5ecdf;border-color:#d2bda1;box-shadow:0 5px 18px rgba(79,56,35,.09)}
.app-body .profile-card{background:linear-gradient(135deg,rgba(200,63,118,.11),rgba(176,133,82,.07));border-color:#dfcbb2}
.app-body .member:hover{background:#eee1d0}
.app-body .m-avatar{background:#e6d8c6}
.app-body .voice-slots{background:rgba(224,209,190,.82);border-bottom-color:#d4c0a5}
.app-body .voice-slot{background:rgba(255,250,244,.42);border-color:#d8c4aa;color:#776a5c}
.app-body .voice-slot.empty:hover{background:#f1e5d7;color:#493d33;border-color:rgba(200,63,118,.3)}
.app-body .radio{background:linear-gradient(145deg,rgba(200,63,118,.10),rgba(176,133,82,.12));border-color:#d9c4aa}
.app-body .radio-now{background:#eee1d0;border-color:#d8c3a8}
.app-body .radio-controls input{background:#f7efe4;border-color:#d8c3a8}
.app-body .context-menu{background:#f7efe4!important;border-color:#d2bda1!important}
.app-body .context-menu button:hover{background:#eadcca!important}
.app-body .site-announcement{background:#f3e7d9ed;border-color:rgba(200,63,118,.25);color:#3d332b}
.app-body .quick-panel{background:#f7efe4f5;border-color:#d2bda1;color:#3d332b}
.app-body .quick-item{background:#eee1d0;color:#3d332b}
.app-body .quick-item:hover{background:#ead5dc;border-color:rgba(200,63,118,.25)}
.app-body .mobile-nav{background:#f3e8dbf5;border-color:#d2bda1}
.app-body .messages{scrollbar-color:rgba(118,104,90,.42) transparent}
.app-body .messages::-webkit-scrollbar-thumb,.app-body .rooms-list::-webkit-scrollbar-thumb,.app-body .rightbar::-webkit-scrollbar-thumb,.app-body .members::-webkit-scrollbar-thumb{background:rgba(118,104,90,.38)}
.app-body .messages::-webkit-scrollbar-thumb:hover,.app-body .rooms-list::-webkit-scrollbar-thumb:hover,.app-body .rightbar::-webkit-scrollbar-thumb:hover,.app-body .members::-webkit-scrollbar-thumb:hover{background:rgba(118,104,90,.55)}

/* ===== BadeSohbet - koyu beyaz / açık gri final palet ===== */
:root{
  --bs-bg:#d4d7db;
  --bs-bg-2:#dfe2e5;
  --bs-panel:#eceef0;
  --bs-panel-2:#e2e5e8;
  --bs-border:#c1c5ca;
  --bs-text:#30343a;
  --bs-muted:#68707a;
  --bs-accent:#b53f70;
  --bs-accent-2:#cf668d;
  --bs-green:#31865a;
  --bs-shadow:0 12px 35px rgba(47,53,60,.15)
}
body.app-body{background:var(--bs-bg);color:var(--bs-text)}
.app-body .app-bg{background:radial-gradient(circle at 12% 8%,rgba(181,63,112,.08),transparent 28%),radial-gradient(circle at 88% 85%,rgba(105,113,123,.10),transparent 30%),linear-gradient(135deg,#d9dcdf,#cdd1d5)}
.app-body .topbar{background:rgba(236,238,240,.97);border-bottom-color:#c1c5ca;box-shadow:0 3px 18px rgba(47,53,60,.10)}
.app-body .icon-btn{background:#e6e8ea;border-color:#c5c9cd;color:#4a5057}
.app-body .top-user{background:#dde0e3;border-color:#c5c9cd;color:var(--bs-text)}
.app-body .panel{background:rgba(236,238,240,.98);border-color:#c1c5ca;box-shadow:var(--bs-shadow)}
.app-body .panel-title span,.app-body .side-heading span{color:var(--bs-accent)}
.app-body .room{color:var(--bs-text)}
.app-body .room small,.app-body .conversation-head p,.app-body .profile-card small,.app-body .member small,.app-body .radio-head small{color:var(--bs-muted)}
.app-body .room:hover,.app-body .room.active{background:linear-gradient(90deg,rgba(181,63,112,.12),rgba(181,63,112,.045));border-color:rgba(181,63,112,.26)}
.app-body .outline{border-color:rgba(181,63,112,.34);background:rgba(181,63,112,.055);color:var(--bs-accent)}
.app-body .mini-links{border-color:#cdd1d5}.app-body .mini-links button{color:#626a73}
.app-body .conversation-head{border-bottom-color:#cdd1d5}.app-body .conversation-head h2{color:#30343a}
.app-body .meta{color:#737b84}.app-body .meta span:first-child{color:#3c4249}
.app-body .bubble{background:#e1e4e7;border-color:#c8ccd1;color:#363b42}
.app-body .mine .bubble{background:linear-gradient(135deg,rgba(181,63,112,.14),rgba(207,102,141,.08));border-color:rgba(181,63,112,.25)}
.app-body .compose{background:#e6e8ea;border-color:#c1c5ca;box-shadow:0 5px 18px rgba(47,53,60,.10)}
.app-body .compose input{color:#30343a}.app-body .compose input::placeholder{color:#7d858e}
.app-body .compose button:first-child{color:#5e6670}.app-body .send{background:linear-gradient(135deg,#b53f70,#c95f87)}
.app-body .profile-card{background:linear-gradient(135deg,rgba(181,63,112,.09),rgba(105,113,123,.06));border-color:#cdd1d5}
.app-body .member{color:#30343a}.app-body .member:hover{background:#e1e4e7}.app-body .m-avatar{background:#d9dde1}
.app-body .voice-slots{background:rgba(210,214,218,.88);border-bottom-color:#c5c9cd}
.app-body .voice-slot{background:rgba(242,243,245,.62);border-color:#c7cbd0;color:#68707a}
.app-body .voice-slot.empty:hover{background:#e3e6e9;color:#3f454c;border-color:rgba(181,63,112,.30)}
.app-body .voice-btn{border-color:rgba(181,63,112,.25);background:rgba(181,63,112,.06);color:var(--bs-accent)}
.app-body .radio{background:linear-gradient(145deg,rgba(181,63,112,.08),rgba(105,113,123,.08));border-color:#c9cdd1}
.app-body .radio-now{background:#dde0e3;border-color:#c6cacf}.app-body .radio-now span{color:var(--bs-accent)}
.app-body .radio-controls input{background:#e8eaec;border-color:#c6cacf;color:#30343a}.app-body .radio-controls button{background:var(--bs-accent)}
.app-body .radio-volume input{accent-color:var(--bs-accent)}.app-body .radio-request-title{color:#626a73}
.app-body .context-menu{background:#eceef0!important;border-color:#c1c5ca!important;box-shadow:0 18px 45px rgba(47,53,60,.18)!important}
.app-body .context-menu button{color:#363b42!important}.app-body .context-menu button:hover{background:#dde0e3!important}
.app-body .site-announcement{background:#e7e9ebed;border-color:rgba(181,63,112,.24);color:#363b42}
.app-body .quick-panel{background:#eceef0f5;border-color:#c1c5ca;color:#363b42}.app-body .quick-item{background:#e0e3e6;color:#363b42}.app-body .quick-item:hover{background:#e7dce1;border-color:rgba(181,63,112,.25)}
.app-body .mobile-nav{background:#e7e9ebf5;border-color:#c1c5ca}.app-body .mobile-nav button.active{color:#c85a85}
.app-body .messages{scrollbar-color:rgba(104,112,122,.45) transparent}
.app-body .messages::-webkit-scrollbar-thumb,.app-body .rooms-list::-webkit-scrollbar-thumb,.app-body .rightbar::-webkit-scrollbar-thumb,.app-body .members::-webkit-scrollbar-thumb{background:rgba(104,112,122,.40)}
.app-body .messages::-webkit-scrollbar-thumb:hover,.app-body .rooms-list::-webkit-scrollbar-thumb:hover,.app-body .rightbar::-webkit-scrollbar-thumb:hover,.app-body .members::-webkit-scrollbar-thumb:hover{background:rgba(104,112,122,.58)}

/* BadeSohbet mobile stability patch */
@media(max-width:720px){
  .mobile-nav{grid-template-columns:repeat(5,1fr);}
  .conversation{padding-bottom:8px!important;}
  .chat-layout{padding-bottom:0!important;}
  .mobile-radio-open .rooms,.mobile-radio-open .conversation{display:none!important;}
  .mobile-radio-open .rightbar{display:block!important;height:calc(100vh - 90px)!important;overflow:auto!important;}
  .mobile-radio-open .rightbar>.profile-card,.mobile-radio-open .rightbar>.side-heading,.mobile-radio-open .rightbar>#members{display:none!important;}
  .mobile-members-open .rooms,.mobile-members-open .conversation{display:none!important;}
  .mobile-members-open .rightbar{display:block!important;height:calc(100vh - 90px)!important;overflow:auto!important;}
  .mobile-members-open .rightbar>.radio{display:none!important;}
  .mobile-rooms-open .conversation,.mobile-rooms-open .rightbar{display:none!important;}
  .mobile-rooms-open .rooms{display:block!important;height:calc(100vh - 90px)!important;overflow:auto!important;}
  .mobile-chat-open .rooms,.mobile-chat-open .rightbar{display:none!important;}
  .mobile-chat-open .conversation{display:grid!important;height:calc(100vh - 90px)!important;padding-bottom:8px!important;}
  .mobile-chat-open .compose{margin-bottom:6px!important;}
}

/* BadeSohbet final mobile/theme correction */
@media(max-width:720px){
  .chat-layout{height:calc(100vh - 74px)!important;min-height:0!important;padding:8px!important;padding-bottom:0!important;}
  .mobile-chat-open .conversation{height:100%!important;min-height:0!important;padding-bottom:0!important;}
  .mobile-chat-open .messages{min-height:0!important;overflow-y:auto!important;}
  .mobile-chat-open .compose{margin:0 10px 4px!important;}
  .mobile-radio-open .rightbar,.mobile-members-open .rightbar,.mobile-rooms-open .rooms{height:100%!important;max-height:none!important;}
  .mobile-nav{bottom:8px!important;}
}
/* Reliable light theme: the body itself carries cl-light. */
body.app-body.cl-light{background:#f4f2fb;color:#211b2e;}
body.app-body.cl-light .topbar,
body.app-body.cl-light .panel{background:#ffffffeb;color:#211b2e;border-color:#211b2e14;}
body.app-body.cl-light .room,
body.app-body.cl-light .mini-links button{color:#332b42;}
body.app-body.cl-light .room small,
body.app-body.cl-light .conversation-head p{color:#776d86;}
body.app-body.cl-light .bubble{background:#eeeaf7;color:#2d2539;border-color:#211b2e12;}
body.app-body.cl-light .compose{background:#fff;border-color:#211b2e14;}
body.app-body.cl-light .compose input{background:#f7f5fb;color:#211b2e;}
body.app-body.cl-light .compose input::placeholder{color:#776d86;}
body.app-body.cl-light .mobile-nav{background:#fff;border-color:#c1c5ca;}
body.app-body.cl-light .messages{scrollbar-color:rgba(104,112,122,.45) transparent;}


/* ===== BadeSohbet final mobile viewport + theme fix ===== */
@media (max-width:720px){
  html,body{height:100%;height:100dvh;overflow:hidden;}
  .app-body{height:100dvh!important;min-height:0!important;overflow:hidden!important;}
  .chat-layout{height:calc(100dvh - 74px)!important;min-height:0!important;padding:6px!important;padding-bottom:0!important;}
  .mobile-chat-open .conversation{height:100%!important;min-height:0!important;padding-bottom:0!important;transform:none!important;}
  .mobile-chat-open .conversation-head{flex:none;}
  .mobile-chat-open .messages{min-height:0!important;height:auto!important;max-height:none!important;overflow-y:auto!important;padding:10px!important;}
  .mobile-chat-open .typing{height:18px!important;padding:0 10px!important;}
  .mobile-chat-open .compose{margin:0 8px 2px!important;transform:none!important;}
  .mobile-nav{bottom:max(6px,env(safe-area-inset-bottom))!important;height:56px!important;}
}

/* The final light-theme rules must outrank the older BadeSohbet palette rules. */
body.app-body.cl-light{background:#f4f2fb!important;color:#211b2e!important;}
body.app-body.cl-light .app-bg{background:radial-gradient(circle at 12% 8%,rgba(181,63,112,.08),transparent 28%),linear-gradient(135deg,#f6f4f9,#e9e7ed)!important;}
body.app-body.cl-light .topbar,
body.app-body.cl-light .panel{background:rgba(255,255,255,.94)!important;color:#211b2e!important;border-color:#cfd2d7!important;}
body.app-body.cl-light .icon-btn{background:#f1f2f4!important;color:#343941!important;border-color:#cfd2d7!important;}
body.app-body.cl-light .top-user{background:#e9ebee!important;color:#30343a!important;border-color:#cfd2d7!important;}
body.app-body.cl-light .room,
body.app-body.cl-light .mini-links button{color:#332b42!important;}
body.app-body.cl-light .room small,
body.app-body.cl-light .conversation-head p,
body.app-body.cl-light .profile-card small,
body.app-body.cl-light .member small{color:#68707a!important;}
body.app-body.cl-light .conversation-head h2{color:#30343a!important;}
body.app-body.cl-light .bubble{background:#eeeaf7!important;color:#2d2539!important;border-color:#d2d0d8!important;}
body.app-body.cl-light .mine .bubble{background:#f1dce5!important;border-color:#d9a8bc!important;}
body.app-body.cl-light .compose{background:#fff!important;border-color:#cfd2d7!important;}
body.app-body.cl-light .compose input{background:#f7f5fb!important;color:#211b2e!important;}
body.app-body.cl-light .compose input::placeholder{color:#776d86!important;}
body.app-body.cl-light .mobile-nav{background:rgba(255,255,255,.96)!important;border-color:#cfd2d7!important;}
body.app-body.cl-light .mobile-nav button{color:#68707a!important;}
body.app-body.cl-light .mobile-nav button.active{color:#b53f70!important;}
body.app-body.cl-light .radio,
body.app-body.cl-light .profile-card{border-color:#cfd2d7!important;}
