/* V15 - janelas transparentes, grade real, jogo preenchendo área */
:root{--gs-panel:rgba(11,23,48,.72);--gs-panel-strong:rgba(13,27,56,.84);--gs-border:rgba(160,190,255,.18);--gs-neon:#21ffc8;--gs-lime:#39ff14;}
/* Todas as janelas/popups do site usam o mesmo vidro */
.profile-modal{z-index:2147483300!important;}
.profile-modal:not(.hidden){display:flex!important;align-items:center!important;justify-content:center!important;position:fixed!important;inset:0!important;padding:18px!important;}
.auth-modal-backdrop,.profile-modal .auth-modal-backdrop,.chat-notify-backdrop.open{position:fixed!important;inset:0!important;background:rgba(3,8,20,.62)!important;backdrop-filter:blur(12px)!important;-webkit-backdrop-filter:blur(12px)!important;}
.profile-card,.auth-modal-card,.connect-ui-card,.privacy-card,.friends-modal-card{background:linear-gradient(145deg,rgba(16,31,62,.78),rgba(8,17,38,.70))!important;border:1px solid var(--gs-border)!important;box-shadow:0 24px 80px rgba(0,0,0,.42), inset 0 1px 0 rgba(255,255,255,.06)!important;border-radius:24px!important;backdrop-filter:blur(18px)!important;-webkit-backdrop-filter:blur(18px)!important;color:#eef5ff!important;}
.connect-ui-card{width:min(460px,calc(100vw - 28px))!important;max-height:82vh!important;overflow:auto!important;z-index:2147483600!important;}
.connect-ui-card textarea,.connect-ui-card input{width:100%;border:1px solid rgba(255,255,255,.13);background:rgba(4,10,26,.62);color:#fff;border-radius:14px;padding:12px;margin:8px 0;}
.support-upload{display:block;border:1px dashed rgba(255,255,255,.18);border-radius:14px;padding:10px;margin:10px 0;color:#bdd1f4}.support-note{display:block;color:#8fa4c7;margin-bottom:12px}.ticket-print-link{display:inline-flex;margin-top:7px;color:#21ffc8!important;font-weight:800;text-decoration:none}
/* Notificações: modal próprio, rolagem interna sem ficar atrás de confirmação */
.chat-notify-panel.open{left:50%!important;right:auto!important;top:90px!important;transform:translateX(-50%)!important;width:min(430px,calc(100vw - 28px))!important;max-height:min(76vh,620px)!important;display:flex!important;flex-direction:column!important;background:linear-gradient(145deg,rgba(16,31,62,.86),rgba(8,17,38,.78))!important;border:1px solid var(--gs-border)!important;border-radius:24px!important;box-shadow:0 24px 80px rgba(0,0,0,.45)!important;backdrop-filter:blur(18px)!important;z-index:2147483200!important;overflow:hidden!important;}
.notify-head,.notify-tools{flex:0 0 auto}.notify-list{overflow:auto!important;display:grid;gap:8px;padding-right:4px}.notification-item{cursor:pointer;background:rgba(255,255,255,.055)!important;border:1px solid rgba(255,255,255,.10)!important;border-radius:16px!important;padding:12px 38px 12px 38px!important;min-height:72px}.notification-item.is-unread{border-color:rgba(57,255,20,.45)!important;box-shadow:inset 3px 0 0 #39ff14}.notification-item em{font-style:normal;background:#39ff14;color:#021306;border-radius:999px;padding:2px 7px;font-size:9px;margin-left:5px}.notify-check{position:absolute;left:10px;top:12px}.notification-del{right:10px!important;top:10px!important}.notify-tools{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:10px!important;padding:8px 0}.notify-tools button{border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.08);color:#fff;border-radius:12px;padding:8px 10px;font-weight:800}.notify-all{font-size:11px;color:#b8cae8;display:flex;align-items:center;gap:6px;margin:0}
/* Perfil em grade real, não lista */
.profile-card{width:min(720px,calc(100vw - 28px))!important;max-height:86vh!important;overflow:auto!important;scrollbar-gutter:stable;}
.profile-info-grid.pro-grid{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:10px!important}.profile-info-grid.pro-grid>span,.profile-stats>span{min-width:0!important;border:1px solid rgba(255,255,255,.11)!important;background:rgba(255,255,255,.05)!important;border-radius:16px!important;padding:12px!important;word-break:break-word!important;overflow:hidden!important}.profile-email-value{font-style:normal!important;display:block!important;word-break:break-all!important;overflow-wrap:anywhere!important;line-height:1.25}.profile-friends-section{display:none!important}.profile-top-actions{display:flex!important;gap:8px!important;flex-wrap:wrap!important;position:absolute!important;right:52px!important;top:17px!important}.icon-btn{background:rgba(33,255,200,.12)!important;border-color:rgba(33,255,200,.22)!important}.friends-modal-card .profile-friends-box{display:grid!important;grid-template-columns:1fr!important;gap:8px!important}.profile-friend-row{background:rgba(255,255,255,.055)!important;border:1px solid rgba(255,255,255,.11)!important;border-radius:16px!important;}
.vip-info{cursor:help;position:relative}.vip-info:hover:after{content:'Para alterar nickname precisa ter VIP ativo';position:absolute;left:18px;top:-8px;width:220px;z-index:2147483700;background:rgba(6,12,28,.96);border:1px solid rgba(255,255,255,.16);border-radius:12px;color:#fff;padding:9px;font-size:11px;line-height:1.35;box-shadow:0 16px 40px rgba(0,0,0,.3)}
/* Chat: tags menores e campo banido limpo */
.chat-author .profile-status-tag,.chat-title-profile .profile-status-tag{font-size:7px!important;height:15px!important;padding:0 5px!important;letter-spacing:.03em!important}.profile-status-tag.banned.ban-temp{background:rgba(255,210,77,.16)!important;color:#ffe27a!important;border-color:rgba(255,210,77,.38)!important}.profile-status-tag.banned.ban-perm{background:rgba(255,49,91,.18)!important;color:#ff7d98!important;border-color:rgba(255,49,91,.38)!important}.connect-chat-inputbar input:disabled{opacity:.75!important}.connect-chat-inputbar button:disabled{opacity:.32!important;filter:grayscale(1)!important;pointer-events:none!important}
/* Game Space: janela do jogo ocupa todo o espaço marcado */
.hero-center-stage{align-self:stretch!important}.arcade-shell{width:100%!important;max-width:none!important;align-self:stretch!important;display:flex!important;flex-direction:column!important;min-height:560px!important}.arcade-topbar{flex:0 0 auto}.game-wrap{flex:1 1 auto!important;min-height:0!important;height:100%!important;display:flex!important;position:relative!important;overflow:hidden!important;border-radius:18px!important}.connect-select-placeholder{position:absolute!important;inset:0!important;display:flex!important;align-items:center!important;justify-content:center!important;background:linear-gradient(180deg,rgba(3,8,22,.74),rgba(4,10,26,.82))!important;border:1px solid rgba(33,255,200,.18)!important;border-radius:18px!important}.connect-select-placeholder .panel{min-width:270px!important;text-align:center}.connect-select-placeholder p{display:none!important}.game-overlay{inset:0!important}.arcade-help{display:none!important}#space-game,#connect-dynamic-game-frame.game-frame{width:100%!important;height:100%!important;min-height:520px!important;max-height:none!important;object-fit:cover!important}.arcade-shell.mode-iframe .game-wrap{min-height:520px!important}.arcade-btn.is-disabled,.arcade-btn:disabled{opacity:.42!important;cursor:not-allowed!important;filter:grayscale(1)!important}.game-wrap.connect-fullscreen{position:fixed!important;inset:0!important;width:100vw!important;height:100dvh!important;z-index:2147483500!important;background:#020711!important;border-radius:0!important}.game-wrap.connect-fullscreen #connect-dynamic-game-frame,.game-wrap.connect-fullscreen #space-game{width:100vw!important;height:100dvh!important;min-height:100dvh!important;border-radius:0!important;border:0!important}.connect-game-fullscreen .rd-navbar-wrap,.connect-game-fullscreen .swiper-meta,.connect-game-fullscreen .hero-market-card,.connect-game-fullscreen .live-chat-shell,.connect-game-fullscreen .hero-news-card,.connect-game-fullscreen .hero-trending-card,.connect-game-fullscreen .social-fixed{display:none!important}
/* Capas/tags: imagem cheia, tags sobre a imagem, cores por categoria */
.connect-game-cover img{object-fit:cover!important;width:100%!important;height:100%!important}.connect-game-tag.tag-new{background:#39ff14!important;color:#021306!important;box-shadow:0 0 16px rgba(57,255,20,.65)!important}.connect-game-tag.tag-adventure{background:#ffb84d!important;color:#201000!important}.connect-game-tag.tag-action{background:#ff6262!important;color:#fff!important}.connect-game-tag.tag-arcade{background:#5fb4ff!important;color:#06101e!important}.connect-game-tag.tag-rpg{background:#b277ff!important;color:#fff!important}.connect-game-tag.tag-strategy{background:#ffe05b!important;color:#1e1600!important}.connect-game-tag.tag-fps{background:#ff315b!important;color:#fff!important}.connect-game-tag.tag-sim{background:#52e0ff!important;color:#00151f!important}.connect-game-tag.tag-sports{background:#ff9f43!important;color:#1a0b00!important}.connect-game-tag.tag-puzzle{background:#7cf59b!important;color:#06160a!important}.connect-game-tag.tag-multi{background:#18d4ff!important;color:#03131c!important}.game-vip-crown{font-size:0!important}.game-vip-crown:before{content:'♛';font-size:16px}.game-hidden-eye{font-size:0!important}.game-hidden-eye:before{content:'◐';font-size:15px}.game-lock-mark{font-size:0!important}.game-lock-mark:before{content:'🔒';font-size:14px}
@media(max-width:1199px){.hero-grid{display:grid!important;grid-template-columns:1fr!important;align-items:start!important;overflow:visible!important}.arcade-shell{min-height:520px!important}.game-wrap,#space-game,#connect-dynamic-game-frame.game-frame{min-height:460px!important}.profile-info-grid.pro-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(max-width:760px){html,body{overflow-x:hidden!important}.hero-dashboard .container{padding-left:10px!important;padding-right:10px!important}.hero-grid{padding-top:95px!important}.hero-market-card.connect-games-card,.arcade-shell,.connect-chat-shell,.hero-news-card,.hero-trending-card{width:100%!important;max-width:100%!important}.connect-games-list{display:grid!important;overflow-y:auto!important;overflow-x:hidden!important;max-height:330px!important}.connect-game-item{min-width:0!important}.arcade-shell{min-height:460px!important}.game-wrap,#space-game,#connect-dynamic-game-frame.game-frame{min-height:400px!important}.profile-info-grid.pro-grid{grid-template-columns:1fr!important}.profile-top-actions{position:static!important;margin-left:0!important;margin-top:10px!important}.chat-notify-panel.open{top:70px!important}.connect-ui-card,.profile-card{width:calc(100vw - 20px)!important;max-height:88dvh!important}}


/* PATCH JOGO FULLSCREEN V4 FINAL
   Este arquivo é carregado depois do connect-games-panel.css,
   então os overrides ficam aqui para vencer connect-v6/v7/v14/v15. */
:root{
  --ct-game-normal-height:435px;
}

/* Tamanho normal solicitado: área do jogo parecida com a marcação amarela */
.arcade-shell{
  min-height:482px!important;
  height:auto!important;
  max-height:none!important;
}
.arcade-shell.mode-iframe,
.arcade-shell.mode-message{
  min-height:482px!important;
}
.game-wrap,
.arcade-shell .game-wrap,
.arcade-shell.mode-iframe .game-wrap{
  position:relative!important;
  flex:0 0 var(--ct-game-normal-height)!important;
  height:var(--ct-game-normal-height)!important;
  min-height:var(--ct-game-normal-height)!important;
  max-height:var(--ct-game-normal-height)!important;
  overflow:hidden!important;
  border-radius:18px!important;
  background:#030813!important;
}

/* Iframe do jogo ocupando toda a janela normal */
#connect-dynamic-game-frame.game-frame,
.arcade-shell.mode-iframe #connect-dynamic-game-frame.game-frame{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  min-height:0!important;
  max-height:none!important;
  border:0!important;
  border-radius:18px!important;
  display:block!important;
  background:#050b18!important;
  pointer-events:auto!important;
  z-index:5!important;
}
#connect-dynamic-game-frame.hidden,
#space-game.hidden{
  display:none!important;
}

/* Remove camadas que atrapalham clique quando o iframe está aberto */
.arcade-shell.mode-iframe #connect-select-placeholder,
.arcade-shell.mode-iframe .connect-select-placeholder,
.arcade-shell.mode-iframe #game-overlay,
.arcade-shell.mode-iframe .game-overlay,
.arcade-shell.mode-iframe #game-loading.hidden,
.arcade-shell.mode-iframe .game-loading.hidden{
  display:none!important;
  opacity:0!important;
  visibility:hidden!important;
  pointer-events:none!important;
}

/* Fullscreen real: no wrap ou no próprio iframe */
.game-wrap.connect-fullscreen,
.game-wrap:fullscreen,
.game-wrap:-webkit-full-screen{
  position:fixed!important;
  inset:0!important;
  z-index:2147483500!important;
  width:100vw!important;
  height:100vh!important;
  height:100dvh!important;
  min-width:100vw!important;
  min-height:100vh!important;
  min-height:100dvh!important;
  max-width:none!important;
  max-height:none!important;
  flex:none!important;
  padding:0!important;
  margin:0!important;
  border:0!important;
  border-radius:0!important;
  overflow:hidden!important;
  background:#050b18!important;
}
.game-wrap.connect-fullscreen #connect-dynamic-game-frame.game-frame,
.game-wrap:fullscreen #connect-dynamic-game-frame.game-frame,
.game-wrap:-webkit-full-screen #connect-dynamic-game-frame.game-frame,
#connect-dynamic-game-frame:fullscreen,
#connect-dynamic-game-frame:-webkit-full-screen{
  position:fixed!important;
  inset:0!important;
  width:100vw!important;
  height:100vh!important;
  height:100dvh!important;
  min-width:100vw!important;
  min-height:100vh!important;
  min-height:100dvh!important;
  max-width:none!important;
  max-height:none!important;
  border:0!important;
  border-radius:0!important;
  background:#050b18!important;
  pointer-events:auto!important;
  z-index:2147483501!important;
}

body.connect-game-fullscreen,
body.is-game-fullscreen{
  overflow:hidden!important;
  background:#050b18!important;
}
body.connect-game-fullscreen .rd-navbar-wrap,
body.connect-game-fullscreen .swiper-meta,
body.connect-game-fullscreen .hero-market-card,
body.connect-game-fullscreen .connect-chat-shell,
body.connect-game-fullscreen .hero-news-card,
body.connect-game-fullscreen .hero-trending-card,
body.connect-game-fullscreen .social-sidebar,
body.connect-game-fullscreen .social-fixed{
  display:none!important;
}

@media(max-width:1199px){
  :root{--ct-game-normal-height:min(58vh,435px);}
  .arcade-shell,.arcade-shell.mode-iframe,.arcade-shell.mode-message{min-height:calc(var(--ct-game-normal-height) + 58px)!important;}
}
@media(max-width:767px){
  :root{--ct-game-normal-height:min(62vh,420px);}
}

/* PATCH JOGO FULLSCREEN V5 - override final baseado na v24 */
:root{--ct-game-v5-h:435px}
.arcade-shell.mode-iframe,
.arcade-shell.mode-message,
.arcade-shell{
  min-height:501px!important;
  height:auto!important;
  max-height:none!important;
}
.game-wrap,
.arcade-shell .game-wrap,
.arcade-shell.mode-iframe .game-wrap{
  position:relative!important;
  height:var(--ct-game-v5-h)!important;
  min-height:var(--ct-game-v5-h)!important;
  max-height:var(--ct-game-v5-h)!important;
  flex:0 0 var(--ct-game-v5-h)!important;
  overflow:hidden!important;
  border-radius:18px!important;
  background:#050b18!important;
}
#connect-dynamic-game-frame.game-frame:not(.hidden),
.arcade-shell.mode-iframe #connect-dynamic-game-frame.game-frame:not(.hidden){
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  min-width:0!important;
  min-height:0!important;
  max-width:none!important;
  max-height:none!important;
  display:block!important;
  border:0!important;
  border-radius:18px!important;
  background:#050b18!important;
  pointer-events:auto!important;
  z-index:5!important;
}
.arcade-shell.mode-iframe #connect-select-placeholder,
.arcade-shell.mode-iframe .connect-select-placeholder,
.arcade-shell.mode-iframe #game-overlay,
.arcade-shell.mode-iframe .game-overlay,
.arcade-shell.mode-iframe #game-loading.hidden,
.arcade-shell.mode-iframe .game-loading.hidden{
  display:none!important;
  opacity:0!important;
  visibility:hidden!important;
  pointer-events:none!important;
}
.game-wrap.connect-fullscreen,
.game-wrap:fullscreen,
.game-wrap:-webkit-full-screen{
  position:fixed!important;
  inset:0!important;
  z-index:2147483500!important;
  width:100vw!important;
  height:100vh!important;
  height:100dvh!important;
  min-width:100vw!important;
  min-height:100vh!important;
  min-height:100dvh!important;
  max-width:none!important;
  max-height:none!important;
  flex:none!important;
  padding:0!important;
  margin:0!important;
  border:0!important;
  border-radius:0!important;
  overflow:hidden!important;
  background:#050b18!important;
}
.game-wrap.connect-fullscreen #connect-dynamic-game-frame.game-frame,
.game-wrap:fullscreen #connect-dynamic-game-frame.game-frame,
.game-wrap:-webkit-full-screen #connect-dynamic-game-frame.game-frame,
#connect-dynamic-game-frame:fullscreen,
#connect-dynamic-game-frame:-webkit-full-screen{
  position:fixed!important;
  inset:0!important;
  width:100vw!important;
  height:100vh!important;
  height:100dvh!important;
  min-width:100vw!important;
  min-height:100vh!important;
  min-height:100dvh!important;
  max-width:none!important;
  max-height:none!important;
  border:0!important;
  border-radius:0!important;
  background:#050b18!important;
  pointer-events:auto!important;
  z-index:2147483501!important;
}
body.connect-game-fullscreen,
body.is-game-fullscreen{
  overflow:hidden!important;
  background:#050b18!important;
}
body.connect-game-fullscreen .rd-navbar-wrap,
body.connect-game-fullscreen .swiper-meta,
body.connect-game-fullscreen .hero-market-card,
body.connect-game-fullscreen .connect-chat-shell,
body.connect-game-fullscreen .hero-news-card,
body.connect-game-fullscreen .hero-trending-card,
body.connect-game-fullscreen .social-sidebar,
body.connect-game-fullscreen .social-fixed{
  display:none!important;
}
@media(max-width:1199px){
  :root{--ct-game-v5-h:min(58vh,435px)}
  .arcade-shell{min-height:calc(var(--ct-game-v5-h) + 66px)!important}
}
@media(max-width:767px){
  :root{--ct-game-v5-h:min(62vh,420px)}
}

/* PATCH JOGO TAMANHO NORMAL V6
   Corrige a janela menor para ocupar o tamanho da marcação amarela.
   O v5 ainda deixava o canvas do Unity em "contain", causando faixa/sobra.
*/
:root{
  --ct-game-v6-h:435px;
}
.arcade-shell.mode-iframe,
.arcade-shell.mode-message,
.arcade-shell{
  min-height:501px!important;
}
.game-wrap,
.arcade-shell .game-wrap,
.arcade-shell.mode-iframe .game-wrap{
  height:var(--ct-game-v6-h)!important;
  min-height:var(--ct-game-v6-h)!important;
  max-height:var(--ct-game-v6-h)!important;
  flex:0 0 var(--ct-game-v6-h)!important;
}
#connect-dynamic-game-frame.game-frame:not(.hidden),
.arcade-shell.mode-iframe #connect-dynamic-game-frame.game-frame:not(.hidden){
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  min-width:100%!important;
  min-height:100%!important;
  max-width:none!important;
  max-height:none!important;
  display:block!important;
  border:0!important;
  border-radius:18px!important;
  object-fit:fill!important;
  background:#050b18!important;
}
@media(max-width:1199px){
  :root{--ct-game-v6-h:min(58vh,435px);}
}
@media(max-width:767px){
  :root{--ct-game-v6-h:min(62vh,420px);}
}

/* PATCH JOGO WEB BOTTOM GAP V7
   Ajuste fino só para desktop/web normal.
   Mobile e fullscreen continuam usando as regras anteriores.
*/
@media (min-width: 1200px){
  :root{
    --ct-game-v6-h: 456px;
    --ct-game-v7-h: 456px;
  }

  .arcade-shell.mode-iframe,
  .arcade-shell.mode-message,
  .arcade-shell{
    min-height: 522px!important;
  }

  .game-wrap,
  .arcade-shell .game-wrap,
  .arcade-shell.mode-iframe .game-wrap{
    height: var(--ct-game-v7-h)!important;
    min-height: var(--ct-game-v7-h)!important;
    max-height: var(--ct-game-v7-h)!important;
    flex: 0 0 var(--ct-game-v7-h)!important;
  }

  #connect-dynamic-game-frame.game-frame:not(.hidden),
  .arcade-shell.mode-iframe #connect-dynamic-game-frame.game-frame:not(.hidden){
    height: 100%!important;
    min-height: 100%!important;
    bottom: 0!important;
  }
}

/* Garante que fullscreen não herde a altura fixa do desktop */
.game-wrap.connect-fullscreen,
.game-wrap:fullscreen,
.game-wrap:-webkit-full-screen,
.game-wrap.connect-fullscreen #connect-dynamic-game-frame.game-frame,
.game-wrap:fullscreen #connect-dynamic-game-frame.game-frame,
.game-wrap:-webkit-full-screen #connect-dynamic-game-frame.game-frame,
#connect-dynamic-game-frame:fullscreen,
#connect-dynamic-game-frame:-webkit-full-screen{
  height: 100vh!important;
  height: 100dvh!important;
  min-height: 100vh!important;
  min-height: 100dvh!important;
}

/* PATCH SITE ONLY UNITY COVER V9
   NÃO MEXE NOS ARQUIVOS DOS JOGOS.
   Ajuste feito no SITE: a janelinha normal corta/encaixa o iframe como "cover"
   para remover sobra visual embaixo.
*/
@media (min-width: 1200px){
  :root{
    --ct-game-web-window-h: 456px;
    --ct-game-web-cover-zoom: 1.12;
  }

  .arcade-shell.mode-iframe,
  .arcade-shell.mode-message,
  .arcade-shell{
    min-height: 522px !important;
  }

  .arcade-shell.mode-iframe .game-wrap,
  .arcade-shell .game-wrap,
  .game-wrap{
    position: relative !important;
    height: var(--ct-game-web-window-h) !important;
    min-height: var(--ct-game-web-window-h) !important;
    max-height: var(--ct-game-web-window-h) !important;
    flex: 0 0 var(--ct-game-web-window-h) !important;
    overflow: hidden !important;
    background: #050b18 !important;
    border-radius: 18px !important;
  }

  .arcade-shell.mode-iframe #connect-dynamic-game-frame.game-frame:not(.hidden){
    position: absolute !important;
    left: 50% !important;
    top: 50% !important;
    right: auto !important;
    bottom: auto !important;
    width: 100% !important;
    height: 100% !important;
    min-width: 100% !important;
    min-height: 100% !important;
    max-width: none !important;
    max-height: none !important;
    display: block !important;
    border: 0 !important;
    border-radius: 18px !important;
    background: #050b18 !important;
    pointer-events: auto !important;
    transform: translate(-50%, -50%) scale(var(--ct-game-web-cover-zoom)) !important;
    transform-origin: center center !important;
  }
}

/* Fullscreen e mobile NÃO usam zoom/corte da janela web */
.game-wrap.connect-fullscreen #connect-dynamic-game-frame.game-frame,
.game-wrap:fullscreen #connect-dynamic-game-frame.game-frame,
.game-wrap:-webkit-full-screen #connect-dynamic-game-frame.game-frame,
#connect-dynamic-game-frame:fullscreen,
#connect-dynamic-game-frame:-webkit-full-screen{
  left: 0 !important;
  top: 0 !important;
  right: auto !important;
  bottom: auto !important;
  width: 100vw !important;
  height: 100vh !important;
  height: 100dvh !important;
  min-width: 100vw !important;
  min-height: 100vh !important;
  min-height: 100dvh !important;
  transform: none !important;
  border-radius: 0 !important;
}

/* PATCH SITE GAME WINDOW V10
   Ajuste correto no SITE: quem manda no tamanho da janelinha é #game-wrap/.game-wrap.
   Não mexe em /games, não mexe em Unity interno.
*/
@media (min-width: 1200px){
  :root{
    /* Aumente/diminua este valor se quiser ajuste fino da janelinha normal */
    --ct-site-game-window-h: 500px;
  }

  #arcade-shell,
  .arcade-shell,
  .arcade-shell.mode-iframe,
  .arcade-shell.mode-message{
    min-height: calc(var(--ct-site-game-window-h) + 66px) !important;
    height: auto !important;
    max-height: none !important;
  }

  #game-wrap,
  .game-wrap,
  .arcade-shell .game-wrap,
  .arcade-shell.mode-iframe .game-wrap{
    position: relative !important;
    height: var(--ct-site-game-window-h) !important;
    min-height: var(--ct-site-game-window-h) !important;
    max-height: var(--ct-site-game-window-h) !important;
    flex: 0 0 var(--ct-site-game-window-h) !important;
    overflow: hidden !important;
    border-radius: 18px !important;
    background: #050b18 !important;
  }

  /* O placeholder não é o jogo, mas precisa preencher a mesma janela quando nenhum jogo está aberto */
  #connect-select-placeholder,
  .connect-select-placeholder{
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    min-width: 100% !important;
    min-height: 100% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    pointer-events: none !important;
  }

  /* O iframe do jogo ocupa a janela do site */
  #connect-dynamic-game-frame.game-frame:not(.hidden),
  .arcade-shell.mode-iframe #connect-dynamic-game-frame.game-frame:not(.hidden){
    position: absolute !important;
    inset: 0 !important;
    left: 0 !important;
    top: 0 !important;
    right: auto !important;
    bottom: auto !important;
    width: 100% !important;
    height: 100% !important;
    min-width: 100% !important;
    min-height: 100% !important;
    max-width: none !important;
    max-height: none !important;
    display: block !important;
    border: 0 !important;
    border-radius: 18px !important;
    background: #050b18 !important;
    pointer-events: auto !important;
    transform: none !important;
  }
}

/* Mobile mantém ajuste responsivo */
@media (max-width: 1199px){
  :root{
    --ct-site-game-window-h: min(62vh, 430px);
  }
}

/* Fullscreen nunca herda a altura normal */
.game-wrap.connect-fullscreen,
.game-wrap:fullscreen,
.game-wrap:-webkit-full-screen,
.game-wrap.connect-fullscreen #connect-dynamic-game-frame.game-frame,
.game-wrap:fullscreen #connect-dynamic-game-frame.game-frame,
.game-wrap:-webkit-full-screen #connect-dynamic-game-frame.game-frame,
#connect-dynamic-game-frame:fullscreen,
#connect-dynamic-game-frame:-webkit-full-screen{
  height: 100vh !important;
  height: 100dvh !important;
  min-height: 100vh !important;
  min-height: 100dvh !important;
  max-height: none !important;
}

/* PATCH SITE GAME WINDOW V11
   Sincroniza o tamanho do JS com esta variável.
   Se quiser ajustar a janela normal, mude só este valor.
*/
@media (min-width: 1200px){
  :root{
    --ct-site-game-window-h: 500px;
  }
}

/* PATCH STOP JITTER V15_16
   Janelinha normal estável, sem loop JS contínuo.
*/
@media (min-width:1200px){
  :root{
    --ct-site-game-window-h:500px;
  }

  #arcade-shell,
  .arcade-shell,
  .arcade-shell.mode-iframe,
  .arcade-shell.mode-message{
    min-height:566px!important;
    height:auto!important;
    max-height:none!important;
  }

  #game-wrap,
  .game-wrap,
  .arcade-shell .game-wrap,
  .arcade-shell.mode-iframe .game-wrap{
    position:relative!important;
    height:var(--ct-site-game-window-h)!important;
    min-height:var(--ct-site-game-window-h)!important;
    max-height:var(--ct-site-game-window-h)!important;
    flex:0 0 var(--ct-site-game-window-h)!important;
    overflow:hidden!important;
    background:#050b18!important;
    border-radius:18px!important;
  }

  #connect-dynamic-game-frame.game-frame:not(.hidden),
  .arcade-shell.mode-iframe #connect-dynamic-game-frame.game-frame:not(.hidden){
    position:absolute!important;
    inset:0!important;
    width:100%!important;
    height:100%!important;
    min-width:100%!important;
    min-height:100%!important;
    max-width:none!important;
    max-height:none!important;
    display:block!important;
    border:0!important;
    border-radius:18px!important;
    background:#050b18!important;
    pointer-events:auto!important;
    transform:none!important;
  }
}

/* Fullscreen não herda altura da janelinha */
.game-wrap.connect-fullscreen,
.game-wrap:fullscreen,
.game-wrap:-webkit-full-screen,
.game-wrap.connect-fullscreen #connect-dynamic-game-frame.game-frame,
.game-wrap:fullscreen #connect-dynamic-game-frame.game-frame,
.game-wrap:-webkit-full-screen #connect-dynamic-game-frame.game-frame,
#connect-dynamic-game-frame:fullscreen,
#connect-dynamic-game-frame:-webkit-full-screen{
  height:100vh!important;
  height:100dvh!important;
  min-height:100vh!important;
  min-height:100dvh!important;
  max-height:none!important;
  border-radius:0!important;
}

/* PATCH ALINHAR JANELA V15_17
   Ajuste fino do alinhamento inferior da janelinha normal.
   O JS lê esta variável, então não precisa alterar JS.
*/
@media (min-width:1200px){
  :root{
    --ct-site-game-window-h:456px;
  }

  #arcade-shell,
  .arcade-shell,
  .arcade-shell.mode-iframe,
  .arcade-shell.mode-message{
    min-height:522px!important;
    height:auto!important;
    max-height:none!important;
  }

  #game-wrap,
  .game-wrap,
  .arcade-shell .game-wrap,
  .arcade-shell.mode-iframe .game-wrap{
    height:var(--ct-site-game-window-h)!important;
    min-height:var(--ct-site-game-window-h)!important;
    max-height:var(--ct-site-game-window-h)!important;
    flex:0 0 var(--ct-site-game-window-h)!important;
  }
}

/* PATCH CHAT SAFE V15_19
   Correção segura do chat sem esticar a coluna.
   Mantém altura/layout original do painel.
*/
.connect-chat-shell,
.live-chat-shell.connect-chat-shell{
  overflow:hidden!important;
}

/* Lista de mensagens: só melhora respiro/scroll, sem forçar altura da coluna */
.connect-chat-messages,
#chat-messages{
  overflow-y:auto!important;
  overflow-x:hidden!important;
  padding-right:4px!important;
  padding-bottom:8px!important;
  box-sizing:border-box!important;
}

/* Espaço entre mensagens sem transformar a lista em flex gigante */
.chat-message,
.connect-bot-message{
  margin-bottom:10px!important;
  line-height:1.35!important;
  box-sizing:border-box!important;
}

.chat-message:last-child,
.connect-bot-message:last-child{
  margin-bottom:4px!important;
}

.chat-message p,
.chat-text,
.connect-bot-message{
  overflow-wrap:anywhere!important;
  word-break:normal!important;
}

/* Barra de digitação: não deixa o botão cortar */
.connect-chat-inputbar{
  display:flex!important;
  align-items:center!important;
  gap:8px!important;
  min-height:44px!important;
  overflow:visible!important;
  box-sizing:border-box!important;
}

.connect-chat-inputbar input,
#chat-input{
  min-height:38px!important;
  height:38px!important;
  line-height:38px!important;
  box-sizing:border-box!important;
}

/* Botão enviar redondo, centralizado, sem ícone quebrado */
#chat-send-btn{
  width:42px!important;
  min-width:42px!important;
  max-width:42px!important;
  height:42px!important;
  min-height:42px!important;
  max-height:42px!important;
  padding:0!important;
  border-radius:50%!important;
  display:grid!important;
  place-items:center!important;
  line-height:1!important;
  overflow:hidden!important;
  font-size:0!important;
  position:relative!important;
  box-sizing:border-box!important;
}

#chat-send-btn::before{
  content:""!important;
  width:18px!important;
  height:18px!important;
  display:block!important;
  background:currentColor!important;
  clip-path:polygon(0 7%,100% 50%,0 93%,24% 56%,45% 50%,24% 44%)!important;
  transform:translateX(1px)!important;
}

#chat-send-btn > *,
#chat-send-btn .send-plane-icon{
  display:none!important;
}

/* Botões pequenos dentro das mensagens */
.chat-message-actions{
  margin-top:6px!important;
}

.chat-report-btn{
  line-height:1!important;
  padding:4px 6px!important;
}

/* Desktop: limita o conteúdo interno, não a coluna inteira */
@media (min-width:1200px){
  .connect-chat-messages,
  #chat-messages{
    max-height:315px!important;
  }
}

/* Mobile/tablet: mantém seguro sem esticar */
@media (max-width:1199px){
  .connect-chat-messages,
  #chat-messages{
    max-height:42vh!important;
  }
}

/* PATCH CHAT BOTTOM GAP V15_20
   Ajuste fino:
   - mensagens ficam próximas da barra de digitação quando houver poucas mensagens;
   - espaçamento entre mensagens passa a funcionar com gap real;
   - não estica a coluna inteira do chat.
*/
#chat-messages,
.connect-chat-messages{
  display:flex!important;
  flex-direction:column!important;
  justify-content:flex-start!important;
  gap:12px!important;
  row-gap:12px!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
  padding:0 4px 10px 0!important;
  box-sizing:border-box!important;
}

/* Esse pseudo-elemento empurra as mensagens para perto do input quando a lista tem poucas mensagens */
#chat-messages::before,
.connect-chat-messages::before{
  content:""!important;
  display:block!important;
  margin-top:auto!important;
  flex:1 1 auto!important;
  min-height:0!important;
}

/* O gap agora cuida do espaço; margem antiga não precisa brigar */
#chat-messages > .chat-message,
.connect-chat-messages > .chat-message,
#chat-messages > .connect-bot-message,
.connect-chat-messages > .connect-bot-message{
  flex:0 0 auto!important;
  margin:0!important;
  padding:9px 10px!important;
  line-height:1.35!important;
  box-sizing:border-box!important;
}

/* Reforço para temas/patches antigos que anulam gap */
#chat-messages > .chat-message + .chat-message,
.connect-chat-messages > .chat-message + .chat-message{
  margin-top:0!important;
}

/* Mantém a área útil do chat sem esticar a coluna */
@media (min-width:1200px){
  #chat-messages,
  .connect-chat-messages{
    height:315px!important;
    min-height:315px!important;
    max-height:315px!important;
  }
}

/* A barra de digitação fica logo abaixo da lista */
.connect-chat-inputbar{
  margin-top:8px!important;
  padding-top:0!important;
  flex:0 0 auto!important;
}

/* Um pouco mais de respiro no conteúdo da mensagem */
.chat-message-top{
  margin-bottom:5px!important;
}

.chat-text{
  display:block!important;
  line-height:1.38!important;
  overflow-wrap:anywhere!important;
}

/* PATCH CHAT COMPACT V15_21
   Ajuste dos espaços marcados:
   - reduz espaço do topo do chat;
   - aproxima mensagens da área de digitação;
   - força espaçamento real entre mensagens;
   - mantém o painel do chat no tamanho atual.
*/
#live-chat-shell.connect-chat-shell,
.connect-chat-shell{
  justify-content:flex-start!important;
  overflow:hidden!important;
}

/* topo do usuário/perfil mais compacto */
#live-chat-shell .connect-chat-topbar{
  flex:0 0 auto!important;
  margin:0 0 5px 0!important;
  padding:0!important;
}

#live-chat-shell #chat-user-mini,
#live-chat-shell .chat-user-mini{
  margin:0!important;
}

/* remove qualquer espaço fantasma da área de login quando o usuário já está logado */
#live-chat-shell #chat-auth-inline.hidden,
#live-chat-shell .connect-chat-user.hidden{
  display:none!important;
  height:0!important;
  min-height:0!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  overflow:hidden!important;
}

/* aba Geral/Privado mais próxima do topo e da lista */
#live-chat-shell #chat-channel-bar,
#live-chat-shell .chat-channel-bar{
  flex:0 0 auto!important;
  margin:4px 0 6px 0!important;
  padding:0!important;
  min-height:0!important;
}

/* lista ocupa o espaço, mas empurra as mensagens para perto do input */
#live-chat-shell #chat-messages,
#live-chat-shell .connect-chat-messages{
  flex:1 1 auto!important;
  min-height:0!important;
  height:auto!important;
  max-height:none!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:flex-start!important;
  align-items:stretch!important;
  gap:11px!important;
  row-gap:11px!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
  padding:0 4px 7px 0!important;
  margin:0!important;
  box-sizing:border-box!important;
}

/* este espaçador joga as mensagens para baixo quando tem poucas mensagens */
#live-chat-shell #chat-messages::before,
#live-chat-shell .connect-chat-messages::before{
  content:""!important;
  display:block!important;
  flex:1 1 auto!important;
  min-height:0!important;
  margin:0!important;
  padding:0!important;
}

/* mensagens: sem margem antiga; o gap acima controla o espaço */
#live-chat-shell #chat-messages > .chat-message,
#live-chat-shell .connect-chat-messages > .chat-message,
#live-chat-shell #chat-messages > .connect-bot-message,
#live-chat-shell .connect-chat-messages > .connect-bot-message{
  flex:0 0 auto!important;
  margin:0!important;
  padding:9px 10px!important;
  line-height:1.35!important;
  box-sizing:border-box!important;
}

/* preserva espaços digitados e quebra texto grande sem estourar */
#live-chat-shell .chat-text,
#live-chat-shell .chat-message p,
#live-chat-shell .connect-bot-message{
  white-space:pre-wrap!important;
  overflow-wrap:anywhere!important;
  word-break:normal!important;
}

/* input mais próximo da última mensagem */
#live-chat-shell .connect-chat-inputbar{
  flex:0 0 auto!important;
  margin-top:6px!important;
  padding-top:0!important;
  min-height:42px!important;
  display:flex!important;
  align-items:center!important;
  gap:8px!important;
  overflow:visible!important;
  box-sizing:border-box!important;
}

#live-chat-shell #chat-input{
  height:38px!important;
  min-height:38px!important;
  line-height:38px!important;
  white-space:pre!important;
}

/* botão enviar corrigido */
#live-chat-shell #chat-send-btn{
  width:42px!important;
  min-width:42px!important;
  max-width:42px!important;
  height:42px!important;
  min-height:42px!important;
  max-height:42px!important;
  padding:0!important;
  border-radius:50%!important;
  display:grid!important;
  place-items:center!important;
  font-size:0!important;
  line-height:1!important;
  overflow:hidden!important;
  box-sizing:border-box!important;
}

#live-chat-shell #chat-send-btn::before{
  content:""!important;
  width:18px!important;
  height:18px!important;
  display:block!important;
  background:currentColor!important;
  clip-path:polygon(0 7%,100% 50%,0 93%,24% 56%,45% 50%,24% 44%)!important;
  transform:translateX(1px)!important;
}

#live-chat-shell #chat-send-btn > *,
#live-chat-shell #chat-send-btn .send-plane-icon{
  display:none!important;
}

/* PATCH CHAT HIDE GUEST V15_22
   Visitante/deslogado vê somente o convite para entrar/criar conta.
   As mensagens só aparecem quando estiver logado.
*/
#live-chat-shell.ct-chat-guest #chat-messages,
#live-chat-shell.ct-chat-guest .connect-chat-messages,
.connect-chat-shell.ct-chat-guest #chat-messages,
.connect-chat-shell.ct-chat-guest .connect-chat-messages,
.live-chat-shell.ct-chat-guest #chat-messages,
.live-chat-shell.ct-chat-guest .connect-chat-messages{
  display:none!important;
  visibility:hidden!important;
  opacity:0!important;
  pointer-events:none!important;
  height:0!important;
  min-height:0!important;
  max-height:0!important;
  margin:0!important;
  padding:0!important;
  overflow:hidden!important;
}

/* remove espaços vazios quando o visitante não pode ver mensagens */
#live-chat-shell.ct-chat-guest .chat-channel-bar,
.connect-chat-shell.ct-chat-guest .chat-channel-bar,
.live-chat-shell.ct-chat-guest .chat-channel-bar{
  margin-top:8px!important;
  margin-bottom:0!important;
}

/* se o input estiver bloqueado por login, mantém discreto */
#live-chat-shell.ct-chat-guest .connect-chat-inputbar,
.connect-chat-shell.ct-chat-guest .connect-chat-inputbar,
.live-chat-shell.ct-chat-guest .connect-chat-inputbar{
  margin-top:auto!important;
}

/* PATCH CHAT SPACE V15_23
   Chat Space + bonequinho no lugar da bolinha verde + scroll visual.
*/
#live-chat-shell.ct-chat-space-v1523,
.connect-chat-shell.ct-chat-space-v1523,
.live-chat-shell.ct-chat-space-v1523{
  --ct-chat-person-icon:"👥";
}

/* tenta esconder a bolinha verde original no título do chat */
#live-chat-shell.ct-chat-space-v1523 .status-dot,
#live-chat-shell.ct-chat-space-v1523 .online-dot,
#live-chat-shell.ct-chat-space-v1523 .chat-online-dot,
#live-chat-shell.ct-chat-space-v1523 .connect-status-dot,
.connect-chat-shell.ct-chat-space-v1523 .status-dot,
.connect-chat-shell.ct-chat-space-v1523 .online-dot,
.connect-chat-shell.ct-chat-space-v1523 .chat-online-dot,
.connect-chat-shell.ct-chat-space-v1523 .connect-status-dot{
  display:none!important;
}

/* adiciona o bonequinho antes do novo título */
#live-chat-shell.ct-chat-space-v1523 .ct-chat-space-title,
.connect-chat-shell.ct-chat-space-v1523 .ct-chat-space-title,
.live-chat-shell.ct-chat-space-v1523 .ct-chat-space-title{
  display:inline-flex!important;
  align-items:center!important;
  gap:6px!important;
}

#live-chat-shell.ct-chat-space-v1523 .ct-chat-space-title::before,
.connect-chat-shell.ct-chat-space-v1523 .ct-chat-space-title::before,
.live-chat-shell.ct-chat-space-v1523 .ct-chat-space-title::before{
  content:var(--ct-chat-person-icon)!important;
  display:inline-grid!important;
  place-items:center!important;
  width:18px!important;
  height:18px!important;
  font-size:15px!important;
  line-height:1!important;
  filter:drop-shadow(0 0 6px rgba(0,255,204,.35))!important;
}

/* se a bolinha for desenhada por pseudo-elemento no título, neutraliza */
#live-chat-shell.ct-chat-space-v1523 .ct-chat-space-title::after,
.connect-chat-shell.ct-chat-space-v1523 .ct-chat-space-title::after,
.live-chat-shell.ct-chat-space-v1523 .ct-chat-space-title::after{
  display:none!important;
}

/* texto de visitante maior, mas sem estourar o card */
#live-chat-shell.ct-chat-space-v1523 .ct-chat-space-guest-copy,
.connect-chat-shell.ct-chat-space-v1523 .ct-chat-space-guest-copy,
.live-chat-shell.ct-chat-space-v1523 .ct-chat-space-guest-copy{
  line-height:1.35!important;
  max-width:100%!important;
  overflow-wrap:anywhere!important;
}

/* reforço: quando logado, lista pode rolar até a mensagem mais recente */
#live-chat-shell.ct-chat-logged #chat-messages,
#live-chat-shell.ct-chat-logged .connect-chat-messages,
.connect-chat-shell.ct-chat-logged #chat-messages,
.connect-chat-shell.ct-chat-logged .connect-chat-messages{
  scroll-behavior:smooth!important;
}

/* PATCH CHAT AUTH BUTTONS V15_24
   Garante que os botões Entrar / Criar conta continuem visíveis no bloco visitante.
*/
#live-chat-shell.ct-chat-guest #chat-auth-inline,
#live-chat-shell.ct-chat-guest .connect-chat-user,
.connect-chat-shell.ct-chat-guest #chat-auth-inline,
.connect-chat-shell.ct-chat-guest .connect-chat-user,
.live-chat-shell.ct-chat-guest #chat-auth-inline,
.live-chat-shell.ct-chat-guest .connect-chat-user{
  display:block!important;
  visibility:visible!important;
  opacity:1!important;
  height:auto!important;
  min-height:0!important;
  max-height:none!important;
  overflow:visible!important;
}

#live-chat-shell.ct-chat-guest #chat-auth-inline a,
#live-chat-shell.ct-chat-guest #chat-auth-inline button,
#live-chat-shell.ct-chat-guest .connect-chat-user a,
#live-chat-shell.ct-chat-guest .connect-chat-user button,
.connect-chat-shell.ct-chat-guest #chat-auth-inline a,
.connect-chat-shell.ct-chat-guest #chat-auth-inline button,
.connect-chat-shell.ct-chat-guest .connect-chat-user a,
.connect-chat-shell.ct-chat-guest .connect-chat-user button{
  display:inline-flex!important;
  visibility:visible!important;
  opacity:1!important;
  pointer-events:auto!important;
}

#live-chat-shell .ct-chat-space-guest-copy,
.connect-chat-shell .ct-chat-space-guest-copy,
.live-chat-shell .ct-chat-space-guest-copy{
  line-height:1.35!important;
  margin:0 0 10px 0!important;
  max-width:100%!important;
  overflow-wrap:anywhere!important;
}

/* PATCH CHAT SAFE UI DEBUG V15_29
   Só visual do chat. Sem alteração de fluxo/histórico.
*/

/* Título Chat Space com bonequinho */
.ct-chat-space-title-v1529{
  display:inline-flex!important;
  align-items:center!important;
  gap:6px!important;
}

.ct-chat-space-title-v1529::before{
  content:"👥"!important;
  display:inline-grid!important;
  place-items:center!important;
  width:18px!important;
  height:18px!important;
  font-size:15px!important;
  line-height:1!important;
}

/* Esconde bolinha verde se ela for classe separada perto do título */
.ct-chat-safe-ui-v1529 .status-dot,
.ct-chat-safe-ui-v1529 .online-dot,
.ct-chat-safe-ui-v1529 .chat-online-dot,
.ct-chat-safe-ui-v1529 .connect-status-dot{
  display:none!important;
}

/* Botão Geral só logado */
#chat-channel-bar.ct-hide-for-guest-v1529{
  display:none!important;
}

/* Botão de perfil no lugar do lápis */
#chat-profile-edit.ct-profile-icon-btn-v1529,
.ct-profile-icon-btn-v1529{
  display:inline-grid!important;
  place-items:center!important;
  width:38px!important;
  min-width:38px!important;
  height:38px!important;
  min-height:38px!important;
  padding:0!important;
  border-radius:50%!important;
  font-size:0!important;
}

#chat-profile-edit.ct-profile-icon-btn-v1529 svg,
.ct-profile-icon-btn-v1529 svg{
  display:none!important;
}

#chat-profile-edit .ct-profile-icon-v1529,
.ct-profile-icon-btn-v1529 .ct-profile-icon-v1529{
  display:inline-grid!important;
  place-items:center!important;
  width:18px!important;
  height:18px!important;
  font-size:17px!important;
  line-height:1!important;
}

/* Mini perfil mais legível */
#chat-user-mini,
.chat-user-mini{
  align-items:center!important;
  gap:10px!important;
}

#chat-mini-avatar,
.chat-mini-avatar{
  width:38px!important;
  min-width:38px!important;
  height:38px!important;
  min-height:38px!important;
  border-radius:50%!important;
}

#chat-mini-name,
.chat-mini-name{
  display:flex!important;
  flex-direction:column!important;
  justify-content:center!important;
  gap:4px!important;
  min-width:0!important;
}

#chat-mini-name strong,
.chat-mini-name strong{
  font-size:14px!important;
  line-height:1.15!important;
}

#chat-mini-name small,
.chat-mini-name small{
  font-size:12px!important;
  line-height:1.15!important;
  opacity:.98!important;
}

#chat-mini-name i,
.chat-mini-name i{
  display:block!important;
  width:100%!important;
  height:8px!important;
  border-radius:999px!important;
  overflow:hidden!important;
  background:rgba(255,255,255,.12)!important;
  margin-top:1px!important;
}

#chat-mini-name i b,
.chat-mini-name i b{
  display:block!important;
  height:100%!important;
  border-radius:999px!important;
}

/* Texto visitante sem apagar botões */
.ct-guest-copy-v1529{
  line-height:1.35!important;
  margin:0 0 10px 0!important;
  overflow-wrap:anywhere!important;
}

/* PATCH GAMES THUMB TAGS V15_30
   Lista de jogos:
   - thumb/capa maior e preenchendo a área toda;
   - remove aparência de bordas/faixas pretas na imagem;
   - mostra as tags configuradas no painel por cima da thumb.
*/
#connect-games-list .connect-game-item{
  width:100%!important;
  box-sizing:border-box!important;
  overflow:hidden!important;
}

#connect-games-list .connect-game-cover{
  position:relative!important;
  width:100%!important;
  height:96px!important;
  min-height:96px!important;
  max-height:96px!important;
  display:block!important;
  overflow:hidden!important;
  border-radius:15px!important;
  background:linear-gradient(135deg,rgba(0,255,204,.10),rgba(70,120,255,.13))!important;
  border:1px solid rgba(86,224,255,.16)!important;
  box-sizing:border-box!important;
}

#connect-games-list .connect-game-cover img{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  min-width:100%!important;
  min-height:100%!important;
  max-width:none!important;
  max-height:none!important;
  object-fit:cover!important;
  object-position:center center!important;
  display:block!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  transform:none!important;
}

#connect-games-list .connect-game-cover > span:not(.connect-game-tag){
  position:absolute!important;
  inset:0!important;
  display:grid!important;
  place-items:center!important;
  font-size:28px!important;
}

/* Tags por cima da thumb */
#connect-games-list .connect-game-tags{
  position:absolute!important;
  left:8px!important;
  top:8px!important;
  right:8px!important;
  z-index:5!important;
  display:flex!important;
  flex-wrap:wrap!important;
  align-items:flex-start!important;
  gap:5px!important;
  max-height:46px!important;
  overflow:hidden!important;
  pointer-events:none!important;
}

#connect-games-list .connect-game-tag{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:18px!important;
  padding:3px 7px!important;
  border-radius:999px!important;
  font-size:9px!important;
  line-height:1!important;
  font-weight:900!important;
  letter-spacing:.03em!important;
  text-transform:uppercase!important;
  color:#06101e!important;
  background:#52e0ff!important;
  box-shadow:0 4px 14px rgba(0,0,0,.22)!important;
  border:1px solid rgba(255,255,255,.22)!important;
  white-space:nowrap!important;
  max-width:96px!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}

#connect-games-list .connect-game-tag.tag-new{
  background:#28f586!important;
  color:#031409!important;
}

#connect-games-list .connect-game-tag.tag-adventure{
  background:#ffcf52!important;
  color:#1c1200!important;
}

#connect-games-list .connect-game-tag.tag-action{
  background:#ff6262!important;
  color:#fff!important;
}

#connect-games-list .connect-game-tag.tag-arcade{
  background:#5fb4ff!important;
  color:#06101e!important;
}

#connect-games-list .connect-game-tag.tag-rpg{
  background:#b277ff!important;
  color:#fff!important;
}

#connect-games-list .connect-game-tag.tag-strategy{
  background:#ffe05b!important;
  color:#1e1600!important;
}

#connect-games-list .connect-game-tag.tag-fps{
  background:#ff315b!important;
  color:#fff!important;
}

#connect-games-list .connect-game-tag.tag-sim{
  background:#52e0ff!important;
  color:#00151f!important;
}

#connect-games-list .connect-game-tag.tag-sports{
  background:#ff9f43!important;
  color:#1a0b00!important;
}

#connect-games-list .connect-game-tag.tag-puzzle{
  background:#7cf59b!important;
  color:#06160a!important;
}

#connect-games-list .connect-game-tag.tag-multi{
  background:#18d4ff!important;
  color:#001521!important;
}

#connect-games-list .connect-game-tag.tag-vip{
  background:#ffd86b!important;
  color:#201300!important;
}

/* ícones de VIP/oculto/bloqueado ficam no canto direito sem cobrir as tags */
#connect-games-list .connect-game-overlays{
  position:absolute!important;
  top:8px!important;
  right:8px!important;
  z-index:6!important;
  display:flex!important;
  gap:5px!important;
  pointer-events:none!important;
}

#connect-games-list .game-vip-crown,
#connect-games-list .game-hidden-eye,
#connect-games-list .game-lock-mark{
  display:inline-grid!important;
  place-items:center!important;
  min-width:22px!important;
  height:22px!important;
  border-radius:999px!important;
  background:rgba(5,11,24,.72)!important;
  border:1px solid rgba(255,255,255,.16)!important;
  font-size:13px!important;
}

/* texto abaixo da thumb mais compacto para caber bem */
#connect-games-list .connect-game-info{
  margin-top:9px!important;
}

#connect-games-list .connect-game-title{
  display:block!important;
  margin-bottom:4px!important;
}

#connect-games-list .connect-game-desc{
  margin:0 0 7px 0!important;
  line-height:1.28!important;
}


/* CONNECT_REMOVE_PERSON_ICON_REAL_START */
#live-chat-shell,
#live-chat-shell.ct-chat-space-v1523,
#live-chat-shell.ct-chat-logged,
.live-chat-shell,
.live-chat-shell.ct-chat-space-v1523,
.connect-chat-shell,
.connect-chat-shell.ct-chat-space-v1523,
.connect-chat-shell.ct-chat-logged{
  --ct-chat-person-icon:""!important;
}

#live-chat-shell .chat-title-profile::before,
#live-chat-shell.ct-chat-space-v1523 .chat-title-profile::before,
#live-chat-shell.ct-chat-logged .chat-title-profile::before,
.live-chat-shell .chat-title-profile::before,
.live-chat-shell.ct-chat-space-v1523 .chat-title-profile::before,
.connect-chat-shell .chat-title-profile::before,
.connect-chat-shell.ct-chat-space-v1523 .chat-title-profile::before,
.connect-chat-shell.ct-chat-logged .chat-title-profile::before{
  content:""!important;
  display:none!important;
  width:0!important;
  min-width:0!important;
  height:0!important;
  margin:0!important;
  padding:0!important;
  opacity:0!important;
  overflow:hidden!important;
}

.ct-bot-notice-message .chat-author b{
  display:none!important;
}

.ct-bot-notice-message .chat-rank-icon + b{
  display:none!important;
}
/* CONNECT_REMOVE_PERSON_ICON_REAL_END */


/* CONNECT_KILL_REAL_PERSON_ICON_START */

/* alvo exato do print/devtools */
.connect-chat-title.ct-chat-space-title-v1529::before,
.ct-chat-space-title-v1529::before,
div.connect-chat-title::before,
#live-chat-shell .connect-chat-title::before,
#live-chat-shell .ct-chat-space-title-v1529::before,
.connect-chat-shell .connect-chat-title::before,
.connect-chat-shell .ct-chat-space-title-v1529::before{
  content:""!important;
  display:none!important;
  width:0!important;
  min-width:0!important;
  max-width:0!important;
  height:0!important;
  min-height:0!important;
  max-height:0!important;
  margin:0!important;
  padding:0!important;
  opacity:0!important;
  overflow:hidden!important;
}

/* remove data/hora do aviso do bot */
.ct-bot-notice-message .chat-meta{
  display:none!important;
}

/* bot só com ícone + tag BOT */
.ct-bot-notice-message .chat-author b,
.ct-bot-notice-message .chat-rank-icon + b{
  display:none!important;
}

/* CONNECT_KILL_REAL_PERSON_ICON_END */




/* CONNECT_ONLY_HIDE_SELF_REPORT_START */
.chat-message.mine .chat-report-btn,
.chat-message.mine .chat-private-report-btn,
.ct-bot-notice-message .chat-report-btn,
.ct-bot-notice-message .chat-private-report-btn{
  display:none!important;
}

.ct-bot-notice-message .chat-meta{
  display:none!important;
}
/* CONNECT_ONLY_HIDE_SELF_REPORT_END */


/* CONNECT_CHAT_SCROLL_CSS_FIX_START */

/* O histórico do chat precisa rolar como lista normal.
   Não pode ser flex alinhado no fim, senão o navegador puxa para baixo. */
#chat-messages,
.connect-chat-messages {
  display: block !important;
  flex-direction: initial !important;
  justify-content: flex-start !important;
  align-content: flex-start !important;
  align-items: stretch !important;

  overflow-y: auto !important;
  overflow-x: hidden !important;
  overscroll-behavior: contain !important;

  scroll-behavior: auto !important;
  scroll-snap-type: none !important;
  scroll-padding: 0 !important;
  overflow-anchor: none !important;

  min-height: 0 !important;
}

/* Nenhuma mensagem pode virar âncora/snap automático. */
#chat-messages > *,
.connect-chat-messages > * {
  scroll-snap-align: none !important;
  scroll-snap-stop: normal !important;
  overflow-anchor: none !important;
}

/* Garante empilhamento natural: antigas em cima, novas embaixo. */
#chat-messages .chat-message,
.connect-chat-messages .chat-message {
  position: relative !important;
  transform: none !important;
}

/* CONNECT_CHAT_SCROLL_CSS_FIX_END */

