.spotify-canvas-page{
  background:#030303;
  min-height:100dvh;
  overscroll-behavior-y:contain;
  touch-action:pan-y;
  color:#f3f4f6;
}
.spotify-canvas-stage{
  min-height:100vh;
  padding:clamp(2.5rem,5vw,3.5rem);
  display:flex;
  justify-content:center;
  align-items:center;
}
.spotify-canvas-card{
  width:min(920px,92vw);
  background:rgba(10,10,10,.85);
  border:1px solid rgba(255,255,255,.08);
  border-radius:18px;
  padding:28px 22px;
  box-shadow:0 20px 40px rgba(0,0,0,.35);
}
.spotify-canvas-card h1{
  margin:0 0 10px;
  font-size:clamp(2.0rem,3vw,2.6rem);
  letter-spacing:.06em;
}
.spotify-canvas-card p{
  margin:0 0 10px;
  color:rgba(243,244,246,.78);
  line-height:1.65;
}
.kicker{
  font-size:12px;
  letter-spacing:.22em;
  text-transform:uppercase;
  color:rgba(243,244,246,.55);
  margin-bottom:10px;
}
.grid{
  display:grid;
  gap:12px;
  margin-top:18px;
}
.pills{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:14px;
}
.pill{
  border:1px solid rgba(255,255,255,.18);
  background:rgba(255,255,255,.06);
  padding:6px 12px;
  border-radius:999px;
  font-size:11px;
  letter-spacing:.12em;
  text-transform:uppercase;
}
a{
  color:inherit;
  text-decoration:none;
  border-bottom:1px solid rgba(255,255,255,.18);
  padding-bottom:2px;
}
a:hover,a:focus-visible{
  border-bottom-color:rgba(255,255,255,.55);
}
.hr{
  height:1px;
  background:rgba(255,255,255,.08);
  margin:18px 0;
}
.small{
  font-size:12px;
  color:rgba(243,244,246,.65);
}

/* Other languages collapsible list */
.spotify-canvas-card .other-languages {
  margin-top: 18px;
}
.spotify-canvas-card .other-languages details {
  margin-top: 8px;
}
.spotify-canvas-card .other-languages summary {
  cursor: pointer;
  font-weight: 600;
  list-style: none;
}
.spotify-canvas-card .other-languages summary::-webkit-details-marker {
  display: none;
}
.spotify-canvas-card .other-languages summary::marker {
  content: "";
}

/* ================================
   404-ish ambient bg (scoped)
================================ */
body.spotify-canvas-page{
  background:#050505;
}
body.spotify-canvas-page .ambient-bg{
  position:fixed;
  inset:0;
  z-index:0;
  overflow:hidden;
  pointer-events:none;
  background:#050505;
}
body.spotify-canvas-page .ambient-bg::after{
  content:"";
  position:absolute;
  inset:0;
  background-image:url("/assets/grain.png");
  background-size:300px 300px;
  opacity:.28;
  mix-blend-mode:soft-light;
  pointer-events:none;
}
body.spotify-canvas-page .ambient-bg__video{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  opacity:.75;
  filter: grayscale(100%) blur(14px) brightness(.92) contrast(1.2);
  transform: scale(1.08);
}
body.spotify-canvas-page .ambient-bg__video--mobile{
  display:none;
}
@media (max-width: 900px){
  body.spotify-canvas-page .ambient-bg__video--desktop{ display:none; }
  body.spotify-canvas-page .ambient-bg__video--mobile{ display:block; }
}
body.spotify-canvas-page .ambient-bg__overlay{
  position:absolute;
  inset:0;
  background:
    radial-gradient(circle at 50% 35%, rgba(0,0,0,.08), rgba(0,0,0,.5) 70%),
    linear-gradient(to bottom, rgba(0,0,0,.25), rgba(0,0,0,.5));
  z-index:1;
}
@media (prefers-reduced-motion: reduce){
  body.spotify-canvas-page .ambient-bg{
    display:none;
  }
}

body.spotify-canvas-page .spotify-canvas-stage{
  position:relative;
  z-index:1;
  background: transparent;
}
body.spotify-canvas-page .spotify-canvas-card{
  background: rgba(18,18,18,.62);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border: 1px solid rgba(255,255,255,.08);
  box-shadow: 0 30px 60px rgba(0,0,0,.55);
}
@media (max-width: 900px){
  body.spotify-canvas-page .spotify-canvas-card{
    background: transparent;
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
    border: none;
    box-shadow: none;
  }
}
