/* Final responsive compatibility layer; deliberately loaded last. */
:root{--gc-top-h:52px;--gc-rail-w:48px;--gc-users-w:300px;--gc-bottom-h:0px}
html,body{width:100%;height:100%;height:100dvh;overflow:hidden}
#app{width:100%;height:100%;min-width:0;overflow:hidden}
.gcClassicTop{height:var(--gc-top-h)!important;min-height:var(--gc-top-h)!important}
.layout{height:calc(100dvh - var(--gc-top-h))!important;display:grid!important;grid-template-columns:var(--gc-rail-w) minmax(0,1fr) var(--gc-users-w)!important;gap:0!important;padding:0!important;overflow:hidden!important}
.quickbar{position:relative!important;inset:auto!important;width:var(--gc-rail-w)!important;min-width:var(--gc-rail-w)!important;max-width:var(--gc-rail-w)!important;height:100%!important;display:flex!important;flex-direction:column!important;align-items:center!important;gap:3px!important;padding:5px 4px!important;overflow-x:hidden!important;overflow-y:auto!important;border-radius:0!important}
.quickbar button{flex:0 0 39px!important;width:39px!important;min-width:39px!important;max-width:39px!important;height:39px!important;min-height:39px!important;padding:0!important}
.quickbar [data-quick="more"]{margin-top:auto!important}
.chat{grid-column:2!important;width:100%!important;min-width:0!important;height:100%!important;max-height:100%!important;padding-bottom:0!important;overflow:hidden!important;border-radius:0!important}
.messages{min-width:0!important;overflow-x:hidden!important;overflow-y:auto!important;overscroll-behavior:contain}
.composer{flex:0 0 auto!important;width:100%!important;min-width:0!important;grid-template-columns:42px 42px minmax(0,1fr) 42px 46px!important;gap:6px!important;padding:7px 9px!important}
.composer textarea{width:100%!important;min-width:0!important;max-width:none!important;resize:none!important}
.gcRightPanel{grid-column:3!important;width:var(--gc-users-w)!important;min-width:0!important;height:100%!important;max-height:100%!important;overflow:hidden!important;border-radius:0!important}
.gcUserScroll{overflow-x:hidden!important;overflow-y:auto!important;overscroll-behavior:contain!important}
.userCard{width:100%!important;max-width:100%!important;min-width:0!important}.uBody,.uMeta{min-width:0!important}.uBody strong,.uBody small{overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important}
.modal{padding:max(8px,env(safe-area-inset-top)) max(8px,env(safe-area-inset-right)) max(8px,env(safe-area-inset-bottom)) max(8px,env(safe-area-inset-left))!important;overflow:auto!important}
.modalCard{width:min(760px,100%)!important;max-width:calc(100vw - 16px)!important;max-height:calc(100dvh - 16px)!important;overflow-x:hidden!important;overflow-y:auto!important}
.pmCard,.activeCallCard{display:flex!important;flex-direction:column!important;overflow:hidden!important}.pmMessages,.videoStage{min-height:0!important;overflow-y:auto!important}.pmComposer{flex:0 0 auto!important}
.actionTray{max-height:min(78dvh,680px)!important;overflow:auto!important}.addonTrayGrid{grid-template-columns:repeat(5,minmax(64px,1fr))!important}
.emojiPanel{max-width:calc(100vw - 16px)!important;max-height:min(72dvh,600px)!important}.emojiGrid{overflow-y:auto!important;overscroll-behavior:contain!important}
.profileForm,.adminAddonGrid,.giftCatalog,.badgeGrid{min-width:0!important}
img,video,iframe,canvas{max-width:100%}
.messageSeen{color:var(--good,#58d39b);font-size:10px;white-space:nowrap}.pmReceipt{margin-left:5px;color:var(--muted,#9aa7b8);font-size:9px}.pmReceipt.read{color:var(--good,#58d39b)}
@media (min-width:901px) and (max-width:1199px){:root{--gc-users-w:260px}.gcTopRight{gap:2px!important}.coinPill,.streakPill{padding-inline:6px!important;font-size:9px!important}.addonTrayGrid{grid-template-columns:repeat(4,minmax(64px,1fr))!important}}
@media (max-width:900px){
  :root{--gc-top-h:58px;--gc-bottom-h:58px;--gc-users-w:min(330px,94vw)}
  .layout{grid-template-columns:minmax(0,1fr)!important;height:calc(100dvh - var(--gc-top-h))!important}
  .chat{grid-column:1!important;height:calc(100% - var(--gc-bottom-h))!important;padding:0!important}
  .quickbar{position:fixed!important;left:0!important;right:0!important;bottom:0!important;top:auto!important;z-index:90!important;width:100%!important;min-width:100%!important;max-width:100%!important;height:var(--gc-bottom-h)!important;display:flex!important;flex-direction:row!important;justify-content:flex-start!important;gap:2px!important;padding:4px max(4px,env(safe-area-inset-right)) max(4px,env(safe-area-inset-bottom)) max(4px,env(safe-area-inset-left))!important;overflow-x:auto!important;overflow-y:hidden!important;scroll-snap-type:x proximity}
  .quickbar button{flex:0 0 50px!important;width:50px!important;min-width:50px!important;max-width:50px!important;height:48px!important;min-height:48px!important;scroll-snap-align:start}
  .quickbar [data-quick="more"]{margin:0!important}
  .gcRightPanel{position:fixed!important;right:0!important;top:var(--gc-top-h)!important;bottom:var(--gc-bottom-h)!important;z-index:100!important;width:var(--gc-users-w)!important;height:auto!important;transform:translateX(105%)!important;transition:transform .2s ease!important;box-shadow:-18px 0 50px #0009!important}
  .gcRightPanel.mobileOpen{transform:translateX(0)!important}
  .rooms{position:fixed!important;left:0!important;top:var(--gc-top-h)!important;bottom:var(--gc-bottom-h)!important;z-index:100!important;width:min(330px,94vw)!important;height:auto!important;transform:translateX(-105%)!important;transition:transform .2s ease!important}
  .rooms.mobileOpen{transform:translateX(0)!important}
  .sidebarBackdrop{position:fixed!important;inset:var(--gc-top-h) 0 var(--gc-bottom-h)!important;z-index:95!important}
  .composer{grid-template-columns:40px 40px minmax(0,1fr) 40px 44px!important;padding:6px!important;gap:4px!important}
  .actionTray{position:fixed!important;left:8px!important;right:8px!important;bottom:calc(var(--gc-bottom-h) + 6px)!important;width:auto!important;max-width:none!important}.addonTrayGrid{grid-template-columns:repeat(4,minmax(58px,1fr))!important}
  .emojiPanel{position:fixed!important;left:8px!important;right:8px!important;bottom:calc(var(--gc-bottom-h) + 6px)!important;width:auto!important}
  .gcTopRight .coinPill,.gcTopRight .streakPill,.gcTopRight .statusChip,.gcTopRight .gcTopText{display:none!important}
}
@media (max-width:520px){
  .gcClassicTop{padding-inline:7px!important}.gcLogoBrand img{max-width:190px!important;max-height:40px!important}.gcTopRight{gap:1px!important}.gcTopIcon{width:31px!important;height:34px!important}
  .composer{grid-template-columns:38px 38px minmax(0,1fr) 38px 42px!important}.composer>button{width:38px!important;min-width:38px!important;height:40px!important}.composer textarea{min-height:40px!important;font-size:16px!important}
  .modal{padding:4px!important}.modalCard{width:100%!important;max-width:100%!important;max-height:calc(100dvh - 8px)!important;border-radius:14px!important}.pmCard,.activeCallCard{height:calc(100dvh - 8px)!important}
  .addonTrayGrid{grid-template-columns:repeat(3,minmax(58px,1fr))!important}.emojiGrid{grid-template-columns:repeat(6,minmax(36px,1fr))!important}
  .profileForm,.applicationGrid,.grid2,.pushPreferenceFields{grid-template-columns:1fr!important}.profileForm .wide{grid-column:auto!important}
}
@media (max-width:360px){.gcLogoBrand img{max-width:150px!important}.gcTopIcon{width:28px!important}.addonTrayGrid{grid-template-columns:repeat(2,minmax(58px,1fr))!important}.emojiGrid{grid-template-columns:repeat(5,minmax(36px,1fr))!important}}
@media (orientation:landscape) and (max-height:560px) and (max-width:900px){:root{--gc-top-h:48px;--gc-bottom-h:48px}.quickbar{height:48px!important}.quickbar button{height:40px!important}.modalCard{max-height:calc(100dvh - 8px)!important}.addonTrayGrid{grid-template-columns:repeat(6,minmax(54px,1fr))!important}}

/* STEP3H.2 mobile composer hardening: composer has 5 controls (plus, emoji, input, voice, send). */
.composer{align-items:center!important}
.composerPlus{grid-column:1!important;grid-row:1!important}
.composer>#emoji{grid-column:2!important;grid-row:1!important}
.composerInputWrap{grid-column:3!important;grid-row:1!important;position:relative!important;min-width:0!important;z-index:3!important;pointer-events:auto!important}
.composerInputWrap textarea,#message{display:block!important;width:100%!important;min-width:0!important;pointer-events:auto!important;touch-action:manipulation!important;user-select:text!important;-webkit-user-select:text!important;opacity:1!important;visibility:visible!important}
.composerVoice{grid-column:4!important;grid-row:1!important}
.composerSend{grid-column:5!important;grid-row:1!important}
@media(max-width:900px){
  .composer{grid-template-columns:40px 40px minmax(0,1fr) 40px 44px!important}
  .composerInputWrap,#message{min-height:40px!important}
}
@media(max-width:520px){
  .composer{grid-template-columns:38px 38px minmax(0,1fr) 38px 42px!important}
  .composerInputWrap,#message{min-height:40px!important;height:40px!important}
  #message{font-size:16px!important;line-height:1.3!important;padding:9px 10px!important}
}
@supports(padding:max(0px)){
  @media(max-width:900px){.composer{padding-bottom:max(6px,env(safe-area-inset-bottom))!important}}
}
