.overlay {
  position: fixed;
  inset: 0;
  z-index: 20;
  display: grid;
  place-items: center;
  padding: 24px;
  background: rgb(4 6 16 / 75%);
  backdrop-filter: blur(4px);
}
.sheet {
  position: relative;
  width: min(620px, 100%);
  max-height: 85dvh;
  overflow-y: auto;
  padding: 28px;
  border: 1px solid #393345;
  border-radius: 18px;
  background: #1d1c27;
  box-shadow: 0 24px 80px #0008;
}
.sheet h2 { margin: 0 36px 18px 0; font-size: 28px; overflow-wrap: anywhere; }
.sheet button, .sheet select {
  font: inherit;
  color: inherit;
  background: #282533;
  border: 1px solid #4b445f;
  border-radius: 10px;
  padding: 10px 14px;
  cursor: pointer;
}
.sheet button:hover { border-color: var(--accent); }
.sheet .sheet-close { position: absolute; top: 14px; right: 14px; padding: 8px 12px; }
.sheet .muted { color: var(--muted); }
.sheet .error { color: #ff93ae; }
.sheet .tabs { display: flex; flex-wrap: wrap; gap: 8px; margin: 16px 0; }
.sheet .tab.active { color: #101116; background: var(--accent); border-color: var(--accent); }
.sheet .board { display: grid; gap: 8px; list-style: none; margin: 0; padding: 0; }
.sheet .board li {
  display: grid;
  grid-template-columns: 28px auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 10px;
  padding: 12px;
  border-radius: 12px;
  background: #282533;
}
.sheet .board li.me { outline: 1px solid var(--accent); }
.sheet .rank { text-align: center; color: var(--muted); }
.sheet .board-name { font-weight: 650; overflow-wrap: anywhere; }
.sheet .board-score { text-align: right; font-weight: 750; font-variant-numeric: tabular-nums; }
.sheet .board-plays { grid-column: 3 / -1; color: var(--muted); font-size: 13px; }
.sheet .score-details { display: block; color: var(--muted); font-size: 12px; font-weight: 400; }
.sheet .profile-avatar {
  display: inline-grid;
  place-items: center;
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background: var(--tile);
  overflow: hidden;
}
.sheet .profile-avatar img { width: 100%; height: 100%; object-fit: cover; }
.sheet .pair { display: inline-flex; align-items: center; }
.sheet .pair .profile-avatar + .profile-avatar { margin-left: -9px; }
.sheet .recent { list-style: none; display: grid; gap: 10px; padding: 0; font-size: 14px; }
.sheet .recent li { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.sheet .recent .when { margin-left: auto; }
.sheet .board-season { margin: 0; font-size: 14px; }
.sheet .linkish { border: 0; background: none; padding: 0; color: var(--accent); text-decoration: underline; }
@media (max-width: 560px) {
  .overlay { padding: 12px; }
  .sheet { padding: 20px 16px; max-height: 90dvh; }
  .sheet h2 { font-size: 24px; }
  .sheet .board li { padding: 10px 8px; gap: 7px; }
  .sheet .board-score { max-width: 100px; overflow-wrap: anywhere; }
}
