/* Lobby composition only. Existing artwork, state and footer handlers stay owned
   by their renderers; these dimensions reserve the device insets once. */
.game-shell[data-scene=lobby] .lobby-topbar{
 --lobby-profile-size:60px;
 left:calc(var(--safe-left) + 15px);
 right:calc(var(--safe-right) + 15px);
 top:calc(var(--safe-top) + 12px);
 grid-template-columns:minmax(0,1fr) var(--lobby-profile-size);
 grid-template-rows:var(--lobby-profile-size) 44px;
 align-items:center;
}
.game-shell[data-scene=lobby] .lobby-topbar>.profile-button{
 height:var(--lobby-profile-size);align-items:center;gap:9px;
}
.game-shell[data-scene=lobby] .lobby-topbar>.profile-button .player-avatar{
 --profile-size:var(--lobby-profile-size)!important;
}
.game-shell[data-scene=lobby] .lobby-topbar>.profile-button .profile-nickname{
 padding:0;align-self:center;
}
.game-shell[data-scene=lobby] .lobby-topbar>.icon-button{
 /* The profile frame's painted ring occupies 107/128 of its SVG viewport. */
 width:calc(var(--lobby-profile-size) * 107 / 128);
 height:calc(var(--lobby-profile-size) * 107 / 128);
 margin:0;align-self:center;justify-self:center;
}
.game-shell[data-scene=lobby] .pvp-home-contained .pvp-home-footer{
 margin-inline:auto;
}
.game-shell[data-scene=lobby] .pvp-home-footer .lobby-collection-links{
 max-width:none;margin-inline:auto;
}
.game-shell[data-scene=lobby] .pvp-home-footer .lobby-pass-links{
 width:100%;margin-inline:auto;
}
.game-shell[data-scene=lobby] .pvp-home-contained.deck-home .hero-showcase{
 min-height:260px;flex-basis:260px;
}
.game-shell[data-scene=lobby] .pvp-home-scroll:has(.pvp-lobby[data-mode=normal]) .hero-showcase{
 flex-grow:1;
}
.game-shell[data-scene=lobby] .pvp-home-scroll:has(.pvp-lobby[data-mode=normal]) :is(.hero-showcase,.pvp-deck-change){
 translate:0 -18px;
}
.game-shell[data-scene=lobby] .pvp-home.deck-home .home-equipment{
 left:max(3%,18px);bottom:3%;gap:0;transform:none;align-items:end;
}
.game-shell[data-scene=lobby] .pvp-home.deck-home .home-equipment>.game-card{
 width:clamp(68.8px,20.8cqw,108.8px);flex:none;transform-origin:50% 88%;
}
.game-shell[data-scene=lobby] .home-equipment>.game-card:first-child{
 transform:rotate(-10deg);z-index:1;
}
.game-shell[data-scene=lobby] .home-equipment>.game-card:nth-child(2){
 margin-left:-29%;transform:rotate(10deg);z-index:2;
}
@media(max-height:650px){
 .game-shell[data-scene=lobby] .lobby-topbar{--lobby-profile-size:54px}
 .game-shell[data-scene=lobby] .pvp-home.hero-home.deck-home{
  padding-top:calc(var(--safe-top) + 120px);
  padding-bottom:calc(var(--safe-bottom) + 12px);gap:4px;
 }
 .game-shell[data-scene=lobby] .pvp-home-contained.deck-home .hero-showcase{
  min-height:174px;flex-basis:174px;
 }
 .game-shell[data-scene=lobby] .pvp-home-scroll:has(.pvp-lobby[data-mode=normal]) :is(.hero-showcase,.pvp-deck-change){translate:none}
 .game-shell[data-scene=lobby] .pvp-home.deck-home .hero-showcase>.hero-portrait{
  width:108px!important;justify-self:end;align-self:center;margin-right:8px;
 }
 .game-shell[data-scene=lobby] .pvp-home.deck-home .home-equipment{bottom:10px}
 .game-shell[data-scene=lobby] .pvp-home.deck-home .home-equipment>.game-card{width:68.8px}
 .game-shell[data-scene=lobby] .pvp-home-contained .pvp-home-footer{gap:var(--lobby-control-gap)}
 .game-shell[data-scene=lobby] .pvp-home-footer .pvp-mode-tabs{margin-top:0}
 .game-shell[data-scene=lobby] .pvp-home-footer .pvp-find-match{height:48px;min-height:48px}
 .game-shell[data-scene=lobby] .pvp-home-footer .lobby-collection-links{gap:var(--lobby-control-gap);margin-top:0}
 .game-shell[data-scene=lobby] .pvp-home-footer .lobby-collection-links>button{
  height:56px;min-height:56px;padding-block:4px;gap:2px;grid-template-rows:27px 15px;
 }
 .game-shell[data-scene=lobby] .pvp-home-footer .lobby-pass-link{height:44px;min-height:44px;padding-block:4px}
}

/* One interval for every footer row and every horizontal button group. */
.game-shell[data-scene=lobby] .pvp-home-footer{--lobby-control-gap:8px;gap:var(--lobby-control-gap)}
.game-shell[data-scene=lobby] .pvp-home-footer :is(.pvp-mode-tabs,.pvp-lobby-actions,.lobby-collection-links,.lobby-pass-links){gap:var(--lobby-control-gap);margin-block:0}
.game-shell[data-scene=lobby] .pvp-home-footer .pvp-find-match{margin:0}
