/* GPlay Alphabet Quick Jump v1.0.002: persistent A-Z rail on desktop and mobile. */
.alphabet-layout {display:block;min-width:0}
.alphabet-layout.has-alphabet {
  display:grid;
  grid-template-columns:minmax(0,1fr) 30px;
  gap:clamp(4px,0.5vw,9px);
  align-items:start;
}
.alphabet-layout > .game-grid,
.alphabet-layout > .store-grid,
.alphabet-layout > .archive-grid {min-width:0}
.alphabet-layout .alphabet-rail {
  position:sticky;
  top:72px;
  z-index:20;
  grid-column:2;
  grid-row:1;
  width:30px;
  max-height:calc(100dvh - 94px);
  overflow-y:auto;
  overscroll-behavior:contain;
  scrollbar-width:none;
  border-radius:12px;
  background:var(--surface, #111b29);
  border:1px solid var(--line, rgba(120,160,195,.24));
  box-shadow:0 5px 22px rgba(0,0,0,.12);
}
.alphabet-rail::-webkit-scrollbar {display:none}
.alphabet-rail[hidden] {display:none!important}
.alphabet-letters {display:flex;flex-direction:column;align-items:center;padding:3px 1px;gap:0}
.alphabet-letter {
  display:grid;place-items:center;width:26px;height:21px;flex:none;
  border:0;border-radius:5px;background:transparent;
  color:var(--text, #e8eef5);font-family:inherit;
  font-weight:700;font-size:10px;line-height:1;
  cursor:pointer;padding:0;
}
.alphabet-letter:hover:not(:disabled),
.alphabet-letter:focus-visible,
.alphabet-letter[aria-current="true"] {
  outline:0;background:var(--accent, #3e9dff);color:var(--accent-ink, #081521);
}
.alphabet-letter:focus-visible {outline:2px solid var(--text, #fff);outline-offset:-2px}
.alphabet-letter:disabled {opacity:.35;cursor:default}
.alphabet-layout .game-card,
.alphabet-layout .store-card,
.alphabet-layout .archive-card {scroll-margin-top:100px}
@media(max-width:760px) {
  .alphabet-layout.has-alphabet {grid-template-columns:minmax(0,1fr) 29px;gap:4px}
  .alphabet-layout .alphabet-rail {
    width:29px;
    top:72px;
    max-height:calc(100dvh - 160px);
    overflow-y:auto;
    overflow-x:hidden;
    border-radius:11px;
  }
  .alphabet-letters {padding:3px 1px}
  .alphabet-letter {
    width:26px;
    /* 27 entries fit beside the cards, above the mobile bottom navigation. */
    height:clamp(13px,calc((100dvh - 186px) / 27),20px);
    font-size:10px;
    border-radius:4px;
  }
}
@media(prefers-reduced-motion:reduce) {
  .alphabet-layout * {scroll-behavior:auto!important}
}
