.truk-chatroom{--truk-bg:#16051f;--truk-card:#fff;--truk-pink:#ff4fd8;--truk-purple:#6b3cff;--truk-cyan:#00d9ff;--truk-text:#21112e;--truk-muted:#665873;--truk-border:#eadcf8;font-family:inherit;color:var(--truk-text)}
.truk-chatroom *{box-sizing:border-box}.truk-chat-shell{max-width:1180px;margin:0 auto;padding:18px;border-radius:28px;background:linear-gradient(135deg,#16051f,#32104d 60%,#0e3449);box-shadow:0 20px 55px rgba(20,5,32,.25)}.truk-chat-header{display:flex;justify-content:space-between;gap:16px;align-items:center;color:#fff;padding:10px 10px 20px}.truk-chat-header h2{margin:0 0 6px;color:#fff;font-size:clamp(24px,4vw,40px);line-height:1.05}.truk-chat-header p{margin:0;color:rgba(255,255,255,.82)}.truk-chat-status{display:flex;align-items:center;gap:8px;padding:9px 13px;border-radius:999px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.22);font-weight:800;color:#fff;white-space:nowrap}.truk-online-dot{width:10px;height:10px;background:#47ff89;border-radius:999px;box-shadow:0 0 0 4px rgba(71,255,137,.16)}.truk-chat-notice{margin:0 10px 14px;padding:12px 14px;border-radius:16px;background:#eefaff;color:#12344a;border:1px solid #bdefff;font-weight:700}.truk-chat-notice.truk-danger{background:#fff1f2;border-color:#ff9aa8;color:#8a1025}.truk-chat-notice.truk-success{background:#f0fff4;border-color:#acecc2;color:#14532d}.truk-chat-layout{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:16px}.truk-chat-main,.truk-chat-card{background:rgba(255,255,255,.96);border:1px solid rgba(255,255,255,.45);border-radius:24px;box-shadow:0 12px 35px rgba(0,0,0,.16)}.truk-chat-main{display:flex;flex-direction:column;min-height:580px;overflow:hidden}.truk-chat-messages{height:500px;overflow:auto;padding:16px;display:flex;flex-direction:column;gap:8px;background:linear-gradient(180deg,#fff,#faf7ff)}.truk-message{max-width:76%;padding:8px 10px;border-radius:18px;background:#f1eaff;border:1px solid #e3d3fb;align-self:flex-start;box-shadow:0 3px 10px rgba(50,16,77,.06)}.truk-message.truk-own{align-self:flex-end;background:#e9f9ff;border-color:#c4efff;text-align:right}.truk-message.truk-pending{outline:2px dashed #f59e0b}.truk-message-meta{display:flex;gap:6px;align-items:center;font-size:12px;font-weight:800;color:#50315e;margin-bottom:2px}.truk-own .truk-message-meta{justify-content:flex-end}.truk-message-text{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.35;font-size:14px}.truk-message-actions{display:none;gap:6px;margin-top:6px;justify-content:flex-start}.truk-mod-actions-on .truk-message-actions{display:flex}.truk-own .truk-message-actions{justify-content:flex-end}.truk-message-actions button,.truk-mod-tools button,.truk-chat-send button,.truk-profile-actions button,.truk-edit-profile-btn,.truk-mod-alert button{border:0;border-radius:999px;padding:7px 12px;background:linear-gradient(135deg,var(--truk-pink),var(--truk-purple));color:#fff;font-weight:800;cursor:pointer}.truk-message-actions button{font-size:12px;padding:5px 9px}.truk-mod-toggle-actions[aria-pressed="true"]{background:linear-gradient(135deg,#16a34a,#15803d)!important}.truk-mod-toggle-actions[aria-pressed="false"]{background:#32104d!important}.truk-chat-send{display:grid;grid-template-columns:1fr auto;gap:10px;padding:12px;background:#fff;border-top:1px solid #eadcf8}.truk-chat-send textarea{resize:none;width:100%;border:1px solid #d7c7e8;border-radius:16px;padding:10px 12px;min-height:46px}.truk-chat-sidebar{display:grid;gap:16px;align-content:start}.truk-chat-card{padding:16px}.truk-chat-card h3{margin:0 0 6px;font-size:19px;color:#221030}.truk-small-note,.truk-help{margin:0 0 12px;color:var(--truk-muted);font-size:13px}.truk-profile-card label,.truk-mod-card label{display:block;font-weight:800;margin:0 0 10px}.truk-profile-card input,.truk-profile-card textarea,.truk-profile-card select,.truk-mod-card input{width:100%;border:1px solid #d8c7e8;border-radius:14px;padding:9px;margin-top:5px}.truk-profile-card-head{display:flex;justify-content:space-between;gap:10px;align-items:center}.truk-edit-profile-btn{font-size:12px;padding:6px 10px;background:#32104d}.truk-profile-saved{padding:10px;border-radius:16px;background:#fbf8ff;border:1px solid #eadcf8;margin:8px 0}.truk-profile-summary{display:flex;align-items:center;gap:10px}.truk-avatar,.truk-online-avatar{width:38px;height:38px;border-radius:999px;background:#6b3cff;color:#fff;display:inline-flex;align-items:center;justify-content:center;font-weight:900;overflow:hidden;flex:0 0 auto}.truk-avatar img,.truk-online-avatar img{width:100%;height:100%;object-fit:cover}.truk-online-users{display:grid;gap:8px}.truk-online-user{display:flex;align-items:center;gap:9px;padding:8px;border-radius:14px;background:#fbf8ff;border:1px solid #eadcf8;cursor:pointer}.truk-online-user strong{display:block}.truk-online-user span{font-size:12px;color:var(--truk-muted)}.truk-mod-alerts{display:grid;gap:8px;margin-top:10px}.truk-mod-alert{padding:10px;border-radius:14px;background:#fff1f2;border:1px solid #ff9aa8;color:#7f1d1d}.truk-mod-alert strong{display:block}.truk-profile-modal[hidden]{display:none}.truk-profile-modal{position:fixed;inset:0;z-index:99999;display:grid;place-items:center}.truk-profile-modal-backdrop{position:absolute;inset:0;background:rgba(10,3,18,.65)}.truk-profile-modal-panel{position:relative;background:#fff;border-radius:24px;max-width:460px;width:calc(100% - 30px);padding:22px;box-shadow:0 22px 70px rgba(0,0,0,.35)}.truk-profile-close{position:absolute;right:12px;top:10px;border:0;background:#f3e8ff;border-radius:999px;width:32px;height:32px;font-size:22px;cursor:pointer}.truk-profile-view{text-align:center;border-radius:18px;padding:18px;overflow:hidden}.truk-profile-view .truk-avatar{width:86px;height:86px;margin:0 auto 12px;font-size:30px}.truk-profile-view h3{margin:0 0 4px}.truk-profile-view p{margin:8px 0;color:inherit;opacity:.88}.truk-chatroom button:focus,.truk-chatroom input:focus,.truk-chatroom textarea:focus,.truk-chatroom select:focus{outline:3px solid rgba(0,217,255,.5);outline-offset:2px}@media (max-width:900px){.truk-chat-layout{grid-template-columns:1fr}.truk-chat-header{align-items:flex-start;flex-direction:column}.truk-chat-main{min-height:520px}.truk-chat-messages{height:430px}.truk-message{max-width:88%}}

/* v2.9.2 user colours, profile notification beep toggle and private messages */
.truk-mod-toggle-actions{color:#fff!important;text-shadow:0 1px 1px rgba(0,0,0,.25)}
.truk-profile-colours{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:4px 0 12px}.truk-profile-colours input[type="color"]{height:44px;padding:3px;cursor:pointer}.truk-sound-toggle{display:flex;align-items:center;gap:8px;margin:8px 0 12px;font-weight:800;color:#32104d}.truk-sound-toggle input{width:auto!important;margin:0}.truk-message{padding:0;background:transparent!important;border:0!important;box-shadow:none!important}.truk-message-bubble{padding:8px 11px;border-radius:18px;box-shadow:0 3px 12px rgba(50,16,77,.08);border:1px solid rgba(255,255,255,.32)}.truk-message.truk-own .truk-message-bubble{border-bottom-right-radius:7px}.truk-message:not(.truk-own) .truk-message-bubble{border-bottom-left-radius:7px}.truk-name-button{border:0!important;background:transparent!important;color:inherit!important;padding:0!important;margin:0!important;font:inherit!important;cursor:pointer;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:2px}.truk-message-meta{color:inherit;opacity:.86}.truk-profile-pm{border:0;border-radius:999px;padding:8px 14px;background:linear-gradient(135deg,var(--truk-pink),var(--truk-purple));color:#fff;font-weight:900;cursor:pointer;margin-top:8px}.truk-private-panel[hidden]{display:none}.truk-private-panel{position:fixed;left:18px;bottom:18px;z-index:99998;width:min(360px,calc(100vw - 36px));height:min(520px,calc(100vh - 36px));display:flex;flex-direction:column;background:#fff;border:1px solid rgba(255,255,255,.55);border-radius:24px;box-shadow:0 24px 70px rgba(22,5,31,.35);overflow:hidden}.truk-private-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:14px 16px;background:linear-gradient(135deg,#32104d,#6b3cff);color:#fff}.truk-private-head strong{display:block}.truk-private-head span{display:block;font-size:12px;opacity:.85}.truk-private-head button{min-width:34px;min-height:34px;border:0;border-radius:999px;background:rgba(255,255,255,.16);color:#fff;font-size:13px;font-weight:900;cursor:pointer;padding:7px 12px;line-height:1}.truk-private-messages{flex:1;overflow:auto;padding:14px;display:flex;flex-direction:column;gap:8px;background:linear-gradient(180deg,#fff,#faf7ff)}.truk-private-message{max-width:82%;align-self:flex-start}.truk-private-message.truk-own{align-self:flex-end;text-align:right}.truk-private-meta{display:flex;gap:6px;align-items:center;font-size:12px;font-weight:800;opacity:.86;margin-bottom:2px}.truk-private-message.truk-own .truk-private-meta{justify-content:flex-end}.truk-private-form{display:grid;grid-template-columns:1fr auto;gap:8px;padding:10px;border-top:1px solid #eadcf8;background:#fff}.truk-private-form textarea{resize:none;border:1px solid #d7c7e8;border-radius:14px;padding:9px;min-height:44px}.truk-private-form button{border:0;border-radius:999px;padding:8px 13px;background:linear-gradient(135deg,var(--truk-pink),var(--truk-purple));color:#fff;font-weight:900;cursor:pointer}.truk-online-user{position:relative}.truk-online-user::after{content:'Right-click to private message';position:absolute;right:8px;bottom:3px;font-size:9px;color:#786586;opacity:.72}@media (max-width:640px){.truk-profile-colours{grid-template-columns:1fr}.truk-private-panel{left:10px;bottom:10px;width:calc(100vw - 20px);height:min(480px,calc(100vh - 20px))}.truk-online-user::after{content:'Tap profile for private message'}}

/* v2.0.0 friends list and right-click user menu */
.truk-friends-panel{margin-top:14px;padding-top:12px;border-top:1px solid #eadcf8}.truk-friends-panel h4{margin:0 0 4px;color:#221030;font-size:15px}.truk-friends-list{display:grid;gap:7px}.truk-friend-user{display:flex;align-items:center;gap:9px;padding:8px;border-radius:14px;background:#fff;border:1px solid #eadcf8;cursor:pointer;text-align:left}.truk-friend-user strong{display:block;color:#221030}.truk-friend-user small{display:block;color:#786586;font-size:11px}.truk-friend-online{background:#f0fff4;border-color:#acecc2}.truk-no-friends{padding:8px;border-radius:12px;background:#fbf8ff;border:1px dashed #d8c7e8;color:#786586;font-size:12px}.truk-user-menu[hidden]{display:none}.truk-user-menu{position:absolute;z-index:100000;width:180px;padding:7px;border-radius:16px;background:#fff;box-shadow:0 16px 42px rgba(22,5,31,.25);border:1px solid #eadcf8}.truk-user-menu button{display:block;width:100%;border:0;background:transparent;color:#221030;text-align:left;padding:9px 10px;border-radius:12px;font-weight:800;cursor:pointer}.truk-user-menu button:hover,.truk-user-menu button:focus{background:#f3e8ff;outline:none}.truk-profile-menu-actions{display:flex;gap:8px;justify-content:center;flex-wrap:wrap;margin-top:10px}.truk-profile-friend{border:0;border-radius:999px;padding:8px 14px;background:#32104d;color:#fff;font-weight:900;cursor:pointer;margin-top:8px}.truk-online-user::after{content:'Right-click for menu';}

/* v2.1.0 auto-opening private messages */
.truk-private-panel.truk-private-new{box-shadow:0 0 0 4px rgba(255,46,154,.28),0 28px 80px rgba(22,5,31,.42);animation:trukPrivateNudge .42s ease-out 1}.truk-private-panel.truk-private-new .truk-private-head{background:linear-gradient(135deg,#ff2e9a,#6b3cff)}@keyframes trukPrivateNudge{0%{transform:translateX(-18px);opacity:.82}60%{transform:translateX(4px);opacity:1}100%{transform:translateX(0)}}


/* v2.2.0 floating, moveable private messages */
.truk-private-panel{left:18px;right:auto;bottom:18px;top:auto;transform:none;resize:both;min-width:280px;min-height:260px;max-width:calc(100vw - 24px);max-height:calc(100vh - 24px)}
.truk-private-panel.truk-private-positioned{bottom:auto!important}
.truk-private-head{cursor:move;user-select:none;touch-action:none}
.truk-private-head button{cursor:pointer}
.truk-private-panel.truk-private-dragging{opacity:.96;user-select:none;box-shadow:0 32px 90px rgba(22,5,31,.46);transition:none!important}
.truk-private-panel textarea,.truk-private-panel button{touch-action:auto}
@media (max-width:640px){.truk-private-panel{left:10px;right:auto;bottom:10px;top:auto;width:calc(100vw - 20px)!important;height:min(430px,calc(100vh - 20px));resize:none}.truk-private-panel.truk-private-positioned{bottom:auto!important}.truk-private-head{cursor:grab}}

/* v2.2.2 fixed draggable private message window */
.truk-private-drag-active,.truk-private-drag-active *{cursor:move!important;user-select:none!important}

.truk-mod-card-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:0 0 8px}.truk-mod-card-head h3{margin:0}.truk-mod-panel-toggle{border:0;border-radius:999px;padding:6px 10px;background:#32104d;color:#fff!important;font-weight:800;font-size:12px;cursor:pointer;white-space:nowrap}.truk-mod-panel-toggle:hover,.truk-mod-panel-toggle:focus{background:#4b176f}.truk-mod-panel-collapsed .truk-mod-card{padding-bottom:12px}.truk-mod-panel-collapsed .truk-mod-card-head{margin-bottom:0}
.truk-online-user.truk-test-user{opacity:.88;border-style:dashed}
.truk-online-user.truk-test-user strong:after{content:" test";margin-left:6px;font-size:10px;text-transform:uppercase;letter-spacing:.04em;background:rgba(255,255,255,.18);border-radius:999px;padding:2px 6px;font-weight:800}


/* v2.4.1 compact, screen-aware Who's here list */
.truk-online-card{
    display:flex;
    flex-direction:column;
    max-height:min(620px,calc(100vh - 120px));
    overflow:hidden;
}
.truk-online-card > h3,
.truk-online-card > .truk-small-note,
.truk-online-card > .truk-sound-toggle{
    flex:0 0 auto;
}
.truk-online-users{
    flex:1 1 auto;
    min-height:120px;
    max-height:calc(100vh - 300px);
    overflow:auto;
    gap:4px!important;
    padding-right:3px;
    scrollbar-width:thin;
}
.truk-online-user{
    min-height:34px;
    padding:4px 6px!important;
    gap:6px!important;
    border-radius:11px!important;
}
.truk-online-avatar{
    width:26px!important;
    height:26px!important;
    font-size:11px!important;
}
.truk-online-user strong{
    font-size:13px;
    line-height:1.05;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
    max-width:205px;
}
.truk-online-user span{
    font-size:10px!important;
    line-height:1.05;
    display:block;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
    max-width:205px;
}
.truk-online-user::after{
    display:none!important;
}
.truk-friends-panel{
    flex:0 1 auto;
    margin-top:8px!important;
    padding-top:8px!important;
    max-height:34vh;
    overflow:hidden;
}
.truk-friends-panel h4{
    font-size:14px!important;
}
.truk-friends-panel .truk-small-note{
    margin-bottom:6px!important;
    font-size:11px!important;
}
.truk-friends-list{
    max-height:22vh;
    overflow:auto;
    gap:4px!important;
    padding-right:3px;
    scrollbar-width:thin;
}
.truk-friend-user{
    min-height:32px;
    padding:4px 6px!important;
    gap:6px!important;
    border-radius:11px!important;
}
.truk-friend-user .truk-online-avatar{
    width:24px!important;
    height:24px!important;
}
.truk-friend-user strong{
    font-size:12px!important;
    line-height:1.05;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
}
.truk-friend-user small{
    font-size:10px!important;
    line-height:1.05;
}
@media (max-width:900px){
    .truk-online-card{max-height:52vh;}
    .truk-online-users{max-height:32vh;}
    .truk-friends-panel{max-height:18vh;}
    .truk-friends-list{max-height:12vh;}
}

/* v2.5.0 profile/menu tidy-up */
.truk-profile-edit{border:0;border-radius:999px;padding:8px 14px;background:linear-gradient(135deg,var(--truk-pink),var(--truk-purple));color:#fff;font-weight:900;cursor:pointer;margin-top:8px}
.truk-online-user::after{content:none!important;display:none!important}


/* v2.5.1 profile editor moved out of the top/sidebar layout */
.truk-profile-card[hidden]{display:none!important;}
.truk-profile-editor-active .truk-profile-card{
    display:block!important;
    position:fixed!important;
    z-index:99999!important;
    top:50%!important;
    left:50%!important;
    transform:translate(-50%,-50%)!important;
    width:min(94vw,460px)!important;
    max-height:88vh!important;
    overflow:auto!important;
    box-shadow:0 28px 80px rgba(0,0,0,.45)!important;
    border:2px solid rgba(255,255,255,.35)!important;
}
.truk-profile-editor-active::after{
    content:'';
    position:fixed;
    inset:0;
    background:rgba(5,8,20,.55);
    z-index:99998;
    backdrop-filter:blur(3px);
}
.truk-profile-editor-active .truk-profile-card .truk-profile-card-head h3::after{
    content:' — edit';
    font-weight:700;
    opacity:.8;
}


/* v2.5.2 layout breathing room and compact side panels */
.truk-chat-shell{max-width:1440px;width:min(96vw,1440px);}
.truk-chat-layout{grid-template-columns:minmax(0,1fr) minmax(245px,280px);gap:12px;align-items:start;}
.truk-chat-main{min-height:clamp(560px,72vh,760px);}
.truk-chat-messages{height:clamp(470px,62vh,650px);}
.truk-chat-sidebar{gap:10px;max-height:calc(100vh - 130px);overflow:auto;padding-right:4px;scrollbar-width:thin;}
.truk-chat-card{padding:12px;border-radius:18px;}
.truk-chat-card h3{font-size:16px;margin-bottom:4px;}
.truk-small-note,.truk-help{font-size:12px;margin-bottom:8px;line-height:1.25;}
.truk-sound-toggle{display:flex;align-items:center;gap:6px;font-size:12px;font-weight:800;margin:4px 0 8px;}
.truk-online-users,.truk-friends-list{gap:5px;}
.truk-online-user{padding:5px 6px;gap:6px;border-radius:11px;min-height:34px;}
.truk-online-avatar{width:28px;height:28px;font-size:12px;}
.truk-online-user strong{font-size:12px;line-height:1.05;}
.truk-online-user span{font-size:10.5px;line-height:1.05;}
.truk-friends-panel{margin-top:8px;padding-top:8px;border-top:1px solid #eadcf8;}
.truk-friends-panel h4{font-size:13px;margin:0 0 4px;}
.truk-mod-card{font-size:12px;}
.truk-mod-card-head{display:flex;align-items:center;justify-content:space-between;gap:8px;}
.truk-mod-card-head h3{margin:0;}
.truk-mod-tools{display:grid;gap:6px;}
.truk-mod-tools strong{font-size:12px;}
.truk-mod-tools button,.truk-mod-panel-toggle{font-size:11px!important;padding:6px 9px!important;line-height:1.15;}
.truk-mod-alert{padding:7px;border-radius:10px;font-size:11px;}
@media (min-width:1200px){.truk-chat-layout{grid-template-columns:minmax(0,1fr) 270px;}.truk-chat-shell{padding:16px;}}
@media (max-width:900px){.truk-chat-shell{width:100%;padding:12px;border-radius:20px;}.truk-chat-sidebar{max-height:none;overflow:visible;padding-right:0;}.truk-chat-card{padding:12px}.truk-chat-main{min-height:520px}.truk-chat-messages{height:430px}}


/* v2.5.3 keep the chatroom centred on the visitor screen, even inside narrow/theme containers */
.truk-chatroom{
    width:100vw;
    max-width:100vw;
    margin-left:calc(50% - 50vw);
    margin-right:calc(50% - 50vw);
    padding-left:16px;
    padding-right:16px;
    display:flex;
    justify-content:center;
    align-items:flex-start;
    overflow-x:clip;
}
.truk-chatroom .truk-chat-shell{
    width:min(100%,1440px)!important;
    max-width:1440px!important;
    margin-left:auto!important;
    margin-right:auto!important;
}
@media (max-width:900px){
    .truk-chatroom{
        padding-left:8px;
        padding-right:8px;
    }
    .truk-chatroom .truk-chat-shell{
        width:100%!important;
    }
}


/* v2.5.4 reduce main chat width by around 25% while staying centred */
.truk-chatroom .truk-chat-shell{
    width:min(100%,1080px)!important;
    max-width:1080px!important;
}
@media (min-width:1200px){
    .truk-chatroom .truk-chat-shell{
        width:min(94vw,1080px)!important;
        max-width:1080px!important;
    }
    .truk-chat-layout{
        grid-template-columns:minmax(0,1fr) 255px;
        gap:12px;
    }
}
@media (max-width:900px){
    .truk-chatroom .truk-chat-shell{
        width:100%!important;
        max-width:100%!important;
    }
}


/* v2.5.5 slightly wider side panels and no horizontal scrollbar */
.truk-chat-sidebar{
    overflow-y:auto;
    overflow-x:hidden;
}
.truk-chat-sidebar,.truk-chat-card,.truk-online-card,.truk-mod-card{
    min-width:0;
}
.truk-chatroom .truk-chat-shell{
    width:min(100%,1100px)!important;
    max-width:1100px!important;
}
@media (min-width:1200px){
    .truk-chatroom .truk-chat-shell{
        width:min(94vw,1100px)!important;
        max-width:1100px!important;
    }
    .truk-chat-layout{
        grid-template-columns:minmax(0,1fr) 278px;
        gap:12px;
    }
}
.truk-mod-card-head{
    flex-wrap:wrap;
}
.truk-mod-tools button,.truk-mod-panel-toggle{
    max-width:100%;
    white-space:normal;
}
.truk-online-user strong,.truk-online-user span{
    overflow:hidden;
    text-overflow:ellipsis;
}
@media (max-width:900px){
    .truk-chatroom .truk-chat-shell{
        width:100%!important;
        max-width:100%!important;
    }
    .truk-chat-sidebar{
        overflow:visible;
    }
}


/* v2.5.6 friends only appears when friends are online, with improved panel scrolling/alignment */
.truk-online-card{
    min-height:0;
    max-height:calc(100vh - 122px);
    overflow:hidden!important;
}
.truk-friends-panel[hidden]{
    display:none!important;
}
.truk-friends-panel{
    order:1;
    flex:0 0 auto;
    margin:6px 0 8px!important;
    padding:8px!important;
    border:1px solid #eadcf8!important;
    border-radius:14px!important;
    background:rgba(255,255,255,.72);
    max-height:22vh!important;
    overflow:hidden!important;
}
.truk-friends-panel h4{
    margin:0 0 3px!important;
}
.truk-friends-panel .truk-small-note{
    margin:0 0 5px!important;
}
.truk-friends-list{
    max-height:calc(22vh - 48px)!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
    padding-right:3px;
    scrollbar-width:thin;
}
.truk-online-users{
    order:2;
    min-height:130px;
    max-height:none!important;
    flex:1 1 auto;
    overflow-y:auto!important;
    overflow-x:hidden!important;
}
.truk-chat-main{
    min-height:clamp(590px,76vh,810px)!important;
}
.truk-chat-messages{
    height:clamp(500px,66vh,700px)!important;
}
.truk-chat-sidebar{
    max-height:clamp(590px,76vh,810px)!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
}
.truk-chat-layout{
    align-items:stretch!important;
}
@media (max-width:900px){
    .truk-online-card,
    .truk-chat-sidebar{
        max-height:none!important;
        overflow:visible!important;
    }
    .truk-friends-panel{
        max-height:180px!important;
    }
    .truk-friends-list{
        max-height:118px!important;
    }
    .truk-online-users{
        max-height:320px!important;
    }
    .truk-chat-main{
        min-height:540px!important;
    }
    .truk-chat-messages{
        height:450px!important;
    }
}

.truk-chatroom [data-chat-send-form] textarea::placeholder{color:color-mix(in srgb, var(--truk-user-typing-text, #221030) 62%, transparent)}
.truk-profile-colours label:nth-child(3),.truk-profile-colours label:nth-child(4){position:relative}


/* v2.6.0 user main chat colour controls */
.truk-chatroom [data-chat-messages]{background:var(--truk-user-main-bg, linear-gradient(180deg,#fff,#faf7ff))!important;color:var(--truk-user-main-text,#221030)!important}
.truk-chatroom [data-chat-send-form]{background:var(--truk-user-main-bg,#fff)!important;color:var(--truk-user-main-text,#221030)!important}
.truk-chatroom [data-chat-send-form] textarea{background:var(--truk-user-main-bg,#fff)!important;color:var(--truk-user-main-text,#221030)!important;caret-color:var(--truk-user-main-text,#221030)!important;border-color:color-mix(in srgb,var(--truk-user-main-text,#221030) 55%, transparent)!important}
.truk-chatroom [data-chat-send-form] textarea::placeholder{color:color-mix(in srgb,var(--truk-user-main-text,#221030) 55%, transparent)!important}


/* v2.6.1 stronger user main chat colour controls */
.truk-chatroom[data-user-main-bg] .truk-chat-main,
.truk-chatroom[data-user-main-bg] [data-chat-messages],
.truk-chatroom[data-user-main-bg] [data-chat-send-form],
.truk-chatroom[data-user-main-bg] [data-chat-input]{
    background:var(--truk-user-main-bg,#fff)!important;
    background-color:var(--truk-user-main-bg,#fff)!important;
    color:var(--truk-user-main-text,#221030)!important;
}
.truk-chatroom[data-user-main-bg] [data-chat-input]{
    caret-color:var(--truk-user-main-text,#221030)!important;
    border-color:var(--truk-user-main-text,#221030)!important;
}

.truk-reset-chat-colours{align-self:end;border:1px solid rgba(107,60,255,.35)!important;background:#fff!important;color:#2b1739!important;border-radius:999px!important;padding:9px 13px!important;font-weight:800!important;cursor:pointer}.truk-reset-chat-colours:hover,.truk-reset-chat-colours:focus{background:#f7f2ff!important;outline:3px solid rgba(255,79,216,.22)!important;outline-offset:2px!important}


/* v2.6.3 searchable country selector */
.truk-country-search{
    margin-bottom:6px!important;
    background:#fff!important;
}
.truk-profile-card select[data-profile-country]{
    margin-top:0!important;
}
.truk-profile-card optgroup[hidden],
.truk-profile-card option[hidden]{
    display:none!important;
}

/* v2.7.0 registered-user login panel */
.truk-chat-login-panel{
    width:min(720px, calc(100% - 24px));
    margin:22px auto 0;
    padding:28px;
    border-radius:26px;
    border:1px solid rgba(255,255,255,.22);
    background:linear-gradient(135deg,rgba(255,255,255,.96),rgba(248,242,255,.94));
    box-shadow:0 18px 45px rgba(20,5,35,.22);
    text-align:center;
    color:#221030;
}
.truk-chat-login-panel h3{margin:0 0 8px;font-size:1.45rem;color:#221030!important}
.truk-chat-login-panel p{margin:0 auto 18px;max-width:560px;color:#5d4b6d;line-height:1.55}
.truk-chat-login-actions{display:flex;justify-content:center;gap:10px;flex-wrap:wrap}
.truk-chat-login-button,.truk-chat-register-button{
    display:inline-flex;align-items:center;justify-content:center;
    min-height:42px;padding:10px 18px;border-radius:999px;
    font-weight:900;text-decoration:none!important;
    border:1px solid rgba(107,60,255,.25);
}
.truk-chat-login-button{background:linear-gradient(135deg,#ff4fd8,#6b3cff);color:#fff!important;box-shadow:0 10px 24px rgba(107,60,255,.25)}
.truk-chat-register-button{background:#fff;color:#27113a!important}
.truk-chat-login-button:focus,.truk-chat-register-button:focus{outline:3px solid rgba(0,217,255,.45);outline-offset:3px}

/* v2.8.0 searchable single-box country selector */
.truk-country-combobox{
    width:100%!important;
    border:1px solid #d8c7e8!important;
    border-radius:14px!important;
    padding:9px!important;
    margin-top:5px!important;
    background:#fff!important;
    color:#221030!important;
}
.truk-country-combobox::placeholder{color:#6f607a!important;}
.truk-profile-view h3,
.truk-profile-view p{color:inherit!important;}

/* v2.9.1 refined send button and fixed emoji/pride flag picker */
.truk-chatroom .truk-chat-send{
    grid-template-columns:minmax(0,1fr) auto!important;
    align-items:end;
    position:relative;
}
.truk-chatroom .truk-chat-send-actions{
    display:flex;
    gap:8px;
    align-items:center;
}
.truk-chatroom .truk-chat-send .truk-send-button{
    position:relative;
    overflow:hidden;
    isolation:isolate;
    border-radius:11px!important;
    min-height:44px;
    padding:10px 22px!important;
    background:linear-gradient(135deg,#251032,#3a1751)!important;
    color:#ffffff!important;
    border:1px solid rgba(255,255,255,.22)!important;
    box-shadow:0 8px 18px rgba(34,16,48,.18), inset 0 1px 0 rgba(255,255,255,.16);
    transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease!important;
}
.truk-chatroom .truk-chat-send .truk-send-button::before{
    content:"";
    position:absolute;
    inset:0;
    z-index:-1;
    background:linear-gradient(110deg,#5BCEFA 0%,#5BCEFA 18%,#F5A9B8 34%,#ffffff 50%,#F5A9B8 66%,#5BCEFA 82%,#5BCEFA 100%);
    opacity:0;
    transform:translateX(-102%);
    transition:transform .62s cubic-bezier(.22,.72,.18,1), opacity .22s ease;
}
.truk-chatroom .truk-chat-send .truk-send-button::after{
    content:"";
    position:absolute;
    left:12px;
    right:12px;
    bottom:7px;
    height:2px;
    border-radius:999px;
    background:linear-gradient(90deg,#5BCEFA,#F5A9B8,#fff,#F5A9B8,#5BCEFA);
    opacity:.42;
    transform:scaleX(.32);
    transform-origin:left;
    transition:transform .45s ease, opacity .18s ease;
}
.truk-chatroom .truk-chat-send .truk-send-button:hover,
.truk-chatroom .truk-chat-send .truk-send-button:focus{
    color:#21102f!important;
    transform:translateY(-1px);
    border-color:rgba(91,206,250,.65)!important;
    box-shadow:0 12px 26px rgba(91,206,250,.20),0 0 0 3px rgba(245,169,184,.15);
}
.truk-chatroom .truk-chat-send .truk-send-button:hover::before,
.truk-chatroom .truk-chat-send .truk-send-button:focus::before{
    opacity:1;
    transform:translateX(0);
}
.truk-chatroom .truk-chat-send .truk-send-button:hover::after,
.truk-chatroom .truk-chat-send .truk-send-button:focus::after{
    opacity:.8;
    transform:scaleX(1);
}
.truk-chatroom .truk-emoji-toggle{
    border-radius:12px!important;
    min-height:44px;
    min-width:46px;
    padding:8px 10px!important;
    background:#fff!important;
    color:#221030!important;
    border:1px solid rgba(107,60,255,.28)!important;
    box-shadow:0 6px 14px rgba(34,16,48,.08);
}
.truk-chatroom .truk-emoji-toggle[aria-expanded="true"]{
    background:#f7f0ff!important;
    border-color:#6b3cff!important;
}
.truk-chatroom .truk-emoji-picker[hidden]{display:none!important}
.truk-chatroom .truk-emoji-picker{
    position:absolute;
    right:12px;
    bottom:70px;
    z-index:9999;
    width:min(390px, calc(100vw - 36px));
    max-height:330px;
    overflow:auto;
    padding:12px;
    border-radius:18px;
    border:1px solid rgba(107,60,255,.25);
    background:rgba(255,255,255,.98);
    box-shadow:0 18px 46px rgba(18,6,33,.24);
    color:#221030!important;
}
.truk-chatroom .truk-emoji-section{margin-bottom:12px}.truk-chatroom .truk-emoji-section:last-child{margin-bottom:0}
.truk-chatroom .truk-emoji-section-title{font-size:12px;font-weight:900;color:#5c426d;margin:0 0 6px;text-transform:uppercase;letter-spacing:.04em}
.truk-chatroom .truk-emoji-grid{display:grid;grid-template-columns:repeat(8,minmax(34px,1fr));gap:6px}
.truk-chatroom .truk-emoji-choice{
    min-height:34px;
    border:1px solid #eadcf8!important;
    border-radius:10px!important;
    background:#fbf8ff!important;
    color:#221030!important;
    padding:4px!important;
    font-size:19px;
    line-height:1;
    display:flex;
    align-items:center;
    justify-content:center;
}
.truk-chatroom .truk-emoji-choice:hover,.truk-chatroom .truk-emoji-choice:focus{background:#f0e6ff!important;transform:translateY(-1px)}
.truk-pride-flag{display:inline-block;width:1.45em;height:.92em;border-radius:.16em;border:1px solid rgba(0,0,0,.18);vertical-align:-.12em;box-shadow:0 0 0 1px rgba(255,255,255,.4) inset;margin:0 .05em;overflow:hidden}
.truk-pride-progress{background:linear-gradient(90deg,#000 0 8%,#784F17 8% 16%,#E40303 16% 28%,#FF8C00 28% 40%,#FFED00 40% 52%,#008026 52% 64%,#24408E 64% 76%,#732982 76% 100%)}
.truk-pride-philly{background:linear-gradient(#000 0 12.5%,#784F17 12.5% 25%,#E40303 25% 37.5%,#FF8C00 37.5% 50%,#FFED00 50% 62.5%,#008026 62.5% 75%,#24408E 75% 87.5%,#732982 87.5% 100%)}
.truk-pride-lesbian{background:linear-gradient(#D52D00 0 20%,#EF7627 20% 40%,#FF9A56 40% 50%,#fff 50% 60%,#D162A4 60% 75%,#B55690 75% 88%,#A30262 88% 100%)}
.truk-pride-bi{background:linear-gradient(#D60270 0 40%,#9B4F96 40% 60%,#0038A8 60% 100%)}
.truk-pride-pan{background:linear-gradient(#FF218C 0 33%,#FFD800 33% 66%,#21B1FF 66% 100%)}
.truk-pride-ace{background:linear-gradient(#000 0 25%,#A3A3A3 25% 50%,#fff 50% 75%,#800080 75% 100%)}
.truk-pride-aro{background:linear-gradient(#3DA542 0 20%,#A7D379 20% 40%,#fff 40% 60%,#A9A9A9 60% 80%,#000 80% 100%)}
.truk-pride-nonbinary{background:linear-gradient(#FCF431 0 25%,#fff 25% 50%,#9C59D1 50% 75%,#2C2C2C 75% 100%)}
.truk-pride-genderfluid{background:linear-gradient(#FF75A2 0 20%,#fff 20% 40%,#BE18D6 40% 60%,#000 60% 80%,#333EBD 80% 100%)}
.truk-pride-genderqueer{background:linear-gradient(#B57EDC 0 33%,#fff 33% 66%,#4A8123 66% 100%)}
.truk-pride-intersex{background:#FFD800;position:relative}.truk-pride-intersex:after{content:"";position:absolute;inset:20% 31%;border:2px solid #7902AA;border-radius:50%}
.truk-pride-agender{background:linear-gradient(#000 0 14%,#BCC4C7 14% 28%,#fff 28% 42%,#B7F684 42% 58%,#fff 58% 72%,#BCC4C7 72% 86%,#000 86% 100%)}
.truk-pride-demi{background:linear-gradient(#fff 0 33%,#6E0070 33% 66%,#A4A4A4 66% 100%);position:relative}.truk-pride-demi:before{content:"";position:absolute;left:0;top:0;border-top:.46em solid transparent;border-bottom:.46em solid transparent;border-left:.55em solid #000}
.truk-pride-polysexual{background:linear-gradient(#F714BA 0 33%,#01D66A 33% 66%,#1594F6 66% 100%)}
@media (max-width:640px){.truk-chatroom .truk-emoji-grid{grid-template-columns:repeat(6,minmax(34px,1fr))}.truk-chatroom .truk-emoji-picker{right:8px;left:8px;width:auto}.truk-chatroom .truk-chat-send{grid-template-columns:1fr}.truk-chatroom .truk-chat-send-actions{justify-content:flex-end}}

.truk-profile-sound-toggle{margin:8px 0 14px!important;padding:10px 12px;border:1px solid rgba(107,60,255,.18);border-radius:14px;background:rgba(255,255,255,.72);}
.truk-profile-sound-toggle input{accent-color:#6b3cff;}

/* v2.10.0 GIF picker */
.truk-chatroom .truk-gif-toggle{
    border-radius:12px!important;
    min-height:44px;
    min-width:52px;
    padding:8px 12px!important;
    background:linear-gradient(135deg,#fff,#f7f0ff)!important;
    color:#221030!important;
    border:1px solid rgba(107,60,255,.28)!important;
    box-shadow:0 6px 14px rgba(34,16,48,.08);
    font-weight:900!important;
    letter-spacing:.03em;
}
.truk-chatroom .truk-gif-toggle[aria-expanded="true"]{
    background:#f0e6ff!important;
    border-color:#6b3cff!important;
}
.truk-chatroom .truk-gif-picker[hidden]{display:none!important}
.truk-chatroom .truk-gif-picker{
    position:absolute;
    right:12px;
    bottom:70px;
    z-index:10000;
    width:min(440px, calc(100vw - 36px));
    max-height:390px;
    overflow:auto;
    padding:12px;
    border-radius:18px;
    border:1px solid rgba(107,60,255,.25);
    background:rgba(255,255,255,.98);
    box-shadow:0 18px 46px rgba(18,6,33,.24);
    color:#221030!important;
}
.truk-chatroom .truk-gif-search-row{
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    gap:8px;
    margin-bottom:10px;
}
.truk-chatroom .truk-gif-search-row input{
    min-height:40px;
    border:1px solid #d8c7e8!important;
    border-radius:12px!important;
    padding:8px 10px!important;
    color:#221030!important;
    background:#fff!important;
}
.truk-chatroom .truk-gif-search-row button{
    min-height:40px;
    border-radius:12px!important;
    padding:8px 12px!important;
    background:#6b3cff!important;
    color:#fff!important;
    border:0!important;
    font-weight:800!important;
}
.truk-chatroom .truk-gif-results{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:8px;
    min-height:54px;
    font-size:13px;
    color:#5c426d!important;
}
.truk-chatroom .truk-gif-choice{
    display:flex;
    flex-direction:column;
    gap:4px;
    padding:5px!important;
    border:1px solid #eadcf8!important;
    border-radius:12px!important;
    background:#fbf8ff!important;
    color:#221030!important;
    text-align:left;
    overflow:hidden;
}
.truk-chatroom .truk-gif-choice img{
    width:100%;
    aspect-ratio:1.35/1;
    object-fit:cover;
    border-radius:9px;
    display:block;
}
.truk-chatroom .truk-gif-choice span{
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
    font-size:11px;
    font-weight:700;
}
.truk-chatroom .truk-gif-choice:hover,.truk-chatroom .truk-gif-choice:focus{
    background:#f0e6ff!important;
    transform:translateY(-1px);
}
.truk-chatroom .truk-chat-gif{
    margin:6px 0 0!important;
    max-width:min(280px,100%);
}
.truk-chatroom .truk-chat-gif img{
    display:block;
    max-width:100%;
    border-radius:14px;
    border:1px solid rgba(255,255,255,.35);
    box-shadow:0 8px 18px rgba(0,0,0,.12);
}
.truk-chatroom .truk-chat-gif figcaption{
    font-size:11px;
    opacity:.78;
    margin-top:3px;
}
@media (max-width:640px){
    .truk-chatroom .truk-gif-results{grid-template-columns:repeat(2,minmax(0,1fr));}
    .truk-chatroom .truk-gif-picker{right:8px;left:8px;width:auto;}
}

/* v2.14.7 - compact three-dot message menu */
.truk-chatroom .truk-message-bubble{
    position:relative;
}
.truk-chatroom .truk-message-menu-wrap{
    position:absolute;
    top:6px;
    right:7px;
    z-index:5;
}
.truk-chatroom .truk-own .truk-message-meta{
    padding-right:34px;
}
.truk-chatroom .truk-message-menu-toggle{
    width:26px;
    height:24px;
    border:0;
    border-radius:9px;
    background:rgba(255,255,255,.22);
    color:inherit;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    font-size:18px;
    line-height:1;
    font-weight:900;
    cursor:pointer;
    backdrop-filter:blur(4px);
}
.truk-chatroom .truk-message-menu-toggle:hover,
.truk-chatroom .truk-message-menu-toggle:focus{
    outline:2px solid rgba(255,255,255,.7);
    background:rgba(255,255,255,.34);
}
.truk-chatroom .truk-message-menu{
    position:absolute;
    top:28px;
    right:0;
    min-width:148px;
    padding:6px;
    border-radius:13px;
    background:#fff;
    color:#27113a;
    box-shadow:0 14px 30px rgba(0,0,0,.24);
    border:1px solid rgba(80,20,120,.14);
}
.truk-chatroom .truk-message-menu button{
    width:100%;
    border:0;
    border-radius:10px;
    padding:8px 10px;
    background:#fff;
    color:#32104d;
    text-align:left;
    font-size:12px;
    font-weight:850;
    cursor:pointer;
}
.truk-chatroom .truk-message-menu button:hover,
.truk-chatroom .truk-message-menu button:focus{
    background:#f3e8ff;
    color:#32104d;
    outline:2px solid #f9a8d4;
}
.truk-chatroom .truk-user-deleted-review{
    max-width:82%;
    opacity:.98;
}
.truk-chatroom .truk-user-deleted-review .truk-message-bubble{
    box-shadow:0 0 0 2px rgba(251,146,60,.18),0 6px 18px rgba(50,16,77,.08);
}
.truk-chatroom .truk-user-deleted-review .truk-message-text:before{
    content:'Deleted message under moderator review';
    display:block;
    font-size:11px;
    font-weight:900;
    text-transform:uppercase;
    letter-spacing:.04em;
    margin-bottom:4px;
    color:#9a3412;
}
.truk-chatroom .truk-mod-name-badge{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    margin-right:5px;
    padding:1px 5px;
    border-radius:999px;
    background:rgba(50,16,77,.10);
    color:var(--truk-mod-badge-colour,#fff);
    border:1px solid var(--truk-mod-badge-colour,#fff);
    font-size:10px;
    line-height:1.5;
    letter-spacing:.04em;
    vertical-align:middle;
}
.truk-chatroom .truk-message-meta .truk-mod-name-badge,
.truk-chatroom .truk-private-meta .truk-mod-name-badge{
    background:rgba(255,255,255,.16);
    color:var(--truk-mod-badge-colour,#fff);
    border-color:var(--truk-mod-badge-colour,#fff);
}
.truk-chatroom .truk-online-user::after{content:none!important;display:none!important;}


/* v2.13.0 logout button */
.truk-chatroom .truk-chat-header-actions{
    display:flex;
    align-items:center;
    justify-content:flex-end;
    gap:10px;
    flex-wrap:wrap;
}
.truk-chatroom .truk-chat-logout-button{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:38px;
    padding:8px 14px;
    border-radius:14px;
    background:rgba(255,255,255,.14);
    border:1px solid rgba(255,255,255,.32);
    color:#fff!important;
    font-weight:900;
    text-decoration:none!important;
    box-shadow:0 8px 22px rgba(0,0,0,.12);
    transition:transform .18s ease, background .18s ease, box-shadow .18s ease;
}
.truk-chatroom .truk-chat-logout-button:hover,
.truk-chatroom .truk-chat-logout-button:focus{
    background:linear-gradient(135deg,#5bcffb,#f5abb9,#ffffff,#f5abb9,#5bcffb);
    color:#24102f!important;
    transform:translateY(-1px);
    box-shadow:0 12px 28px rgba(0,0,0,.18);
    outline:3px solid rgba(255,255,255,.42);
    outline-offset:2px;
}
@media (max-width:900px){
    .truk-chatroom .truk-chat-header-actions{justify-content:flex-start;}
}

/* v2.14.6 universal top logout button */
.truk-chatroom button.truk-chat-logout-button{
    cursor:pointer;
    font-family:inherit;
}


/* v2.15.2 - country flags restored and profile close wording */
.truk-chatroom.truk-profile-required .truk-profile-card .truk-profile-card-head h3::after{content:' — required before chatting';font-weight:800;color:#be123c;}
.truk-chatroom.truk-profile-required .truk-profile-cancel{display:none!important;}
.truk-chatroom .truk-chat-send.truk-chat-send-disabled{opacity:.72;}
.truk-chatroom .truk-chat-send textarea:disabled{cursor:not-allowed;background:#f4eef9!important;color:#6a5b77!important;border-style:dashed!important;}
.truk-chatroom .truk-send-button:disabled{opacity:.65;cursor:wait;}

/* v2.15.2 - clearer profile modal Close button */
.truk-chatroom .truk-profile-close{width:auto!important;height:auto!important;min-width:62px!important;padding:7px 12px!important;font-size:13px!important;line-height:1.1!important;font-weight:900!important;color:#32104d!important;}
.truk-chatroom .truk-profile-close:hover,.truk-chatroom .truk-profile-close:focus{background:#32104d!important;color:#fff!important;}

/* v2.16.0 login/register entry panel refinements */
.truk-chat-register-disabled{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:42px;
    padding:10px 18px;
    border-radius:999px;
    background:#f4edf8;
    color:#5d4b6d;
    font-weight:800;
    border:1px dashed rgba(107,60,255,.28);
}
.truk-chat-login-note{
    margin-top:14px!important;
    font-size:.92rem;
    color:#6d587d!important;
}

/* v2.17.0 front-end login/register panels */
.truk-chatroom .truk-auth-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:16px;
  margin-top:18px;
}
.truk-chatroom .truk-auth-box{
  background:rgba(255,255,255,.94);
  border:1px solid rgba(104,42,140,.16);
  border-radius:18px;
  padding:18px;
  box-shadow:0 12px 28px rgba(20,8,32,.10);
}
.truk-chatroom .truk-auth-box h4{margin:0 0 12px;font-size:1.1rem;color:#221030;}
.truk-chatroom .truk-auth-box label{display:block;margin:0 0 12px;font-weight:700;color:#221030;}
.truk-chatroom .truk-auth-box input{
  width:100%;
  margin-top:6px;
  border:1px solid rgba(76,34,104,.25);
  border-radius:12px;
  padding:10px 12px;
  background:#fff;
  color:#221030;
}
.truk-chatroom .truk-auth-small{font-size:.86rem;line-height:1.35;margin:10px 0 0;color:#5f4b68;}
.truk-chatroom .truk-auth-message{
  margin-top:14px;
  padding:10px 12px;
  border-radius:12px;
  background:#f2e9ff;
  color:#221030;
  font-weight:700;
}
.truk-chatroom .truk-auth-message.truk-danger{background:#ffe3e3;color:#8a1010;}
.truk-chatroom .truk-auth-message.truk-success{background:#e9fff3;color:#135f34;}
.truk-chatroom .truk-chat-verify-warning{
  display:block !important;
  background:#fff3cd !important;
  border:1px solid #ffd66b;
  color:#4f3500 !important;
  font-weight:700;
}
@media (max-width: 760px){
  .truk-chatroom .truk-auth-grid{grid-template-columns:1fr;}
}

/* v2.18.0 - message actions, replies and @mentions */
.truk-chatroom .truk-message-meta{
    padding-right:34px;
}
.truk-chatroom .truk-message-menu{
    min-width:185px;
}
.truk-chatroom .truk-message-reply-card,
.truk-chatroom .truk-reply-compose-preview{
    border-left:4px solid rgba(80,20,120,.28);
    background:rgba(245,245,248,.82);
    color:#2b193f;
    border-radius:12px;
    padding:7px 10px;
    margin:6px 0 8px;
    font-size:12px;
    line-height:1.3;
    box-shadow:inset 0 0 0 1px rgba(0,0,0,.04);
}
.truk-chatroom .truk-message-reply-card strong,
.truk-chatroom .truk-reply-compose-preview strong{
    display:block;
    font-size:11px;
    font-weight:900;
    opacity:.86;
    margin-bottom:2px;
}
.truk-chatroom .truk-message-reply-card span,
.truk-chatroom .truk-reply-compose-preview span{
    display:block;
    opacity:.72;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
}
.truk-chatroom .truk-reply-compose-preview{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:10px;
    margin:8px 10px 0;
}
.truk-chatroom .truk-reply-compose-preview button{
    border:0;
    border-radius:10px;
    padding:7px 10px;
    background:#3a184f;
    color:#231033;
    font-size:12px;
    font-weight:850;
    cursor:pointer;
}
.truk-chatroom .truk-reply-compose-preview button:hover,
.truk-chatroom .truk-reply-compose-preview button:focus{
    outline:2px solid #f9a8d4;
}

/* v2.20.1 - message side menu and reactions */
.truk-chatroom .truk-message-bubble{
    position:relative!important;
    padding-right:42px!important;
}
.truk-chatroom .truk-message-menu-wrap{
    position:absolute!important;
    top:50%!important;
    right:-14px!important;
    transform:translateY(-50%)!important;
    z-index:12!important;
}
.truk-chatroom .truk-message-menu-toggle{
    width:30px!important;
    height:30px!important;
    border-radius:999px!important;
    background:#ffffff!important;
    color:#32104d!important;
    border:1px solid rgba(50,16,77,.16)!important;
    box-shadow:0 8px 18px rgba(0,0,0,.18)!important;
}
.truk-chatroom .truk-message-menu-toggle:hover,
.truk-chatroom .truk-message-menu-toggle:focus{
    background:linear-gradient(90deg,#5BCEFA,#F5A9B8,#fff,#F5A9B8,#5BCEFA)!important;
    color:#23102f!important;
    outline:2px solid rgba(255,255,255,.85)!important;
}
.truk-chatroom .truk-message-menu{
    top:34px!important;
    right:0!important;
    z-index:20!important;
}
.truk-chatroom .truk-message.truk-own .truk-message-menu{
    right:0!important;
}
.truk-chatroom .truk-reactions{
    display:flex!important;
    align-items:center!important;
    gap:6px!important;
    margin:3px 18px 8px!important;
    max-width:min(420px,82%)!important;
    position:relative!important;
}
.truk-chatroom .truk-message.truk-own .truk-reactions{
    margin-left:auto!important;
    justify-content:flex-end!important;
}
.truk-chatroom .truk-reaction-summary{
    display:flex!important;
    flex-wrap:wrap!important;
    gap:4px!important;
    min-height:24px!important;
}
.truk-chatroom .truk-reaction-picker-wrap{
    position:relative!important;
    display:inline-flex!important;
}
.truk-chatroom .truk-reaction-toggle,
.truk-chatroom .truk-reaction-pill,
.truk-chatroom .truk-reaction-choice{
    border:1px solid rgba(50,16,77,.12)!important;
    background:rgba(255,255,255,.92)!important;
    color:#32104d!important;
    box-shadow:0 4px 12px rgba(0,0,0,.08)!important;
    cursor:pointer!important;
    line-height:1!important;
}
.truk-chatroom .truk-reaction-toggle{
    width:28px!important;
    height:28px!important;
    border-radius:999px!important;
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    font-size:16px!important;
    font-weight:900!important;
}
.truk-chatroom .truk-reaction-pill{
    min-width:30px!important;
    height:24px!important;
    border-radius:999px!important;
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    gap:3px!important;
    font-size:13px!important;
    padding:0 7px!important;
}
.truk-chatroom .truk-reaction-pill span{
    font-size:11px!important;
    font-weight:900!important;
}
.truk-chatroom .truk-reaction-menu{
    position:absolute!important;
    z-index:45!important;
    bottom:34px!important;
    left:0!important;
    display:flex!important;
    gap:5px!important;
    padding:7px!important;
    border-radius:999px!important;
    background:#ffffff!important;
    border:1px solid rgba(50,16,77,.16)!important;
    box-shadow:0 14px 34px rgba(0,0,0,.22)!important;
}
.truk-chatroom .truk-message.truk-own .truk-reaction-menu{
    left:auto!important;
    right:0!important;
}
.truk-chatroom .truk-reaction-choice{
    width:30px!important;
    height:30px!important;
    border-radius:999px!important;
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    font-size:16px!important;
    padding:0!important;
}
.truk-chatroom .truk-reaction-toggle:hover,
.truk-chatroom .truk-reaction-toggle:focus,
.truk-chatroom .truk-reaction-pill:hover,
.truk-chatroom .truk-reaction-pill:focus,
.truk-chatroom .truk-reaction-pill.is-active,
.truk-chatroom .truk-reaction-choice:hover,
.truk-chatroom .truk-reaction-choice:focus,
.truk-chatroom .truk-reaction-choice.is-active{
    background:#f3e8ff!important;
    border-color:#c084fc!important;
    outline:2px solid rgba(245,169,184,.55)!important;
}
@media (max-width:640px){
    .truk-chatroom .truk-message-menu-wrap{right:-8px!important;}
    .truk-chatroom .truk-reactions{max-width:90%!important;margin-right:8px!important;margin-left:8px!important;}
}

/* v2.20.1 - keep reaction picker fully hidden until the smiley is clicked */
.truk-chatroom .truk-reaction-menu[hidden],
.truk-chatroom .truk-reaction-menu.is-hidden{
    display:none!important;
    visibility:hidden!important;
    opacity:0!important;
    pointer-events:none!important;
}
.truk-chatroom .truk-reaction-menu:not([hidden]){
    display:flex!important;
    visibility:visible!important;
    opacity:1!important;
    pointer-events:auto!important;
}


/* v2.20.2 - cleaner message actions and working hidden reaction popover */
.truk-chatroom .truk-message{
    position:relative!important;
    overflow:visible!important;
    padding-left:34px!important;
    padding-right:34px!important;
}
.truk-chatroom .truk-message-bubble{
    position:relative!important;
    padding:8px 11px!important;
    overflow:visible!important;
}
.truk-chatroom .truk-message-menu-wrap{
    position:absolute!important;
    top:8px!important;
    right:-4px!important;
    transform:none!important;
    z-index:30!important;
}
.truk-chatroom .truk-message.truk-own .truk-message-menu-wrap{
    right:auto!important;
    left:-4px!important;
}
.truk-chatroom .truk-message-menu-toggle{
    width:28px!important;
    height:28px!important;
    min-width:28px!important;
    padding:0!important;
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
}
.truk-chatroom .truk-message-menu{
    position:absolute!important;
    top:32px!important;
    right:0!important;
    min-width:180px!important;
}
.truk-chatroom .truk-message.truk-own .truk-message-menu{
    left:0!important;
    right:auto!important;
}
.truk-chatroom .truk-reactions{
    position:relative!important;
    overflow:visible!important;
    margin-top:4px!important;
}
.truk-chatroom .truk-reaction-picker-wrap{
    position:relative!important;
    display:inline-flex!important;
    align-items:center!important;
    overflow:visible!important;
}
.truk-chatroom .truk-reaction-toggle{
    width:30px!important;
    height:30px!important;
    padding:0!important;
    border-radius:999px!important;
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    background:#fff!important;
    border:1px solid rgba(50,16,77,.18)!important;
    box-shadow:0 5px 14px rgba(0,0,0,.12)!important;
}
.truk-chatroom .truk-reaction-icon,
.truk-chatroom .truk-reaction-icon svg{
    width:18px!important;
    height:18px!important;
    display:block!important;
}
.truk-chatroom .truk-reaction-icon svg circle{
    fill:#fff7ed!important;
    stroke:#32104d!important;
    stroke-width:1.8!important;
}
.truk-chatroom .truk-reaction-icon svg path{
    fill:none!important;
    stroke:#32104d!important;
    stroke-width:2!important;
    stroke-linecap:round!important;
    stroke-linejoin:round!important;
}
.truk-chatroom .truk-reaction-toggle:hover .truk-reaction-icon svg circle,
.truk-chatroom .truk-reaction-toggle:focus .truk-reaction-icon svg circle{
    fill:#fce7f3!important;
}
.truk-chatroom .truk-reaction-menu[hidden],
.truk-chatroom .truk-reaction-menu:not(.is-open){
    display:none!important;
    visibility:hidden!important;
    opacity:0!important;
    pointer-events:none!important;
}
.truk-chatroom .truk-reaction-menu.is-open:not([hidden]){
    display:flex!important;
    visibility:visible!important;
    opacity:1!important;
    pointer-events:auto!important;
    gap:6px!important;
    padding:8px!important;
    border-radius:999px!important;
    background:#fff!important;
    border:1px solid rgba(50,16,77,.18)!important;
    box-shadow:0 16px 40px rgba(0,0,0,.24)!important;
}
@media (max-width:640px){
    .truk-chatroom .truk-message{padding-left:30px!important;padding-right:30px!important;}
    .truk-chatroom .truk-message-menu-wrap{right:-2px!important;}
    .truk-chatroom .truk-message.truk-own .truk-message-menu-wrap{left:-2px!important;}
}


/* v2.20.4 - robust reaction pop-up visibility fix */
.truk-chatroom .truk-reaction-menu,
.truk-chatroom .truk-reaction-menu[hidden],
.truk-chatroom .truk-reaction-menu:not(.is-open){
    display:none!important;
    visibility:hidden!important;
    opacity:0!important;
    pointer-events:none!important;
}
.truk-chatroom .truk-reaction-menu.is-open{
    display:flex!important;
    visibility:visible!important;
    opacity:1!important;
    pointer-events:auto!important;
    position:fixed!important;
    z-index:100002!important;
    gap:6px!important;
    align-items:center!important;
    padding:8px!important;
    border-radius:999px!important;
    background:#fff!important;
    border:1px solid rgba(50,16,77,.18)!important;
    box-shadow:0 16px 40px rgba(0,0,0,.24)!important;
}
.truk-chatroom .truk-reaction-choice{
    display:inline-flex!important;
}


/* v2.20.4 - plain message action button and compact reaction popover */
.truk-chatroom .truk-message{
    position:relative!important;
    overflow:visible!important;
    padding-left:46px!important;
    padding-right:46px!important;
}
.truk-chatroom .truk-message-menu-wrap{
    position:absolute!important;
    top:8px!important;
    right:4px!important;
    left:auto!important;
    z-index:36!important;
}
.truk-chatroom .truk-message.truk-own .truk-message-menu-wrap{
    left:4px!important;
    right:auto!important;
}
.truk-chatroom .truk-message-menu-toggle{
    width:auto!important;
    min-width:54px!important;
    height:27px!important;
    padding:0 9px!important;
    border-radius:8px!important;
    border:1px solid rgba(50,16,77,.18)!important;
    background:#ffffff!important;
    color:#32104d!important;
    font-size:12px!important;
    font-weight:800!important;
    line-height:1!important;
    box-shadow:0 4px 12px rgba(0,0,0,.12)!important;
}
.truk-chatroom .truk-message-menu-toggle:hover,
.truk-chatroom .truk-message-menu-toggle:focus{
    background:#fdf2f8!important;
    color:#32104d!important;
    outline:2px solid rgba(245,169,184,.55)!important;
}
.truk-chatroom .truk-message-menu{
    top:31px!important;
    right:0!important;
    left:auto!important;
}
.truk-chatroom .truk-message.truk-own .truk-message-menu{
    left:0!important;
    right:auto!important;
}
.truk-chatroom .truk-reactions{
    position:relative!important;
    overflow:visible!important;
    width:auto!important;
    max-width:max-content!important;
    margin-top:4px!important;
}
.truk-chatroom .truk-reaction-summary{
    display:inline-flex!important;
    gap:4px!important;
    flex-wrap:wrap!important;
    vertical-align:middle!important;
}
.truk-chatroom .truk-reaction-picker-wrap{
    position:relative!important;
    display:inline-flex!important;
    overflow:visible!important;
}
.truk-chatroom .truk-reaction-toggle{
    width:auto!important;
    min-width:34px!important;
    height:25px!important;
    padding:0 7px!important;
    gap:4px!important;
    border-radius:999px!important;
    background:#ffffff!important;
    border:1px solid rgba(50,16,77,.18)!important;
    color:#32104d!important;
    box-shadow:0 4px 12px rgba(0,0,0,.10)!important;
}
.truk-chatroom .truk-reaction-icon{
    font-size:14px!important;
    width:auto!important;
    height:auto!important;
    line-height:1!important;
}
.truk-chatroom .truk-reaction-label{
    font-size:11px!important;
    font-weight:800!important;
    line-height:1!important;
}
.truk-chatroom .truk-reaction-menu,
.truk-chatroom .truk-reaction-menu[hidden],
.truk-chatroom .truk-reaction-menu:not(.is-open){
    display:none!important;
    visibility:hidden!important;
    opacity:0!important;
    pointer-events:none!important;
}
.truk-chatroom .truk-reaction-menu.is-open{
    display:flex!important;
    visibility:visible!important;
    opacity:1!important;
    pointer-events:auto!important;
    position:fixed!important;
    z-index:100002!important;
    align-items:center!important;
    gap:4px!important;
    width:auto!important;
    min-width:0!important;
    max-width:270px!important;
    padding:6px 7px!important;
    border-radius:14px!important;
    background:#ffffff!important;
    border:1px solid rgba(50,16,77,.18)!important;
    box-shadow:0 14px 34px rgba(0,0,0,.22)!important;
}
.truk-chatroom .truk-reaction-menu-title{
    font-size:11px!important;
    font-weight:900!important;
    color:#32104d!important;
    padding:0 4px 0 2px!important;
    border-right:1px solid rgba(50,16,77,.14)!important;
}
.truk-chatroom .truk-reaction-choice{
    width:28px!important;
    height:28px!important;
    min-width:28px!important;
    font-size:16px!important;
}
@media (max-width:640px){
    .truk-chatroom .truk-message{padding-left:40px!important;padding-right:40px!important;}
    .truk-chatroom .truk-message-menu-toggle{min-width:46px!important;font-size:11px!important;padding:0 7px!important;}
    .truk-chatroom .truk-reaction-label{display:none!important;}
}


/* v2.20.5 - restore plain three-dot action button with no hover colour change */
.truk-chatroom .truk-message-menu-toggle,
.truk-chatroom .truk-message-menu-toggle:hover,
.truk-chatroom .truk-message-menu-toggle:focus,
.truk-chatroom .truk-message-menu-toggle:active{
    width:28px!important;
    min-width:28px!important;
    height:28px!important;
    padding:0!important;
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    border-radius:999px!important;
    border:1px solid rgba(50,16,77,.18)!important;
    background:#ffffff!important;
    color:#32104d!important;
    font-size:20px!important;
    font-weight:900!important;
    line-height:1!important;
    letter-spacing:0!important;
    box-shadow:0 3px 9px rgba(0,0,0,.10)!important;
    transform:none!important;
    filter:none!important;
    text-decoration:none!important;
}
.truk-chatroom .truk-message-menu-toggle:hover,
.truk-chatroom .truk-message-menu-toggle:focus,
.truk-chatroom .truk-message-menu-toggle:active{
    background:#ffffff!important;
    color:#32104d!important;
    outline:2px solid rgba(50,16,77,.18)!important;
    box-shadow:0 3px 9px rgba(0,0,0,.10)!important;
}
.truk-chatroom .truk-message-menu-toggle[aria-expanded="true"]{
    background:#ffffff!important;
    color:#32104d!important;
}
.truk-chatroom .truk-message-menu-wrap{top:7px!important;}


/* v2.20.6 - reactions live inside the three-dot message menu */
.truk-chatroom .truk-message-menu-toggle,
.truk-chatroom .truk-message-menu-toggle:hover,
.truk-chatroom .truk-message-menu-toggle:focus,
.truk-chatroom .truk-message-menu-toggle:active{
    background:#ffffff!important;
    color:#32104d!important;
    border-color:rgba(50,16,77,.18)!important;
    box-shadow:0 3px 9px rgba(0,0,0,.10)!important;
    outline:none!important;
}
.truk-chatroom .truk-message-menu{
    min-width:210px!important;
    max-width:240px!important;
    padding:7px!important;
    border-radius:14px!important;
    z-index:100003!important;
}
.truk-chatroom .truk-message-menu[hidden]{display:none!important;}
.truk-chatroom .truk-message-reaction-row{
    display:flex!important;
    align-items:center!important;
    gap:4px!important;
    padding:7px 4px 2px!important;
    margin-top:5px!important;
    border-top:1px solid rgba(50,16,77,.12)!important;
    white-space:nowrap!important;
}
.truk-chatroom .truk-message-reaction-row > span{
    font-size:11px!important;
    font-weight:900!important;
    color:#32104d!important;
    margin-right:2px!important;
}
.truk-chatroom .truk-message-reaction-row .truk-reaction-choice{
    width:25px!important;
    height:25px!important;
    min-width:25px!important;
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    padding:0!important;
    border-radius:999px!important;
    border:1px solid rgba(50,16,77,.16)!important;
    background:#fff!important;
    font-size:15px!important;
    line-height:1!important;
}
.truk-chatroom .truk-reaction-picker-wrap,
.truk-chatroom [data-reaction-toggle],
.truk-chatroom .truk-reaction-menu{
    display:none!important;
}
.truk-chatroom .truk-reactions{
    margin-top:3px!important;
    width:auto!important;
    max-width:100%!important;
}
.truk-chatroom .truk-reaction-summary:empty{
    display:none!important;
}
.truk-chatroom .truk-reaction-pill{
    width:auto!important;
    height:22px!important;
    min-width:30px!important;
    padding:0 6px!important;
    font-size:13px!important;
    background:rgba(255,255,255,.92)!important;
}


/* v2.20.7 - compact three-dot reaction menu fit */
.truk-chatroom .truk-message-menu{
    min-width:250px!important;
    max-width:min(285px, calc(100vw - 28px))!important;
    overflow:visible!important;
}
.truk-chatroom .truk-message-reaction-row{
    display:flex!important;
    flex-wrap:wrap!important;
    align-items:center!important;
    gap:4px!important;
    white-space:normal!important;
    padding:6px 2px 2px!important;
}
.truk-chatroom .truk-message-reaction-row > span{
    flex:0 0 100%!important;
    margin:0 0 1px 0!important;
    font-size:10px!important;
    line-height:1.1!important;
}
.truk-chatroom .truk-message-reaction-row .truk-reaction-choice{
    width:23px!important;
    height:23px!important;
    min-width:23px!important;
    font-size:14px!important;
    margin:0!important;
}
.truk-profile-boot{border:0;border-radius:999px;padding:8px 14px;background:#fff1f2!important;color:#9f1239!important;border:1px solid #fecdd3!important;font-weight:900;cursor:pointer;margin-top:8px}.truk-profile-boot:hover,.truk-profile-boot:focus{background:#ffe4e6!important;color:#881337!important;outline:2px solid rgba(190,18,60,.22);outline-offset:2px}


/* v2.22.0 - reaction details panel */
.truk-chatroom .truk-reaction-details{
  background:#fff!important;
  color:#221030!important;
  border-radius:18px!important;
  padding:18px!important;
  max-width:420px!important;
  box-shadow:0 18px 50px rgba(20,8,35,.22)!important;
}
.truk-chatroom .truk-reaction-details h3{
  margin:0 0 12px!important;
  font-size:1.15rem!important;
}
.truk-chatroom .truk-reaction-detail-group{
  border:1px solid rgba(107,60,255,.16)!important;
  border-radius:14px!important;
  padding:10px 12px!important;
  margin:10px 0!important;
  background:#faf7ff!important;
}
.truk-chatroom .truk-reaction-detail-group ul{
  margin:6px 0 0 0!important;
  padding:0!important;
  list-style:none!important;
}
.truk-chatroom .truk-reaction-detail-group li{
  display:flex!important;
  justify-content:space-between!important;
  gap:12px!important;
  padding:4px 0!important;
  font-size:.92rem!important;
}
.truk-chatroom .truk-reaction-detail-group small{
  opacity:.68!important;
  white-space:nowrap!important;
}

/* v2.22.1 packaged national flag icons */
.truk-flag-img{
  width:1.35em;
  height:1em;
  object-fit:cover;
  border-radius:2px;
  display:inline-block;
  vertical-align:-0.12em;
  box-shadow:0 0 0 1px rgba(0,0,0,.12);
}
.truk-message-meta .truk-flag-img{ margin-right:2px; }
.truk-profile-summary .truk-flag-img,
.truk-online-user .truk-flag-img,
.truk-profile-view .truk-flag-img{ margin:0 .15em; }

.truk-country-detected-note{margin:6px 0 0;font-size:12px;line-height:1.35;color:#4b365f;background:#f7f2ff;border:1px solid #eadcf8;border-radius:12px;padding:8px 10px;}
.truk-country-detected-note strong{color:#261039;}
.truk-chat-mini-button{display:inline-flex;align-items:center;justify-content:center;margin-left:.5rem;padding:.32rem .65rem;border:0;border-radius:999px;background:#2d0d46;color:#fff;font-weight:800;font-size:.82rem;line-height:1;cursor:pointer;box-shadow:0 6px 14px rgba(0,0,0,.12)}
.truk-chat-mini-button:hover,.truk-chat-mini-button:focus{background:#442163;color:#fff;outline:2px solid rgba(91,206,250,.55);outline-offset:2px}
.truk-chat-mini-button:disabled{opacity:.65;cursor:not-allowed}
[data-resend-verification-status]{display:inline-block;margin-left:.4rem;font-weight:700}
.truk-chatroom .truk-chat-link{color:inherit;text-decoration:underline;text-underline-offset:2px;font-weight:700;word-break:break-word;}
.truk-chatroom .truk-chat-link:focus{outline:2px solid currentColor;outline-offset:2px;border-radius:4px;}

/* v2.25.0 - mobile usability polish */
@media (max-width: 760px){
  html body .truk-chatroom{
    width:100%!important;
    max-width:100%!important;
    margin-left:0!important;
    margin-right:0!important;
    padding:6px!important;
    overflow-x:hidden!important;
    display:block!important;
  }
  .truk-chatroom .truk-chat-shell{
    width:100%!important;
    max-width:100%!important;
    padding:10px!important;
    border-radius:18px!important;
  }
  .truk-chatroom .truk-chat-header{
    padding:8px 6px 12px!important;
    gap:10px!important;
  }
  .truk-chatroom .truk-chat-header h2{
    font-size:clamp(22px,7vw,30px)!important;
    line-height:1.05!important;
  }
  .truk-chatroom .truk-chat-header p{
    font-size:13px!important;
    line-height:1.25!important;
  }
  .truk-chatroom .truk-chat-header-actions{
    width:100%!important;
    display:flex!important;
    flex-wrap:wrap!important;
    gap:8px!important;
    align-items:center!important;
    justify-content:space-between!important;
  }
  .truk-chatroom .truk-chat-status,
  .truk-chatroom .truk-chat-logout-button,
  .truk-chatroom .truk-chat-mini-button{
    min-height:40px!important;
    padding:9px 12px!important;
    font-size:13px!important;
  }
  .truk-chatroom .truk-chat-layout{
    display:flex!important;
    flex-direction:column!important;
    gap:10px!important;
  }
  .truk-chatroom .truk-chat-main{
    order:1!important;
    width:100%!important;
    min-height:0!important;
    border-radius:18px!important;
  }
  .truk-chatroom .truk-chat-sidebar{
    order:2!important;
    width:100%!important;
    max-height:none!important;
    overflow:visible!important;
    padding-right:0!important;
    gap:10px!important;
  }
  .truk-chatroom .truk-chat-messages{
    height:clamp(360px, calc(100dvh - 285px), 560px)!important;
    min-height:360px!important;
    padding:10px!important;
    gap:7px!important;
    -webkit-overflow-scrolling:touch!important;
    scroll-behavior:smooth!important;
  }
  .truk-chatroom .truk-message{
    max-width:94%!important;
    padding-left:34px!important;
    padding-right:34px!important;
  }
  .truk-chatroom .truk-message-bubble{
    padding:9px 10px!important;
    border-radius:16px!important;
  }
  .truk-chatroom .truk-message-text{
    font-size:14px!important;
    line-height:1.38!important;
  }
  .truk-chatroom .truk-message-meta{
    font-size:11px!important;
    gap:4px!important;
    flex-wrap:wrap!important;
    padding-right:22px!important;
  }
  .truk-chatroom .truk-message-menu-wrap{
    top:4px!important;
    right:0!important;
  }
  .truk-chatroom .truk-message.truk-own .truk-message-menu-wrap{
    left:0!important;
    right:auto!important;
  }
  .truk-chatroom .truk-message-menu-toggle,
  .truk-chatroom .truk-message-menu-toggle:hover,
  .truk-chatroom .truk-message-menu-toggle:focus{
    width:34px!important;
    min-width:34px!important;
    height:34px!important;
    font-size:20px!important;
    box-shadow:0 2px 8px rgba(70,24,103,.08)!important;
  }
  .truk-chatroom .truk-message-menu{
    max-width:calc(100vw - 28px)!important;
    min-width:230px!important;
    right:0!important;
    z-index:60!important;
  }
  .truk-chatroom .truk-message.truk-own .truk-message-menu{
    left:0!important;
    right:auto!important;
  }
  .truk-chatroom .truk-chat-send{
    position:sticky!important;
    bottom:0!important;
    z-index:20!important;
    grid-template-columns:1fr!important;
    gap:8px!important;
    padding:10px!important;
    border-radius:0 0 18px 18px!important;
    box-shadow:0 -8px 20px rgba(30,10,45,.08)!important;
  }
  .truk-chatroom .truk-chat-send textarea{
    min-height:58px!important;
    font-size:16px!important;
    line-height:1.35!important;
    border-radius:14px!important;
    padding:12px!important;
  }
  .truk-chatroom .truk-chat-send-actions{
    display:grid!important;
    grid-template-columns:1fr 1fr 1.4fr!important;
    gap:8px!important;
    width:100%!important;
  }
  .truk-chatroom .truk-chat-send-actions button,
  .truk-chatroom .truk-send-button,
  .truk-chatroom .truk-emoji-toggle,
  .truk-chatroom .truk-gif-toggle,
  .truk-chatroom .truk-photo-toggle{
    min-height:46px!important;
    min-width:44px!important;
    border-radius:12px!important;
    font-size:14px!important;
    padding:10px!important;
  }
  .truk-chatroom .truk-send-button{
    font-size:15px!important;
  }
  .truk-chatroom .truk-chat-card{
    border-radius:18px!important;
    padding:12px!important;
  }
  .truk-chatroom .truk-online-card,
  .truk-chatroom .truk-mod-card{
    max-height:300px!important;
    overflow:auto!important;
    -webkit-overflow-scrolling:touch!important;
  }
  .truk-chatroom .truk-online-users{
    max-height:220px!important;
    overflow:auto!important;
    -webkit-overflow-scrolling:touch!important;
  }
  .truk-chatroom .truk-online-user{
    min-height:44px!important;
    padding:7px 8px!important;
    border-radius:12px!important;
  }
  .truk-chatroom .truk-online-avatar{
    width:34px!important;
    height:34px!important;
  }
  .truk-chatroom .truk-online-user strong{
    font-size:13px!important;
  }
  .truk-chatroom .truk-mod-tools button,
  .truk-chatroom .truk-mod-panel-toggle,
  .truk-chatroom .truk-profile-actions button,
  .truk-chatroom .truk-profile-pm,
  .truk-chatroom .truk-profile-boot,
  .truk-chatroom .truk-profile-edit{
    min-height:44px!important;
    border-radius:12px!important;
    font-size:13px!important;
  }
  .truk-chatroom .truk-profile-editor-active .truk-profile-card,
  .truk-chatroom.truk-profile-editor-active .truk-profile-card{
    width:calc(100vw - 18px)!important;
    max-height:calc(100dvh - 18px)!important;
    border-radius:18px!important;
    padding:14px!important;
  }
  .truk-chatroom .truk-profile-modal-panel{
    width:calc(100vw - 18px)!important;
    max-height:calc(100dvh - 18px)!important;
    overflow:auto!important;
    border-radius:18px!important;
    padding:16px!important;
  }
  .truk-chatroom .truk-profile-close,
  .truk-chatroom .truk-profile-cancel,
  .truk-chatroom .truk-private-close{
    min-width:44px!important;
    min-height:44px!important;
  }
  .truk-chatroom .truk-private-panel{
    left:8px!important;
    right:8px!important;
    bottom:8px!important;
    top:auto!important;
    width:calc(100vw - 16px)!important;
    height:min(72dvh,520px)!important;
    max-height:calc(100dvh - 16px)!important;
    resize:none!important;
    border-radius:18px!important;
  }
  .truk-chatroom .truk-private-form{
    grid-template-columns:1fr!important;
  }
  .truk-chatroom .truk-private-form textarea{
    font-size:16px!important;
    min-height:56px!important;
  }
  .truk-chatroom .truk-private-form button{
    min-height:44px!important;
    border-radius:12px!important;
  }
  .truk-chatroom .truk-emoji-picker,
  .truk-chatroom .truk-gif-picker{
    position:fixed!important;
    left:8px!important;
    right:8px!important;
    bottom:82px!important;
    width:auto!important;
    max-height:min(55dvh,420px)!important;
    overflow:auto!important;
    z-index:99997!important;
    border-radius:18px!important;
  }
  .truk-chatroom .truk-emoji-grid{
    grid-template-columns:repeat(6,minmax(38px,1fr))!important;
    gap:6px!important;
  }
  .truk-chatroom .truk-emoji-option,
  .truk-chatroom .truk-reaction-choice{
    min-width:38px!important;
    min-height:38px!important;
  }
  .truk-chatroom .truk-gif-results{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
  .truk-chatroom .truk-auth-grid{
    grid-template-columns:1fr!important;
  }
  .truk-chatroom .truk-auth-box input,
  .truk-chatroom .truk-profile-card input,
  .truk-chatroom .truk-profile-card textarea,
  .truk-chatroom .truk-profile-card select,
  .truk-chatroom .truk-country-combobox input{
    min-height:44px!important;
    font-size:16px!important;
  }
}

@media (max-width: 420px){
  .truk-chatroom .truk-chat-shell{padding:8px!important;border-radius:14px!important;}
  .truk-chatroom .truk-chat-messages{height:clamp(330px, calc(100dvh - 270px), 500px)!important;min-height:330px!important;}
  .truk-chatroom .truk-message{max-width:97%!important;padding-left:30px!important;padding-right:30px!important;}
  .truk-chatroom .truk-chat-send-actions{grid-template-columns:1fr 1fr 1.25fr!important;gap:6px!important;}
  .truk-chatroom .truk-chat-send-actions button{font-size:13px!important;padding:8px 6px!important;}
  .truk-chatroom .truk-emoji-grid{grid-template-columns:repeat(5,minmax(38px,1fr))!important;}
}

/* v2.27.0 pronoun-aware send button themes */
.truk-chatroom[data-pronoun-theme="nonbinary"] .truk-chat-send .truk-send-button::before{
  background:linear-gradient(110deg,#fff430 0%,#fff430 22%,#ffffff 38%,#9c59d1 60%,#2c2c2c 100%)!important;
}
.truk-chatroom[data-pronoun-theme="nonbinary"] .truk-chat-send .truk-send-button::after{
  background:linear-gradient(90deg,#fff430,#ffffff,#9c59d1,#2c2c2c)!important;
}
.truk-chatroom[data-pronoun-theme="she"] .truk-chat-send .truk-send-button::before{
  background:linear-gradient(110deg,#5BCEFA 0%,#F5A9B8 30%,#ffffff 50%,#F5A9B8 70%,#ff7ac8 100%)!important;
}
.truk-chatroom[data-pronoun-theme="she"] .truk-chat-send .truk-send-button::after{
  background:linear-gradient(90deg,#5BCEFA,#F5A9B8,#ffffff,#ff7ac8)!important;
}
.truk-chatroom[data-pronoun-theme="he"] .truk-chat-send .truk-send-button::before{
  background:linear-gradient(110deg,#1d4ed8 0%,#2563eb 28%,#5BCEFA 48%,#0f172a 72%,#111827 100%)!important;
}
.truk-chatroom[data-pronoun-theme="he"] .truk-chat-send .truk-send-button::after{
  background:linear-gradient(90deg,#1d4ed8,#5BCEFA,#0f172a)!important;
}


/* v2.28.0 moderators online section */
.truk-chatroom .truk-moderators-panel{margin:0 0 12px;padding:0 0 12px;border-bottom:1px solid #eadcf8;}
.truk-chatroom .truk-moderators-panel[hidden]{display:none!important;}
.truk-chatroom .truk-moderators-panel h3{margin:0 0 4px;font-size:16px;color:#221030;}
.truk-chatroom .truk-moderators-list{display:grid;gap:6px;}
.truk-chatroom .truk-online-user.truk-online-mod{background:linear-gradient(135deg,#fff7ff,#edfaff);border-color:#c7eafd;box-shadow:0 2px 10px rgba(50,16,77,.06);}
.truk-chatroom .truk-moderators-panel + h3{margin-top:6px;}

/* v2.28.1 typing indicator */
.truk-chatroom .truk-user-typing{
  display:inline-flex!important;
  align-items:center;
  gap:3px;
  margin-top:3px;
  font-size:10.5px!important;
  line-height:1!important;
  font-weight:800;
  color:#6b3cff!important;
  opacity:.92;
}
.truk-chatroom .truk-user-typing span{font-size:10.5px!important;color:inherit!important;line-height:1!important;}
.truk-chatroom .truk-user-typing i{
  width:4px;
  height:4px;
  border-radius:999px;
  background:currentColor;
  display:inline-block;
  animation:trukTypingDots 1.05s infinite ease-in-out;
}
.truk-chatroom .truk-user-typing i:nth-child(2){animation-delay:.15s;}
.truk-chatroom .truk-user-typing i:nth-child(3){animation-delay:.3s;}
@keyframes trukTypingDots{
  0%,80%,100%{transform:translateY(0);opacity:.35;}
  40%{transform:translateY(-3px);opacity:1;}
}

/* Floating notice overlay for chat notices */
.truk-chatroom .truk-chat-floating-notice{
  position:fixed;
  left:50%;
  top:18%;
  transform:translate(-50%,-10px);
  z-index:100000;
  width:min(520px,calc(100vw - 28px));
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
  padding:14px 14px 14px 16px;
  border-radius:18px;
  background:#f4fbff;
  color:#12344a;
  border:2px solid #bdefff;
  box-shadow:0 22px 70px rgba(20,5,32,.32);
  font-weight:800;
  line-height:1.35;
  opacity:0;
  pointer-events:none;
  transition:opacity .18s ease, transform .18s ease;
}
.truk-chatroom .truk-chat-floating-notice.is-visible{
  opacity:1;
  transform:translate(-50%,0);
  pointer-events:auto;
}
.truk-chatroom .truk-chat-floating-notice.truk-danger{
  background:#fff1f2;
  border-color:#ff516d;
  color:#7f1024;
}
.truk-chatroom .truk-chat-floating-notice.truk-success{
  background:#f0fff4;
  border-color:#4ade80;
  color:#14532d;
}
.truk-chatroom .truk-chat-floating-notice button{
  flex:0 0 auto;
  border:0;
  border-radius:999px;
  padding:7px 12px;
  background:#221030;
  color:#231033;
  font-weight:900;
  cursor:pointer;
}
.truk-chatroom .truk-chat-floating-notice button:hover,
.truk-chatroom .truk-chat-floating-notice button:focus{
  background:#32104d;
  color:#231033;
}
@media (max-width:700px){
  .truk-chatroom .truk-chat-floating-notice{
    top:14%;
    width:calc(100vw - 20px);
    border-radius:16px;
    padding:13px;
    font-size:15px;
  }
}

/* v2.28.4: bigger strike notices and auto-clearing top status bar */

.truk-chatroom .truk-chat-floating-notice.truk-danger{
  width:min(640px,calc(100vw - 24px));
  padding:22px 22px 22px 24px;
  border-radius:24px;
  border-width:3px;
  font-size:20px;
  box-shadow:0 28px 90px rgba(127,16,36,.35);
}
.truk-chatroom .truk-chat-floating-notice.truk-danger button{
  font-size:15px;
  padding:10px 16px;
}
@media (max-width:700px){
  .truk-chatroom .truk-chat-floating-notice.truk-danger{
    top:12%;
    width:calc(100vw - 18px);
    padding:20px 16px;
    font-size:18px;
  }
}

/* v2.28.5: floating status pop-up is mobile-only; desktop uses the top status bar only. */

/* v2.30.2: Photo upload button now matches the Emoji/GIF control style. */
.truk-chatroom .truk-photo-toggle{
    border-radius:12px!important;
    min-height:44px;
    min-width:64px;
    padding:8px 12px!important;
    background:linear-gradient(135deg,#fff,#f7f0ff)!important;
    color:#221030!important;
    border:1px solid rgba(107,60,255,.28)!important;
    box-shadow:0 6px 14px rgba(34,16,48,.08);
    font-weight:900!important;
    letter-spacing:.02em;
    cursor:pointer;
}
.truk-chatroom .truk-photo-toggle:hover,
.truk-chatroom .truk-photo-toggle:focus-visible{
    background:#f0e6ff!important;
    border-color:#6b3cff!important;
    outline:3px solid rgba(91,206,250,.28);
    outline-offset:2px;
}
.truk-chatroom .truk-photo-toggle:disabled{opacity:.65;cursor:wait;}
.truk-chat-photo{margin:.45rem 0 0;max-width:260px;}
.truk-chat-photo img{display:block;max-width:100%;max-height:260px;border-radius:14px;box-shadow:0 10px 26px rgba(0,0,0,.18);object-fit:cover;}
.truk-own .truk-chat-photo{margin-left:auto;}
@media(max-width:700px){.truk-chat-photo{max-width:210px}.truk-chat-photo img{max-height:220px}.truk-chatroom .truk-photo-toggle{padding:.75rem .85rem!important;min-width:58px}}


/* v2.31.2: first-login security welcome pop-up */
.truk-chatroom .truk-security-welcome{
  position:fixed;
  inset:0;
  z-index:999999;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:24px;
  background:rgba(18,10,30,.68);
  backdrop-filter:blur(6px);
}
.truk-chatroom .truk-security-welcome[hidden],
.truk-chatroom .truk-security-welcome.is-dismissed{display:none!important;}
.truk-chatroom .truk-security-welcome-card{
  width:min(720px,100%);
  max-height:calc(100vh - 48px);
  overflow:auto;
  background:#ffffff;
  color:#21132f;
  border-radius:28px;
  padding:28px;
  border:1px solid rgba(107,60,255,.22);
  box-shadow:0 28px 90px rgba(0,0,0,.32);
}
.truk-chatroom .truk-security-welcome-kicker{
  margin:0 0 8px;
  font-size:13px;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:#6b3cff;
}
.truk-chatroom .truk-security-welcome h3{
  margin:0 0 14px;
  font-size:clamp(24px,4vw,36px);
  line-height:1.08;
  color:#21132f;
}
.truk-chatroom .truk-security-welcome-copy p{
  margin:0 0 14px;
  font-size:16px;
  line-height:1.55;
}
.truk-chatroom .truk-security-welcome-copy ul{
  margin:0 0 16px;
  padding:0;
  list-style:none;
  display:grid;
  gap:10px;
}
.truk-chatroom .truk-security-welcome-copy li{
  margin:0;
  padding:12px 14px;
  border-radius:16px;
  background:#f7f3ff;
  border:1px solid rgba(107,60,255,.16);
  line-height:1.45;
}
.truk-chatroom .truk-security-welcome-actions{
  display:flex;
  justify-content:flex-end;
  gap:12px;
  margin-top:18px;
}
.truk-chatroom .truk-security-welcome-button{
  border:0;
  border-radius:999px;
  padding:13px 20px;
  min-height:46px;
  background:#6b3cff;
  color:#231033;
  font-weight:900;
  cursor:pointer;
  box-shadow:0 12px 28px rgba(107,60,255,.28);
}
.truk-chatroom .truk-security-welcome-button:hover,
.truk-chatroom .truk-security-welcome-button:focus-visible{
  background:#4d24d9;
  outline:3px solid rgba(91,206,250,.45);
  outline-offset:3px;
}
.truk-chatroom .truk-security-welcome-button:disabled{opacity:.7;cursor:wait;}
@media(max-width:700px){
  .truk-chatroom .truk-security-welcome{padding:14px;align-items:flex-start;overflow:auto;}
  .truk-chatroom .truk-security-welcome-card{padding:22px 18px;border-radius:22px;max-height:none;}
  .truk-chatroom .truk-security-welcome-actions{justify-content:stretch;}
  .truk-chatroom .truk-security-welcome-button{width:100%;}
}


/* v2.31.4: clearer first-profile save feedback */
.truk-chatroom .truk-profile-save-status{
  margin:10px 0 0;
  padding:10px 12px;
  border-radius:14px;
  border:1px solid #bdefff;
  background:#eefaff;
  color:#12344a;
  font-weight:800;
  line-height:1.35;
}
.truk-chatroom .truk-profile-save-status.truk-success{background:#f0fff4;border-color:#acecc2;color:#14532d;}
.truk-chatroom .truk-profile-save-status.truk-danger{background:#fff1f2;border-color:#ff9aa8;color:#8a1025;}
.truk-chatroom.truk-email-verification-required .truk-chat-send textarea{background:#fff8e6!important;color:#5f3b00!important;}


/* v2.31.6 moderator approval controls */
.truk-chatroom .truk-profile-trust{
  border:0;border-radius:999px;padding:8px 14px;background:linear-gradient(135deg,#16a34a,#15803d);color:#fff;font-weight:900;cursor:pointer;margin-top:8px;
}
.truk-chatroom .truk-user-approval-pill{
  display:inline-flex;margin-left:6px;padding:2px 6px;border-radius:999px;background:#fff7ed;border:1px solid #fed7aa;color:#9a3412;font-style:normal;font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.03em;vertical-align:middle;
}
.truk-chatroom .truk-profile-security-status{
  display:inline-flex;padding:5px 9px;border-radius:999px;background:#f7f2ff;border:1px solid #eadcf8;color:inherit;
}
.truk-chatroom .truk-profile-mod-hint{
  margin:8px auto!important;max-width:320px;padding:8px 10px;border-radius:14px;background:#f0fff4;border:1px solid #bbf7d0;color:#14532d!important;font-size:12px;font-weight:800;
}

/* Front-end moderator panel button below chatroom */
.truk-inline-mod-panel-wrap{max-width:1200px;margin:16px auto 0;padding:0 10px;text-align:center}.truk-inline-mod-panel-button{border:0;border-radius:999px;padding:12px 18px;font-weight:900;cursor:pointer;background:linear-gradient(135deg,#ff4fd8,#6b3cff);color:#fff;box-shadow:0 10px 26px rgba(107,60,255,.24)}.truk-inline-mod-panel-button:hover,.truk-inline-mod-panel-button:focus{filter:brightness(1.04);outline:3px solid rgba(107,60,255,.25);outline-offset:3px}.truk-inline-mod-panel{margin-top:12px;text-align:left}.truk-inline-mod-panel .truk-front-mod-panel{margin-top:0}

/* v2.32.0: front-end moderator panel placement and stronger buttons */
.truk-chatroom .truk-mod-admin-panel-button,
.truk-chatroom .truk-inline-mod-panel-button{
  background:linear-gradient(135deg,#ff4fd8,#6b3cff)!important;
  color:#fff!important;
  border:0!important;
  border-radius:999px!important;
  font-weight:900!important;
  box-shadow:0 8px 20px rgba(107,60,255,.28)!important;
}
.truk-chatroom .truk-mod-admin-panel-button:hover,
.truk-chatroom .truk-mod-admin-panel-button:focus,
.truk-chatroom .truk-inline-mod-panel-button:hover,
.truk-chatroom .truk-inline-mod-panel-button:focus{
  filter:brightness(1.08)!important;
  outline:3px solid rgba(255,79,216,.28)!important;
  outline-offset:2px!important;
}
.truk-chatroom .truk-inline-mod-panel{
  margin-top:14px!important;
  text-align:left!important;
}
.truk-chatroom .truk-inline-mod-panel .truk-front-mod-panel{
  margin:0!important;
  max-width:none!important;
}
.truk-chatroom .truk-front-mod-btn,
.truk-front-mod-panel .truk-front-mod-btn{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:38px!important;
  border-radius:999px!important;
  border:2px solid #32104d!important;
  background:#32104d!important;
  color:#fff!important;
  font-weight:900!important;
  padding:9px 14px!important;
  cursor:pointer!important;
  text-decoration:none!important;
  box-shadow:0 4px 12px rgba(50,16,77,.18)!important;
}
.truk-chatroom .truk-front-mod-btn.primary,
.truk-front-mod-panel .truk-front-mod-btn.primary{
  background:#047857!important;
  border-color:#047857!important;
  color:#fff!important;
}
.truk-chatroom .truk-front-mod-btn.warn,
.truk-front-mod-panel .truk-front-mod-btn.warn{
  background:#c2410c!important;
  border-color:#c2410c!important;
  color:#fff!important;
}
.truk-chatroom .truk-front-mod-btn.danger,
.truk-front-mod-panel .truk-front-mod-btn.danger{
  background:#be123c!important;
  border-color:#be123c!important;
  color:#fff!important;
}
.truk-chatroom .truk-front-mod-btn:hover,
.truk-chatroom .truk-front-mod-btn:focus,
.truk-front-mod-panel .truk-front-mod-btn:hover,
.truk-front-mod-panel .truk-front-mod-btn:focus{
  filter:brightness(1.08)!important;
  outline:3px solid rgba(50,16,77,.22)!important;
  outline-offset:2px!important;
}
.truk-chatroom .truk-front-mod-toggle,
.truk-front-mod-panel .truk-front-mod-toggle{
  background:#6b3cff!important;
  border-color:#6b3cff!important;
  color:#fff!important;
}


/* v2.32.1 accessibility hardening */
.truk-chatroom .screen-reader-text,
.truk-front-mod-panel .screen-reader-text{
  border:0!important;clip:rect(1px,1px,1px,1px)!important;-webkit-clip-path:inset(50%)!important;clip-path:inset(50%)!important;height:1px!important;margin:-1px!important;overflow:hidden!important;padding:0!important;position:absolute!important;width:1px!important;word-wrap:normal!important;
}
.truk-chatroom :where(button,a,input,textarea,select,[tabindex]):focus-visible,
.truk-front-mod-panel :where(button,a,input,textarea,select,[tabindex]):focus-visible{
  outline:4px solid #00d9ff!important;
  outline-offset:3px!important;
  box-shadow:0 0 0 6px rgba(0,0,0,.22)!important;
}
.truk-chatroom button,
.truk-front-mod-panel button{
  min-height:44px;
  min-width:44px;
}
.truk-chatroom input,
.truk-chatroom textarea,
.truk-chatroom select,
.truk-front-mod-panel input,
.truk-front-mod-panel textarea,
.truk-front-mod-panel select{
  min-height:44px;
  font-size:16px;
}
.truk-chatroom .truk-chat-notice,
.truk-chatroom .truk-auth-message,
.truk-chatroom .truk-profile-save-status{
  line-height:1.45;
}
.truk-chatroom .truk-online-user:focus-visible,
.truk-chatroom .truk-name-button:focus-visible{
  outline:4px solid #00d9ff!important;
  outline-offset:3px!important;
}
.truk-chatroom .truk-message-menu,
.truk-chatroom .truk-emoji-picker,
.truk-chatroom .truk-gif-picker{
  z-index:20;
}
.truk-chatroom .truk-private-panel[role="dialog"],
.truk-chatroom .truk-profile-modal-panel{
  border:2px solid rgba(255,255,255,.75);
}
.truk-chatroom .truk-profile-modal-backdrop{cursor:pointer;}
.truk-front-mod-panel .truk-front-mod-search:focus-visible{
  border-color:#00d9ff!important;
}
@media (prefers-reduced-motion: reduce){
  .truk-chatroom *,
  .truk-front-mod-panel *{
    animation-duration:.001ms!important;
    animation-iteration-count:1!important;
    scroll-behavior:auto!important;
    transition-duration:.001ms!important;
  }
}
@media (forced-colors: active){
  .truk-chatroom button,
  .truk-front-mod-panel button,
  .truk-chatroom input,
  .truk-chatroom textarea,
  .truk-chatroom select,
  .truk-front-mod-panel input{
    border:1px solid ButtonText!important;
  }
}

/* v2.32.2 - restore chat photo upload control while keeping the file input accessible. */
.truk-chatroom .truk-chat-photo-input{
  position:absolute!important;
  width:1px!important;
  height:1px!important;
  padding:0!important;
  margin:-1px!important;
  overflow:hidden!important;
  clip:rect(0,0,0,0)!important;
  white-space:nowrap!important;
  border:0!important;
}
.truk-chatroom .truk-photo-toggle{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  visibility:visible!important;
  opacity:1!important;
}


/* v2.32.6 moderator soft-delete review cards */
.truk-chatroom .truk-mod-deleted-review{
    max-width:82%;
    opacity:.98;
}
.truk-chatroom .truk-mod-deleted-review .truk-message-bubble{
    box-shadow:0 0 0 2px rgba(225,29,72,.18),0 6px 18px rgba(50,16,77,.08);
}
.truk-chatroom .truk-mod-deleted-review .truk-message-text:before{
    content:'Deleted message kept for moderator review';
    display:block;
    font-size:11px;
    font-weight:900;
    text-transform:uppercase;
    letter-spacing:.04em;
    margin-bottom:4px;
    color:#be123c;
}
.truk-chatroom .truk-deleted-collapsed .truk-message-text{
    max-height:0;
    overflow:hidden;
    margin:0!important;
    padding:0!important;
}
.truk-chatroom .truk-deleted-expanded .truk-message-text{
    max-height:none;
    overflow:visible;
    margin-top:4px!important;
}
.truk-chatroom .truk-deleted-message-toggle{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    margin-top:6px;
    min-height:30px;
    padding:5px 10px;
    border-radius:999px;
    border:1px solid rgba(190,18,60,.45);
    background:#fff;
    color:#9f1239;
    font-size:12px;
    font-weight:900;
    cursor:pointer;
}
.truk-chatroom .truk-deleted-message-toggle:hover,
.truk-chatroom .truk-deleted-message-toggle:focus{
    background:#fff1f2;
    outline:3px solid rgba(225,29,72,.2);
    outline-offset:2px;
}


/* v2.32.9 - keep all sent message text left-aligned for readability */
.truk-chatroom .truk-message.truk-own,
.truk-chatroom .truk-private-message.truk-own{
  text-align:left!important;
}
.truk-chatroom .truk-message.truk-own .truk-message-meta,
.truk-chatroom .truk-private-message.truk-own .truk-private-meta{
  justify-content:flex-start!important;
}
.truk-chatroom .truk-message-text,
.truk-chatroom .truk-private-message .truk-message-bubble > div:last-child{
  text-align:left!important;
}

/* v2.33.0 - safe message formatting toolbar */
.truk-chatroom .truk-message-formatbar{
  grid-column:1 / -1!important;
  display:flex!important;
  align-items:center!important;
  gap:8px!important;
  flex-wrap:wrap!important;
  padding:2px 0 0!important;
}
.truk-chatroom .truk-message-formatbar button,
.truk-chatroom .truk-message-formatbar select{
  min-height:36px!important;
  border-radius:12px!important;
  border:1px solid rgba(107,60,255,.26)!important;
  background:#ffffff!important;
  color:#221030!important;
  box-shadow:0 4px 10px rgba(34,16,48,.06)!important;
}
.truk-chatroom .truk-message-formatbar button{
  min-width:42px!important;
  padding:7px 10px!important;
  cursor:pointer!important;
}
.truk-chatroom .truk-message-formatbar button[aria-pressed="true"],
.truk-chatroom .truk-message-formatbar button.is-active{
  background:#32104d!important;
  color:#ffffff!important;
  border-color:#32104d!important;
}
.truk-chatroom .truk-message-formatbar select{
  max-width:220px!important;
  padding:7px 34px 7px 10px!important;
}
.truk-chatroom .truk-message-bold{font-weight:800!important;}
.truk-chatroom .truk-message-italic{font-style:italic!important;}
.truk-chatroom .truk-font-system{font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif!important;}
.truk-chatroom .truk-font-arial{font-family:Arial,Helvetica,sans-serif!important;}
.truk-chatroom .truk-font-verdana{font-family:Verdana,Geneva,sans-serif!important;}
.truk-chatroom .truk-font-tahoma{font-family:Tahoma,Geneva,sans-serif!important;}
.truk-chatroom .truk-font-trebuchet{font-family:"Trebuchet MS",Arial,sans-serif!important;}
.truk-chatroom .truk-font-georgia{font-family:Georgia,"Times New Roman",serif!important;}
.truk-chatroom .truk-font-times{font-family:"Times New Roman",Times,serif!important;}
.truk-chatroom .truk-font-courier{font-family:"Courier New",Courier,monospace!important;}
@media (max-width:640px){
  .truk-chatroom .truk-message-formatbar{display:grid!important;grid-template-columns:44px 44px minmax(0,1fr)!important;gap:6px!important;}
  .truk-chatroom .truk-message-formatbar select{max-width:none!important;width:100%!important;}
}

/* v2.33.1 - keep formatting, GIF, photo, emoji and send controls together on one neat line */
.truk-chatroom .truk-chat-compose-tools{
  grid-column:1 / -1!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:8px!important;
  flex-wrap:wrap!important;
  width:100%!important;
  padding-top:0!important;
}
.truk-chatroom .truk-chat-compose-tools .truk-message-formatbar{
  grid-column:auto!important;
  display:flex!important;
  align-items:center!important;
  gap:8px!important;
  flex-wrap:nowrap!important;
  padding:0!important;
  width:auto!important;
  min-width:0!important;
}
.truk-chatroom .truk-chat-compose-tools .truk-chat-send-actions{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  gap:8px!important;
  flex-wrap:nowrap!important;
  width:auto!important;
  margin-left:auto!important;
}
.truk-chatroom .truk-chat-compose-tools .truk-message-formatbar select{
  width:auto!important;
  min-width:150px!important;
  max-width:220px!important;
}
.truk-chatroom .truk-chat-compose-tools .truk-format-toggle,
.truk-chatroom .truk-chat-compose-tools .truk-gif-toggle,
.truk-chatroom .truk-chat-compose-tools .truk-photo-toggle,
.truk-chatroom .truk-chat-compose-tools .truk-emoji-toggle,
.truk-chatroom .truk-chat-compose-tools .truk-send-button{
  flex:0 0 auto!important;
  white-space:nowrap!important;
}
@media (max-width:640px){
  .truk-chatroom .truk-chat-compose-tools{
    justify-content:flex-start!important;
    align-items:center!important;
  }
  .truk-chatroom .truk-chat-compose-tools .truk-message-formatbar,
  .truk-chatroom .truk-chat-compose-tools .truk-chat-send-actions{
    flex-wrap:nowrap!important;
  }
  .truk-chatroom .truk-chat-compose-tools .truk-chat-send-actions{
    margin-left:0!important;
  }
  .truk-chatroom .truk-chat-compose-tools .truk-message-formatbar select{
    min-width:132px!important;
    max-width:42vw!important;
  }
}
@media (max-width:420px){
  .truk-chatroom .truk-chat-compose-tools{
    gap:6px!important;
  }
  .truk-chatroom .truk-chat-compose-tools .truk-message-formatbar,
  .truk-chatroom .truk-chat-compose-tools .truk-chat-send-actions{
    gap:6px!important;
  }
  .truk-chatroom .truk-chat-compose-tools .truk-message-formatbar select{
    min-width:118px!important;
    max-width:38vw!important;
  }
  .truk-chatroom .truk-chat-compose-tools .truk-format-toggle,
  .truk-chatroom .truk-chat-compose-tools .truk-gif-toggle,
  .truk-chatroom .truk-chat-compose-tools .truk-photo-toggle,
  .truk-chatroom .truk-chat-compose-tools .truk-emoji-toggle,
  .truk-chatroom .truk-chat-compose-tools .truk-send-button{
    min-width:38px!important;
    padding-left:8px!important;
    padding-right:8px!important;
  }
}

/* v2.33.3 private message media tools */
.truk-chatroom .truk-private-form{display:block!important;padding:10px;border-top:1px solid #eadcf8;background:#fff;position:relative}
.truk-chatroom .truk-private-form textarea{width:100%;box-sizing:border-box;margin:0 0 8px;resize:none;border:1px solid #d7c7e8;border-radius:14px;padding:9px;min-height:44px;text-align:left}
.truk-chatroom .truk-private-tools{display:flex;align-items:center;justify-content:flex-end;gap:6px;flex-wrap:wrap}
.truk-chatroom .truk-private-tools button{border:0;border-radius:999px;padding:8px 13px;background:linear-gradient(135deg,var(--truk-pink),var(--truk-purple));color:#fff;font-weight:900;cursor:pointer;line-height:1.1}
.truk-chatroom .truk-private-tools .truk-emoji-toggle{min-width:40px;padding-inline:10px}
.truk-chatroom .truk-private-emoji-picker,.truk-chatroom .truk-private-gif-picker{position:absolute;left:10px;right:10px;bottom:58px;z-index:5;max-height:240px;overflow:auto}
.truk-chatroom .truk-private-gif-picker .truk-gif-results{max-height:170px;overflow:auto}
.truk-chatroom .truk-private-message .truk-message-bubble{text-align:left}
.truk-chatroom .truk-private-message.truk-own .truk-message-bubble{text-align:left}
@media (max-width:420px){.truk-chatroom .truk-private-tools{justify-content:flex-start}.truk-chatroom .truk-private-tools button{padding:8px 10px}}


/* v2.33.6 - keep MOD badges in the users/online lists on the original fixed style */
.truk-chatroom .truk-online-user .truk-mod-name-badge{
    background:#32104d!important;
    color:#ffffff!important;
    border-color:#32104d!important;
    text-shadow:none!important;
}


/* v2.34.6 Who’s here expands naturally to around 10 listeners, then scrolls */
.truk-chatroom .truk-online-card{
  max-height:min(760px,calc(100vh - 120px))!important;
  overflow:hidden!important;
  display:flex!important;
  flex-direction:column!important;
}
.truk-chatroom .truk-online-card > h3,
.truk-chatroom .truk-online-card > .truk-small-note,
.truk-chatroom .truk-online-card > .truk-moderators-panel,
.truk-chatroom .truk-online-card > .truk-friends-panel{
  flex:0 0 auto!important;
}
.truk-chatroom .truk-online-users{
  flex:0 1 auto!important;
  max-height:560px!important; /* approximately 10 full listener rows before scrolling */
  min-height:90px!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
  -webkit-overflow-scrolling:touch!important;
  padding-right:6px!important;
  scrollbar-width:thin!important;
}
.truk-chatroom .truk-online-users::-webkit-scrollbar{
  width:8px;
}
.truk-chatroom .truk-online-users::-webkit-scrollbar-track{
  background:#f4ecff;
  border-radius:999px;
}
.truk-chatroom .truk-online-users::-webkit-scrollbar-thumb{
  background:#c7a7ef;
  border-radius:999px;
}
.truk-chatroom .truk-online-users::-webkit-scrollbar-thumb:hover{
  background:#a87bdd;
}
@media (max-width:900px){
  .truk-chatroom .truk-online-card{max-height:620px!important;}
  .truk-chatroom .truk-online-users{max-height:500px!important;}
}
@media (max-width:640px){
  .truk-chatroom .truk-online-card{max-height:520px!important;}
  .truk-chatroom .truk-online-users{max-height:420px!important;}
}


/* v2.35.9 - reliable Who’s Here scrollbar and unified online user styling */
.truk-chatroom .truk-online-card{
  overflow:hidden!important;
}
.truk-chatroom .truk-online-users{
  max-height:390px!important;
  overflow-y:scroll!important;
  overflow-x:hidden!important;
  padding-right:7px!important;
  scrollbar-width:thin!important;
  scrollbar-color:#a87bdd #f4ecff!important;
}
.truk-chatroom .truk-online-users::-webkit-scrollbar{
  width:9px!important;
}
.truk-chatroom .truk-online-users::-webkit-scrollbar-track{
  background:#f4ecff!important;
  border-radius:999px!important;
}
.truk-chatroom .truk-online-users::-webkit-scrollbar-thumb{
  background:#a87bdd!important;
  border-radius:999px!important;
  border:2px solid #f4ecff!important;
}
.truk-chatroom .truk-online-users::-webkit-scrollbar-thumb:hover{
  background:#8657c8!important;
}
.truk-chatroom .truk-online-user{
  background:linear-gradient(135deg,#fff7ff,#edfaff)!important;
  border-color:#c7eafd!important;
  box-shadow:0 2px 10px rgba(50,16,77,.06)!important;
}
.truk-chatroom .truk-online-user:hover,
.truk-chatroom .truk-online-user:focus{
  border-color:#9bd9f5!important;
  box-shadow:0 4px 14px rgba(50,16,77,.11)!important;
}
@media (max-width:900px){
  .truk-chatroom .truk-online-users{max-height:340px!important;}
}
@media (max-width:640px){
  .truk-chatroom .truk-online-users{max-height:300px!important;}
}

/* v2.37.0 screen reader message navigation */
.truk-chatroom .truk-message:focus,
.truk-chatroom .truk-private-message:focus{outline:3px solid rgba(214,51,132,.55);outline-offset:3px;}

/* v2.37.6 - top read-aloud toggle removed */
.truk-chatroom .truk-read-aloud-header-toggle{
  display:inline-flex!important;
  align-items:center!important;
  gap:7px!important;
  padding:8px 12px!important;
  border-radius:999px!important;
  border:1px solid rgba(128,62,180,.28)!important;
  background:linear-gradient(135deg,#fff7ff,#f2e8ff)!important;
  color:#231033!important;
  font-size:13px!important;
  font-weight:700!important;
  line-height:1.1!important;
  cursor:pointer!important;
  box-shadow:0 4px 12px rgba(70,24,103,.08)!important;
  white-space:nowrap!important;
}
.truk-chatroom .truk-read-aloud-header-toggle input{
  width:16px!important;
  height:16px!important;
  accent-color:#d63384!important;
  margin:0!important;
}
.truk-chatroom .truk-read-aloud-header-toggle:hover,
.truk-chatroom .truk-read-aloud-header-toggle:focus-within{
  border-color:#d63384!important;
  box-shadow:0 0 0 3px rgba(214,51,132,.16)!important;
}
@media (max-width:640px){
  .truk-chatroom .truk-read-aloud-header-toggle{
    width:100%!important;
    justify-content:center!important;
  }
}


/* v2.37.3 - extra visible read-aloud toggle beside Send */
.truk-chatroom .truk-read-aloud-compose-toggle{
  display:inline-flex!important;
  align-items:center!important;
  gap:6px!important;
  min-height:38px!important;
  padding:8px 12px!important;
  border-radius:14px!important;
  border:2px solid rgba(214,51,132,.34)!important;
  background:linear-gradient(135deg,#fff0f7,#f3e8ff)!important;
  color:#24102f!important;
  font-size:13px!important;
  font-weight:900!important;
  line-height:1.1!important;
  cursor:pointer!important;
  white-space:nowrap!important;
}
.truk-chatroom .truk-read-aloud-compose-toggle input{
  width:16px!important;
  height:16px!important;
  margin:0!important;
  accent-color:#d63384!important;
}
.truk-chatroom .truk-read-aloud-compose-toggle:hover,
.truk-chatroom .truk-read-aloud-compose-toggle:focus-within{
  border-color:#d63384!important;
  box-shadow:0 0 0 3px rgba(214,51,132,.18)!important;
}
.truk-chatroom .truk-read-aloud-compose-toggle input:disabled + span{
  opacity:.65!important;
}
@media (max-width:640px){
  .truk-chatroom .truk-read-aloud-compose-toggle{
    flex:1 1 140px!important;
    justify-content:center!important;
  }
}


/* v2.37.6 - remove duplicate top read-aloud box and match GIF/Emoji button corners */
.truk-chatroom .truk-read-aloud-header-toggle{display:none!important;}
.truk-chatroom .truk-read-aloud-compose-toggle{
  border-radius:12px!important;
  min-height:44px!important;
  min-width:52px!important;
  padding:8px 12px!important;
  background:linear-gradient(135deg,#fff,#f7f0ff)!important;
  color:#221030!important;
  border:1px solid rgba(107,60,255,.28)!important;
  box-shadow:0 6px 14px rgba(34,16,48,.08)!important;
  font-weight:900!important;
}
.truk-chatroom .truk-read-aloud-compose-toggle:hover,
.truk-chatroom .truk-read-aloud-compose-toggle:focus-within,
.truk-chatroom .truk-read-aloud-compose-toggle:has(input:checked){
  background:#f0e6ff!important;
  border-color:#6b3cff!important;
}


/* v2.38.12 - White button style pass: keep consistent sizing while restoring clean white buttons */
.truk-chatroom{
  --truk-chat-button-bg: #ffffff;
  --truk-chat-button-bg-hover: #f7f2ff;
  --truk-chat-button-border: #eadcf8;
  --truk-chat-button-colour: #2b1739;
  --truk-chat-button-hover-colour: #2b1739;
  --truk-chat-button-radius: 14px;
  --truk-chat-button-height: 38px;
  --truk-chat-button-padding: 8px 14px;
}
.truk-chatroom .truk-chat-header-actions{
  align-items:center!important;
  gap:8px!important;
}
.truk-chatroom .truk-chat-header-actions .truk-chat-status,
.truk-chatroom .truk-chat-logout-button,
.truk-chatroom .truk-chat-popout-button,
.truk-chatroom .truk-mod-panel-toggle,
.truk-chatroom .truk-gif-toggle,
.truk-chatroom .truk-photo-toggle,
.truk-chatroom .truk-emoji-toggle,
.truk-chatroom .truk-chat-send .truk-send-button,
.truk-chatroom .truk-chat-mini-button,
.truk-chatroom .truk-profile-actions button,
.truk-chatroom .truk-private-tools button,
.truk-chatroom .truk-message-actions button,
.truk-chatroom .truk-reaction-button,
.truk-chatroom .truk-profile-close{
  box-sizing:border-box!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:6px!important;
  min-height:var(--truk-chat-button-height)!important;
  height:auto!important;
  padding:var(--truk-chat-button-padding)!important;
  border-radius:var(--truk-chat-button-radius)!important;
  border:1px solid var(--truk-chat-button-border)!important;
  background:var(--truk-chat-button-bg)!important;
  color:var(--truk-chat-button-colour)!important;
  font-family:inherit!important;
  font-size:13px!important;
  font-weight:900!important;
  line-height:1.15!important;
  text-decoration:none!important;
  cursor:pointer!important;
  box-shadow:0 4px 12px rgba(50,16,77,.10)!important;
  transition:transform .18s ease, background .18s ease, box-shadow .18s ease, border-color .18s ease!important;
  white-space:nowrap!important;
}
.truk-chatroom .truk-chat-header-actions .truk-chat-status{
  cursor:default!important;
}
.truk-chatroom .truk-chat-header-actions .truk-chat-status,
.truk-chatroom .truk-chat-header-actions .truk-chat-popout-button,
.truk-chatroom .truk-chat-header-actions .truk-chat-logout-button{
  min-height:38px!important;
  border-radius:14px!important;
  padding:8px 14px!important;
  font-size:13px!important;
}
.truk-chatroom .truk-chat-logout-button:hover,
.truk-chatroom .truk-chat-logout-button:focus,
.truk-chatroom .truk-chat-popout-button:hover,
.truk-chatroom .truk-chat-popout-button:focus,
.truk-chatroom .truk-mod-panel-toggle:hover,
.truk-chatroom .truk-mod-panel-toggle:focus,
.truk-chatroom .truk-gif-toggle:hover,
.truk-chatroom .truk-gif-toggle:focus,
.truk-chatroom .truk-photo-toggle:hover,
.truk-chatroom .truk-photo-toggle:focus,
.truk-chatroom .truk-emoji-toggle:hover,
.truk-chatroom .truk-emoji-toggle:focus,
.truk-chatroom .truk-chat-send .truk-send-button:hover,
.truk-chatroom .truk-chat-send .truk-send-button:focus,
.truk-chatroom .truk-chat-mini-button:hover,
.truk-chatroom .truk-chat-mini-button:focus,
.truk-chatroom .truk-profile-actions button:hover,
.truk-chatroom .truk-profile-actions button:focus,
.truk-chatroom .truk-private-tools button:hover,
.truk-chatroom .truk-private-tools button:focus,
.truk-chatroom .truk-message-actions button:hover,
.truk-chatroom .truk-message-actions button:focus,
.truk-chatroom .truk-reaction-button:hover,
.truk-chatroom .truk-reaction-button:focus,
.truk-chatroom .truk-profile-close:hover,
.truk-chatroom .truk-profile-close:focus{
  background:var(--truk-chat-button-bg-hover)!important;
  color:var(--truk-chat-button-hover-colour)!important;
  border-color:rgba(107,60,255,.35)!important;
  transform:translateY(-1px)!important;
  box-shadow:0 7px 18px rgba(50,16,77,.14)!important;
  outline:3px solid rgba(107,60,255,.18)!important;
  outline-offset:2px!important;
}
.truk-chatroom .truk-chat-send .truk-send-button::before,
.truk-chatroom .truk-chat-send .truk-send-button::after{
  border-radius:inherit!important;
}
.truk-chatroom .truk-moderators-panel{
  margin:0 0 10px!important;
  padding:0 0 10px!important;
  border-bottom:1px solid rgba(234,220,248,.9)!important;
}
.truk-chatroom .truk-moderators-panel h3,
.truk-chatroom .truk-moderators-panel > .truk-small-note{
  display:none!important;
}
.truk-chatroom .truk-moderators-list{
  display:grid!important;
  gap:6px!important;
  margin:0!important;
}
.truk-chatroom .truk-online-user.truk-online-mod{
  order:-1!important;
  border-radius:14px!important;
}
.truk-chat-popout-wrap .truk-chatroom .truk-chat-header-actions .truk-chat-status,
.truk-chat-popout-wrap .truk-chatroom .truk-chat-logout-button,
.truk-chat-popout-wrap .truk-chatroom .truk-chat-popout-button{
  min-height:34px!important;
  padding:6px 10px!important;
  border-radius:12px!important;
  font-size:12px!important;
}
@media(max-width:640px){
  .truk-chatroom .truk-chat-header-actions .truk-chat-status,
  .truk-chatroom .truk-chat-header-actions .truk-chat-popout-button,
  .truk-chatroom .truk-chat-header-actions .truk-chat-logout-button{
    flex:1 1 auto!important;
  }
  .truk-chatroom .truk-chat-header-actions{
    width:100%!important;
  }
}


/* v2.38.13 - move Who's here to the top while keeping MODs first in the people list */
.truk-chatroom .truk-chat-sidebar .truk-online-card{
  order:-10!important;
}
.truk-chatroom .truk-online-card > h3{
  order:0!important;
  margin:0 0 4px!important;
}
.truk-chatroom .truk-online-card > .truk-small-note{
  order:1!important;
}
.truk-chatroom .truk-online-card > .truk-moderators-panel{
  order:2!important;
  margin:0 0 8px!important;
  padding:0 0 8px!important;
  border-bottom:1px solid rgba(234,220,248,.9)!important;
}
.truk-chatroom .truk-online-card > .truk-friends-panel{
  order:3!important;
}
.truk-chatroom .truk-online-card > .truk-online-users{
  order:4!important;
}
.truk-chatroom .truk-online-user.truk-online-mod{
  order:-20!important;
}


/* v2.38.14 - stretch Who's here panel to match the main chat box height on desktop */
@media (min-width:901px){
  .truk-chatroom .truk-chat-layout{
    align-items:stretch!important;
  }
  .truk-chatroom .truk-chat-main{
    height:clamp(590px,76vh,810px)!important;
    min-height:clamp(590px,76vh,810px)!important;
  }
  .truk-chatroom .truk-chat-sidebar{
    height:clamp(590px,76vh,810px)!important;
    max-height:clamp(590px,76vh,810px)!important;
    display:flex!important;
    flex-direction:column!important;
    gap:12px!important;
    overflow:hidden!important;
    align-self:stretch!important;
  }
  .truk-chatroom .truk-chat-sidebar .truk-online-card{
    order:-10!important;
    height:100%!important;
    min-height:0!important;
    max-height:none!important;
    display:flex!important;
    flex-direction:column!important;
    overflow:hidden!important;
  }
  .truk-chatroom .truk-online-card > h3,
  .truk-chatroom .truk-online-card > .truk-small-note,
  .truk-chatroom .truk-online-card > .truk-moderators-panel,
  .truk-chatroom .truk-online-card > .truk-friends-panel{
    flex:0 0 auto!important;
  }
  .truk-chatroom .truk-online-card > .truk-online-users{
    flex:1 1 auto!important;
    min-height:0!important;
    max-height:none!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
  }
  .truk-chatroom .truk-chat-sidebar > .truk-chat-card:not(.truk-online-card){
    flex:0 0 auto!important;
  }
}
@media (max-width:900px){
  .truk-chatroom .truk-chat-main,
  .truk-chatroom .truk-chat-sidebar,
  .truk-chatroom .truk-chat-sidebar .truk-online-card{
    height:auto!important;
    max-height:none!important;
  }
  .truk-chatroom .truk-chat-sidebar{
    display:grid!important;
    overflow:visible!important;
  }
  .truk-chatroom .truk-online-card > .truk-online-users{
    max-height:340px!important;
    overflow-y:auto!important;
  }
}
@media (max-width:640px){
  .truk-chatroom .truk-online-card > .truk-online-users{
    max-height:300px!important;
  }
}


/* v2.38.15 - smaller GIF previews with click-to-expand */
.truk-chatroom .truk-chat-gif{
    max-width:min(190px,100%)!important;
    cursor:zoom-in;
    transition:max-width .18s ease, transform .18s ease;
}
.truk-chatroom .truk-own .truk-chat-gif{
    margin-left:auto!important;
}
.truk-chatroom .truk-chat-gif img{
    width:100%;
    max-height:145px;
    object-fit:contain;
    background:#fff;
}
.truk-chatroom .truk-chat-gif:focus{
    outline:3px solid rgba(0,217,255,.55);
    outline-offset:3px;
}
.truk-chatroom .truk-chat-gif.truk-gif-expanded{
    max-width:min(460px,100%)!important;
    cursor:zoom-out;
}
.truk-chatroom .truk-chat-gif.truk-gif-expanded img{
    max-height:65vh;
}
.truk-chatroom .truk-gif-expand-hint{
    display:inline-block;
    margin-left:6px;
    font-weight:800;
    opacity:.72;
}
.truk-chatroom .truk-message.truk-own .truk-chat-gif figcaption{
    text-align:right;
}
body.truk-chat-popout .truk-chatroom .truk-chat-gif{
    max-width:min(170px,100%)!important;
}
body.truk-chat-popout .truk-chatroom .truk-chat-gif.truk-gif-expanded{
    max-width:min(520px,100%)!important;
}
@media(max-width:700px){
    .truk-chatroom .truk-chat-gif{max-width:min(160px,100%)!important;}
    .truk-chatroom .truk-chat-gif img{max-height:125px;}
    .truk-chatroom .truk-chat-gif.truk-gif-expanded{max-width:100%!important;}
    .truk-chatroom .truk-chat-gif.truk-gif-expanded img{max-height:55vh;}
}


/* v2.38.18 - user-controlled chat text size moved beside the message font controls */
.truk-chatroom{
  --truk-user-font-size:14px;
}
.truk-chatroom .truk-chat-font-size-control{
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:4px;
  border-radius:999px;
  background:#fff7ff;
  border:1px solid #ead6ff;
  white-space:nowrap;
}
.truk-chatroom .truk-chat-font-size-label{
  color:#231033;
  font-weight:900;
  font-size:13px;
  line-height:1;
  min-width:34px;
  text-align:center;
}
.truk-chatroom .truk-chat-font-size-btn{
  min-height:34px!important;
  min-width:38px!important;
  padding:6px 10px!important;
  border-radius:999px!important;
  border:1px solid rgba(35,16,51,.18)!important;
  background:#fff!important;
  color:#231033!important;
  font-weight:900!important;
  cursor:pointer!important;
  box-shadow:0 2px 8px rgba(70,24,103,.08)!important;
}
.truk-chatroom .truk-chat-font-size-btn:hover:not(:disabled),
.truk-chatroom .truk-chat-font-size-btn:focus-visible:not(:disabled){
  background:#f7f2ff!important;
}
.truk-chatroom .truk-chat-font-size-btn:disabled{
  opacity:.45;
  cursor:not-allowed!important;
}
.truk-chatroom .truk-message-text,
.truk-chatroom .truk-private-messages .truk-message-text{
  font-size:var(--truk-user-font-size,14px)!important;
  line-height:1.45!important;
}
.truk-chatroom .truk-message-meta,
.truk-chatroom .truk-private-messages .truk-message-meta{
  font-size:calc(var(--truk-user-font-size,14px) * .86)!important;
}
.truk-chatroom [data-chat-input],
.truk-chatroom [data-private-input]{
  font-size:var(--truk-user-font-size,14px)!important;
  line-height:1.45!important;
}
.truk-chatroom .truk-online-user strong{
  font-size:calc(var(--truk-user-font-size,14px) * .98)!important;
}
.truk-chatroom .truk-online-user span{
  font-size:calc(var(--truk-user-font-size,14px) * .86)!important;
}
@media(max-width:700px){
  .truk-chatroom .truk-chat-font-size-control{
    width:100%;
    justify-content:center;
  }
  .truk-chatroom .truk-chat-font-size-label{
    min-width:60px;
  }
}

/* v2.38.18 - keep bottom font controls neat beside the font selector */
.truk-chatroom .truk-message-formatbar .truk-chat-font-size-control{
  margin-left:4px;
}
.truk-chatroom .truk-message-formatbar{
  align-items:center;
  flex-wrap:wrap;
}
@media(max-width:700px){
  .truk-chatroom .truk-message-formatbar .truk-chat-font-size-control{
    width:auto;
    justify-content:flex-start;
  }
}


/* v2.38.23 - readable reply/notice buttons and fuller moderator panel polish */
.truk-chatroom .truk-reply-compose-preview button,
.truk-chatroom .truk-chat-floating-notice button,
.truk-chatroom .truk-chat-floating-notice.truk-success button,
.truk-chatroom .truk-chat-floating-notice.truk-danger button,
.truk-chatroom .truk-auth-message button,
.truk-chatroom .truk-chat-notice button{
  background:#ffffff!important;
  color:#231033!important;
  border:1px solid #eadcf8!important;
  border-radius:14px!important;
  min-height:34px!important;
  padding:7px 12px!important;
  font-weight:900!important;
  box-shadow:0 4px 12px rgba(50,16,77,.14)!important;
  text-shadow:none!important;
}
.truk-chatroom .truk-reply-compose-preview button:hover,
.truk-chatroom .truk-reply-compose-preview button:focus,
.truk-chatroom .truk-chat-floating-notice button:hover,
.truk-chatroom .truk-chat-floating-notice button:focus,
.truk-chatroom .truk-auth-message button:hover,
.truk-chatroom .truk-auth-message button:focus,
.truk-chatroom .truk-chat-notice button:hover,
.truk-chatroom .truk-chat-notice button:focus{
  background:#f7f2ff!important;
  color:#231033!important;
  border-color:rgba(107,60,255,.35)!important;
  outline:3px solid rgba(107,60,255,.20)!important;
  outline-offset:2px!important;
}
.truk-chatroom .truk-inline-mod-panel,
.truk-chatroom .truk-inline-mod-panel .truk-front-mod-panel{
  max-height:none!important;
  overflow:visible!important;
}
.truk-chatroom .truk-front-mod-list,
.truk-front-mod-panel .truk-front-mod-list{
  max-height:none!important;
  overflow:visible!important;
}


/* v2.38.25 - moderator panel full overlay and readable buttons */
.truk-chatroom .truk-inline-mod-panel:not([hidden]){
  position:fixed!important;
  inset:18px!important;
  z-index:999999!important;
  display:block!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
  padding:16px!important;
  background:rgba(20,5,32,.55)!important;
  border-radius:0!important;
  max-height:none!important;
  text-align:left!important;
}
.truk-chatroom .truk-inline-mod-panel:not([hidden]) .truk-front-mod-panel{
  width:min(1180px,100%)!important;
  max-width:1180px!important;
  margin:0 auto 24px!important;
  max-height:none!important;
  overflow:visible!important;
}
.truk-chatroom .truk-inline-mod-panel:not([hidden]) .truk-front-mod-list,
.truk-chatroom .truk-inline-mod-panel:not([hidden]) .truk-front-mod-card{
  max-height:none!important;
  overflow:visible!important;
}
.truk-front-mod-close{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  float:right!important;
  margin:0 0 10px 10px!important;
  min-height:38px!important;
  border-radius:999px!important;
  border:1px solid #d8c7e8!important;
  background:#fff!important;
  color:#211030!important;
  font-weight:900!important;
  padding:8px 14px!important;
  cursor:pointer!important;
  box-shadow:0 4px 12px rgba(50,16,77,.12)!important;
}
.truk-chatroom .truk-front-mod-btn,
.truk-front-mod-panel .truk-front-mod-btn,
.truk-chatroom .truk-front-mod-toggle,
.truk-front-mod-panel .truk-front-mod-toggle{
  background:#fff!important;
  color:#211030!important;
  border:1px solid #d8c7e8!important;
  text-shadow:none!important;
  box-shadow:0 4px 12px rgba(50,16,77,.10)!important;
}
.truk-chatroom .truk-front-mod-btn.primary,
.truk-front-mod-panel .truk-front-mod-btn.primary{
  background:#eefaf1!important;
  color:#065f46!important;
  border-color:#bbf7d0!important;
}
.truk-chatroom .truk-front-mod-btn.warn,
.truk-front-mod-panel .truk-front-mod-btn.warn{
  background:#fff7ed!important;
  color:#9a3412!important;
  border-color:#fdba74!important;
}
.truk-chatroom .truk-front-mod-btn.danger,
.truk-front-mod-panel .truk-front-mod-btn.danger{
  background:#fff1f2!important;
  color:#9f1239!important;
  border-color:#fecdd3!important;
}
.truk-chatroom .truk-front-mod-btn:hover,
.truk-chatroom .truk-front-mod-btn:focus,
.truk-front-mod-panel .truk-front-mod-btn:hover,
.truk-front-mod-panel .truk-front-mod-btn:focus,
.truk-front-mod-close:hover,
.truk-front-mod-close:focus{
  background:#f7f2ff!important;
  color:#211030!important;
  border-color:#cda9ff!important;
  outline:3px solid rgba(107,60,255,.20)!important;
  outline-offset:2px!important;
}
@media(max-width:700px){
  .truk-chatroom .truk-inline-mod-panel:not([hidden]){inset:8px!important;padding:8px!important;}
  .truk-front-mod-close{float:none!important;width:100%!important;margin:0 0 10px!important;}
}

/* V3.1: Rules acceptance screens */
.truk-chatroom .truk-sr-only{
  position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important;
}

.truk-chatroom .truk-rules-modal{
  position:fixed; inset:0; z-index:999999; display:flex; align-items:center; justify-content:center;
  padding:18px; background:rgba(15,7,23,.58); backdrop-filter:blur(8px);
}
.truk-chatroom .truk-rules-modal[hidden]{display:none!important;}
.truk-chatroom .truk-rules-card{
  width:min(760px,100%); max-height:min(92vh,880px); overflow:auto; border-radius:28px;
  background:linear-gradient(135deg,rgba(255,255,255,.98),rgba(255,248,255,.96));
  border:1px solid rgba(255,255,255,.75); box-shadow:0 30px 90px rgba(25,7,45,.34); padding:16px;
}
.truk-chatroom .truk-rules-image,.truk-chatroom .truk-registration-rules-image{display:block;width:100%;height:auto;border-radius:22px;box-shadow:0 12px 32px rgba(32,16,48,.14);background:#fff;}
.truk-chatroom .truk-rules-copy{padding:16px 8px 4px;color:#211030;}
.truk-chatroom .truk-rules-kicker{margin:0 0 5px;font-weight:900;color:#6b3cff;text-transform:uppercase;letter-spacing:.06em;font-size:12px;}
.truk-chatroom .truk-rules-copy h3{margin:0 0 6px;font-size:clamp(22px,4vw,34px);line-height:1.08;color:#211030;}
.truk-chatroom .truk-rules-copy p{margin:0 0 12px;color:#493057;font-weight:700;}
.truk-chatroom .truk-rules-copy ul,.truk-chatroom .truk-registration-rules-text ul{margin:10px 0 0;padding-left:1.2em;display:grid;gap:6px;color:#211030;}
.truk-chatroom .truk-rules-actions{display:flex;justify-content:center;padding:8px 0 2px;}
.truk-chatroom .truk-rules-accept-button{
  appearance:none;border:0;border-radius:999px;padding:13px 22px;min-height:46px;font-weight:950;cursor:pointer;
  background:linear-gradient(135deg,#5fcff4,#f59aca);color:#211030;box-shadow:0 10px 24px rgba(245,154,202,.28);
}
.truk-chatroom .truk-rules-accept-button:hover,.truk-chatroom .truk-rules-accept-button:focus{outline:3px solid rgba(95,207,244,.45);outline-offset:3px;filter:brightness(1.03);}
.truk-chatroom .truk-rules-card:focus{outline:3px solid rgba(107,60,255,.28);outline-offset:3px;}
.truk-chatroom .truk-registration-rules-check:focus-within{outline:3px solid rgba(107,60,255,.28);outline-offset:3px;}
.truk-chatroom .truk-registration-rules{display:grid;gap:12px;margin:0 0 16px;padding:12px;border-radius:22px;background:#fffafd;border:1px solid #ead6ff;}
.truk-chatroom .truk-registration-rules-text{display:grid;gap:5px;color:#211030;}
.truk-chatroom .truk-registration-rules-text strong{font-size:18px;line-height:1.15;}
.truk-chatroom .truk-registration-rules-text span{color:#5b4668;font-weight:700;}
.truk-chatroom .truk-registration-rules-check{display:flex!important;gap:9px!important;align-items:flex-start!important;font-weight:900!important;background:#fff!important;border:1px solid #ead6ff!important;border-radius:16px!important;padding:11px!important;color:#211030!important;}
.truk-chatroom .truk-registration-rules-check input{margin-top:2px;min-width:18px;min-height:18px;accent-color:#6b3cff;}
.truk-chatroom .truk-chat-register-button:disabled{opacity:.55;cursor:not-allowed;}
@media (max-width:640px){.truk-chatroom .truk-rules-modal{padding:10px}.truk-chatroom .truk-rules-card{border-radius:22px;padding:10px}.truk-chatroom .truk-rules-image,.truk-chatroom .truk-registration-rules-image{border-radius:16px}.truk-chatroom .truk-rules-copy{padding:12px 4px 2px}.truk-chatroom .truk-rules-accept-button{width:100%;}}

/* V3.1.6 profile polish: status icons, clearer colour previews, grouped visual/audio controls */
.truk-chatroom .truk-profile-customise-group,
.truk-chatroom .truk-profile-audio-group{
  margin:14px 0 12px;
  padding:14px;
  border:1px solid #eadcf8;
  border-radius:18px;
  background:linear-gradient(180deg,#ffffff,#fbf8ff);
}
.truk-chatroom .truk-profile-customise-group h4,
.truk-chatroom .truk-profile-audio-group h4{
  margin:0 0 10px;
  color:#221030;
  font-size:16px;
  line-height:1.2;
}
.truk-chatroom .truk-profile-colours{
  grid-template-columns:1fr 1fr;
  align-items:end;
}
.truk-chatroom .truk-colour-preview{
  grid-column:1 / -1;
  min-height:44px;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:10px 12px;
  border-radius:14px;
  border:1px solid rgba(34,16,48,.18);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.35),0 4px 12px rgba(50,16,77,.08);
  font-weight:900;
  text-align:center;
}
.truk-chatroom .truk-profile-font-size-settings{
  margin-top:12px;
  padding-top:12px;
  border-top:1px dashed #d8c7e8;
}
.truk-chatroom .truk-profile-audio-group .truk-sound-toggle{
  margin:8px 0;
}
.truk-chatroom .truk-user-status{
  width:14px;
  height:14px;
  min-width:14px;
  border-radius:999px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  margin-right:5px;
  vertical-align:-2px;
  border:2px solid #fff;
  box-shadow:0 0 0 1px rgba(34,16,48,.2),0 2px 6px rgba(34,16,48,.15);
}
.truk-chatroom .truk-online-user > .truk-user-status,
.truk-chatroom .truk-friend-user > .truk-user-status{
  margin:0 2px 0 -2px;
}
.truk-chatroom .truk-user-status span{
  width:6px;
  height:6px;
  border-radius:999px;
  background:rgba(255,255,255,.9);
}
.truk-chatroom .truk-user-status-available{background:#16a34a;}
.truk-chatroom .truk-user-status-away{background:#f59e0b;}
.truk-chatroom .truk-user-status-busy{background:#dc2626;}
.truk-chatroom .truk-user-status-busy span{
  width:7px;
  height:2px;
  border-radius:2px;
}
.truk-chatroom .truk-online-user .truk-user-status + span{
  min-width:0;
}
@media (max-width:640px){
  .truk-chatroom .truk-profile-colours{grid-template-columns:1fr;}
}


/* V3.1.7: status moved to far-left of user rows and status selector made clearer in profile editor */
.truk-chatroom .truk-online-user > .truk-user-status,
.truk-chatroom .truk-friend-user > .truk-user-status{
  order:-10;
  margin:0 3px 0 0;
  flex:0 0 auto;
}
.truk-chatroom .truk-online-user > .truk-online-avatar,
.truk-chatroom .truk-friend-user > .truk-online-avatar{
  order:-5;
}
.truk-chatroom .truk-profile-status-control{
  margin-top:10px;
  padding:10px 12px;
  border:1px solid #eadcf8;
  border-radius:16px;
  background:#fbf8ff;
}
.truk-chatroom .truk-profile-status-control select{
  margin-top:6px;
  font-weight:800;
}
.truk-chatroom .truk-profile-summary > .truk-user-status{
  margin:0 0 0 0;
}


/* v3.1.8.1 - Who's Here status ring: puts status around the profile image to reduce crowding */
.truk-online-user .truk-user-status,
.truk-friend-user .truk-user-status{
  flex:0 0 auto;
}
.truk-status-avatar{
  position:relative;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:44px;
  height:44px;
  flex:0 0 44px;
  border-radius:999px;
  padding:3px;
  background:#22c55e;
  box-shadow:0 0 0 3px rgba(34,197,94,.14);
}
.truk-status-avatar .truk-online-avatar{
  width:38px!important;
  height:38px!important;
  margin:0!important;
  border:2px solid #fff;
}
.truk-status-avatar:after{
  content:'';
  position:absolute;
  right:0;
  bottom:0;
  width:12px;
  height:12px;
  border-radius:999px;
  background:#22c55e;
  border:2px solid #fff;
  box-shadow:0 1px 4px rgba(0,0,0,.22);
}
.truk-status-avatar-available{background:#22c55e;box-shadow:0 0 0 3px rgba(34,197,94,.14)}
.truk-status-avatar-available:after{background:#22c55e}
.truk-status-avatar-away{background:#f59e0b;box-shadow:0 0 0 3px rgba(245,158,11,.16)}
.truk-status-avatar-away:after{background:#f59e0b}
.truk-status-avatar-busy{background:#ef4444;box-shadow:0 0 0 3px rgba(239,68,68,.16)}
.truk-status-avatar-busy:after{background:#ef4444}
.truk-online-user,
.truk-friend-user{
  gap:8px!important;
}
.truk-online-user > span:last-child,
.truk-friend-user > span:last-child{
  min-width:0;
}
.truk-online-user > span:last-child strong,
.truk-friend-user > span:last-child strong{
  line-height:1.15;
}
.truk-online-user > span:last-child span,
.truk-friend-user > span:last-child small{
  line-height:1.2;
}


/* v3.1.8.3: KLIPY branding restored and kept compact in the GIF search UI. */
.truk-chatroom .truk-gif-search-row{
    grid-template-columns:minmax(0,1fr) auto auto!important;
    align-items:center!important;
}
.truk-chatroom .truk-klipy-search-brand{
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    min-height:30px!important;
    padding:4px 8px!important;
    border-radius:999px!important;
    background:linear-gradient(135deg,#eef8ff,#fff0fa)!important;
    border:1px solid rgba(107,60,255,.18)!important;
    color:#4b2a68!important;
    font-size:10px!important;
    font-weight:800!important;
    letter-spacing:.02em!important;
    white-space:nowrap!important;
}
.truk-chatroom .truk-klipy-search-brand strong{
    margin-left:3px!important;
    color:#6b3cff!important;
    font-size:11px!important;
    letter-spacing:.08em!important;
}
.truk-chatroom .truk-klipy-result-frame{
    position:relative!important;
    display:block!important;
    width:100%!important;
}
.truk-chatroom .truk-klipy-result-frame img{
    display:block!important;
}
.truk-chatroom .truk-klipy-gif-watermark,
.truk-chatroom .truk-chat-gif::after{
    position:absolute!important;
    right:6px!important;
    bottom:6px!important;
    z-index:2!important;
    padding:2px 5px!important;
    border-radius:999px!important;
    background:rgba(255,255,255,.82)!important;
    color:#6b3cff!important;
    font-size:9px!important;
    line-height:1!important;
    font-weight:900!important;
    letter-spacing:.08em!important;
    box-shadow:0 1px 5px rgba(0,0,0,.16)!important;
    pointer-events:none!important;
}
.truk-chatroom .truk-chat-gif{position:relative!important;}
.truk-chatroom .truk-chat-gif::after{content:'KLIPY';}
@media (max-width:520px){
    .truk-chatroom .truk-gif-search-row{grid-template-columns:1fr auto!important;}
    .truk-chatroom .truk-klipy-search-brand{grid-column:1 / -1!important;justify-self:start!important;}
}
