/* Shared guest/member states and stable panels, desktop and mobile. */
.hero.store-carousel { aspect-ratio: 3 / 1; min-height: 0; background: #100d10; }
.hero.store-carousel .hero-art { width: 100%; height: 100%; object-fit: contain; object-position: center; }
.hero.store-carousel .hero-copy { display: none; }
.hero.store-carousel .carousel-dots { left: 50%; bottom: 3px; transform: translateX(-50%); padding: 0 4px; border-radius: 20px; background: #08070b80; }
.provider-tabs { overflow-x: auto; overflow-y: hidden; scrollbar-width: none; -ms-overflow-style: none; cursor: grab; user-select: none; padding-bottom: 0; touch-action: pan-x pan-y; }
.provider-tabs::-webkit-scrollbar { display: none; width: 0; height: 0; }
.provider-tabs.dragging,.provider-tabs.dragging * { cursor: grabbing; }
.provider-tabs img { -webkit-user-drag: none; }
.provider-tabs:focus-visible { outline: 2px solid #d4ac77; outline-offset: 3px; border-radius: 8px; }
#loginForm>h2 { padding-right: 36px; }
#memberDialog,#recordsDialog { height: 80vh; height: 80dvh; max-height: 80vh; max-height: 80dvh; overflow: hidden; }
#memberDialog .profile-card,#recordsDialog .records-card { height: 100%; max-height: none; min-height: 0; }
#recordsDialog .records-card { grid-template-rows: auto auto auto minmax(0,1fr); }
.records-overview { min-height: 0; overflow: auto; align-content: start; }
.panel-hero #memberAccount { display: block; margin: 0 0 3px; color: #c8a47e; font-size: 12px; letter-spacing: 0; font-weight: 400; overflow-wrap: anywhere; }
.panel-hero #memberShop { color: #baa6b2; overflow-wrap: anywhere; }
.machine-code-card { margin-top: 16px; }
.profile-scroll:has(#memberPoints:not([hidden])) { overflow: hidden; }
#memberPoints { height: 100%; min-height: 0; grid-template-rows: minmax(0,1fr) auto; gap: 12px; }
#pointsList { min-height: 0; max-height: none; }
.member-points-panel footer { padding-top: 12px; }
@media(min-width:901px) {
  .lobby-heading { display: none; }
  .lobby .game-search { top: 0; }
  body[data-session=guest] .hero { grid-column: 1 / -1; }
}
@media(max-width:540px) {
  .panel-hero #memberAccount { font-size: 10px; margin-bottom: 2px; }
  .panel-hero h2 { font-size: 17px; }
  .panel-hero #memberShop { font-size: 10px; }
  .member-points-panel footer { padding-top: 8px; }
  .hero.store-carousel .carousel-dots { bottom: 2px; }
  .hero.store-carousel .carousel-dots button { width: 19px; height: 17px; }
}
