*{
            margin: 0;
            padding: 0;
            box-sizing: border-box;
            font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
        }

        :root {
            --spotify-green: #1DB954;
            --spotify-black: #191414;
            --spotify-gray: #535353;
            --spotify-light-gray: #dad9d9;
            --spotify-dark-gray: #31313131;
        }

        body {
    background: url("/img/SpaceCentralbg.png") no-repeat center center fixed;
    background-size: cover;
    color: white;
    background-attachment: fixed;
    background-position: center;
}       
        /* Mobile fix: make background responsive */
    @media (max-width: 768px) {
        body {
    background-attachment: scroll; /* fixes mobile responsiveness */
    background-position: center top;
    background-size: cover;
}
}


        /* Navigation Bar */

        /* === Fixed nav spacing === */
        :root { --nav-h: 64px; }

        nav 
        {
            position: relative;
            top: 0;
            left: 0;
            width: 100%;
            background-color: rgba(73, 73, 73, 0.28);
            padding: 15px 30px;
            display: flex;
            justify-content: space-between;
            align-items: center;
            z-index: 1000;
            box-shadow: 0 2px 10px rgba(0, 0, 0, 0.318);
            opacity: 500px;
        }

        .logo {
            font-size: 15px;
            font-weight: bold;
            color: white
        }

        .nav-btn {
            background-color: var(--spotify-green);
            color: white;
            border: none;
            padding: 8px 15px;
            border-radius: 20px;
            cursor: pointer;
            font-weight: bold;
            transition: all 0.3s;
        }

        .nav-btn:hover, .nav-btn:focus {
            background-color: #1ed760;
            transform: scale(1.05);
        }

        /* Header Section */
        .header-section {
            margin-top: 80px;
            padding: 40px 20px 20px;
            text-align: center;
        }

        .header-section h1 {
            font-size: 48px;
            color: var(--spotify-green);
            margin-bottom: 20px;
            text-shadow: 0 0 10px rgba(29, 185, 84, 0.5);
        }

        @keyframes scroll {
            0% { transform: translateX(0); }
            100% { transform: translateX(-100%); }
        }

        /* Spotify Player Section */
#spotify-player {
  background-image:url('/img/Spotifybg.png');
  color: #fff;
  text-align: center;
  padding: 60px 30px;
}

#spotify-player h1 {
  font-family: "DM Serif Display", serif;
  font-size: 70px;
  margin-bottom: 20px;
  color: #1DB954; /* Spotify green */
}

#spotify-player p {
  max-width: 700px;
  margin: 0 auto 40px;
  opacity: 0.85;
}

#spotify-player iframe {
  border: none;
  border-radius: 12px;
  box-shadow: 0 0 8px rgba(0, 0, 0, 0.76);
}

        /* Skip to content link for accessibility */
        .skip-link {
            position: absolute;
            top: -40px;
            left: 6px;
            background: var(--spotify-green);
            color: white;
            padding: 8px;
            z-index: 1001;
            text-decoration: none;
            border-radius: 0 0 4px 4px;
        }

        .skip-link:focus {
            top: 0;
        }

        /* Main Content */
        .container {
            max-width: 1400px;
            margin: 0 auto;
            padding: 20px;
        }

        /* Music Player Section (Above Videos) */
        .music-player-section {
            display: flex;
            gap: 20px;
            margin-bottom: 40px;
            height: 500px; /* Fixed height for the entire section */
            
        }

        /* Audio Player */
        .audio-player {
            background-color: var(--spotify-dark-gray);
            border-radius: 10px;
            padding: 20px;
            flex: 1;
            display: flex;
            flex-direction: column;
            box-shadow: 0 4px 20px rgba(0, 0, 0, 0.5);
            max-width: 400px;
            height: 100%; /* Take full height of parent */
            
        }

        .player-header {
            display: flex;
            justify-content: space-between;
            align-items: center;
            margin-bottom: 20px;
        }

        .hide-btn {
            background: none;
            border: none;
            color: var(--spotify-light-gray);
            font-size: 16px;
            cursor: pointer;
            padding: 5px 10px;
            border-radius: 4px;
        }

        .hide-btn:hover, .hide-btn:focus {
            background-color: rgba(255, 255, 255, 0.1);
            outline: 2px solid var(--spotify-green);
        }

        .cover-art {
            display: block;
            margin-left: auto;
            margin-right: auto;
            width: 50%;
            aspect-ratio: 1;
            border-radius: 8px;
            overflow: hidden;
            margin-bottom: 20px;
            
        }

        .cover-art img {
            
            width: 100%;
            height: 100%;
            object-fit: fill;
            
            
        }

        .song-info {
            text-align: center;
            margin-bottom: 20px;
        }

        .song-title {
            font-size: 18px;
            font-weight: bold;
            margin-bottom: 5px;
        }

        .song-artist {
            color: var(--spotify-light-gray);
            font-size: 14px;
        }

        .progress-container {
            margin-bottom: 20px;
        }

        .progress-bar {
            width: 100%;
            height: 6px; /* Increased height for better clickability */
            background-color: var(--spotify-gray);
            border-radius: 3px;
            cursor: pointer;
            margin-bottom: 5px;
            position: relative;
            transition: height 0.2s ease;
        }

        .progress-bar:hover {
            height: 8px; /* Slightly taller on hover for better UX */
        }

        .progress {
            height: 100%;
            background-color: var(--spotify-green);
            border-radius: 3px;
            width: 0%;
            transition: width 0.1s linear;
            position: relative;
        }

        .progress::after {
            content: '';
            position: absolute;
            right: -6px;
            top: 50%;
            transform: translateY(-50%);
            width: 12px;
            height: 12px;
            background-color: var(--spotify-green);
            border-radius: 50%;
            opacity: 0;
            transition: opacity 0.2s ease;
        }

        .progress-bar:hover .progress::after {
            opacity: 1;
        }

        .progress-bar:focus {
            outline: 2px solid var(--spotify-green);
            outline-offset: 2px;
        }

        .time-info {
            display: flex;
            justify-content: space-between;
            font-size: 12px;
            color: var(--spotify-light-gray);
        }

        .controls {
            display: flex;
            justify-content: center;
            align-items: center;
            gap: 20px;
            margin-bottom: 20px;
        }

        .control-btn {
            background: none;
            border: none;
            color: white;
            font-size: 18px;
            cursor: pointer;
            transition: color 0.3s;
            padding: 8px;
            border-radius: 50%;
            width: 40px;
            height: 40px;
            display: flex;
            align-items: center;
            justify-content: center;
        }

        .control-btn:hover, .control-btn:focus {
            color: var(--spotify-green);
            background-color: rgba(255, 255, 255, 0.1);
            outline: 2px solid var(--spotify-green);
        }

        .play-pause {
            background-color: white;
            color: black;
            width: 40px;
            height: 40px;
            border-radius: 50%;
            display: flex;
            justify-content: center;
            align-items: center;
            font-size: 16px;
        }

        .play-pause:hover, .play-pause:focus {
            transform: scale(1.05);
            color: black;
            outline: 2px solid var(--spotify-green);
        }

        .volume-container {
            display: flex;
            align-items: center;
            gap: 10px;
        }

        .volume-slider {
            flex: 1;
            -webkit-appearance: none;
            height: 4px;
            background: var(--spotify-gray);
            border-radius: 2px;
            outline: none;
        }

        .volume-slider::-webkit-slider-thumb {
            -webkit-appearance: none;
            width: 12px;
            height: 12px;
            border-radius: 50%;
            background: white;
            cursor: pointer;
        }

        .volume-slider:focus::-webkit-slider-thumb {
            background: var(--spotify-green);
            outline: 2px solid white;
        }

        /* Playlist Section */
        .playlist-section {
            background-color: var(--spotify-dark-gray);
            border-radius: 10px;
            overflow: hidden;
            flex: 1;
            display: flex;
            flex-direction: column;
            height: 100%; /* Match the audio player height */
        }

        .playlist-header {
            padding: 15px;
            background-color: rgba(0, 0, 0, 0.3);
            border-bottom: 1px solid var(--spotify-gray);
        }

        .playlist-title {
            font-size: 18px;
            color: var(--spotify-green);
            margin: 0;
        }

        .playlist {
            overflow-y: auto;
            flex: 1;
            padding: 10px;
            height: calc(100% - 60px); /* Adjust for header height */
        }

        .playlist-item {
            display: flex;
            align-items: center;
            padding: 10px;
            border-radius: 5px;
            cursor: pointer;
            transition: background-color 0.3s;
            margin-bottom: 5px;
            position: relative;
        }

        .playlist-item:hover, .playlist-item:focus {
            background-color: rgba(255, 255, 255, 0.1);
            outline: 2px solid var(--spotify-green);
        }

        .playlist-item.active {
            background-color: var(--spotify-gray);
        }

        .playlist-item.active::before {
            content: "▶";
            position: absolute;
            left: 10px;
            color: var(--spotify-green);
            font-size: 12px;
        }

        .playlist-cover {
            width: 50px;
            height: 50px;
            border-radius: 4px;
            margin-right: 10px;
            object-fit: cover;
        }

        .playlist-info {
            flex: 1;
        }

        .playlist-song-title {
            font-size: 14px;
            font-weight: bold;
        }

        .playlist-song-artist {
            font-size: 12px;
            color: var(--spotify-light-gray);
        }

        .playlist-duration {
            font-size: 12px;
            color: var(--spotify-light-gray);
            margin-left: 10px;
        }

        /* Video Gallery Section */
        .video-section {
            width: 100%;
        }

        .section-title {
            margin-bottom: 20px;
            padding-bottom: 10px;
            border-bottom: 2px solid var(--spotify-gray);
            color: var(--spotify-green);
        }

        .main-video {
            display: block;
            margin-left: auto;
            margin-right: auto;
            width: 1300px;
            height: 500px;
            margin-bottom: 20px;
            border-radius: 8px;
            overflow: hidden;
        }

        .main-video iframe {
            width: 100%;
            height: 100%;
            border: none;
        }

        .video-list {
            display: grid;
            grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
            gap: 15px;
        }

        .video-item {
            cursor: pointer;
            transition: transform 0.3s;
            border-radius: 8px;
            overflow: hidden;
            background-color: var(--spotify-dark-gray);
        }

        .video-item:hover, .video-item:focus {
            transform: translateY(-5px);
            outline: 2px solid var(--spotify-green);
        }

        .video-thumbnail {
            width: 100%;
            height: 120px;
            object-fit: cover;
        }

        .video-title {
            padding: 10px;
            font-size: 14px;
            font-weight: bold;
        }

        .video-carousel-container {
            position: relative;
        }
        
        .video-navigation {
            display: flex;
            justify-content: center;
            align-items: center;
            gap: 20px;
            margin-top: 20px;
        }
        
        .nav-btn:hover, .nav-btn:focus {
            background-color: #1ed760;
            transform: scale(1.05);
        }
        
        .nav-btn:disabled {
            background-color: var(--spotify-gray);
            cursor: not-allowed;
            transform: none;
        }
        
        .video-page-info {
            color: var(--spotify-light-gray);
            display: flex;
            align-items: center;
            font-size: 14px;
        }
        
        .video-list {
            display: grid;
            grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
            gap: 15px;
            margin-bottom: 20px;
            opacity: 1;
            transition: opacity 0.3s ease;
        }
        
        .video-list.fade-out {
            opacity: 0;
        }
        
        .video-list.fade-in {
            opacity: 1;
        }
        
        /* Loading spinner */
        .loading-spinner {
            display: none;
            position: absolute;
            top: 50%;
            left: 50%;
            transform: translate(-50%, -50%);
            width: 50px;
            height: 50px;
            border: 5px solid rgba(255, 255, 255, 0.3);
            border-radius: 50%;
            border-top-color: var(--spotify-green);
            animation: spin 1s ease-in-out infinite;
            z-index: 10;
        }
        
        @keyframes spin {
            to { transform: translate(-50%, -50%) rotate(360deg); }
        }
        
        .main-video.loading::after {
            content: '';
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            background-color: rgba(0, 0, 0, 0.7);
            display: flex;
            justify-content: center;
            align-items: center;
            z-index: 5;
        }
        
        .main-video {
            position: relative;
            width: 100%;
            overflow: hidden;
        }

        .main-video video {
            width: 100%;
            height: auto;
            object-fit: cover;
            display: block;
        }


        #loading-gif {
            position: absolute;
            top: 50%;
            left: 50%;
            transform: translate(-50%, -50%);
            max-width: 30%;
            height: auto;
            z-index: 2;
        }
        
        /* Responsive adjustments */
        @media (max-width: 1024px) {
            .video-list {
                grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
            }
        }
        
        @media (max-width: 768px) {
            .video-list {
                grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
            }
            
            .video-navigation {
                flex-wrap: wrap;
            }
        }

        @media (max-width: 768px) {
            .main-video {
                height: auto;
            }

            #loading-gif {
                max-width: 50%;
            }
        }

        /* Screen reader only text */
        .sr-only {
            position: absolute;
            width: 1px;
            height: 1px;
            padding: 0;
            margin: -1px;
            overflow: hidden;
            clip: rect(0, 0, 0, 0);
            white-space: nowrap;
            border: 0;
        }

        /* News & Events Section */
        .news-section {
            padding: 40px 20px;
            max-width: 1400px;
            margin: 0 auto;
        }

        .news-grid {
            display: grid;
            grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
            gap: 20px;
            margin-top: 20px;
        }

        .news-card {
            background-color: var(--spotify-dark-gray);
            border-radius: 8px;
            overflow: hidden;
            transition: transform 0.3s;
        }

        .news-card:hover {
            transform: translateY(-5px);
        }

        .news-image {
            width: 100%;
            height: 200px;
            object-fit: contain;
        }

        .news-content {
            padding: 15px;
        }

        .news-title {
            font-size: 18px;
            margin-bottom: 10px;
            color: var(--spotify-green);
        }

        .news-date {
            font-size: 12px;
            color: var(--spotify-light-gray);
            margin-bottom: 10px;
        }

        .news-text {
            font-size: 14px;
            color: var(--spotify-light-gray);
            margin-left: 5%;
        }

        /* Let's Get to Work Section */
        .work-section {
            background-color: var(--spotify-dark-gray);
            padding: 60px 20px;
            text-align: center;
            margin-top: 40px;
            border-radius: 10px;
            max-width: 1400px;
            margin-left: auto;
            margin-right: auto;
        }

        .work-section h1 {
            font-size: 42px;
            color: var(--spotify-green);
            margin-bottom: 30px;
            text-shadow: 0 0 10px rgba(29, 185, 84, 0.5);
        }

        .work-buttons {
            display: flex;
            justify-content: center;
            gap: 30px;
            flex-wrap: wrap;
        }

        .work-btn {
            background-color: var(--spotify-green);
            color: white;
            border: none;
            padding: 15px 30px;
            border-radius: 30px;
            cursor: pointer;
            font-weight: bold;
            font-size: 18px;
            transition: all 0.3s;
            min-width: 200px;
            display: flex;
            align-items: center;
            justify-content: center;
            gap: 10px;
        }

        .work-btn:hover, .work-btn:focus {
            background-color: #1ed760;
            transform: scale(1.05);
        }

        .work-btn i {
            font-size: 24px;
        }

        /* Footer */
        footer {
            background-color: var(--spotify-dark-gray);
            padding: 30px 20px;
            text-align: center;
            margin-top: 40px;
        }

        .social-icons {
            display: flex;
            justify-content: center;
            gap: 20px;
            margin-bottom: 20px;
        }

        .social-icon {
            color: white;
            font-size: 24px;
            transition: color 0.3s;
            padding: 5px;
            border-radius: 4px;
        }

        .social-icon:hover, .social-icon:focus {
            color: var(--spotify-green);
            outline: 2px solid var(--spotify-green);
        }

        .copyright {
            color: var(--spotify-light-gray);
            font-size: 14px;
        }

        /* Responsive Design */
        @media (max-width: 1024px) {
            .music-player-section {
                flex-direction: column;
                height: auto; /* Allow natural height on smaller screens */
            }
            
            .audio-player {
                max-width: 100%;
                height: auto;
            }
            
            .playlist-section {
                height: 400px; /* Set a fixed height for playlist on mobile */
            }
        }

        @media (max-width: 768px) {
            .video-list {
                grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
            }
            
            .main-video {
                height: 250px;
            }
            
            .header-section h1 {
                font-size: 36px;
            }
            
            .work-section h1 {
                font-size: 32px;
            }
            
            .work-buttons {
                flex-direction: column;
                align-items: center;
            }
            
            .work-btn {
                width: 100%;
                max-width: 300px;
            }
            
            .playlist-section {
                height: 350px; /* Slightly smaller height on very small screens */
            }
        }

        /* Focus indicators for better accessibility */
        *:focus {
            outline: 2px solid var(--spotify-green);
            outline-offset: 2px;
        }

        /* High contrast mode support */
        @media (prefers-contrast: high) {
            :root {
                --spotify-green: #00FF00;
                --spotify-light-gray: #FFFFFF;
            }
            
            .control-btn:hover, .control-btn:focus {
                background-color: #000000;
            }
        }

        /* Reduced motion support */
        @media (prefers-reduced-motion: reduce) {
            .brand-scroll {
                animation: infinite;
                overflow-x: auto;
            }
            
            .video-item:hover, .news-card:hover {
                transform: none;
            }
        }
         

        .news-link {
  text-decoration: none;
  color: inherit;
  display: block;
}

/* Base styles for the new home button */
.home-btn{
  background-color: var(--spotify-green);
  color:#fff;
  border:none;
  padding: 10px 16px;
  border-radius: 20px;
  font-weight: 700;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  line-height: 1;
  min-height: 44px;           /* touch target */
  min-width: 44px;            /* touch target */
  transition: transform .2s, background-color .2s;
}

.home-btn:hover,
.home-btn:focus{
  background-color:#1ed75f;
  transform: scale(1.05);
  outline: 2px solid #1ed760; /* visible focus */
  outline-offset: 2px;
}

/* Make the top bar friendly with device notches */
nav{
  padding: 15px calc(30px + env(safe-area-inset-right))
           15px calc(30px + env(safe-area-inset-left));
}

nav {
    position: sticky;
    top: 0;
    left: 0;
    width: 100%;
    background-color: rgba(73, 73, 73, 0.276);
    padding: 15px 30px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    z-index: 1000;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.5);
}



/* Tablet and below: keep things comfy */
@media (max-width: 768px){
  .logo{ font-size:14px; }
  .home-btn{ padding: 10px 14px; }
}

/* Small phones: show icon only (keeps nav from wrapping) */
@media (max-width: 480px){
  .home-btn .btn-text{ display:none; }
  .home-btn i{ font-size: 18px; }
}

/* If you prefer to re-use your existing .nav-btn look, you can alias it: */
.home-btn.nav-btn{ /* optional if you want both classes */
  display:inline-flex;
  align-items:center;
  gap:8px;
  min-height:44px;
  min-width:44px;
}



/* ================= Brand Ads Carousel (Black Design) ================= */
.brand-carousel-section{
  padding: 40px 20px;
  max-width: 1400px;
  margin: 0 auto;
}
.brand-section-header{
  display:flex;align-items:end;justify-content:space-between;gap:12px;margin-bottom:12px;
}
.brand-title{font-size:28px;font-weight:800;letter-spacing:.2px;color:#1DB954}
.brand-subtitle{color:#a5a5a5;font-size:14px}

.brand-carousel{
  position:relative;
  background: radial-gradient(800px 400px at 10% -20%, rgba(125,211,252,.06), transparent 60%),
              radial-gradient(800px 600px at 90% 120%, rgba(125,211,252,.05), transparent 60%),
              rgba(0,0,0,.35);
  border:1px solid #2a2a2a;
  border-radius:16px;
  box-shadow: 0 6px 30px rgba(0,0,0,.45);
  overflow:hidden;
  padding:16px;
  backdrop-filter: blur(2px);
}
.brand-viewport{overflow:hidden;border-radius:12px}
.brand-track{display:flex;align-items:stretch;gap:16px;will-change:transform;transition:transform .5s cubic-bezier(.2,.8,.2,1)}
.brand-slide{
  flex:0 0 calc(100% / 1.15);
  background: linear-gradient(180deg, #151515, #0c0c0c);
  border:1px solid #2a2a2a;
  border-radius:12px;
  padding:16px;
  display:grid;
  grid-template-rows: 1fr auto;
  gap:12px;
  min-height:220px;
}
@media (min-width:520px){.brand-slide{flex-basis:calc(100%/1.5)}}
@media (min-width:768px){.brand-slide{flex-basis:calc(100%/2.2)}}
@media (min-width:1024px){.brand-slide{flex-basis:calc(100%/3.2)}}
@media (min-width:1280px){.brand-slide{flex-basis:calc(100%/4.2)}}

.brand-logo{
    display:grid;
    place-items:center;
    background:#0a0a0a;
    border:1px solid #1a1a1a;
    border-radius:12px;aspect-ratio:10/10;
    overflow:hidden}

.brand-logo img{
    max-width:80%;
    max-height:80%;
    transition:transform .35s ease;
    filter: drop-shadow(0 6px 24px rgba(125,211,252,.15)
    );
}
.brand-slide:hover .brand-logo img{transform:scale(1.02)}
.brand-name{font-weight:700}
.brand-cta{font-size:13px;color:#edefb9;text-decoration:none;opacity:.9}

.brand-controls{margin-top:12px;display:flex;align-items:center;justify-content:space-between;gap:12px}
.brand-nav{display:flex;gap:8px}
.brand-btn{border:1px solid #2a2a2a;background:linear-gradient(180deg,#131313,#0a0a0a);color:#fff;border-radius:12px;padding:10px 12px;cursor:pointer;transition:transform .08s ease,border-color .2s ease,background .2s ease}
.brand-btn:hover{border-color:#3a3a3a}
.brand-btn:active{transform:translateY(1px)}

.brand-dots{display:grid;grid-auto-flow:column;gap:8px}
.brand-dot{width:8px;height:8px;border-radius:999px;border:1px solid #2b2b2b;background:#0c0c0c;opacity:.5;transition:opacity .2s ease,transform .2s ease,background .2s ease}
.brand-dot[aria-current="true"]{opacity:1;background:#ffffff;transform:scale(1.15)}

@media (prefers-reduced-motion: reduce){.brand-track{transition:none !important}}
/* ==================================================================== */

/* --- Playlist Title Popout --- */
.playlist-header.has-popout { position: relative; }

.playlist-popout {
  position: absolute;
  top: 110%;
  left: 0;
  width: min(420px, 90vw);
  background: rgba(0,0,0,0.9);
  border: 1px solid var(--spotify-gray);
  border-radius: 10px;
  padding: 16px 16px 12px;
  box-shadow: 0 12px 30px rgba(0,0,0,0.45);
  backdrop-filter: blur(6px);
  z-index: 30;
  opacity: 0;
  transform: translateY(6px);
  pointer-events: none;
  transition: opacity .18s ease, transform .18s ease;
}

.playlist-popout::before {
  content: "";
  position: absolute;
  top: -8px;
  left: 18px;
  border-width: 0 8px 8px 8px;
  border-style: solid;
  border-color: transparent transparent rgba(0,0,0,0.9) transparent;
}

.popout-title {
  margin: 0 0 8px 0;
  font-size: 16px;
  color: var(--spotify-green);
}

.popout-steps {
  margin: 0;
  padding-left: 18px;
  font-size: 14px;
  color: var(--spotify-light-gray);
  line-height: 1.45;
  list-style-type: decimal;
}

.popout-steps li + li { margin-top: 6px; }

.popout-close {
  position: absolute;
  top: 6px;
  right: 8px;
  background: transparent;
  border: 0;
  color: #fff;
  font-size: 20px;
  cursor: pointer;
}

/* Show on hover or keyboard focus */
.playlist-header.has-popout:hover .playlist-popout,
.playlist-header.has-popout:focus-within .playlist-popout,
.playlist-title[data-open="true"] ~ .playlist-popout {
  opacity: 1;
  transform: translateY(0);
  pointer-events: auto;
}

/* Tight screens */
@media (max-width: 480px) {
  .playlist-popout {
    left: 50%;
    transform: translate(-50%, 6px);
    width: min(520px, 94vw);
  }
  .playlist-header.has-popout:hover .playlist-popout,
  .playlist-header.has-popout:focus-within .playlist-popout,
  .playlist-title[data-open="true"] ~ .playlist-popout {
    transform: translate(-50%, 0);
  }
}

/* Reduced motion */
@media (prefers-reduced-motion: reduce) {
  .playlist-popout { transition: none; }
}