:root{--bg:#f5f7fb;--card:#fff;--ink:#111827;--muted:#64748b;--line:#d8e1ee;--blue:#2563eb;--blue2:#1e40af;--black:#05070c;--gold:#d6a238;--green:#0f7a3a;--red:#b91c1c;--felt:#063b2d;--felt2:#0b5f46;--shadow:0 18px 45px rgba(15,23,42,.13)}*{box-sizing:border-box}body{margin:0;font-family:Inter,Arial,Helvetica,sans-serif;background:var(--bg);color:var(--ink)}a{color:var(--blue);text-decoration:none}.shell{width:min(1760px,98vw);margin:auto;padding:18px}.topbar{position:sticky;top:0;z-index:50;background:linear-gradient(180deg,#0a0d14,#000);color:white;display:flex;gap:18px;align-items:center;padding:12px 20px;box-shadow:0 8px 30px #0005;border-bottom:1px solid #222}.topbar a{color:white;font-weight:750}.topbar a:hover{color:#f8d878}.brand{font-size:21px;font-weight:950;letter-spacing:.2px}.credits{margin-left:auto;background:linear-gradient(135deg,#f6c453,#b7791f);color:#111;border-radius:999px;padding:7px 14px;font-weight:950;border:1px solid #ffe08a}.card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:16px;box-shadow:var(--shadow)}.grid{display:grid;gap:16px}.cols{grid-template-columns:240px minmax(760px,1fr) 280px;align-items:start}.panel-title{font-size:12px;text-transform:uppercase;color:var(--muted);font-weight:900;letter-spacing:.08em;margin:10px 0 8px}.muted,.small{color:var(--muted)}.small{font-size:12px}button,.btn,input[type=submit]{border:0;border-radius:12px;background:linear-gradient(180deg,var(--blue),var(--blue2));color:white;padding:10px 14px;font-weight:900;cursor:pointer;box-shadow:0 6px 16px rgba(37,99,235,.22)}button:hover,.btn:hover{filter:brightness(1.05)}button:disabled{opacity:.45;cursor:not-allowed}.secondary,button.secondary,.btn.secondary{background:#eef2f7!important;color:#111!important;box-shadow:none;border:1px solid #cbd5e1}.danger{background:linear-gradient(180deg,#dc2626,#991b1b)!important}input,select,textarea{width:100%;padding:11px;border:1px solid var(--line);border-radius:12px;background:white;margin:5px 0 10px;color:#111}textarea{min-height:95px}.chatbox{height:72vh;min-height:610px;overflow:auto;background:#fff;border:1px solid var(--line);border-radius:18px;padding:12px}.msg{display:flex;gap:10px;padding:10px 8px;border-bottom:1px solid #eef2f7;line-height:1.35}.msgAvatar{width:38px;height:38px;border-radius:50%;background:linear-gradient(135deg,#1d4ed8,#9333ea);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:950;flex:0 0 38px}.msgBody{min-width:0}.msg b{color:#143b82}.msg .time{color:#94a3b8;font-size:11px;margin-left:6px}.msg img.gif{max-width:230px;max-height:180px;border-radius:12px;display:block;margin-top:6px}.chatinput{display:grid;grid-template-columns:1fr auto auto auto;gap:8px;margin-top:10px}.userslist{max-height:58vh;overflow:auto}.userrow{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #edf2f7;padding:9px 0;gap:8px}.dot{width:9px;height:9px;border-radius:50%;display:inline-block;background:#16a34a;box-shadow:0 0 0 3px #dcfce7}.emoji-pop,.gif-pop{position:fixed;display:none;background:#fff;border:1px solid var(--line);border-radius:18px;box-shadow:0 20px 60px #0003;padding:12px;z-index:1000}.emoji-pop{width:330px}.emojiPick{background:#fff!important;color:#111!important;box-shadow:none;font-size:24px;padding:8px}.gif-pop{width:420px}.gif-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;max-height:300px;overflow:auto}.gif-grid img{width:100%;height:95px;object-fit:cover;border-radius:10px;cursor:pointer}.badge{display:block;background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;padding:8px;margin:8px 0}#toast{position:fixed;right:18px;bottom:78px;background:#111827;color:white;border-radius:14px;padding:12px 16px;display:none;z-index:2000;max-width:420px;box-shadow:0 18px 50px #0005}
/* PM popout */.pm-dock{position:fixed;left:0;right:0;bottom:0;display:flex;gap:6px;align-items:end;padding:8px 12px;background:linear-gradient(180deg,rgba(255,255,255,.78),#fff);border-top:1px solid #dce3ee;z-index:1200}.pm-tab{display:flex;align-items:center;gap:8px;min-width:160px;max-width:240px;background:#111827;color:#fff;border:1px solid #374151;border-radius:12px 12px 0 0;padding:9px 10px;font-weight:900;cursor:pointer}.pm-tab .x{margin-left:auto;background:#374151;border-radius:50%;width:20px;height:20px;text-align:center;line-height:20px}.pm-window{position:fixed;width:360px;height:420px;right:28px;bottom:55px;background:white;border:1px solid #cbd5e1;border-radius:16px;box-shadow:0 25px 70px #0004;z-index:1250;display:flex;flex-direction:column;overflow:hidden}.pm-head{background:linear-gradient(180deg,#0b0e17,#000);color:white;padding:11px 12px;display:flex;align-items:center;gap:8px;cursor:move;font-weight:950}.pm-head button{margin-left:auto;padding:4px 8px;border-radius:8px;background:#374151}.pm-messages{flex:1;overflow:auto;background:#f8fafc;padding:12px}.pm-bubble{max-width:82%;padding:9px 11px;border-radius:14px;margin:8px 0;background:#e9eef7}.pm-bubble.me{margin-left:auto;background:#dbeafe}.pm-foot{display:grid;grid-template-columns:1fr auto;gap:8px;padding:9px;border-top:1px solid #e5e7eb}.pm-foot input{margin:0}
/* Profile photos */.profile-layout{display:grid;grid-template-columns:minmax(720px,1fr) 320px;gap:18px}.profile-cover{display:flex;align-items:center;gap:18px;background:linear-gradient(135deg,#111827,#1f3b78);padding:24px;border-radius:20px;color:white}.profile-avatar-big{width:142px;height:142px;border-radius:24px;background:#fff2;border:4px solid rgba(255,255,255,.7);overflow:hidden;display:flex;align-items:center;justify-content:center;font-size:64px;font-weight:950}.profile-avatar-big img{width:100%;height:100%;object-fit:cover}.pro-photo-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(125px,1fr));gap:14px}.pro-photo-slot{position:relative;height:132px;border:1px solid #dbe4f0;border-radius:16px;background:#f8fafc;display:flex;align-items:center;justify-content:center;overflow:hidden;color:#94a3b8;font-weight:800}.pro-photo-slot img{width:100%;height:100%;object-fit:cover}.main-ribbon{position:absolute;top:8px;left:8px;background:#facc15;color:#111;border-radius:999px;padding:4px 8px;font-size:11px;font-weight:950}.photo-actions{position:absolute;left:5px;right:5px;bottom:5px;display:flex;gap:5px}.photo-actions form{flex:1}.photo-actions button{width:100%;font-size:11px;padding:6px}.profile-tabs{display:flex;gap:10px;margin:16px 0}.profile-tabs span{background:#eef2ff;border:1px solid #dbeafe;padding:8px 12px;border-radius:999px;font-weight:900}.profile-fields{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.wall-post{background:#f8fafc;border:1px solid #e2e8f0;border-radius:14px;padding:10px;margin:10px 0}.gift-cloud .badge{display:inline-block;margin:5px}.gift-cloud small{display:block;color:#64748b}
/* casino/game lobby */.casino-hero,.games-hero{background:radial-gradient(circle at top left,#2b1b0a,#050505 55%,#000);color:#fff;border-radius:24px;padding:28px;box-shadow:var(--shadow);border:1px solid #2d2d2d}.casino-hero h1,.games-hero h1{font-size:42px;margin:0 0 10px}.casino-grid,.game-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:18px;margin-top:18px}.casino-tile,.game-tile{position:relative;overflow:hidden;min-height:210px;border-radius:22px;padding:20px;color:white;background:linear-gradient(135deg,#111827,#0f172a);border:1px solid rgba(255,255,255,.12);box-shadow:0 18px 50px rgba(0,0,0,.25)}.casino-tile:before,.game-tile:before{content:"";position:absolute;inset:-40px;background:radial-gradient(circle at 70% 10%,rgba(250,204,21,.35),transparent 25%),radial-gradient(circle at 10% 90%,rgba(37,99,235,.35),transparent 28%);pointer-events:none}.casino-tile>* ,.game-tile>*{position:relative}.tile-icon{font-size:54px;letter-spacing:-8px}.casino-tile h2,.game-tile h2{margin:8px 0;font-size:25px}.casino-tile .btn,.game-tile .btn{display:inline-block;margin-top:12px;background:linear-gradient(180deg,#f5c451,#b7791f);color:#111}.casino-table-pro,.game-table-pro{background:radial-gradient(circle at center,#0d6b4f,#053124 58%,#02130e);border:14px solid #4a250f;border-radius:40px;box-shadow:inset 0 0 0 6px #a16207,0 28px 75px #0005;color:white;padding:30px;min-height:78vh}.casino-stage{max-width:1100px;margin:auto}.card-row{display:flex;gap:12px;flex-wrap:wrap;min-height:130px;margin:12px 0 26px}.card-pro{width:82px;height:118px;background:#fff;color:#111;border-radius:10px;box-shadow:0 8px 18px #0005;display:flex;flex-direction:column;justify-content:space-between;padding:8px;font-size:25px;font-weight:950;border:1px solid #ddd}.card-pro.red{color:#b91c1c}.bj-controls{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.bj-controls input{width:140px}.slot-machine{max-width:850px;margin:auto;background:linear-gradient(180deg,#671010,#220606);border:10px solid #f4c542;border-radius:28px;padding:24px;box-shadow:inset 0 0 30px #000,0 20px 65px #0006}.slot-title{text-align:center;font-size:34px;font-weight:950;color:#ffe08a;text-shadow:0 2px 2px #000}.slot-reels{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;margin:20px 0}.slot-cell{height:98px;background:linear-gradient(180deg,#fff,#e2e8f0);border-radius:14px;display:flex;align-items:center;justify-content:center;font-size:46px;box-shadow:inset 0 0 0 3px #cbd5e1}.roulette-wheel{width:340px;height:340px;margin:20px auto;border-radius:50%;background:conic-gradient(#991b1b 0 10deg,#111 10deg 20deg,#15803d 20deg 30deg,#991b1b 30deg 40deg,#111 40deg 50deg,#991b1b 50deg 60deg,#111 60deg 70deg,#991b1b 70deg 80deg,#111 80deg 90deg,#15803d 90deg 100deg,#991b1b 100deg 110deg,#111 110deg 120deg,#991b1b 120deg 130deg,#111 130deg 140deg,#991b1b 140deg 150deg,#111 150deg 160deg,#991b1b 160deg 170deg,#111 170deg 180deg,#991b1b 180deg 190deg,#111 190deg 200deg,#15803d 200deg 210deg,#991b1b 210deg 220deg,#111 220deg 230deg,#991b1b 230deg 240deg,#111 240deg 250deg,#991b1b 250deg 260deg,#111 260deg 270deg,#15803d 270deg 280deg,#991b1b 280deg 290deg,#111 290deg 300deg,#991b1b 300deg 310deg,#111 310deg 320deg,#991b1b 320deg 330deg,#111 330deg 340deg,#991b1b 340deg 350deg,#111 350deg 360deg);border:18px solid #a16207;box-shadow:inset 0 0 0 18px #111,0 20px 50px #0007;display:flex;align-items:center;justify-content:center}.roulette-center{width:95px;height:95px;border-radius:50%;background:#f8fafc;color:#111;display:flex;align-items:center;justify-content:center;font-size:34px;font-weight:950}.game-surface{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.18);border-radius:24px;padding:20px;min-height:600px}.connect-board{display:grid;grid-template-columns:repeat(7,78px);gap:9px;justify-content:center;background:#0756ba;padding:18px;border-radius:22px;width:max-content;margin:auto}.connect-cell{width:78px;height:78px;border-radius:50%;background:#e5e7eb;border:5px solid #04459a}.connect-cell.red{background:#ef4444}.connect-cell.yellow{background:#facc15}.checkers-board{display:grid;grid-template-columns:repeat(8,66px);width:max-content;margin:auto;border:12px solid #6b3f18}.sq{width:66px;height:66px;background:#f0d9b5;display:flex;align-items:center;justify-content:center}.sq.dark{background:#8b4513}.piece{width:45px;height:45px;border-radius:50%;box-shadow:inset 0 4px 8px #fff5,0 5px 10px #0005}.piece.red{background:#b91c1c}.piece.black{background:#111}.word-board{max-width:760px;margin:auto}.tile-rack{display:flex;justify-content:center;gap:10px;margin:22px 0}.letter-tile{width:62px;height:62px;background:#f4d08b;color:#111;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:32px;font-weight:950;box-shadow:0 8px 0 #b7791f}.memory-grid{display:grid;grid-template-columns:repeat(4,110px);gap:12px;justify-content:center}.memory-card{height:130px;background:linear-gradient(135deg,#1e3a8a,#581c87);border:3px solid #c4b5fd;border-radius:16px;color:white;font-size:42px;display:flex;align-items:center;justify-content:center}.poker-hand{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}.game-actions{text-align:center;margin:20px 0}.invite-card{background:#fff8e1;border:1px solid #f4c542;border-radius:14px;padding:10px;margin:10px 0;color:#111}
@media(max-width:1100px){.cols,.profile-layout{grid-template-columns:1fr}.chatbox{height:60vh}.topbar{flex-wrap:wrap}.connect-board{grid-template-columns:repeat(7,46px)}.connect-cell{width:46px;height:46px}.checkers-board{grid-template-columns:repeat(8,42px)}.sq{width:42px;height:42px}.piece{width:30px;height:30px}}


/* LIVE-READY FIXES: wider chat, smaller PM tabs, visible pro cards */
.shell{width:min(1900px,99vw);padding:12px 14px 58px}.cols{grid-template-columns:210px minmax(900px,1fr) 250px;gap:12px}.chatbox{height:76vh;min-height:660px}.topbar{background:#000!important}.pm-dock{height:34px;padding:3px 8px;background:rgba(255,255,255,.95);align-items:center}.pm-tab{min-width:92px;max-width:150px;height:28px;padding:4px 7px;border-radius:8px 8px 0 0;font-size:12px;line-height:1;white-space:nowrap;overflow:hidden}.pm-tab span:first-child{overflow:hidden;text-overflow:ellipsis}.pm-tab .x{width:16px;height:16px;line-height:16px;font-size:11px;flex:0 0 16px}.pm-window{width:340px;height:360px;bottom:42px}.pm-head{padding:8px 10px}.pm-foot{padding:7px}.pm-foot input{height:34px;padding:7px}.card-pro{position:relative!important;width:96px!important;height:138px!important;background:linear-gradient(180deg,#fff,#f8fafc)!important;color:#111!important;border-radius:12px!important;border:1px solid #cbd5e1!important;box-shadow:0 12px 26px rgba(0,0,0,.45)!important;display:flex!important;flex-direction:column!important;justify-content:space-between!important;align-items:stretch!important;padding:9px!important;font-family:Georgia,'Times New Roman',serif!important;font-size:30px!important;font-weight:900!important;line-height:1!important;text-shadow:none!important}.card-pro.red{color:#b91c1c!important}.card-pro span:first-child{text-align:left}.card-pro span:last-child{text-align:right;transform:rotate(180deg)}.card-row{min-height:154px;align-items:center}.game-invite-panel{background:rgba(255,255,255,.10);border:1px solid rgba(255,255,255,.25);border-radius:18px;padding:12px;margin:12px 0 18px;color:white}.game-invite-panel select{max-width:260px;display:inline-block;margin-right:8px}.game-invite-panel button{display:inline-block}.game-table-pro h1,.casino-table-pro h1{font-size:44px;margin:4px 0 8px}.casino-table-pro h3{font-size:24px;color:#fef3c7}.slot-reels{grid-template-columns:repeat(5,1fr);grid-template-rows:repeat(3,90px)}.slot-cell{height:90px;font-size:44px}.blackjack-layout{max-width:1100px;margin:auto}.dealer-shoe{display:flex;gap:18px;align-items:center;justify-content:space-between;flex-wrap:wrap}.shoe-box{width:110px;height:145px;border-radius:12px;background:repeating-linear-gradient(45deg,#111,#111 8px,#1f2937 8px,#1f2937 16px);border:4px solid #d6a238;box-shadow:0 12px 28px #0008}.table-message{background:rgba(0,0,0,.28);border:1px solid rgba(255,255,255,.18);border-radius:16px;padding:12px 16px;display:inline-block}.invite-card button{padding:7px 10px;border-radius:9px}@media(max-width:1200px){.cols{grid-template-columns:1fr}.chatbox{min-height:520px}.pm-dock{bottom:0}.pm-tab{max-width:120px}}

/* PRO CASINO / LIVE POLISH PATCH */
body{background:#f7f9fc!important}.top-people-btn{background:#171717!important;border:1px solid #444!important;color:#fff!important;padding:7px 10px!important;border-radius:10px!important;box-shadow:none!important}.people-panel{position:fixed;right:14px;top:58px;width:330px;max-height:78vh;overflow:auto;background:#fff;border:1px solid #d6dde9;border-radius:16px;box-shadow:0 24px 70px rgba(0,0,0,.28);z-index:2500;display:none;padding:12px}.people-panel h3{margin:4px 0 10px}.people-row{display:grid;grid-template-columns:1fr auto auto;gap:6px;align-items:center;padding:7px 0;border-bottom:1px solid #eef2f7}.people-row button{font-size:11px;padding:6px 8px;border-radius:8px}.people-panel select{height:34px;padding:6px;margin:3px 0}.pending-invite-float{position:fixed;right:18px;bottom:48px;z-index:2400;width:310px}.pending-invite-float .invite-card{box-shadow:0 16px 45px #0003}.pm-dock{height:30px!important;padding:2px 6px!important}.pm-tab{height:24px!important;min-width:78px!important;max-width:120px!important;font-size:11px!important;padding:3px 6px!important}.pm-window{bottom:34px!important;height:330px!important;width:330px!important}.chatinput{position:relative;z-index:2}.shell{padding-bottom:42px!important}
/* draggable casino/game app windows */
.pro-window{position:relative;max-width:1180px;margin:0 auto;background:rgba(3,7,18,.78);border:1px solid rgba(255,255,255,.18);border-radius:22px;box-shadow:0 25px 80px rgba(0,0,0,.48);overflow:hidden}.pro-window.compact{max-width:980px}.pro-window-head{height:42px;background:linear-gradient(180deg,#111,#000);color:#fff;display:flex;align-items:center;gap:10px;padding:0 12px;cursor:move;border-bottom:1px solid rgba(255,255,255,.13)}.pro-window-head b{font-size:15px;letter-spacing:.03em}.pro-window-head .spacer{flex:1}.win-btn{width:26px;height:24px;border-radius:7px!important;background:#2b2f3a!important;color:white!important;padding:0!important;box-shadow:none!important}.win-btn.close{background:#b91c1c!important}.pro-window-body{padding:16px}.pro-window.minimized .pro-window-body{display:none}.pro-window.minimized{max-height:43px}.casino-table-pro,.game-table-pro{min-height:calc(100vh - 95px)!important;padding:14px!important;border-width:10px!important;border-radius:28px!important}.casino-stage{max-width:940px}.credit-strip{display:flex;gap:8px;align-items:center;justify-content:space-between;flex-wrap:wrap;background:rgba(255,255,255,.10);border:1px solid rgba(255,255,255,.16);border-radius:14px;padding:8px 12px;margin-bottom:10px;color:#fff}.credit-pill{background:linear-gradient(135deg,#f9d267,#b7791f);color:#111;border-radius:999px;padding:6px 10px;font-weight:950}.casino-msg{font-size:18px!important;margin:8px 0!important}.card-row{min-height:120px!important;margin:6px 0 10px!important}.card-pro{width:72px!important;height:102px!important;font-size:22px!important;padding:7px!important}.card-pro span:nth-child(2){font-size:30px!important}.blackjack-layout h1,.casino-stage h1{font-size:30px!important;margin:3px 0!important}.blackjack-layout h3,.casino-stage h3{margin:5px 0!important}.shoe-box{width:76px!important;height:100px!important}.bj-controls{gap:7px!important}.bj-controls input,.bj-controls select{height:36px!important;padding:7px!important;margin:0!important}.bj-controls button,.bj-controls .btn{padding:8px 11px!important}.slot-machine{max-width:780px!important;padding:14px!important;border-width:7px!important}.slot-title{font-size:25px!important}.slot-reels{gap:7px!important;margin:12px 0!important;grid-template-rows:repeat(3,72px)!important}.slot-cell{height:72px!important;font-size:36px!important;transition:transform .12s, filter .12s}.slot-cell.spin{animation:slotBlur .14s linear infinite}@keyframes slotBlur{50%{transform:translateY(6px) scale(1.04);filter:blur(1px)}}.payline{position:relative}.roulette-wheel{width:230px!important;height:230px!important;border-width:12px!important;margin:8px auto!important}.roulette-center{width:74px!important;height:74px!important;font-size:26px!important}.poker-hand{gap:8px!important}.game-table-shell{display:grid;grid-template-columns:210px minmax(0,1fr);gap:12px}.opponent-chat{background:rgba(255,255,255,.10);border:1px solid rgba(255,255,255,.18);border-radius:18px;padding:10px;height:620px;display:flex;flex-direction:column}.opponent-chat-log{flex:1;overflow:auto;background:rgba(0,0,0,.22);border-radius:12px;padding:8px;margin-bottom:8px;font-size:13px}.opponent-chat input{height:34px;margin:0;color:#111}.game-surface{min-height:620px!important;padding:12px!important;overflow:hidden}.connect-board{grid-template-columns:repeat(7,58px)!important;gap:6px!important;padding:12px!important}.connect-cell{width:58px!important;height:58px!important}.checkers-board{grid-template-columns:repeat(8,52px)!important}.sq{width:52px!important;height:52px!important}.piece{width:36px!important;height:36px!important}.memory-grid{grid-template-columns:repeat(4,82px)!important;gap:8px!important}.memory-card{height:92px!important;font-size:30px!important}.letter-tile{width:48px!important;height:48px!important;font-size:24px!important}.game-actions{margin:10px 0!important}@media(max-width:900px){.game-table-shell{grid-template-columns:1fr}.opponent-chat{height:180px}.casino-table-pro,.game-table-pro{min-height:auto}.people-panel{right:8px;left:8px;width:auto}.slot-cell{height:56px!important;font-size:28px!important}.connect-board{grid-template-columns:repeat(7,40px)!important}.connect-cell{width:40px!important;height:40px!important}.checkers-board{grid-template-columns:repeat(8,38px)!important}.sq{width:38px!important;height:38px!important}}


/* LIVE POLISH PATCH - compact no-scroll commercial layout */
html,body{overflow-x:hidden;background:#f5f7fb!important;}
.shell{width:min(1880px,99vw)!important;padding:10px!important;}
.cols{grid-template-columns:190px minmax(0,1fr) 245px!important;gap:10px!important;height:calc(100vh - 76px);align-items:stretch;}
.cols>.card{padding:10px!important;border-radius:14px!important;min-width:0;overflow:hidden;}
.mini-room-note{font-size:12px;color:#64748b;margin-top:8px;}
.chatbox{height:calc(100vh - 165px)!important;min-height:430px!important;overflow-y:auto;overflow-x:hidden!important;border-radius:14px!important;}
.chatinput{grid-template-columns:minmax(0,1fr) 42px 50px 70px!important;gap:6px!important;margin-bottom:38px;}
.chatinput input{min-width:0!important;}
.online-card{position:sticky;top:68px;height:calc(100vh - 88px);display:flex;flex-direction:column;}
.userslist{max-height:none!important;overflow-y:auto!important;overflow-x:hidden!important;flex:1;}
.userrow{display:grid!important;grid-template-columns:34px minmax(0,1fr) 44px!important;gap:6px!important;align-items:center!important;padding:6px 0!important;border-bottom:1px solid #eef2f7;}
.userrow .user-name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#111827;font-weight:800;}
.userrow button{padding:6px 8px!important;font-size:11px!important;border-radius:9px!important;}
.dot{display:none!important;}
.msg{padding:7px 5px!important;gap:8px!important;}
.msg .time{display:none!important;}
.msgAvatar,.user-avatar,.people-avatar{width:34px!important;height:34px!important;border-radius:50%!important;display:flex!important;align-items:center!important;justify-content:center!important;overflow:hidden!important;flex:0 0 34px!important;background:linear-gradient(135deg,#1d4ed8,#9333ea);color:#fff!important;font-weight:950;text-decoration:none!important;}
.msgAvatar img,.user-avatar img,.people-avatar img{width:100%!important;height:100%!important;object-fit:cover!important;display:block!important;}
.avatar-fallback{font-size:14px;}
.msgBody{font-size:14px!important;min-width:0;}
.msgBody div{overflow-wrap:anywhere;}
.pm-dock{left:8px!important;right:auto!important;bottom:4px!important;max-width:calc(100vw - 16px);height:30px;display:flex;gap:4px;z-index:2200;}
.pm-tab{height:26px!important;min-width:92px!important;max-width:135px!important;padding:4px 6px!important;font-size:11px!important;border-radius:8px 8px 0 0!important;}
.pm-tab span:first-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.pm-window{width:330px!important;height:360px!important;max-height:calc(100vh - 70px)!important;}
.pm-head{padding:8px 9px!important;}
.pm-messages{background:#f8fafc!important;color:#111827!important;}
.pm-bubble{background:#fff!important;color:#111827!important;border:1px solid #e2e8f0!important;}
.pm-bubble.me{background:#dbeafe!important;color:#111827!important;}
.people-panel{width:330px!important;right:12px!important;top:60px!important;max-height:calc(100vh - 80px)!important;overflow:auto!important;}
.people-row{grid-template-columns:34px minmax(0,1fr) 44px 58px!important;gap:6px!important;align-items:center;}
.people-row b{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.people-row button{padding:6px 7px!important;font-size:11px!important;}
.pending-invite-float{bottom:34px!important;right:10px!important;}

/* compact draggable game/casino desktop panels */
.casino-table-pro,.game-table-pro{min-height:calc(100vh - 96px)!important;padding:8px!important;display:flex!important;align-items:flex-start!important;justify-content:center!important;overflow:hidden!important;}
.pro-window{width:min(940px,calc(100vw - 24px))!important;max-height:calc(100vh - 96px)!important;border-radius:15px!important;overflow:hidden!important;box-shadow:0 16px 42px rgba(0,0,0,.28)!important;}
.pro-window.compact{width:min(820px,calc(100vw - 24px))!important;}
.pro-window-head{height:38px!important;min-height:38px!important;padding:7px 10px!important;cursor:move!important;}
.pro-window-body{max-height:calc(100vh - 136px)!important;overflow:hidden!important;padding:10px!important;}
.pro-window.minimized .pro-window-body{display:none!important;}
.pro-window.minimized{height:38px!important;max-height:38px!important;}
.win-btn{width:27px!important;height:25px!important;padding:0!important;border-radius:7px!important;}
.credit-strip{padding:7px 10px!important;margin-bottom:8px!important;font-size:12px!important;}
.credit-pill{padding:5px 9px!important;}
.blackjack-layout .card-row{gap:7px!important;min-height:112px!important;margin:6px 0!important;}
.card-pro{width:72px!important;height:102px!important;border-radius:9px!important;padding:5px!important;font-size:16px!important;box-shadow:0 6px 12px #0005!important;}
.card-pro span:nth-child(2){font-size:32px!important;line-height:1!important;}
.dealer-shoe{margin:2px 0!important;}
.shoe-box{width:74px!important;height:48px!important;}
.table-message,.casino-msg{font-size:17px!important;margin:7px 0!important;}
.bj-controls{gap:6px!important;margin-top:7px!important;display:flex!important;flex-wrap:wrap!important;align-items:center!important;}
.bj-controls input{width:90px!important;margin:0!important;padding:8px!important;}
.bj-controls button,.bj-controls .btn{padding:8px 11px!important;font-size:12px!important;border-radius:9px!important;}
.slot-machine{padding:10px!important;border-radius:16px!important;}
.slot-title{font-size:13px!important;margin-bottom:5px!important;}
.slot-reels{grid-template-columns:repeat(5,88px)!important;gap:7px!important;justify-content:center!important;}
.slot-cell{height:62px!important;font-size:30px!important;border-radius:12px!important;}
.roulette-wheel{width:230px!important;height:230px!important;margin:8px auto!important;}
.poker-row .card-pro{width:68px!important;height:96px!important;}
.game-table-shell{grid-template-columns:210px minmax(0,1fr)!important;gap:10px!important;max-height:calc(100vh - 285px)!important;overflow:hidden!important;}
.opponent-chat{height:100%!important;min-height:250px!important;max-height:calc(100vh - 285px)!important;background:#0f172a!important;color:#f8fafc!important;border:1px solid #334155!important;border-radius:13px!important;padding:9px!important;overflow:hidden!important;}
.opponent-chat .muted{color:#cbd5e1!important;}
.opponent-chat-log{height:calc(100% - 82px)!important;background:#111827!important;border:1px solid #334155!important;color:#f8fafc!important;border-radius:10px!important;padding:7px!important;overflow-y:auto!important;}
.opponent-chat .wall-post{background:#1f2937!important;color:#f8fafc!important;border-color:#475569!important;margin:5px 0!important;padding:7px!important;}
#tableChatInput{background:#fff!important;color:#111827!important;margin-top:7px!important;padding:8px!important;}
.game-surface{min-width:0!important;overflow:hidden!important;display:flex!important;align-items:center!important;justify-content:center!important;}
.game-invite-panel{padding:7px 9px!important;margin:7px 0!important;font-size:12px!important;display:flex!important;align-items:center!important;gap:6px!important;flex-wrap:wrap!important;}
.game-invite-panel select{width:180px!important;margin:0!important;padding:7px!important;}
.game-invite-panel button{padding:7px 10px!important;font-size:12px!important;}
.connect-board{grid-template-columns:repeat(7,44px)!important;gap:5px!important;padding:9px!important;}
.connect-cell{width:44px!important;height:44px!important;}
.checkers-board{grid-template-columns:repeat(8,42px)!important;}
.sq{width:42px!important;height:42px!important;}
.piece{width:30px!important;height:30px!important;}
.memory-grid{grid-template-columns:repeat(4,68px)!important;gap:6px!important;}
.memory-card{height:70px!important;font-size:25px!important;}
.letter-tile{width:42px!important;height:42px!important;font-size:21px!important;}
.word-board input{max-width:360px!important;}
.game-actions [style*="font-size:90px"]{font-size:56px!important;}
@media(max-width:1050px){.cols{grid-template-columns:150px minmax(0,1fr) 210px!important}.chatbox{height:calc(100vh - 165px)!important}.game-table-shell{grid-template-columns:180px minmax(0,1fr)!important}.slot-reels{grid-template-columns:repeat(5,70px)!important}.slot-cell{height:54px!important;font-size:25px!important}.card-pro{width:62px!important;height:88px!important}.connect-board{grid-template-columns:repeat(7,36px)!important}.connect-cell{width:36px!important;height:36px!important}.checkers-board{grid-template-columns:repeat(8,34px)!important}.sq{width:34px!important;height:34px!important}.piece{width:24px!important;height:24px!important}}
@media(max-width:760px){.cols{height:auto;grid-template-columns:1fr!important}.online-card{position:static;height:auto}.chatbox{height:55vh!important;min-height:360px!important}.game-table-shell{grid-template-columns:1fr!important;max-height:none!important}.opponent-chat{height:170px!important;min-height:170px!important}.pro-window-body{overflow:auto!important}.casino-table-pro,.game-table-pro{overflow:auto!important}.slot-reels{grid-template-columns:repeat(5,52px)!important}.slot-cell{height:48px!important;font-size:22px!important}}

/* LIVE VISUAL REPAIR: stop casino/game clipping, real-card blackjack, stable GIF picker */
html,body{overflow-x:hidden!important;}
.shell{width:min(1840px,99vw)!important;padding:10px 12px 48px!important;}
.casino-table-pro,.game-table-pro{
  min-height:auto!important;
  height:auto!important;
  padding:10px!important;
  border-width:7px!important;
  border-radius:20px!important;
  overflow:visible!important;
}
.pro-window{
  max-width:min(1040px,96vw)!important;
  width:min(1040px,96vw)!important;
  overflow:visible!important;
  border-radius:16px!important;
}
.pro-window-body{
  padding:10px!important;
  overflow:visible!important;
}
.blackjack-layout{display:block!important;}
.credit-strip{padding:6px 10px!important;margin-bottom:6px!important;font-size:12px!important;}
.dealer-shoe{display:flex;align-items:center;justify-content:space-between;margin:0 0 4px!important;}
.dealer-shoe h3,.blackjack-layout h3{margin:5px 0!important;font-size:15px!important;color:#fff;}
.shoe-box{width:78px!important;height:50px!important;border-radius:7px!important;background:repeating-linear-gradient(90deg,#111 0 7px,#333 7px 10px)!important;border:2px solid #777!important;box-shadow:0 5px 14px #0008;}
.card-row{
  display:flex!important;
  gap:8px!important;
  flex-wrap:wrap!important;
  align-items:center!important;
  min-height:88px!important;
  margin:5px 0 10px!important;
  overflow:visible!important;
}
.playing-card,.card-pro{
  width:58px!important;
  height:82px!important;
  min-width:58px!important;
  flex:0 0 58px!important;
  position:relative!important;
  background:linear-gradient(135deg,#fff 0%,#fff 58%,#f2f2f2 100%)!important;
  color:#111!important;
  border:1px solid #cfcfcf!important;
  border-radius:7px!important;
  box-shadow:0 5px 11px rgba(0,0,0,.45), inset 0 0 0 2px #fff!important;
  font-family:Georgia,'Times New Roman',serif!important;
  font-weight:900!important;
  padding:0!important;
  display:block!important;
  transform:none!important;
}
.playing-card.red,.card-pro.red{color:#b40016!important;}
.playing-card .corner{position:absolute;left:4px;top:3px;font-size:13px;line-height:12px;text-align:center;letter-spacing:-1px;}
.playing-card .corner.bottom{left:auto;top:auto;right:4px;bottom:3px;transform:rotate(180deg);}
.playing-card .rank{display:block;font-size:14px;line-height:13px;}
.playing-card .suit{display:block;font-size:14px;line-height:12px;}
.playing-card .center-suit{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:31px;line-height:1;text-shadow:0 1px 0 #fff;}
.playing-card .mini-pip{position:absolute;font-size:15px;line-height:1;}
.playing-card .p1{top:20px;left:12px}.playing-card .p2{top:20px;right:12px}.playing-card .p3{bottom:20px;left:12px;transform:rotate(180deg)}.playing-card .p4{bottom:20px;right:12px;transform:rotate(180deg)}
.bj-controls{gap:6px!important;margin-top:4px!important;}
.bj-controls input{width:90px!important;height:34px!important;margin:0!important;padding:6px!important;}
.bj-controls button,.bj-controls .btn{height:34px!important;padding:6px 10px!important;border-radius:9px!important;font-size:13px!important;}
.table-message.casino-msg{font-size:16px!important;margin:6px 0!important;line-height:1.2!important;}
.slot-machine{max-width:min(760px,94vw)!important;padding:12px!important;border-width:7px!important;border-radius:20px!important;}
.slot-title{font-size:24px!important;}
.slot-reels{gap:6px!important;margin:10px 0!important;}
.slot-cell{height:64px!important;font-size:32px!important;border-radius:10px!important;}
.roulette-wheel{width:230px!important;height:230px!important;margin:10px auto!important;}
.game-board-wrap,.board,.game-board,.checkers-board,.connect4-board{max-width:100%!important;}
.emoji-pop,.gif-pop{z-index:4000!important;max-width:calc(100vw - 24px)!important;}
.gif-pop{width:min(360px,calc(100vw - 24px))!important;}
.gif-grid{max-height:235px!important;grid-template-columns:repeat(3,1fr)!important;}
.gif-grid img{height:76px!important;}
@media (max-height:760px){
  .playing-card,.card-pro{width:50px!important;height:72px!important;min-width:50px!important;flex-basis:50px!important;}
  .playing-card .center-suit{font-size:26px!important}.playing-card .corner{font-size:12px!important}.card-row{min-height:74px!important;margin:4px 0 7px!important}.pro-window-head{height:34px!important}.pro-window-body{padding:7px!important}.credit-strip{display:none!important}.shoe-box{display:none!important}.casino-table-pro,.game-table-pro{border-width:5px!important;padding:7px!important}.table-message.casino-msg{font-size:14px!important}.bj-controls button,.bj-controls .btn,.bj-controls input{height:30px!important;font-size:12px!important;padding:4px 8px!important}
}


/* GIF picker fixed position repair - opens above chat typing bar and stays on screen */
.gif-pop{position:fixed!important;bottom:auto!important;right:auto!important;max-height:355px!important;overflow:hidden!important;}
.gif-pop input#gifSearch{position:sticky;top:0;z-index:2;background:#fff;color:#111!important;border:1px solid #cbd5e1!important;}
.gif-pop .gif-grid{max-height:255px!important;overflow:auto!important;background:#fff;color:#111;}
.emoji-pop{position:fixed!important;bottom:auto!important;right:auto!important;}

/* FINAL NO-CLIP GAME WINDOW REPAIR */
.casino-table-pro,.game-table-pro{
  width:100%!important;
  max-width:100%!important;
  min-height:auto!important;
  padding:6px!important;
  border-width:4px!important;
  border-radius:16px!important;
  overflow:visible!important;
}
.pro-window{
  width:min(980px,calc(100vw - 18px))!important;
  max-width:calc(100vw - 18px)!important;
  max-height:none!important;
  overflow:visible!important;
  margin:0 auto!important;
}
.pro-window-body{
  max-height:none!important;
  overflow:visible!important;
  padding:8px!important;
}
.pro-window-head{height:34px!important;min-height:34px!important;padding:5px 9px!important;}
.game-table-shell{
  display:grid!important;
  grid-template-columns:180px minmax(0,1fr)!important;
  gap:8px!important;
  max-height:none!important;
  overflow:visible!important;
}
.opponent-chat{height:380px!important;min-height:0!important;max-height:none!important;}
.game-surface{min-height:380px!important;max-height:none!important;overflow:visible!important;padding:8px!important;}
.game-surface > *{max-width:100%!important;}
.connect-board{grid-template-columns:repeat(7,38px)!important;gap:4px!important;padding:8px!important;max-width:100%!important;}
.connect-cell{width:38px!important;height:38px!important;border-width:3px!important;}
.checkers-board{grid-template-columns:repeat(8,36px)!important;border-width:6px!important;}
.sq{width:36px!important;height:36px!important;}.piece{width:25px!important;height:25px!important;}
.memory-grid{grid-template-columns:repeat(4,60px)!important;gap:6px!important;}.memory-card{height:62px!important;font-size:24px!important;}
.letter-tile{width:38px!important;height:38px!important;font-size:20px!important;}
.slot-machine{max-width:680px!important;padding:8px!important;border-width:5px!important;}
.slot-title{font-size:18px!important;line-height:1.1!important;}
.slot-reels{grid-template-columns:repeat(5,64px)!important;grid-template-rows:repeat(3,52px)!important;gap:5px!important;justify-content:center!important;}
.slot-cell{height:52px!important;font-size:25px!important;}
.roulette-wheel{width:190px!important;height:190px!important;border-width:10px!important;}
.roulette-center{width:58px!important;height:58px!important;font-size:22px!important;}
.blackjack-layout .credit-strip{padding:5px 8px!important;font-size:11px!important;margin-bottom:4px!important;}
.blackjack-layout h3{font-size:14px!important;margin:3px 0!important;}
.blackjack-layout .card-row{min-height:72px!important;margin:3px 0 6px!important;gap:5px!important;}
.playing-card,.card-pro{width:48px!important;height:68px!important;min-width:48px!important;flex-basis:48px!important;border-radius:6px!important;}
.playing-card .corner{font-size:10px!important;line-height:9px!important;left:3px!important;top:3px!important;}
.playing-card .corner.bottom{right:3px!important;bottom:3px!important;}
.playing-card .rank{font-size:11px!important;line-height:10px!important;}.playing-card .suit{font-size:11px!important;line-height:10px!important;}
.playing-card .center-suit{font-size:24px!important;}
.playing-card .mini-pip{font-size:11px!important;}
.playing-card .p1{top:17px!important;left:10px!important}.playing-card .p2{top:17px!important;right:10px!important}.playing-card .p3{bottom:17px!important;left:10px!important}.playing-card .p4{bottom:17px!important;right:10px!important}
.bj-controls{gap:5px!important;}.bj-controls input,.bj-controls select{width:78px!important;height:29px!important;padding:3px 5px!important;font-size:12px!important;}.bj-controls button,.bj-controls .btn{height:29px!important;padding:4px 7px!important;font-size:11px!important;border-radius:7px!important;}
.table-message,.casino-msg{font-size:13px!important;margin:4px 0!important;}
/* actual card backs/placeholders should still look like cards before deal */
.card-back{background:repeating-linear-gradient(45deg,#143a7b 0 5px,#0b1f49 5px 10px)!important;border:2px solid #fff!important;}
@media(max-width:820px){
  .game-table-shell{grid-template-columns:1fr!important;}
  .opponent-chat{height:145px!important;}
  .game-surface{min-height:300px!important;}
  .slot-reels{grid-template-columns:repeat(5,48px)!important;grid-template-rows:repeat(3,44px)!important}.slot-cell{height:44px!important;font-size:21px!important;}
  .connect-board{grid-template-columns:repeat(7,32px)!important}.connect-cell{width:32px!important;height:32px!important;}
}

/* Paid chat effects */
.effectPick{width:96px!important;min-width:96px!important;margin:0!important;padding:6px!important;border-radius:9px!important;font-size:11px!important;background:#fff8dc!important;border:1px solid #e3b341!important;color:#111!important;}
.msg.effect-big .msgText{font-size:26px!important;font-weight:950!important;line-height:1.15!important;letter-spacing:.3px;}
.msg.effect-rainbow .msgText{font-weight:950;background:linear-gradient(90deg,#dc2626,#ea580c,#ca8a04,#16a34a,#2563eb,#7c3aed,#db2777);-webkit-background-clip:text;background-clip:text;color:transparent;animation:rainbowShift 1.8s linear infinite;background-size:220% 100%;}
.msg.effect-flip .msgText{font-weight:900;}
.msg.effect-novowels .msgText{letter-spacing:.4px;font-weight:800;}
.effect-note{font-size:11px;color:#a16207;background:#fffbeb;border:1px solid #fde68a;border-radius:999px;display:inline-block;padding:3px 8px;margin-top:4px;font-weight:850;}
@keyframes rainbowShift{0%{background-position:0 0}100%{background-position:220% 0}}
.userrow .user-name{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.userrow .pmBtn{padding:6px 8px!important;border-radius:9px!important;font-size:11px!important;}

/* Room-focused user list polish */
.online-card{min-width:260px;overflow:visible;}
.compact-users{max-height:190px;overflow:auto;padding-right:4px;}
.compact-users.other-online{max-height:150px;}
.userrow.in-room{background:#f8fbff;border-color:#d9e8ff;}
.userrow.not-room{opacity:.92;}
.userrow .user-avatar,.msgAvatar{flex:0 0 auto;}
.userrow .user-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.effectPick{max-width:92px;font-size:11px;padding:5px;}
@media (min-width:1000px){.grid.cols{grid-template-columns:180px minmax(560px,1fr) 300px;align-items:start}.chatbox{min-height:520px}.online-card{position:sticky;top:74px}}
@media (max-width:999px){.grid.cols{grid-template-columns:1fr}.online-card{order:2}.compact-users{max-height:none;overflow:visible}.chatbox{min-height:420px}}

/* Route-safe effects panel: effects are separate from game invites */
#effectUser,#effectType{font-size:12px!important;padding:7px!important;margin:4px 0 6px!important;}
#effectBtn{width:100%;padding:8px 10px!important;font-size:12px!important;margin:2px 0 8px!important;}
#effectMsg{min-height:14px;}
.effectPick{display:none!important;}


/* FINAL room panel / no accidental game switching cleanup */
.online-card{background:#fff!important;border:1px solid #d8e1ee!important;box-shadow:0 12px 30px rgba(15,23,42,.10)!important;display:flex!important;flex-direction:column!important;gap:6px!important;overflow:hidden!important;}
.online-card .panel-title{margin:8px 0 4px!important;color:#334155!important;}
.compact-users{border:1px solid #edf2f7;border-radius:12px;background:#fbfdff;padding:4px!important;}
#roomUsersBox{flex:0 1 32%!important;min-height:90px!important;max-height:190px!important;}
#onlineUsersBox{flex:0 1 26%!important;min-height:80px!important;max-height:165px!important;}
.online-card select{height:34px!important;padding:6px 9px!important;margin:3px 0 5px!important;font-size:12px!important;border-radius:10px!important;}
.online-card button{height:32px!important;padding:6px 9px!important;font-size:11px!important;border-radius:9px!important;white-space:nowrap!important;}
#effectMsg{min-height:14px!important;font-size:11px!important;}
#inviteBox{max-height:120px!important;overflow:auto!important;}
.userrow{min-height:38px!important;}
.userrow .user-avatar{width:30px!important;height:30px!important;border-radius:50%!important;overflow:hidden!important;background:#e5e7eb!important;display:flex!important;align-items:center!important;justify-content:center!important;font-weight:900!important;color:#111!important;}
.userrow .user-avatar img{width:100%!important;height:100%!important;object-fit:cover!important;display:block!important;}
.msgAvatar img{width:100%!important;height:100%!important;object-fit:cover!important;display:block!important;border-radius:50%!important;}
.msgAvatar.avatar-fallback,.user-avatar.avatar-fallback{background:linear-gradient(135deg,#1d4ed8,#9333ea)!important;color:#fff!important;}
/* keep game auto panels from covering the room user list */
.people-panel{display:none;}
@media (min-width:1000px){.grid.cols{grid-template-columns:170px minmax(640px,1fr) 285px!important;height:calc(100vh - 80px)!important}.chatbox{height:calc(100vh - 165px)!important;min-height:500px!important}.online-card{height:calc(100vh - 92px)!important;position:sticky!important;top:72px!important;}}

/* MULTIPLAYER TABLE SYNC + ROOM PANEL REPAIR */
.online-card{
  overflow:auto!important;
  padding-bottom:12px!important;
}
#inviteBox{max-height:150px!important;overflow:auto!important;min-height:24px!important;}
#inviteUser,#gameType,#effectUser,#effectType{width:100%!important;box-sizing:border-box!important;}
#inviteBtn,#effectBtn{width:100%!important;box-sizing:border-box!important;white-space:normal!important;height:auto!important;min-height:32px!important;line-height:1.15!important;}
.game-headline{display:flex;justify-content:space-between;gap:12px;align-items:center;flex-wrap:wrap;margin-bottom:8px;}
.table-chat-line{background:#ffffff!important;color:#111!important;border:1px solid #d8e1ee;border-radius:10px;padding:7px 8px;margin:6px 0;font-size:12px;line-height:1.25;box-shadow:0 2px 8px rgba(0,0,0,.08)}
.table-chat-line.mine{background:#eaf3ff!important;border-color:#b8d6ff!important;}
.opponent-chat-log{background:rgba(255,255,255,.10)!important;border:1px solid rgba(255,255,255,.18)!important;border-radius:12px!important;padding:6px!important;overflow:auto!important;}
.opponent-chat input{background:#fff!important;color:#111!important;border:1px solid #cbd5e1!important;border-radius:10px!important;height:34px!important;padding:7px 9px!important;}
.turn-banner{background:#fef3c7;color:#111;border:1px solid #facc15;border-radius:12px;padding:8px 10px;margin:0 auto 8px;max-width:340px;text-align:center;font-weight:900;font-size:13px;}
.checkers-board{margin:0 auto!important;display:grid!important;grid-template-columns:repeat(8,38px)!important;width:max-content!important;max-width:100%!important;background:#4a2b13!important;border:7px solid #5b3416!important;border-radius:12px!important;overflow:hidden!important;}
.sq{width:38px!important;height:38px!important;border:0!important;padding:0!important;display:flex!important;align-items:center!important;justify-content:center!important;background:#f1d6a7!important;}
.sq.dark{background:#6b3f20!important;}
.sq.picked{outline:3px solid #facc15!important;outline-offset:-3px!important;}
.piece{width:28px!important;height:28px!important;border-radius:50%!important;box-shadow:inset 0 2px 3px rgba(255,255,255,.55), inset 0 -4px 6px rgba(0,0,0,.35),0 3px 6px rgba(0,0,0,.45)!important;display:flex!important;align-items:center!important;justify-content:center!important;font-size:14px!important;font-weight:900!important;}
.piece.red{background:radial-gradient(circle at 35% 28%,#ffb3b3,#b91c1c 55%,#5f0b0b)!important;color:#fff!important;}
.piece.black{background:radial-gradient(circle at 35% 28%,#777,#1f2937 58%,#020617)!important;color:#facc15!important;}
.ttt-pro{display:grid;grid-template-columns:repeat(3,90px);gap:8px;justify-content:center;margin:12px auto;}
.ttt-pro button{height:90px;background:#fff!important;color:#111!important;border:2px solid #cbd5e1!important;border-radius:14px!important;font-size:48px!important;font-weight:950!important;}
@media(max-width:900px){.checkers-board{grid-template-columns:repeat(8,34px)!important}.sq{width:34px!important;height:34px!important}.piece{width:24px!important;height:24px!important}.ttt-pro{grid-template-columns:repeat(3,74px)}.ttt-pro button{height:74px!important;font-size:40px!important}}
@media(min-width:1000px){.online-card{height:calc(100vh - 92px)!important;}.compact-users{max-height:140px!important;}#roomUsersBox{max-height:150px!important;}#onlineUsersBox{max-height:120px!important;}}


/* FINAL PROFILE LINK + RIGHT PANEL CLEANUP */
/* Chat message objects contain both message id and user_id. JS now uses user_id first;
   these CSS rules make the room panel use one scrollbar instead of several nested bars. */
.online-card{overflow-y:auto!important;overflow-x:hidden!important;}
.compact-users,#roomUsersBox,#onlineUsersBox,#inviteBox{max-height:none!important;overflow:visible!important;}
.userrow .user-name{flex:1 1 auto!important;}
.msgAvatar.avatar-link,.user-avatar.avatar-link{cursor:pointer!important;text-decoration:none!important;}

/* RIGHT PANEL FINAL TAB FIX - removes the three nested scrollbars */
.right-tabs-card,
.online-card.right-tabs-card{
  display:flex!important;
  flex-direction:column!important;
  gap:8px!important;
  overflow:hidden!important;
  min-width:0!important;
  padding:10px!important;
}
.right-tabs{
  display:grid!important;
  grid-template-columns:repeat(4,1fr)!important;
  gap:4px!important;
  flex:0 0 auto!important;
}
.right-tab{
  height:30px!important;
  padding:5px 4px!important;
  font-size:11px!important;
  border-radius:9px!important;
  background:#eef2f7!important;
  color:#111!important;
  box-shadow:none!important;
  border:1px solid #cbd5e1!important;
  white-space:nowrap!important;
}
.right-tab.active{
  background:#0f172a!important;
  color:#fff!important;
  border-color:#0f172a!important;
}
.right-panel{
  display:none!important;
  min-height:0!important;
  overflow:visible!important;
  flex:1 1 auto!important;
}
.right-panel.active{
  display:block!important;
}
.right-panel .panel-title{
  margin:4px 0 8px!important;
}
.right-tabs-card .userslist,
.right-tabs-card .compact-users,
.right-tabs-card #roomUsersBox,
.right-tabs-card #onlineUsersBox,
.right-tabs-card #inviteBox{
  max-height:none!important;
  overflow:visible!important;
  padding-right:0!important;
}
.right-tabs-card .userrow{
  min-height:36px!important;
  padding:7px 0!important;
}
.right-tabs-card select,
.right-tabs-card input,
.right-tabs-card button:not(.right-tab){
  width:100%!important;
  max-width:100%!important;
}
@media (min-width:1000px){
  .grid.cols{
    grid-template-columns:170px minmax(640px,1fr) 285px!important;
    height:calc(100vh - 80px)!important;
    overflow:hidden!important;
  }
  .grid.cols > .card{min-height:0!important;}
  .chatbox{height:calc(100vh - 165px)!important;min-height:0!important;}
  .right-tabs-card,
  .online-card.right-tabs-card{
    height:auto!important;
    max-height:calc(100vh - 92px)!important;
    overflow:hidden!important;
    position:sticky!important;
    top:72px!important;
  }
}
@media (max-width:999px){
  .right-tabs-card,
  .online-card.right-tabs-card{
    height:auto!important;
    max-height:none!important;
    overflow:visible!important;
    position:static!important;
  }
}

/* MENU ROUTER + CLEAN RIGHT PANEL FIX */
.topbar{background:linear-gradient(180deg,#090909,#000)!important;color:#fff!important;gap:10px!important;flex-wrap:wrap!important;}
.topbar a,.topbar button{white-space:nowrap!important;}
.top-menu-btn,.top-people-btn{background:#111827!important;color:#fff!important;border:1px solid #374151!important;box-shadow:none!important;border-radius:10px!important;padding:8px 11px!important;font-size:13px!important;}
.top-menu-btn:hover,.top-people-btn:hover{background:#1f2937!important;color:#f8d878!important;}
.people-panel.clean-menu-panel,.people-panel{position:fixed!important;right:18px!important;top:62px!important;width:min(360px,calc(100vw - 28px))!important;max-height:calc(100vh - 92px)!important;overflow:hidden!important;background:#fff!important;color:#111!important;border:1px solid #cbd5e1!important;border-radius:18px!important;box-shadow:0 24px 70px rgba(0,0,0,.32)!important;z-index:2500!important;padding:12px!important;display:none;}
.people-panel-head{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:10px!important;margin-bottom:8px!important;}
.people-panel-head h3{margin:0!important;font-size:18px!important;color:#111!important;}
#peoplePanelClose{width:34px!important;height:30px!important;padding:0!important;line-height:1!important;font-size:18px!important;}
.people-panel-tabs{display:grid!important;grid-template-columns:repeat(3,1fr)!important;gap:6px!important;margin:8px 0 10px!important;}
.pp-tab{background:#eef2f7!important;color:#111!important;border:1px solid #d8e1ee!important;box-shadow:none!important;padding:8px!important;border-radius:10px!important;font-size:12px!important;}
.pp-tab.active{background:#111827!important;color:#fff!important;border-color:#111827!important;}
.global-invite-tools{display:none;margin:5px 0 10px!important;}
#globalPeopleRows{max-height:calc(100vh - 245px)!important;overflow:auto!important;padding-right:2px!important;}
.people-row{display:grid!important;grid-template-columns:38px minmax(0,1fr) auto!important;gap:8px!important;align-items:center!important;border-bottom:1px solid #edf2f7!important;padding:8px 0!important;}
.people-row .people-name-wrap,.people-row .people-name{min-width:0!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important;color:#111!important;}
.people-row button{padding:7px 9px!important;border-radius:9px!important;font-size:12px!important;}
.people-avatar,.user-avatar,.msgAvatar{overflow:hidden!important;}
.people-avatar img,.user-avatar img,.msgAvatar img{width:100%!important;height:100%!important;object-fit:cover!important;display:block!important;}
.right-tabs-card{height:auto!important;max-height:none!important;overflow:visible!important;}
.right-panel{display:none!important;overflow:visible!important;max-height:none!important;}
.right-panel.active{display:block!important;}
.userslist.compact-users,.userslist,.other-online{max-height:none!important;overflow:visible!important;}
.online-card{overflow:visible!important;}
.right-tabs{display:grid!important;grid-template-columns:repeat(4,1fr)!important;gap:4px!important;}
.right-tab{padding:7px 4px!important;font-size:11px!important;border-radius:8px!important;background:#eef2f7!important;color:#111!important;box-shadow:none!important;border:1px solid #d8e1ee!important;}
.right-tab.active{background:#111827!important;color:#fff!important;}
@media(max-width:1120px){.cols{grid-template-columns:1fr!important}.right-tabs-card{order:3}.chatbox{height:58vh!important;min-height:390px!important}.people-panel{top:72px!important}}

/* EXTRA PRO GAME LOUNGE PACK */
.pro-lounge .game-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))!important;gap:14px!important;}
.game-tile.premium{background:linear-gradient(135deg,#030712,#111827 50%,#312e81)!important;border-color:rgba(250,204,21,.35)!important;}
.battle-wrap{display:grid;grid-template-columns:1fr 1fr;gap:18px;align-items:start;width:100%;max-width:760px;margin:0 auto;}
.battle-wrap h3{margin:0 0 8px;text-align:center;color:#dbeafe;font-size:16px;}
.battle-grid{display:grid;grid-template-columns:repeat(8,34px);grid-template-rows:repeat(8,34px);gap:3px;justify-content:center;background:linear-gradient(135deg,#075985,#0e7490);border:8px solid #0c4a6e;border-radius:14px;padding:10px;box-shadow:inset 0 0 30px rgba(255,255,255,.16),0 16px 38px rgba(0,0,0,.4);}
.sea-cell{width:34px;height:34px;border-radius:7px;border:1px solid rgba(255,255,255,.35);background:linear-gradient(135deg,#38bdf8,#0284c7);color:#fff;font-size:17px;padding:0;box-shadow:inset 0 2px 6px rgba(255,255,255,.25);}
.sea-cell.ship{background:linear-gradient(135deg,#475569,#1e293b);}
.sea-cell.hit{background:radial-gradient(circle,#f97316,#991b1b 70%);}
.sea-cell.miss{background:linear-gradient(135deg,#bae6fd,#0ea5e9);color:#082f49;}
.enemy .sea-cell:hover{outline:3px solid #facc15;transform:scale(1.04);}
.battle-help{text-align:center;color:#dbeafe!important;margin-top:10px;grid-column:1/-1;}
.reversi-board{display:grid;grid-template-columns:repeat(8,48px);grid-template-rows:repeat(8,48px);gap:3px;background:#064e3b;border:10px solid #3f2412;border-radius:18px;padding:10px;box-shadow:inset 0 0 22px rgba(0,0,0,.45),0 18px 40px rgba(0,0,0,.4);}
.rev-cell{width:48px;height:48px;background:#047857;border:1px solid rgba(255,255,255,.18);border-radius:6px;display:flex;align-items:center;justify-content:center;padding:0;}
.rev-cell:hover{background:#059669;}
.rev-disc{width:36px;height:36px;border-radius:50%;box-shadow:inset 0 4px 8px rgba(255,255,255,.35),0 5px 12px rgba(0,0,0,.45);}
.rev-disc.black{background:#0f172a;}
.rev-disc.white{background:#f8fafc;}
.rev-score,.dots-score{text-align:center;color:#fef3c7!important;font-weight:900;margin-top:10px;}
.dots-board{display:grid;grid-template-columns:repeat(11,26px);grid-template-rows:repeat(11,26px);gap:0;justify-content:center;align-items:center;background:#f8fafc;border:10px solid #6b3f18;border-radius:18px;padding:14px;box-shadow:0 18px 40px rgba(0,0,0,.4);}
.dot{width:10px;height:10px;background:#111827;border-radius:50%;justify-self:center;align-self:center;z-index:2;}
.edge{padding:0;margin:0;border:0;border-radius:999px;background:#d1d5db;box-shadow:none;}
.edge.h{width:26px;height:7px;align-self:center;}
.edge.v{width:7px;height:26px;justify-self:center;}
.edge:hover{background:#f59e0b;}
.edge.on{background:#111827!important;}
.box{width:26px;height:26px;display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:900;color:#111;}
.box.p1{background:rgba(59,130,246,.25);}
.box.p2{background:rgba(239,68,68,.25);}
.ttt-pro{display:grid;grid-template-columns:repeat(3,100px);gap:8px;justify-content:center;background:rgba(255,255,255,.08);padding:18px;border-radius:18px;}
.ttt-pro button{width:100px;height:100px;border-radius:16px;background:#f8fafc!important;color:#111!important;font-size:58px!important;font-weight:950!important;box-shadow:inset 0 -6px 0 #cbd5e1!important;}
@media(max-width:900px){.battle-wrap{grid-template-columns:1fr;}.battle-grid{grid-template-columns:repeat(8,28px);grid-template-rows:repeat(8,28px);}.sea-cell{width:28px;height:28px}.reversi-board{grid-template-columns:repeat(8,36px);grid-template-rows:repeat(8,36px)}.rev-cell{width:36px;height:36px}.rev-disc{width:28px;height:28px}.ttt-pro{grid-template-columns:repeat(3,74px)}.ttt-pro button{width:74px;height:74px;font-size:40px!important}}


/* CLASSIC MULTIPLAYER GAMES PACK */
.pro-card{width:92px;height:128px;background:#fff;color:#111;border-radius:10px;border:1px solid #e5e7eb;box-shadow:0 9px 20px rgba(0,0,0,.38),inset 0 0 0 4px #fff;position:relative;font-family:Georgia,serif;font-weight:900;display:inline-flex;align-items:center;justify-content:center;margin:4px;}
.pro-card.red{color:#dc2626}.pro-card.black{color:#111827}.pro-card .pip{font-size:46px}.pro-card .corner{position:absolute;top:8px;left:8px;font-size:16px;line-height:14px;text-align:center}.pro-card .bottom{top:auto;left:auto;right:8px;bottom:8px;transform:rotate(180deg)}
.war-table{display:grid;grid-template-columns:1fr auto 1fr;gap:22px;align-items:center;justify-content:center;text-align:center;background:radial-gradient(circle,#14532d,#052e16);border:10px solid #7c2d12;border-radius:28px;padding:18px;color:#fff;min-width:520px}.war-vs{font-size:28px;font-weight:950;color:#facc15}.card-slot{min-height:140px;display:flex;align-items:center;justify-content:center}.fish-table{background:linear-gradient(135deg,#064e3b,#022c22);border:8px solid #713f12;border-radius:24px;padding:18px;min-width:520px;color:#fff}.fish-hand{display:flex;flex-wrap:wrap;justify-content:center;gap:4px;min-height:150px}.pool-table{position:relative;width:min(620px,92vw);height:310px;background:radial-gradient(circle,#15803d,#064e3b);border:18px solid #78350f;border-radius:70px;box-shadow:inset 0 0 28px rgba(0,0,0,.45),0 18px 38px rgba(0,0,0,.4);margin:auto}.pocket{position:absolute;width:34px;height:34px;background:#050505;border-radius:50%;box-shadow:inset 0 0 8px #000}.pocket.p1{left:8px;top:8px}.pocket.p2{left:50%;top:2px;transform:translateX(-50%)}.pocket.p3{right:8px;top:8px}.pocket.p4{left:8px;bottom:8px}.pocket.p5{left:50%;bottom:2px;transform:translateX(-50%)}.pocket.p6{right:8px;bottom:8px}.ball{position:absolute;width:26px;height:26px;margin:-13px 0 0 -13px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#f8fafc;color:#111;font-size:11px;font-weight:900;box-shadow:inset -5px -5px 8px rgba(0,0,0,.28),0 3px 8px rgba(0,0,0,.3)}.ball.b0{background:#fff}.ball.b1,.ball.b5{background:#facc15}.ball.b2,.ball.b6{background:#2563eb;color:#fff}.ball.b3,.ball.b7{background:#dc2626;color:#fff}.ball.b4,.ball.b8{background:#111827;color:#fff}.hangman-wrap{display:grid;grid-template-columns:180px 1fr;gap:20px;align-items:start;background:#f8fafc;color:#111;border:8px solid #334155;border-radius:22px;padding:20px;min-width:560px}.hangman-gallows{height:170px;border-left:8px solid #111827;border-top:8px solid #111827;border-radius:8px;font-size:28px;padding-top:60px;text-align:center}.hang-word{font-size:36px;letter-spacing:9px;font-weight:950;margin-bottom:18px}.hang-letters{display:grid;grid-template-columns:repeat(9,34px);gap:6px}.hang-letters button{padding:7px 0!important;border-radius:8px!important;background:#111827!important;color:#fff!important;font-weight:900!important}.hang-letters button:disabled{opacity:.35}.game-actions select{padding:10px;border-radius:10px;border:1px solid #cbd5e1;font-weight:800}
@media(max-width:800px){.war-table,.fish-table,.hangman-wrap{min-width:0;width:100%;}.war-table{grid-template-columns:1fr;}.pool-table{height:240px}.pro-card{width:74px;height:104px}.hangman-wrap{grid-template-columns:1fr}.hang-letters{grid-template-columns:repeat(6,34px)}}

/* FINAL MENU ROUTER FIX */
.people-panel.is-open{display:block!important;}
.topbar{background:#050505!important;color:#fff!important;}
.topbar .top-menu-btn{background:#111827!important;color:#fff!important;border:1px solid #374151!important;border-radius:10px!important;padding:7px 11px!important;cursor:pointer!important;}
.topbar .top-menu-btn:hover{background:#1f2937!important;box-shadow:0 0 0 2px rgba(245,196,81,.22)!important;}
#globalPeopleRows{max-height:58vh!important;overflow:auto!important;padding-right:4px!important;}
.people-row{grid-template-columns:38px 1fr auto!important;}
.people-avatar{width:34px!important;height:34px!important;border-radius:50%!important;overflow:hidden!important;background:#e5e7eb!important;display:flex!important;align-items:center!important;justify-content:center!important;}
.people-avatar img{width:100%!important;height:100%!important;object-fit:cover!important;}
.casino-chip-row{display:flex;gap:8px;justify-content:center;flex-wrap:wrap;margin:8px 0}.casino-chip{width:42px;height:42px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:radial-gradient(circle,#fff 0 35%,#dc2626 36% 48%,#fff 49% 59%,#111 60%);color:#111;font-weight:950;font-size:11px;box-shadow:0 5px 14px #0007}.keno-board{display:grid;grid-template-columns:repeat(10,42px);gap:6px;justify-content:center;margin:12px auto}.keno-num{height:38px;border-radius:9px;background:linear-gradient(180deg,#f8fafc,#cbd5e1);color:#111;display:flex;align-items:center;justify-content:center;font-weight:950}.keno-num.hit{background:linear-gradient(180deg,#fde68a,#b45309);color:#111;box-shadow:0 0 18px #fde68a}.dice-row{display:flex;justify-content:center;gap:18px;margin:18px}.casino-die{width:74px;height:74px;background:#fff;color:#111;border-radius:14px;display:flex;align-items:center;justify-content:center;font-size:44px;font-weight:950;box-shadow:0 12px 24px #0008}.baccarat-layout{display:flex;gap:24px;justify-content:center;align-items:flex-start;flex-wrap:wrap}.baccarat-hand{background:rgba(0,0,0,.20);padding:12px;border-radius:18px;min-width:260px}.wheel-prize{width:260px;height:260px;margin:10px auto;border-radius:50%;background:conic-gradient(#dc2626 0 45deg,#f59e0b 45deg 90deg,#16a34a 90deg 135deg,#2563eb 135deg 180deg,#7c3aed 180deg 225deg,#dc2626 225deg 270deg,#f59e0b 270deg 315deg,#111 315deg 360deg);border:12px solid #f4c542;display:flex;align-items:center;justify-content:center;box-shadow:inset 0 0 0 12px #111,0 18px 48px #0008}.wheel-prize span{background:#fff;color:#111;border-radius:999px;padding:18px;font-weight:950;font-size:28px}.craps-table{background:radial-gradient(circle,#116b42,#05351f);border:8px solid #f4c542;border-radius:24px;padding:18px;text-align:center}.casino-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))!important}.casino-tile{min-height:190px!important}

/* Room moderation system */
.role-admin{color:#dc2626!important;font-weight:950!important}.role-host{color:#16a34a!important;font-weight:950!important}.role-moderator{color:#7c3aed!important;font-weight:950!important}.role-badge{font-size:10px;border-radius:999px;padding:2px 6px;font-weight:950;margin-left:4px;white-space:nowrap}.role-badge.admin{background:#fee2e2;color:#991b1b}.role-badge.host{background:#dcfce7;color:#166534}.role-badge.mod{background:#ede9fe;color:#5b21b6}.mod-controls{display:flex;gap:4px;align-items:center;flex-wrap:wrap;width:100%;margin-top:6px}.mod-controls select{width:auto;min-width:86px;margin:0;padding:6px;border-radius:8px}.mod-controls button{padding:6px 8px;border-radius:8px;font-size:11px}.userrow{flex-wrap:wrap}.userrow .user-name{flex:1;min-width:78px}.system-msg{background:#fff7ed;border:1px solid #fed7aa;border-radius:12px;margin:6px 0;padding:8px 10px}.system-msg b{color:#9a3412!important}

/* Push-to-talk room voice chat */
.voice-bar{display:grid;grid-template-columns:auto auto auto auto 150px 1fr;gap:8px;align-items:center;background:linear-gradient(90deg,#050505,#111827);color:#fff;border:1px solid #262626;border-radius:16px;padding:8px 10px;margin-bottom:10px;box-shadow:0 8px 22px rgba(0,0,0,.18)}
.voice-title{font-weight:950;color:#f4c542;white-space:nowrap}.voice-talk{background:#16a34a!important;color:#fff!important;border:0!important;border-radius:999px!important;padding:9px 14px!important;font-weight:950!important;box-shadow:0 0 0 0 rgba(34,197,94,.45);cursor:pointer}.voice-talk:disabled{background:#475569!important;cursor:not-allowed}.voice-talk.talking{background:#dc2626!important;animation:voicePulse 1s infinite}.voice-status{font-size:12px;color:#d1d5db;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.voice-volume{display:flex;gap:6px;align-items:center;font-size:12px;color:#d1d5db}.voice-volume input{width:80px}.voice-users{grid-column:1/-1;display:flex;gap:6px;flex-wrap:wrap;min-height:24px}.voice-pill{display:flex;gap:6px;align-items:center;background:#1f2937;color:#fff;border:1px solid #374151;border-radius:999px;padding:3px 8px;font-size:12px;font-weight:800}.voice-pill img,.voice-pill .voice-avatar-fallback{width:22px;height:22px;border-radius:50%;object-fit:cover;background:#e5e7eb;color:#111;display:inline-flex;align-items:center;justify-content:center;font-size:11px}.voice-pill.speaking{box-shadow:0 0 0 3px rgba(34,197,94,.3);border-color:#22c55e}.voice-pill.muted{opacity:.55}.voice-pill .voice-mute-btn{border:0;border-radius:999px;background:#374151;color:#fff;padding:2px 6px;font-size:11px;cursor:pointer}.voice-pill .voice-mute-btn:hover{background:#dc2626}@keyframes voicePulse{0%{box-shadow:0 0 0 0 rgba(239,68,68,.55)}70%{box-shadow:0 0 0 10px rgba(239,68,68,0)}100%{box-shadow:0 0 0 0 rgba(239,68,68,0)}}@media(max-width:900px){.voice-bar{grid-template-columns:1fr 1fr;}.voice-status,.voice-volume{grid-column:1/-1}.voice-users{grid-column:1/-1}}


/* FINAL compact voice bar + clear moderation panel fix */
@media (min-width:1000px){
  .grid.cols{height:calc(100vh - 80px)!important;align-items:stretch!important;}
  .grid.cols > section.card{display:flex!important;flex-direction:column!important;min-height:0!important;overflow:hidden!important;}
  .chatbox{flex:1 1 auto!important;height:auto!important;min-height:0!important;max-height:none!important;overflow-y:auto!important;overflow-x:hidden!important;}
}
.voice-bar{
  order:2!important;
  display:flex!important;
  align-items:center!important;
  gap:5px!important;
  min-height:30px!important;
  height:auto!important;
  padding:3px 6px!important;
  margin:4px 0 5px 0!important;
  border-radius:10px!important;
  background:#080808!important;
  color:#fff!important;
  box-shadow:none!important;
  overflow:visible!important;
  flex-wrap:wrap!important;
}
.voice-title{font-size:11px!important;color:#f4c542!important;line-height:1!important;margin-right:2px!important;}
.voice-bar button,.voice-talk{
  height:22px!important;
  min-height:22px!important;
  padding:2px 7px!important;
  font-size:10px!important;
  line-height:1!important;
  border-radius:7px!important;
  margin:0!important;
}
.voice-volume{font-size:10px!important;display:flex!important;align-items:center!important;gap:3px!important;margin:0!important;width:auto!important;}
.voice-volume input{width:52px!important;height:16px!important;margin:0!important;padding:0!important;}
.voice-status{font-size:10px!important;max-width:210px!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;}
.voice-users{display:flex!important;gap:3px!important;flex-wrap:wrap!important;min-height:0!important;grid-column:auto!important;}
.voice-pill{font-size:10px!important;padding:2px 5px!important;gap:3px!important;}
.voice-pill img,.voice-pill .voice-avatar-fallback{width:16px!important;height:16px!important;font-size:9px!important;}
.chatinput{
  order:3!important;
  flex:0 0 auto!important;
  margin-top:4px!important;
  margin-bottom:0!important;
  padding-bottom:0!important;
  position:relative!important;
  z-index:5!important;
}
.chatinput input{height:38px!important;margin:0!important;}
.chatinput button{height:38px!important;margin:0!important;padding:6px 10px!important;}
.mod-tools-title{
  width:100%;
  margin:6px 0 2px;
  font-size:10px;
  font-weight:950;
  color:#475569;
  text-transform:uppercase;
  letter-spacing:.06em;
}
.mod-controls{
  background:#f8fafc!important;
  border:1px solid #e2e8f0!important;
  border-radius:10px!important;
  padding:6px!important;
  gap:5px!important;
}
.mod-label{
  display:flex!important;
  flex-direction:column!important;
  gap:2px!important;
  font-size:10px!important;
  color:#334155!important;
  font-weight:900!important;
  flex:1 1 100%!important;
}
.mod-label select,.mod-controls select{height:28px!important;padding:4px 7px!important;font-size:11px!important;margin:0!important;min-width:0!important;width:100%!important;}
.mod-controls button{height:28px!important;padding:4px 7px!important;font-size:10px!important;}
.online-card.right-tabs-card{overflow:hidden!important;}
.right-panel.active{overflow:visible!important;}

/* Clean moderator/host controls: each user's tools are grouped under that exact user. */
.right-tabs-card .userrow{
  display:block!important;
  padding:8px!important;
  margin:6px 0!important;
  border:1px solid #e5edf7!important;
  border-radius:12px!important;
  background:#fff!important;
}
.right-tabs-card .userrow.in-room{background:#f8fbff!important;border-color:#cfe1ff!important;}
.right-tabs-card .user-main{
  display:grid!important;
  grid-template-columns:32px minmax(0,1fr) 42px!important;
  align-items:center!important;
  gap:7px!important;
  width:100%!important;
}
.right-tabs-card .user-meta{min-width:0!important;display:flex!important;align-items:center!important;gap:4px!important;flex-wrap:wrap!important;}
.right-tabs-card .user-name{display:inline-block!important;max-width:100%!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;font-weight:900!important;}
.right-tabs-card .pmBtn{height:26px!important;padding:4px 7px!important;font-size:10px!important;border-radius:8px!important;}
.mod-card{
  margin-top:7px!important;
  padding:8px!important;
  border-radius:11px!important;
  border:1px solid #dbe7f5!important;
  background:#f8fafc!important;
  width:100%!important;
}
.mod-card-title{
  font-size:11px!important;
  color:#334155!important;
  margin-bottom:6px!important;
  font-weight:800!important;
  line-height:1.25!important;
}
.mod-card-title b{color:#111827!important;}
.mod-card .mod-label{
  display:block!important;
  font-size:11px!important;
  font-weight:800!important;
  color:#475569!important;
  margin:0 0 6px!important;
}
.mod-card .roomSuspendMinutes{
  width:100%!important;
  height:30px!important;
  margin:4px 0 0!important;
  padding:4px 8px!important;
  font-size:11px!important;
  border-radius:8px!important;
}
.mod-actions{
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:5px!important;
}
.mod-actions button{
  width:100%!important;
  height:auto!important;
  min-height:28px!important;
  padding:6px 8px!important;
  font-size:10.5px!important;
  line-height:1.15!important;
  white-space:normal!important;
  text-align:center!important;
}
.mod-tools-title,.mod-controls{display:none!important;}

/* Clean popup moderation controls - no stacked button mess under users */
.right-tabs-card .userrow{position:relative!important;display:block!important;padding:6px 4px!important;overflow:visible!important;}
.right-tabs-card .user-main{display:grid!important;grid-template-columns:30px minmax(0,1fr) 28px!important;gap:7px!important;align-items:center!important;width:100%!important;}
.userMoreBtn{width:26px!important;height:26px!important;min-width:26px!important;padding:0!important;border-radius:9px!important;background:#eef2f7!important;color:#111!important;border:1px solid #cbd5e1!important;box-shadow:none!important;font-size:18px!important;line-height:20px!important;}
.user-action-menu{display:none;position:absolute;right:6px;top:36px;width:210px;background:#fff;border:1px solid #cbd5e1;border-radius:14px;box-shadow:0 18px 45px rgba(15,23,42,.22);padding:8px;z-index:9999;color:#111;}
.user-action-menu.open{display:block!important;}
.user-action-title{font-weight:950;font-size:13px;padding:6px 8px 8px;border-bottom:1px solid #e5e7eb;margin-bottom:5px;color:#111827;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.user-action-label{font-size:10px;font-weight:950;text-transform:uppercase;letter-spacing:.07em;color:#64748b;padding:5px 8px 3px;}
.user-action-sep{height:1px;background:#e5e7eb;margin:6px 0;}
.user-action-item{display:block!important;width:100%!important;text-align:left!important;background:#fff!important;color:#111827!important;border:0!important;box-shadow:none!important;border-radius:9px!important;padding:7px 9px!important;margin:1px 0!important;font-size:12px!important;font-weight:800!important;line-height:1.2!important;}
.user-action-item:hover{background:#f1f5f9!important;filter:none!important;}
.user-action-item.dangerText,.dangerText{color:#b91c1c!important;}
.mod-card,.mod-controls{display:none!important;}

.user-action-title{display:flex;align-items:center;justify-content:space-between;gap:8px;}
.user-action-close{width:22px!important;height:22px!important;min-width:22px!important;padding:0!important;border:0!important;border-radius:999px!important;background:#e5e7eb!important;color:#111827!important;font-size:16px!important;line-height:20px!important;font-weight:900!important;cursor:pointer!important;}
.user-action-close:hover{background:#cbd5e1!important;}
.user-action-menu{pointer-events:auto;}
.userrow{overflow:visible!important;}
.online-card,.right-panel,.right-side,.users-list,.room-users-list,.online-users-list{overflow:visible!important;}

.pm-tab.pm-new{background:#b91c1c!important;box-shadow:0 0 0 2px rgba(239,68,68,.25),0 0 16px rgba(239,68,68,.45)!important;animation:pmPulse 1s infinite alternate;}
@keyframes pmPulse{from{filter:brightness(1)}to{filter:brightness(1.35)}}

.msg.effect-caps .msgText{text-transform:uppercase!important;font-weight:950!important;letter-spacing:.7px;}
.msg.effect-tiny .msgText{font-size:11px!important;opacity:.9!important;}
.msg.effect-sparkle .msgText{font-weight:950!important;text-shadow:0 0 6px #facc15,0 0 12px #f472b6;}
.msg.effect-blur .msgText{filter:blur(2px);transition:filter .2s;}
.msg.effect-blur .msgText:hover{filter:blur(0);} 
.msg.effect-backwards .msgText{font-weight:850!important;}
.msg.effect-spaced .msgText{letter-spacing:4px!important;font-weight:850!important;}

/* Admin/moderation cleanup */
.adminHostRoom{
  width:100%;
  box-sizing:border-box;
  margin:5px 0 7px;
  height:30px;
  border:1px solid #cbd5e1;
  border-radius:8px;
  background:#fff;
  color:#111827;
  font-size:12px;
  padding:0 8px;
}
.admin-room-tools{
  margin:8px 0 10px;
  padding:8px;
  border:1px solid #e5e7eb;
  border-radius:10px;
  background:#fafafa;
}
.room-invite-card{border-left:4px solid #1f5eff;}
.dangerText{color:#b91c1c!important;font-weight:800;}

/* Global room invite popups */
.room-invite-tray{position:fixed;right:18px;top:82px;width:330px;max-width:calc(100vw - 36px);z-index:3000;display:none}.global-room-invite{background:#111;color:#fff;border:1px solid #3b82f6;border-radius:14px;box-shadow:0 14px 40px rgba(0,0,0,.35);padding:12px;margin-bottom:10px}.gri-title{font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:#93c5fd;font-weight:900;margin-bottom:5px}.gri-text{font-size:14px;line-height:1.35}.gri-actions{margin-top:10px;display:flex;gap:8px}.gri-actions button{height:32px;border-radius:8px;padding:0 12px;font-weight:800}.gri-actions .secondary{background:#374151;color:#fff;border:1px solid #4b5563}


/* Room entry scroll fix: hide old history while jumping directly to newest post. */
.chatbox.chat-loading{visibility:hidden!important;}
.chatbox{scroll-behavior:auto!important;}

/* Minimized chat room tabs */
.room-live-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-bottom:8px;
}
.room-live-head h2{
  margin:0 0 4px;
  font-size:22px;
  letter-spacing:-.02em;
}
.room-min-btn{
  width:auto!important;
  white-space:nowrap;
  padding:8px 12px!important;
}
.pm-tab.room-tab{
  background:linear-gradient(180deg,#16335f,#08182f)!important;
  border-color:#2d5f9c!important;
  min-width:110px!important;
  max-width:170px!important;
}
.pm-tab.room-tab span:first-child{
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
@media(max-width:760px){
  .room-live-head{align-items:flex-start;flex-direction:column;}
  .room-min-btn{width:100%!important;}
}

/* Final clean room header: X close only; room switches auto-minimize to bottom tabs. */
.room-live-head .room-close-btn{
  min-width:32px!important;
  width:32px!important;
  height:30px!important;
  padding:0!important;
  border-radius:9px!important;
  background:#111!important;
  color:#fff!important;
  font-weight:900!important;
  line-height:1!important;
}
.room-live-head .room-close-btn:hover{background:#b91c1c!important;}
.room-min-btn{display:none!important;}

/* PM minimized/new-message alert: minimized tabs flash until opened */
.pm-tab.pm-flash,
.pm-tab.pm-new{
  background:linear-gradient(135deg,#b91c1c,#ef4444)!important;
  color:#fff!important;
  box-shadow:0 0 0 2px rgba(239,68,68,.28),0 0 18px rgba(239,68,68,.72)!important;
  animation:pmTabFlash .75s infinite alternate!important;
}
.pm-window.pm-alert .pm-head{
  background:linear-gradient(135deg,#7f1d1d,#dc2626)!important;
  animation:pmHeadFlash .75s infinite alternate!important;
}
.pm-tab.pm-flash::before,
.pm-tab.pm-new::before{
  content:'●';
  color:#fff;
  font-size:10px;
  margin-right:4px;
}
@keyframes pmTabFlash{
  from{filter:brightness(1); transform:translateY(0);}
  to{filter:brightness(1.28); transform:translateY(-2px);}
}
@keyframes pmHeadFlash{
  from{filter:brightness(1);}
  to{filter:brightness(1.22);}
}

/* Pro emoji picker upgrade */
.emojiPickerPro{width:100%;}
.emojiSearch{height:34px!important;margin:0 0 8px!important;padding:6px 10px!important;font-size:13px!important;}
.emojiTabs{display:flex;gap:6px;margin-bottom:8px;}
.emojiTabs .emojiTab{flex:1;padding:6px 4px!important;border-radius:9px!important;font-size:11px!important;background:#eef2f7!important;color:#111!important;box-shadow:none!important;border:1px solid #d8e1ee!important;}
.emojiTabs .emojiTab.active{background:#111827!important;color:#fff!important;border-color:#111827!important;}
.emojiPanel{display:none;max-height:220px;overflow:auto;flex-wrap:wrap;gap:6px;align-items:flex-start;}
.emojiPanel.active{display:flex;}
.emojiPick{min-width:36px;height:36px!important;display:inline-flex!important;align-items:center;justify-content:center;border-radius:10px!important;font-size:23px!important;line-height:1!important;margin:0!important;background:#fff!important;color:#111!important;border:1px solid #e5e7eb!important;box-shadow:none!important;}
.emojiPick:hover{background:#f8fafc!important;transform:translateY(-1px);}
.emojiAnimated{animation:emojiPulse 1.1s infinite alternate;background:linear-gradient(180deg,#fff,#fff7ed)!important;border-color:#fed7aa!important;}
@keyframes emojiPulse{from{transform:scale(1)}to{transform:scale(1.15) rotate(-3deg)}}

/* Emoji picker close/header fix */
.emoji-pop .emojiHeader{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  padding:8px 10px;
  background:#111;
  color:#fff;
  border-radius:12px 12px 0 0;
  border-bottom:1px solid rgba(255,255,255,.12);
}
.emoji-pop .emojiCloseBtn{
  width:26px;
  height:24px;
  line-height:22px;
  padding:0;
  border:0;
  border-radius:7px;
  background:#b91c1c;
  color:#fff;
  font-weight:900;
  cursor:pointer;
}
.emoji-pop .emojiCloseBtn:hover{background:#dc2626;}
.emoji-pop .emojiTabs button,
.emoji-pop .emojiTab{
  cursor:pointer;
}
.emoji-pop .emojiPanel{display:none;}
.emoji-pop .emojiPanel.active{display:flex;}
/* Keep the commercial wide layout intact */
.grid.cols{width:100%;max-width:none;}
.active-room-card{min-width:0;}
.chatbox{min-height:420px;}

/* One-on-one PM voice controls */
.pm-voice-bar{
    display:flex;
    align-items:center;
    gap:5px;
    padding:5px 7px;
    border-top:1px solid #e5e7eb;
    background:#0b0f19;
    color:#fff;
    font-size:11px;
}
.pm-voice-bar button{
    height:23px;
    padding:0 7px;
    border:0;
    border-radius:7px;
    background:#1f2937;
    color:#fff;
    font-size:11px;
    font-weight:800;
    cursor:pointer;
    white-space:nowrap;
}
.pm-voice-bar button:disabled{opacity:.45;cursor:not-allowed;}
.pm-voice-bar .pmv-join{background:#14532d;}
.pm-voice-bar .pmv-talk{background:#16a34a;}
.pm-voice-bar .pmv-talk.talking{background:#dc2626;animation:voicePulse 1s infinite;}
.pm-voice-bar .pmv-leave{background:#374151;}
.pm-voice-bar .pmv-status{font-size:10px;color:#d1d5db;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0;}
.pm-window{width:460px!important;height:410px!important;max-width:92vw!important;max-height:78vh!important;}
.pm-messages{min-height:0;}
@media(max-width:620px){.pm-window{width:94vw!important;height:420px!important;}.pm-voice-bar{flex-wrap:wrap}.pm-voice-bar .pmv-status{flex-basis:100%;}}


/* Animated emoji picker and chat display fix */
.emojiPick.emojiAnimated{position:relative;overflow:hidden;background:#111827;color:#fff;border:1px solid #334155;}
.animated-emoji{display:inline-flex;align-items:center;justify-content:center;font-size:24px;line-height:1;vertical-align:middle;transform-origin:center;animation:aemojiBounce .9s infinite ease-in-out;filter:drop-shadow(0 2px 3px rgba(0,0,0,.25));}
.msgText .animated-emoji{font-size:30px;margin:0 2px;}
.animated-emoji-fire,.animated-emoji-heart{animation:aemojiPulse .75s infinite ease-in-out;}
.animated-emoji-party,.animated-emoji-sparkle{animation:aemojiSpin 1.15s infinite linear;}
.animated-emoji-laugh,.animated-emoji-clap{animation:aemojiShake .6s infinite ease-in-out;}
.animated-emoji-rocket{animation:aemojiRocket 1s infinite ease-in-out;}
.animated-emoji-slots{animation:aemojiBounce .55s infinite ease-in-out;}
@keyframes aemojiBounce{0%,100%{transform:translateY(0) scale(1)}50%{transform:translateY(-5px) scale(1.15)}}
@keyframes aemojiPulse{0%,100%{transform:scale(1)}50%{transform:scale(1.25)}}
@keyframes aemojiSpin{0%{transform:rotate(-8deg) scale(1)}50%{transform:rotate(8deg) scale(1.2)}100%{transform:rotate(-8deg) scale(1)}}
@keyframes aemojiShake{0%,100%{transform:translateX(0)}25%{transform:translateX(-2px) rotate(-5deg)}75%{transform:translateX(2px) rotate(5deg)}}
@keyframes aemojiRocket{0%,100%{transform:translate(0,0) rotate(-10deg)}50%{transform:translate(5px,-7px) rotate(10deg)}}

/* COMPACT CHAT TEXT - shows more lines in busy rooms */
.chatbox{
    font-size:13px !important;
    line-height:1.22 !important;
}
.msg{
    padding:3px 6px !important;
    gap:6px !important;
    line-height:1.22 !important;
    font-size:13px !important;
}
.msgAvatar{
    width:24px !important;
    height:24px !important;
    flex:0 0 24px !important;
    font-size:12px !important;
}
.msg b,
.msg .username{
    font-size:13px !important;
    font-weight:800 !important;
}
.msgBody{
    line-height:1.22 !important;
}
.msg img.gif{
    max-width:190px !important;
    max-height:135px !important;
}
.chatinput input,
.chatinput button{
    font-size:13px !important;
}


/* --- Compact inline chat layout override --- */

.chat-message,
.msg-row,
.message-row{
    display:flex !important;
    align-items:flex-start !important;
    gap:6px !important;
    padding:2px 6px !important;
    line-height:1.3 !important;
    font-size:13px !important;
}

.chat-avatar,
.msg-avatar,
.message-avatar{
    width:22px !important;
    height:22px !important;
    border-radius:50% !important;
    flex-shrink:0 !important;
}

.chat-content,
.msg-content,
.message-content{
    display:flex !important;
    flex-wrap:wrap !important;
    align-items:baseline !important;
    gap:5px !important;
    width:100% !important;
}

.chat-username,
.msg-user,
.message-user,
.username{
    display:inline !important;
    font-weight:700 !important;
    white-space:nowrap !important;
    margin-right:4px !important;
}

.chat-text,
.msg-text,
.message-text{
    display:inline !important;
    word-break:break-word !important;
}


/* Arcade Games */
.arcade-hero .casino-tile .tile-icon{font-size:34px;}
.arcade-play-card canvas{touch-action:none;}


/* --- Main menu hover descriptions --- */
.nav-tooltip{
    position:absolute;
    background:#111;
    color:#fff;
    padding:8px 11px;
    border-radius:8px;
    font-size:12px;
    line-height:1.35;
    max-width:240px;
    box-shadow:0 8px 22px rgba(0,0,0,.25);
    opacity:0;
    pointer-events:none;
    transform:translateY(6px);
    transition:opacity .18s ease, transform .18s ease;
    z-index:99999;
}
.nav-tooltip.show{
    opacity:1;
    transform:translateY(0);
}


/* REAL inline room chat layout: avatar + username + text on one row */
.chatbox .msg{display:flex!important;align-items:flex-start!important;gap:6px!important;padding:2px 6px!important;margin:0!important;font-size:13px!important;line-height:1.28!important;}
.chatbox .msgAvatar{width:22px!important;height:22px!important;min-width:22px!important;max-width:22px!important;border-radius:50%!important;object-fit:cover!important;flex:0 0 22px!important;}
.chatbox .msgBody{display:block!important;min-width:0!important;line-height:1.28!important;padding:0!important;margin:0!important;}
.chatbox .inlineMsgBody{display:block!important;}
.chatbox .chatNameWrap{display:inline!important;font-weight:700!important;white-space:nowrap!important;margin:0!important;padding:0!important;}
.chatbox .chatInlineName{display:inline!important;font-weight:700!important;text-decoration:none!important;}
.chatbox .msgText,.chatbox .inlineMsgText{display:inline!important;margin:0!important;padding:0!important;word-break:break-word!important;overflow-wrap:anywhere!important;line-height:1.28!important;}
.chatbox .msgText div,.chatbox .msgText p{display:inline!important;margin:0!important;padding:0!important;}
.chatbox .role-badge{display:inline-flex!important;vertical-align:middle!important;margin:0 3px!important;font-size:10px!important;}
.chatbox .system-msg{justify-content:center!important;}
.chatbox .system-msg .msgBody{background:#fff7ed!important;border:1px solid #fed7aa!important;border-radius:10px!important;padding:4px 8px!important;color:#7c2d12!important;}
.chatbox .systemName{font-weight:800!important;}


/* live room count badges */
.room-count,
.room-count-badge{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-width:20px;
    height:20px;
    padding:0 6px;
    margin-left:6px;
    border-radius:999px;
    background:#111827;
    color:#fff;
    font-size:11px;
    font-weight:800;
    line-height:1;
}


/* FINAL FIX: chatroom username 3-dot action menu
   This menu stays attached to the clicked user row. No fixed positioning, no flipping,
   no scroll/resize recalculation. The menu itself scrolls when it has many buttons. */
.userrow{
  position:relative!important;
  overflow:visible!important;
}
.user-main{
  position:relative!important;
  overflow:visible!important;
}
.userMoreBtn{
  position:relative!important;
  z-index:20!important;
}
.user-action-menu{
  display:none!important;
  position:absolute!important;
  top:32px!important;
  right:4px!important;
  left:auto!important;
  bottom:auto!important;
  transform:none!important;
  width:224px!important;
  min-width:224px!important;
  max-width:224px!important;
  max-height:255px!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
  background:#ffffff!important;
  color:#111827!important;
  border:1px solid #cbd5e1!important;
  border-radius:12px!important;
  box-shadow:0 14px 34px rgba(15,23,42,.28)!important;
  padding:8px!important;
  z-index:999999!important;
  box-sizing:border-box!important;
  scrollbar-width:thin!important;
}
.user-action-menu.open{
  display:block!important;
}
.user-action-menu.open-up{
  top:32px!important;
  bottom:auto!important;
}
.user-action-menu::-webkit-scrollbar{width:8px!important;}
.user-action-menu::-webkit-scrollbar-thumb{background:#94a3b8!important;border-radius:999px!important;}
.user-action-menu::-webkit-scrollbar-track{background:#e5e7eb!important;border-radius:999px!important;}
.user-action-title{
  position:sticky!important;
  top:0!important;
  background:#fff!important;
  z-index:2!important;
  font-weight:950!important;
  font-size:13px!important;
  padding:6px 6px 8px!important;
  border-bottom:1px solid #e5e7eb!important;
  margin-bottom:5px!important;
  color:#111827!important;
}
.user-action-item,
.user-action-menu a,
.user-action-menu button,
.user-action-menu select{
  width:100%!important;
  max-width:100%!important;
  box-sizing:border-box!important;
}
.online-card,
.right-tabs-card,
.right-panel,
.right-side,
.users-list,
.room-users-list,
.online-users-list,
#roomUsersBox,
#onlineUsersBox{
  overflow:visible!important;
}
@media(max-height:650px){
  .user-action-menu{max-height:205px!important;}
}

/* PM emoji/GIF stable controls */
.pm-foot{gap:6px;align-items:center}
.pm-foot .pm-input{flex:1;min-width:0}
.pm-foot .pm-emoji-btn,.pm-foot .pm-gif-btn,.pm-foot .pm-send-btn{flex:0 0 auto;white-space:nowrap}
.pm-picker{background:#111827;border:1px solid rgba(255,255,255,.18);border-radius:10px;margin:6px;padding:8px;max-height:210px;overflow:auto;z-index:99999;color:#fff}
.pm-emoji-picker{grid-template-columns:repeat(8,1fr);gap:4px}
.pm-emoji-pick{font-size:18px;line-height:1;border:1px solid rgba(255,255,255,.15);background:#1f2937;color:#fff;border-radius:8px;padding:6px;cursor:pointer}
.pm-gif-search-row{display:flex;gap:6px;margin-bottom:8px}
.pm-gif-search-row input{flex:1;min-width:0;background:#fff;color:#111;border-radius:7px;padding:7px;border:1px solid #ccc}
.pm-gif-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;max-height:155px;overflow:auto}
.pm-gif-grid img{width:100%;height:72px;object-fit:cover;border-radius:8px;cursor:pointer}
.pm-gif-img{max-width:180px;max-height:150px;border-radius:8px;display:block;margin-top:4px}

/* Reliable PM send/emoji/GIF fix */
.pm-window-reliable{width:330px!important;height:390px!important;right:24px!important;bottom:42px!important;display:flex!important;flex-direction:column!important;}
.pm-window-reliable .pm-messages{flex:1 1 auto!important;min-height:0!important;overflow-y:auto!important;}
.pm-window-reliable .pm-tools{display:flex;gap:6px;align-items:center;padding:6px 8px;border-top:1px solid #e5e7eb;background:#f8fafc;position:relative;}
.pm-window-reliable .pm-tools button{padding:5px 8px;border-radius:8px;border:1px solid #cbd5e1;background:#fff;color:#111;cursor:pointer;}
.pm-window-reliable .pm-picker{position:absolute;left:8px;right:8px;bottom:38px;max-height:190px;overflow:auto;background:#fff;border:1px solid #cbd5e1;border-radius:12px;box-shadow:0 12px 35px rgba(0,0,0,.25);padding:8px;z-index:7000;color:#111;}
.pm-emoji-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:5px;}
.pm-emoji-choice{font-size:20px!important;line-height:1!important;}
.pm-gif-search{display:flex;gap:6px;margin-bottom:8px;}
.pm-gif-search input{flex:1;height:30px;color:#111;background:#fff;border:1px solid #cbd5e1;border-radius:8px;padding:5px;}
.pm-gif-results{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;}
.pm-gif-choice,.pm-gif-img{max-width:100%;border-radius:8px;cursor:pointer;}
.pm-bubble .pm-gif-img{display:block;max-width:160px;max-height:120px;margin-top:4px;}

/* PM master UI fix: draggable compact PMs, contained GIFs, main-chat-style emoji picker */
.pm-master-window{
  position:fixed!important;
  width:420px!important;
  height:430px!important;
  max-width:94vw!important;
  max-height:82vh!important;
  display:flex!important;
  flex-direction:column!important;
  background:#0f172a!important;
  color:#fff!important;
  border:1px solid rgba(255,255,255,.18)!important;
  border-radius:14px!important;
  box-shadow:0 18px 60px rgba(0,0,0,.38)!important;
  overflow:hidden!important;
  z-index:4200!important;
}
.pm-master-window .pm-head{
  cursor:move!important;
  flex:0 0 auto!important;
  background:#111827!important;
  color:#fff!important;
  border-bottom:1px solid rgba(255,255,255,.12)!important;
}
.pm-master-window .pm-head button{cursor:pointer!important;}
.pm-master-window .pm-messages{
  flex:1 1 auto!important;
  min-height:0!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
  padding:10px!important;
  background:#f8fafc!important;
  color:#111827!important;
}
.pm-master-window .pm-bubble{background:#fff!important;color:#111827!important;border:1px solid #e5e7eb!important;border-radius:10px!important;margin:0 0 8px!important;padding:7px 9px!important;word-break:break-word!important;}
.pm-master-window .pm-bubble.me{background:#dbeafe!important;border-color:#bfdbfe!important;}
.pm-master-window .pm-voice-bar{flex:0 0 auto!important;}
.pm-master-window .pm-foot{
  flex:0 0 auto!important;
  display:flex!important;
  align-items:flex-end!important;
  gap:6px!important;
  padding:8px!important;
  background:#111827!important;
  border-top:1px solid rgba(255,255,255,.12)!important;
}
.pm-master-window .pm-input{
  flex:1 1 auto!important;
  min-width:0!important;
  height:38px!important;
  max-height:70px!important;
  resize:none!important;
  border-radius:9px!important;
  border:1px solid #cbd5e1!important;
  background:#fff!important;
  color:#111!important;
  padding:8px!important;
}
.pm-master-window .pm-foot button{flex:0 0 auto!important;border-radius:9px!important;padding:8px 9px!important;white-space:nowrap!important;}
.pm-master-window .pm-picker{
  flex:0 0 auto!important;
  position:relative!important;
  display:none;
  margin:0!important;
  border-radius:0!important;
  border-left:0!important;
  border-right:0!important;
  border-top:1px solid rgba(255,255,255,.15)!important;
  border-bottom:1px solid rgba(255,255,255,.15)!important;
  max-height:210px!important;
  overflow:auto!important;
  background:#fff!important;
  color:#111827!important;
  padding:8px!important;
  z-index:1!important;
}
.pm-master-window .pm-emoji-picker{max-height:250px!important;}
.pm-master-window .emojiHeader{display:flex!important;align-items:center!important;justify-content:space-between!important;margin-bottom:8px!important;color:#111!important;}
.pm-master-window .emojiCloseBtn,.pm-master-window .pm-picker-close{background:#ef4444!important;color:#fff!important;border:0!important;border-radius:8px!important;padding:4px 8px!important;}
.pm-master-window .emojiSearch{width:100%!important;box-sizing:border-box!important;height:34px!important;margin:0 0 8px!important;color:#111!important;background:#fff!important;border:1px solid #cbd5e1!important;border-radius:9px!important;padding:6px 10px!important;}
.pm-master-window .emojiTabs{display:flex!important;gap:6px!important;margin-bottom:8px!important;}
.pm-master-window .emojiTab{flex:1!important;background:#eef2f7!important;color:#111!important;border:1px solid #d8e1ee!important;border-radius:9px!important;padding:6px 4px!important;font-size:11px!important;}
.pm-master-window .emojiTab.active{background:#111827!important;color:#fff!important;border-color:#111827!important;}
.pm-master-window .emojiPanel{display:none!important;max-height:145px!important;overflow:auto!important;flex-wrap:wrap!important;gap:6px!important;}
.pm-master-window .emojiPanel.active{display:flex!important;}
.pm-master-window .emojiPick{min-width:34px!important;height:34px!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;border-radius:9px!important;font-size:22px!important;line-height:1!important;background:#fff!important;color:#111!important;border:1px solid #e5e7eb!important;box-shadow:none!important;padding:0!important;margin:0!important;}
.pm-master-window .emojiPick:hover{background:#f8fafc!important;transform:translateY(-1px)!important;}
.pm-master-window .pm-gif-search-row{display:flex!important;gap:6px!important;align-items:center!important;margin-bottom:8px!important;}
.pm-master-window .pm-gif-search-row input{flex:1 1 auto!important;min-width:0!important;height:32px!important;background:#fff!important;color:#111!important;border:1px solid #cbd5e1!important;border-radius:8px!important;padding:6px!important;}
.pm-master-window .pm-gif-search-row button{flex:0 0 auto!important;padding:6px 8px!important;}
.pm-master-window .pm-gif-grid{display:grid!important;grid-template-columns:repeat(3,1fr)!important;gap:6px!important;max-height:145px!important;overflow:auto!important;}
.pm-master-window .pm-gif-grid img{width:100%!important;height:70px!important;object-fit:cover!important;border-radius:8px!important;cursor:pointer!important;display:block!important;}
.pm-master-window .pm-gif-img{display:block!important;max-width:190px!important;max-height:135px!important;width:auto!important;height:auto!important;border-radius:8px!important;margin-top:5px!important;object-fit:contain!important;}
@media(max-width:620px){.pm-master-window{width:94vw!important;height:440px!important;right:3vw!important;bottom:38px!important}.pm-master-window .pm-voice-bar{flex-wrap:wrap!important}.pm-master-window .pm-gif-grid{grid-template-columns:repeat(2,1fr)!important}.pm-master-window .pm-foot{gap:4px!important}.pm-master-window .pm-foot button{padding:7px 7px!important}}


/* PM final polish: compact input, working minimize tabs, Firefox scroll containment */
.pm-master-window{overscroll-behavior:contain!important;}
.pm-master-window .pm-messages{overscroll-behavior:contain!important;scrollbar-gutter:stable!important;}
.pm-master-window .pm-input{height:34px!important;min-height:34px!important;max-height:34px!important;line-height:17px!important;overflow-y:hidden!important;resize:none!important;padding:7px 8px!important;}
.pm-master-window .pm-foot{align-items:center!important;padding:7px!important;}
.pm-master-window .pm-picker{max-height:190px!important;overflow:auto!important;overscroll-behavior:contain!important;}
.pm-master-window .pm-gif-grid,.pm-master-window .emojiPanel{overscroll-behavior:contain!important;}
.pm-dock{position:fixed!important;left:8px!important;bottom:4px!important;right:auto!important;display:flex!important;gap:5px!important;z-index:99998!important;pointer-events:auto!important;}
.pm-tab{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:5px!important;cursor:pointer!important;pointer-events:auto!important;}
.pm-tab .x{font-weight:900!important;padding:0 4px!important;}
.pm-tab.pm-minimized-tab{background:#1f2937!important;color:#fff!important;}
.pm-master-window.pm-minimized{display:none!important;}
.pm-master-window .pm-min{font-weight:900!important;min-width:26px!important;}


/* PM FINAL SIZE POLISH - added without replacing PM JS */
.pm-window,
.pmWindow,
.private-message-window,
.pm-chat-window {
    width: 540px !important;
    max-width: calc(100vw - 30px) !important;
    height: 540px !important;
    max-height: calc(100vh - 80px) !important;
}

.pm-body,
.pm-window-body,
.pm-chat-body {
    min-height: 0 !important;
}

.pm-messages,
.pmMessages,
.private-messages,
.pm-message-list,
.pm-thread {
    overflow-y: auto !important;
    overflow-x: hidden !important;
    overscroll-behavior-y: contain !important;
    scrollbar-gutter: stable !important;
    min-height: 0 !important;
}

.pm-input,
.pm-textarea,
.pm-message-input,
.pm-compose textarea,
.pm-compose input[type="text"] {
    min-height: 38px !important;
    max-height: 72px !important;
}

.pm-emoji-popup,
.pm-emoji-picker,
.pm-gif-popup,
.pm-giphy-popup,
.pm-picker,
.emoji-picker.pm-picker,
.gif-picker.pm-picker {
    width: 460px !important;
    max-width: calc(100vw - 40px) !important;
    height: 390px !important;
    max-height: calc(100vh - 140px) !important;
    overflow: auto !important;
    z-index: 999999 !important;
}


/* PM FIREFOX SCROLL + EMOJI POPUP REAL FIX */
.pm-master-window{
    width:540px !important;
    height:540px !important;
    max-width:calc(100vw - 28px) !important;
    max-height:calc(100vh - 72px) !important;
    display:flex !important;
    flex-direction:column !important;
    overflow:hidden !important;
    contain:layout paint !important;
}
.pm-master-window .pm-head{
    flex:0 0 auto !important;
}
.pm-master-window .pm-messages{
    flex:1 1 auto !important;
    min-height:0 !important;
    overflow-y:auto !important;
    overflow-x:hidden !important;
    overscroll-behavior:contain !important;
    scroll-behavior:auto !important;
}
.pm-master-window .pm-foot,
.pm-master-window .pm-voice-bar{
    flex:0 0 auto !important;
}
.pm-master-window .pm-picker{
    position:absolute !important;
    left:12px !important;
    right:12px !important;
    bottom:92px !important;
    width:auto !important;
    height:300px !important;
    max-height:min(300px, calc(100vh - 190px)) !important;
    overflow:hidden !important;
    background:#111827 !important;
    color:#fff !important;
    border:1px solid rgba(255,255,255,.28) !important;
    border-radius:14px !important;
    box-shadow:0 18px 55px rgba(0,0,0,.45) !important;
    z-index:999999 !important;
}
.pm-master-window .pm-emoji-pro,
.pm-master-window .emojiPickerPro{
    display:flex !important;
    flex-direction:column !important;
    height:100% !important;
    min-height:0 !important;
}
.pm-master-window .emojiHeader,
.pm-master-window .emojiTabs{
    flex:0 0 auto !important;
}
.pm-master-window .emojiSearch{
    flex:0 0 auto !important;
    margin:6px 0 !important;
    height:34px !important;
}
.pm-master-window .emojiPanel{
    flex:1 1 auto !important;
    min-height:0 !important;
    overflow-y:auto !important;
    overscroll-behavior:contain !important;
    display:none !important;
    grid-template-columns:repeat(8, 1fr) !important;
    gap:6px !important;
}
.pm-master-window .emojiPanel.active{
    display:grid !important;
}
.pm-master-window .emojiPick{
    min-width:0 !important;
    height:36px !important;
    padding:4px !important;
    font-size:22px !important;
}
.pm-master-window .pm-gif-picker{
    height:330px !important;
    bottom:92px !important;
}
.pm-master-window .pm-gif-grid{
    max-height:250px !important;
    overflow-y:auto !important;
    overscroll-behavior:contain !important;
    grid-template-columns:repeat(3,1fr) !important;
}
.pm-master-window .pm-gif-grid img{
    height:86px !important;
}
@-moz-document url-prefix(){
    .pm-master-window .pm-messages{
        scrollbar-width:auto !important;
        overscroll-behavior-y:contain !important;
    }
}
@media(max-width:620px){
    .pm-master-window{
        width:94vw !important;
        height:500px !important;
        right:3vw !important;
        bottom:38px !important;
    }
    .pm-master-window .pm-picker{
        bottom:104px !important;
        height:280px !important;
    }
    .pm-master-window .emojiPanel{
        grid-template-columns:repeat(6, 1fr) !important;
    }
}


/* Friends page + profile PM actions */
.profile-action-row{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-bottom:10px}
.profile-action-row form{margin:0}
.profile-action-row .btn,.profile-action-row button{display:inline-flex;align-items:center;justify-content:center;min-height:40px}
.friends-page{max-width:1100px;margin:0 auto}
.friends-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:14px;margin-top:14px}
.friend-card{border:1px solid var(--line);border-radius:16px;background:#fff;padding:14px;box-shadow:0 10px 24px rgba(15,23,42,.08)}
.friend-main{display:flex;gap:12px;align-items:center;color:var(--ink)}
.friend-main h3{margin:0 0 4px}
.friend-avatar{width:58px;height:58px;border-radius:50%;overflow:hidden;background:#e9eef8;display:flex;align-items:center;justify-content:center;font-size:24px;font-weight:950;color:#1e40af;flex:0 0 auto}
.friend-avatar img{width:100%;height:100%;object-fit:cover}
.friend-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px;align-items:center}
.friend-actions form{margin:0}
.empty-state{border:1px dashed var(--line);border-radius:16px;padding:20px;background:#f8fafc;margin-top:14px}

/* Friends online / last-active display */
.friend-status{font-weight:800;margin:2px 0 3px}
.friend-last-seen{margin:0 0 3px;line-height:1.35}
.dot.offline{background:#94a3b8;box-shadow:0 0 0 3px #e2e8f0}


/* Friends online/offline lightbulb status */
.friend-status{display:flex;align-items:center;gap:7px;font-weight:900;margin:2px 0 3px;}
.friend-bulb{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:50%;font-size:17px;line-height:1;}
.friend-bulb-on{filter:drop-shadow(0 0 6px #facc15) drop-shadow(0 0 12px #f59e0b);background:#fff7cc;}
.friend-bulb-off{filter:grayscale(1);opacity:.38;background:#e5e7eb;}
.friend-online-text{color:#15803d;}
.friend-offline-text{color:#64748b;}


.msg.effect-dingdong .msgText{font-weight:950!important;font-size:20px!important;letter-spacing:.3px!important;text-shadow:0 0 8px #facc15;}
.msg.effect-robot .msgText{font-family:Consolas,monospace!important;font-weight:900!important;letter-spacing:1px!important;}
.msg.effect-pirate .msgText{font-weight:900!important;font-style:italic!important;}
.msg.effect-echo .msgText{font-weight:850!important;opacity:.95!important;}

/* Premium paid chat style system */
.premium-style-page{max-width:920px;margin:0 auto;}
.premium-style-current{background:#f8fafc;border:1px solid #e2e8f0;border-radius:14px;padding:12px;margin:12px 0 16px;color:#111827;}
.premium-active-box{margin-top:8px;padding:8px 10px;border-radius:10px;background:#eef2ff;border:1px solid #c7d2fe;}
.premium-style-form{display:grid;gap:12px;max-width:620px;}
.premium-style-form label{font-weight:700;color:#111827;}
.premium-style-form select{margin-top:5px;}
.premium-style-checks{display:flex;gap:12px;flex-wrap:wrap;background:#f8fafc;border:1px solid #e2e8f0;border-radius:14px;padding:10px;}
.premium-style-checks label{font-weight:700;display:flex;align-items:center;gap:6px;}
.premium-preview-wrap{background:#111827;border-radius:14px;padding:12px;color:#e5e7eb;}
.premium-style-preview{font-size:15px!important;line-height:1.45;background:#fff;border-radius:10px;padding:12px;border:1px solid #e5e7eb;}
.premium-style-badge{display:inline-flex;align-items:center;justify-content:center;margin-left:4px;width:16px;height:16px;border-radius:50%;background:#f59e0b;color:#111827;font-size:11px;font-weight:900;box-shadow:0 0 8px rgba(245,158,11,.55);vertical-align:middle;}
.premiumChatText{font-size:14px!important;line-height:1.35;}
.pm-bubble .premiumChatText{font-size:13px!important;}

/* Premium style badges/stars disabled - only text styling shows. */
.premium-style-badge{display:none!important;}
.style-error-msg{background:#fff1f2;border:1px solid #fecdd3;color:#991b1b;border-radius:12px;padding:10px 12px;margin-top:10px;font-weight:800;}
.style-success-msg{background:#ecfdf5;border:1px solid #bbf7d0;color:#166534;border-radius:12px;padding:10px 12px;margin-top:10px;font-weight:800;}
.premium-style-notice{background:#fffbeb;border:1px solid #fde68a;color:#78350f;border-radius:14px;padding:12px;margin:12px 0;font-weight:700;}
.premium-style-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px;}


/* Paid Room Polls */
.poll-box{margin-top:8px;}
.poll-create-box{margin-top:10px;display:grid;gap:7px;}
.poll-create-box input{width:100%;box-sizing:border-box;}
.active-poll-card{background:#f8fbff;border:1px solid #d8e6ff;border-radius:12px;padding:10px;color:#111827;}
.poll-question{font-weight:900;font-size:14px;margin-bottom:4px;line-height:1.25;}
.poll-meta{font-size:11px;color:#64748b;margin-bottom:8px;}
.poll-option{position:relative;display:block;width:100%;text-align:left;margin:6px 0;padding:9px 8px;border:1px solid #cbd5e1;border-radius:10px;background:#fff!important;color:#111827!important;overflow:hidden;min-height:38px;}
.poll-option[disabled]{cursor:default;opacity:1;}
.poll-option-label,.poll-option-votes{position:relative;z-index:2;display:block;}
.poll-option-label{font-weight:800;}
.poll-option-votes{font-size:11px;color:#475569;margin-top:2px;}
.poll-bar{position:absolute;left:0;top:0;bottom:0;background:rgba(59,130,246,.18);z-index:1;transition:width .2s ease;}
.poll-empty,.poll-hint,.poll-voted{font-size:12px;color:#64748b;margin-top:6px;}
.poll-voted{font-weight:800;color:#166534;}
@media(max-width:1120px){.right-tabs{grid-template-columns:repeat(5,1fr)!important;}}
.right-tabs{grid-template-columns:repeat(5,1fr)!important;}


/* Admin 20-second full-room announcement overlay */
.active-room-card{position:relative;}
.room-announcement-overlay{
  position:absolute;
  left:16px; right:16px;
  top:112px; bottom:78px;
  background:#000;
  color:#fff;
  z-index:45;
  border-radius:18px;
  border:2px solid rgba(255,255,255,.15);
  box-shadow:0 20px 80px rgba(0,0,0,.55);
  align-items:center;
  justify-content:center;
  text-align:center;
  padding:24px;
}
.room-announcement-inner{max-width:900px;margin:auto;}
.room-announcement-label{
  display:inline-block;
  text-transform:uppercase;
  letter-spacing:.12em;
  font-size:13px;
  font-weight:900;
  color:#facc15;
  border:1px solid rgba(250,204,21,.5);
  border-radius:999px;
  padding:7px 14px;
  margin-bottom:18px;
}
.room-announcement-text{
  font-size:clamp(34px, 5vw, 72px);
  line-height:1.08;
  font-weight:950;
  text-shadow:0 0 22px rgba(255,255,255,.35);
  white-space:pre-wrap;
  overflow-wrap:anywhere;
}
.room-announcement-countdown{
  margin-top:22px;
  font-size:16px;
  color:#cbd5e1;
  font-weight:800;
}
.admin-announcement-panel{margin-top:14px;padding-top:12px;border-top:1px solid #e5e7eb;}
.admin-announcement-panel textarea{min-height:120px;font-size:13px;}
@media(max-width:760px){
  .room-announcement-overlay{top:105px;bottom:72px;left:10px;right:10px;border-radius:14px;}
  .room-announcement-text{font-size:clamp(28px, 8vw, 48px);}
}


/* Site mailbox */
.mailbox-card input,
.mailbox-card textarea,
.mailbox-card select{
  width:100%;
  box-sizing:border-box;
  margin:6px 0 12px;
}
.mailbox-card textarea{resize:vertical;min-height:120px;}


/* Sitewide condensed top menu: Games dropdown, compact mailbox/credits */
.topbar{flex-wrap:nowrap!important;gap:9px!important;overflow-x:auto!important;overflow-y:visible!important;align-items:center!important;}
.topbar::-webkit-scrollbar{height:5px;}
.topbar::-webkit-scrollbar-thumb{background:#333;border-radius:999px;}
.top-games-dropdown{position:relative;display:inline-flex;align-items:center;flex:0 0 auto;}
.top-games-btn{padding:7px 10px!important;margin:0!important;}
.top-games-menu{display:none;position:absolute;top:100%;left:0;min-width:190px;background:#05070c;border:1px solid #374151;border-radius:12px;box-shadow:0 18px 45px rgba(0,0,0,.45);padding:7px;z-index:5000;}
.top-games-dropdown:hover .top-games-menu,.top-games-dropdown:focus-within .top-games-menu{display:block;}
.top-games-menu a{display:block!important;padding:9px 10px!important;border-radius:9px!important;color:#fff!important;white-space:nowrap!important;}
.top-games-menu a:hover{background:#1f2937!important;color:#f8d878!important;}
.topbar .credits{margin-left:auto!important;padding:6px 10px!important;white-space:nowrap!important;flex:0 0 auto;}
.topbar .brand{white-space:nowrap!important;flex:0 0 auto;}
@media(max-width:900px){.topbar{gap:7px!important;padding:9px 10px!important}.brand{font-size:17px!important}.topbar a,.top-menu-btn{font-size:13px!important}.topbar .credits{padding:5px 8px!important}}

/* FIX: clickable Games menu + compact topbar */
.topbar{gap:10px!important;flex-wrap:nowrap!important;overflow:visible!important;}
.topbar a,.topbar button,.topbar summary{white-space:nowrap!important;}
.top-games-dropdown{position:relative!important;display:inline-flex!important;align-items:center!important;flex:0 0 auto!important;}
.top-games-dropdown summary{list-style:none!important;cursor:pointer!important;user-select:none!important;}
.top-games-dropdown summary::-webkit-details-marker{display:none!important;}
.top-games-btn{padding:7px 10px!important;margin:0!important;}
.top-games-menu{display:none!important;position:absolute!important;top:100%!important;left:0!important;min-width:190px!important;background:#05070c!important;border:1px solid #374151!important;border-radius:12px!important;box-shadow:0 18px 45px rgba(0,0,0,.45)!important;padding:7px!important;z-index:99999!important;}
.top-games-dropdown[open] .top-games-menu,.top-games-dropdown:hover .top-games-menu,.top-games-dropdown:focus-within .top-games-menu{display:block!important;}
.top-games-menu a{display:block!important;padding:9px 10px!important;border-radius:9px!important;color:#fff!important;white-space:nowrap!important;}
.top-games-menu a:hover{background:#1f2937!important;color:#f8d878!important;}
#creditBadge{white-space:nowrap!important;padding:6px 10px!important;}


/* Safe mobile topbar wrap fix - shows full menu on phones without dropdown or hidden links */
@media (max-width: 760px){
  .topbar{
    display:flex !important;
    flex-wrap:wrap !important;
    overflow:visible !important;
    height:auto !important;
    max-height:none !important;
    white-space:normal !important;
    gap:5px !important;
    align-items:center !important;
    padding:7px !important;
  }
  .topbar > *{
    flex:0 0 auto !important;
    white-space:nowrap !important;
    max-width:none !important;
  }
  .topbar .brand{
    flex:1 1 100% !important;
    width:100% !important;
    text-align:center !important;
    margin-bottom:4px !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
  }
  .topbar a,
  .topbar button,
  .topbar .credits{
    font-size:12px !important;
    padding:5px 7px !important;
    line-height:1.15 !important;
    border-radius:7px !important;
  }
  .topbar .credits{
    margin-left:0 !important;
  }
}
/* Keep room user lists scrollable */
.right-tabs-card #roomUsersBox,
.right-tabs-card #onlineUsersBox {
  max-height: 260px !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
  padding-right: 4px !important;
}

.right-tabs-card {
  overflow: hidden !important;
}


/* FINAL SAFE FIX: right user lists scroll, 3-dot menu opens as a clean floating panel */
.right-tabs-card #roomUsersBox,
.right-tabs-card #onlineUsersBox {
  max-height: 260px !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
  padding-right: 4px !important;
}

.right-tabs-card {
  overflow: hidden !important;
}

/* Make the user action menu a floating popup instead of being trapped in the list */
.user-action-menu.open {
  display: block !important;
  position: fixed !important;
  top: 72px !important;
  right: 18px !important;
  left: auto !important;
  bottom: auto !important;
  width: 260px !important;
  max-width: calc(100vw - 36px) !important;
  max-height: calc(100vh - 95px) !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
  z-index: 999999 !important;
  background: #ffffff !important;
  color: #111827 !important;
  border: 1px solid #cbd5e1 !important;
  border-radius: 14px !important;
  box-shadow: 0 18px 45px rgba(0,0,0,.35) !important;
  padding: 8px !important;
  box-sizing: border-box !important;
}

.user-action-menu .user-action-title {
  position: sticky !important;
  top: 0 !important;
  background: #ffffff !important;
  z-index: 2 !important;
}

.user-action-menu .user-action-item,
.user-action-menu a.user-action-item,
.user-action-menu button.user-action-item {
  display: block !important;
  width: 100% !important;
  text-align: left !important;
  margin: 4px 0 !important;
  box-sizing: border-box !important;
}

.user-action-menu select {
  width: 100% !important;
  box-sizing: border-box !important;
}
/* FINAL OVERRIDE: right panel user lists must scroll */
.right-tabs-card #roomUsersBox,
.right-tabs-card #onlineUsersBox {
  max-height: 260px !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
  padding-right: 4px !important;
}

.right-tabs-card {
  overflow: hidden !important;
}
```css
/* COMPACT ROOM USER LIST */
.userrow{
  min-height:20px !important;
  padding:2px 0 !important;
  gap:4px !important;
  font-size:11px !important;
  line-height:1 !important;
}

.userrow .user-avatar,
.msgAvatar,
.people-avatar{
  width:18px !important;
  height:18px !important;
  min-width:18px !important;
  min-height:18px !important;
}

.userrow .user-name{
  font-size:11px !important;
  line-height:1 !important;
}

.userrow button{
  padding:1px 4px !important;
  font-size:9px !important;
  min-height:18px !important;
}

.userslist{
  overflow-y:auto !important;
}
```
/* MAKE RIGHT USER ROW BLOCKS SHORTER */
.right-tabs-card .userrow,
.online-card .userrow,
.userslist .userrow{
  min-height:18px !important;
  height:20px !important;
  padding:1px 0 !important;
  margin:0 !important;
  line-height:1 !important;
  display:grid !important;
  grid-template-columns:20px minmax(0,1fr) 34px !important;
  align-items:center !important;
}

.right-tabs-card .userrow .user-avatar,
.online-card .userrow .user-avatar,
.userslist .userrow .user-avatar{
  width:16px !important;
  height:16px !important;
  min-width:16px !important;
  min-height:16px !important;
}

.right-tabs-card .userrow button,
.online-card .userrow button,
.userslist .userrow button{
  height:16px !important;
  min-height:16px !important;
  padding:0 3px !important;
  font-size:8px !important;
  line-height:1 !important;
}