/* Keep the live chat, not decorative player/microphone/voice panels. */
.game-layout{grid-template-columns:minmax(0,1fr) clamp(260px,20vw,340px)!important;grid-template-areas:'arena chat'!important}
.game-layout>.players,.game-layout>.vertical-slogan{display:none!important}
.game-layout>.chat{grid-area:chat!important;position:sticky;top:70px;min-width:0}
.game-layout>.arena{grid-area:arena!important;min-width:0}
.home small.owner-name{display:block;max-width:90%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font:700 clamp(8px,.9vw,13px) system-ui,sans-serif!important;letter-spacing:.04em;color:#fff;text-shadow:0 1px 3px #000}
.win-celebration{position:absolute;inset:0;z-index:80;pointer-events:none;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:3%;overflow:hidden;border-radius:24px;background:radial-gradient(circle at 50% 62%,#501852ca,#100915d9 63%,#0b0812f0);animation:win-stage-in .45s ease-out both}
.win-celebration::before{content:"";position:absolute;inset:-35%;background:conic-gradient(from 0deg,transparent 0 14%,#b7ff2a40 16% 19%,transparent 22% 38%,#ff36a040 40% 43%,transparent 46% 64%,#31d9eb40 66% 69%,transparent 72% 88%,#ff922f40 90% 93%,transparent 96%);animation:win-lights 4s linear infinite}
.win-celebration strong{z-index:1;max-width:90%;text-align:center;font:clamp(18px,4vw,46px) "Archivo Black",system-ui,sans-serif;color:#fafff2;text-shadow:0 0 15px #ff39af,0 0 35px #b7ff2a,4px 4px 0 #200d2d;animation:win-pulse 1s ease-in-out infinite alternate}
.win-band{z-index:1;width:85%;height:31%;display:flex;align-items:flex-end;justify-content:center;gap:1%;border-bottom:5px solid #fc4bc4;box-shadow:0 16px 22px -10px #ff39af}
.win-musician{display:block;width:23%;height:100%;background:url('full-body-band-figures-v1.png') no-repeat;background-size:400% 400%;filter:drop-shadow(0 6px 4px #000) drop-shadow(0 0 12px #fff8);transform-origin:50% 92%;animation:win-jam .52s ease-in-out infinite alternate}
@keyframes win-stage-in{from{opacity:0;transform:scale(.74)}to{opacity:1;transform:scale(1)}}
@keyframes win-lights{to{transform:rotate(360deg)}}
@keyframes win-pulse{to{transform:scale(1.08);filter:hue-rotate(45deg)}}
@keyframes win-jam{to{transform:rotate(7deg) translateY(-6%)}}
@media(prefers-reduced-motion:reduce){.win-celebration,.win-celebration::before,.win-celebration strong,.win-musician{animation:none!important}}
@media(max-width:980px){.game-layout{grid-template-columns:1fr!important;grid-template-areas:'arena' 'chat'!important}.game-layout>.chat{position:static}}
@media (orientation:landscape) and (pointer:coarse){
  .game-shell{width:100%!important;max-width:none!important;padding:0 4px!important}
  .game-layout{grid-template-columns:minmax(0,1fr) clamp(110px,14vw,180px)!important;grid-template-areas:'arena chat'!important;gap:4px!important}
  .game-layout>.arena{padding:1px 2px 2px!important;overflow:visible!important}
  .game-layout>.chat{display:flex!important;grid-area:chat!important;position:static!important;margin:36px 0 0!important;padding:8px!important;max-height:calc(100dvh - 40px);min-height:0!important;overflow:hidden}
  .game-layout>.chat .messages{display:block!important;min-height:0;overflow:auto}
  .turn-banner{height:28px!important;margin:0 auto 2px!important;padding-top:1px!important}
  .board-wrap{width:min(calc(100dvh - 52px),calc(100vw - clamp(125px,15vw,195px)))!important;max-width:none!important;margin:0 auto!important;padding:0!important}
  .board{width:100%!important;max-width:none!important;aspect-ratio:1/1!important;height:auto!important}
  .home small.owner-name{font-size:clamp(7px,1.1vw,11px)!important}
  .chat-head{padding-bottom:5px}.chat-head small,.chat .quick{display:none!important}
  html.android-app body .game-layout{grid-template-columns:minmax(0,1fr) clamp(110px,14vw,180px)!important;grid-template-areas:'arena chat'!important;gap:4px!important}
  html.android-app body .players{display:none!important}
  html.android-app body .chat{display:flex!important;grid-area:chat!important;position:static!important;margin:36px 0 0!important;padding:8px!important;max-height:calc(100dvh - 40px)!important;min-height:0!important;overflow:hidden!important}
  html.android-app body .turn-banner{height:28px!important;margin:0 auto 2px!important}
  html.android-app body .board-wrap{width:min(calc(100dvh - 52px),calc(100vw - clamp(125px,15vw,195px)))!important;max-width:none!important;margin:0 auto!important}
  html.android-app body .home small.owner-name{font-size:clamp(7px,1.1vw,11px)!important}
}
@media (orientation:portrait) and (pointer:coarse){.game-layout{display:flex!important;flex-direction:column!important}.game-layout>.arena{order:0;width:100%!important;padding:2px!important}.board-wrap{width:min(calc(100vw - 8px),calc(100dvh - 90px))!important;max-width:none!important}.board{aspect-ratio:1/1!important}.game-layout>.chat{order:1;width:100%;margin:5px 0!important;min-height:120px!important}}
