/* Shared chrome for three independent selection experiences. */
body {
  --explore-bg: #111719;
  --explore-panel: #1a2326;
  --explore-ink: #eff3ef;
  --explore-muted: #abb6b4;
  --explore-line: #3a4747;
  --explore-accent: #dfebad;
  background: var(--explore-bg);
  color: var(--explore-ink);
  font-family: system-ui, sans-serif;
  font-size: 15px;
}
.explore-shell {
  max-width: 1600px;
  margin: auto;
  padding: 24px clamp(16px, 3.5vw, 56px) 56px;
}
.explore-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  border-bottom: 1px solid var(--explore-line);
  padding-bottom: 20px;
}
.explore-brand {
  font-size: 18px;
  font-weight: 750;
  letter-spacing: -0.04em;
}
.explore-brand span {
  font-weight: 400;
  color: var(--explore-muted);
  letter-spacing: 0;
  margin-inline-start: 8px;
}
/* The switch, then Play with friends and the account control beside it. */
#views {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-end;
  gap: 10px 14px;
}
.explore-header .views {
  --views-bg: transparent;
  --views-line: var(--explore-line);
  --views-ink: var(--explore-ink);
  --views-ink-dim: var(--explore-muted);
  --views-on-bg: var(--explore-ink);
  --views-on-ink: var(--explore-bg);
}
.explore-intro {
  padding: 32px 0 24px;
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 24px;
}
.explore-eyebrow {
  font-family: ui-monospace, monospace;
  text-transform: uppercase;
  letter-spacing: 0.16em;
  font-size: 11px;
  color: var(--explore-muted);
  margin-bottom: 6px;
}
.explore-intro h1 {
  font-size: clamp(32px, 4.5vw, 60px);
  letter-spacing: -0.05em;
  line-height: 1.05;
  font-weight: 650;
}
.explore-description {
  max-width: 42ch;
  color: var(--explore-muted);
  line-height: 1.6;
}
.explore-controls {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  align-items: center;
  margin: 20px 0 12px;
}
.explore-search {
  flex: 1 1 240px;
  position: relative;
}
.explore-search input {
  width: 100%;
}
.explore-controls input,
.explore-controls select,
.explore-controls button,
.explore-error button {
  min-height: 44px;
  border: 1px solid var(--explore-line);
  border-radius: 6px;
  padding: 10px 14px;
  color: var(--explore-ink);
  background: var(--explore-panel);
  font: inherit;
}
.explore-controls select {
  max-width: 100%;
}
.explore-controls button[aria-pressed="true"] {
  background: var(--explore-ink);
  color: var(--explore-bg);
}
.explore-controls input::placeholder {
  color: var(--explore-muted);
  opacity: 1;
}
.explore-status {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 24px;
  justify-content: space-between;
  color: var(--explore-muted);
  font-size: 12px;
  margin-bottom: 24px;
}
.explore-status p:empty {
  display: none;
}
.explore-content:focus {
  outline: none;
}
.explore-image {
  position: relative;
  aspect-ratio: 4 / 3;
  overflow: hidden;
  isolation: isolate;
  background: linear-gradient(135deg, var(--g-deep), var(--g-glow));
}
.explore-image img {
  position: absolute;
  inset: 0;
  height: 100%;
  width: 100%;
  object-fit: cover;
}
.explore-image__fallback {
  position: absolute;
  inset: 0;
  display: grid;
  place-items: center;
  color: var(--g-light);
  font:
    700 clamp(24px, 5vw, 70px) / 1 ui-monospace,
    monospace;
}
.explore-error {
  padding: 60px 20px;
  text-align: center;
}
.explore-error p {
  margin: 12px 0 24px;
}
body.has-detail {
  overflow: hidden;
}
.detail {
  color: var(--light);
}
body.is-playing .explore-shell {
  visibility: hidden;
}
:focus-visible {
  outline-color: var(--explore-accent);
}
.detail :focus-visible,
.player :focus-visible {
  outline-color: var(--attract);
}
@media (max-width: 720px) {
  .explore-header,
  .explore-intro {
    align-items: start;
    flex-direction: column;
    gap: 16px;
  }
  .explore-header .views {
    width: 100%;
  }
  .explore-intro {
    padding: 24px 0;
  }
  .explore-search {
    flex-basis: 100%;
  }
  .explore-description {
    font-size: 14px;
  }
}
