body{
  font-family:"Manrope",sans-serif;
}

h1,h2,h3,h4,.brand,.hero-tagline{
  font-family:"Outfit",sans-serif;
}

.avatar{
  object-fit:cover;
  border:1px solid rgba(255,255,255,.16);
  box-shadow:0 0 0 3px rgba(166,60,255,.12),0 8px 22px rgba(0,0,0,.25);
}

.launchpad-hero{
  position:relative;
  isolation:isolate;
  display:block;
  min-height:560px;
  padding:0;
  overflow:hidden;
  background:
    radial-gradient(circle at 78% 30%,rgba(30,110,255,.13),transparent 30%),
    radial-gradient(circle at 25% 82%,rgba(166,60,255,.15),transparent 36%),
    linear-gradient(145deg,#06030d 0%,#0a0613 56%,#05030a 100%);
}

.launchpad-hero::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:0;
  background:
    linear-gradient(90deg,rgba(5,3,11,.52),transparent 35%,rgba(5,3,11,.18)),
    linear-gradient(0deg,rgba(5,3,11,.94) 0%,rgba(5,3,11,.18) 53%,rgba(5,3,11,.46) 100%);
  pointer-events:none;
}

.launchpad-hero::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:4;
  border:1px solid rgba(255,255,255,.07);
  border-radius:inherit;
  box-shadow:inset 0 0 90px rgba(0,0,0,.36);
  pointer-events:none;
}

.launchpad-banner-rail{
  position:absolute;
  top:30px;
  left:34px;
  right:34px;
  z-index:1;
  height:158px;
  display:grid;
  place-items:center;
  overflow:hidden;
  border:1px solid rgba(98,172,255,.20);
  border-radius:20px;
  background:linear-gradient(180deg,rgba(4,6,15,.94),rgba(6,3,14,.82));
  box-shadow:0 22px 70px rgba(0,0,0,.34),inset 0 0 45px rgba(22,120,255,.06);
}

.launchpad-banner-glow{
  position:absolute;
  inset:20% 13%;
  background:linear-gradient(90deg,rgba(24,207,255,.12),rgba(75,115,255,.25),rgba(24,207,255,.12));
  filter:blur(32px);
  opacity:.75;
}

.hero-banner-art{
  position:relative;
  z-index:1;
  width:94%;
  height:78%;
  object-fit:contain;
  object-position:center;
  filter:saturate(1.12) contrast(1.08) drop-shadow(0 0 22px rgba(44,170,255,.18));
  transition:transform 7s ease,filter .4s ease;
}

.launchpad-hero:hover .hero-banner-art{
  transform:scale(1.025);
  filter:saturate(1.2) contrast(1.1) drop-shadow(0 0 32px rgba(44,170,255,.26));
}

.hero-body{
  position:relative;
  z-index:2;
  min-height:560px;
  display:grid;
  grid-template-columns:190px minmax(0,610px) 1fr;
  align-items:end;
  gap:28px;
  padding:214px 46px 42px;
}

.hero-profile-card{
  position:relative;
  width:190px;
  align-self:end;
  padding:7px;
  border:1px solid rgba(255,255,255,.12);
  border-radius:28px;
  background:linear-gradient(145deg,rgba(255,255,255,.08),rgba(255,255,255,.025));
  box-shadow:0 28px 70px rgba(0,0,0,.45),0 0 42px rgba(113,55,255,.14);
  backdrop-filter:blur(14px);
}

.hero-profile-card::before{
  content:"";
  position:absolute;
  inset:-12%;
  z-index:-1;
  background:radial-gradient(circle,rgba(108,79,255,.24),transparent 67%);
  filter:blur(24px);
}

.hero-profile-card>img{
  display:block;
  width:100%;
  aspect-ratio:4/5;
  object-fit:cover;
  object-position:center top;
  border-radius:21px;
}

.profile-status{
  position:absolute;
  left:15px;
  right:15px;
  bottom:15px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:7px;
  min-height:30px;
  padding:7px 10px;
  border:1px solid rgba(255,255,255,.12);
  border-radius:999px;
  background:rgba(5,3,12,.78);
  backdrop-filter:blur(12px);
  color:#e8e2f6;
  font-size:8px;
  font-weight:700;
  letter-spacing:.14em;
}

.profile-status i{
  width:6px;
  height:6px;
  border-radius:50%;
  background:#59eda2;
  box-shadow:0 0 12px rgba(89,237,162,.7);
}

.launchpad-hero .hero-copy{
  position:relative;
  width:auto;
  padding:28px 30px;
  border:1px solid rgba(255,255,255,.09);
  border-radius:24px;
  background:linear-gradient(145deg,rgba(9,5,18,.82),rgba(20,9,35,.52));
  backdrop-filter:blur(20px);
  box-shadow:0 24px 70px rgba(0,0,0,.34);
}

.launchpad-hero .hero-copy h1{
  margin:8px 0 3px;
  font-family:"Outfit",sans-serif;
  font-size:clamp(36px,4.2vw,58px);
  line-height:.96;
  font-weight:600;
  letter-spacing:-.035em;
  text-shadow:0 10px 30px rgba(0,0,0,.55);
}

.hero-tagline{
  display:block;
  margin-top:8px;
  color:#c9b8ff;
  font-size:clamp(13px,1.4vw,18px);
  font-weight:600;
  letter-spacing:.01em;
}

.launchpad-hero .hero-copy p{
  max-width:530px;
  margin:13px 0 0;
  color:rgba(240,235,249,.77);
  font-size:14px;
  line-height:1.65;
}

.launchpad-hero .hero-actions{
  margin-top:20px;
}

.now-panel{
  position:relative;
  overflow:hidden;
  background:
    radial-gradient(circle at 50% 62%,rgba(100,65,255,.13),transparent 38%),
    var(--panel);
}

.now-panel::after{
  content:"";
  position:absolute;
  inset:auto 12% 18px;
  height:1px;
  background:linear-gradient(90deg,transparent,rgba(145,114,255,.34),transparent);
}

.now-panel canvas{
  filter:drop-shadow(0 0 18px rgba(117,91,255,.18));
}

.about-card>img{
  aspect-ratio:4/5;
  object-fit:cover;
  object-position:center top;
  border-radius:24px;
  border:1px solid rgba(255,255,255,.12);
  box-shadow:0 25px 65px rgba(0,0,0,.4),0 0 42px rgba(166,60,255,.16);
  filter:none;
}

@media(max-width:1100px){
  .launchpad-hero{min-height:570px}
  .launchpad-banner-rail{height:145px}
  .hero-body{
    min-height:570px;
    grid-template-columns:160px 1fr;
    padding:202px 34px 34px;
  }
  .hero-profile-card{width:160px}
}

@media(max-width:760px){
  .main-content{
    padding:0 12px 158px;
  }

  .topbar{
    height:68px;
    gap:9px;
    padding:8px 0;
  }

  .menu-button{
    flex:0 0 42px;
    width:42px;
    height:42px;
    border:1px solid var(--line);
    border-radius:13px;
    background:rgba(10,7,18,.72);
  }

  .search{
    width:auto;
    min-width:0;
    height:46px;
    border-radius:15px;
    padding:0 13px;
  }

  .search input{
    min-width:0;
    font-size:15px;
  }

  .launchpad-hero{
    min-height:0;
    margin-bottom:24px;
    border-radius:22px;
    overflow:hidden;
  }

  .launchpad-hero::before{
    background:
      radial-gradient(circle at 24% 35%,rgba(70,55,255,.14),transparent 32%),
      linear-gradient(180deg,rgba(5,3,11,.08),rgba(5,3,11,.72) 72%,rgba(5,3,11,.96));
  }

  .launchpad-banner-rail{
    position:relative;
    top:auto;
    left:auto;
    right:auto;
    height:72px;
    margin:12px 12px 0;
    border-radius:14px;
    box-shadow:inset 0 0 30px rgba(22,120,255,.08);
  }

  .launchpad-banner-glow{
    inset:24% 15%;
    filter:blur(22px);
  }

  .hero-banner-art{
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    padding:10px 12px 4px;
    object-fit:contain;
    object-position:center 44%;
    transform:translateY(-4px) scale(.92);
    filter:saturate(1.13) contrast(1.08) drop-shadow(0 0 13px rgba(44,170,255,.22));
  }

  .launchpad-hero:hover .hero-banner-art{
    transform:translateY(-4px) scale(.92);
  }

  .hero-body{
    min-height:0;
    display:grid;
    grid-template-columns:88px minmax(0,1fr);
    align-items:start;
    gap:14px;
    padding:15px 16px 18px;
  }

  .hero-profile-card{
    width:88px;
    margin:0;
    padding:4px;
    align-self:start;
    border-radius:19px;
    box-shadow:0 16px 36px rgba(0,0,0,.38),0 0 28px rgba(113,55,255,.12);
  }

  .hero-profile-card>img{
    border-radius:15px;
  }

  .profile-status{
    display:none;
  }

  .launchpad-hero .hero-copy{
    min-width:0;
    padding:3px 0 0;
    border:0;
    border-radius:0;
    background:transparent;
    backdrop-filter:none;
    box-shadow:none;
  }

  .launchpad-hero .hero-copy .eyebrow{
    display:block;
    overflow:hidden;
    color:#938ba2;
    font-size:7px;
    line-height:1.25;
    letter-spacing:.13em;
    white-space:nowrap;
    text-overflow:ellipsis;
  }

  .launchpad-hero .hero-copy h1{
    margin:6px 0 0;
    font-size:clamp(25px,7.7vw,32px);
    line-height:1;
    font-weight:600;
    letter-spacing:-.04em;
    white-space:nowrap;
  }

  .hero-tagline{
    margin-top:7px;
    font-size:12px;
    line-height:1.25;
  }

  .launchpad-hero .hero-copy p{
    display:-webkit-box;
    margin:8px 0 0;
    overflow:hidden;
    color:rgba(240,235,249,.68);
    font-size:11.5px;
    line-height:1.45;
    -webkit-box-orient:vertical;
    -webkit-line-clamp:3;
  }

  .launchpad-hero .hero-actions{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:8px;
    margin-top:12px;
  }

  .launchpad-hero .hero-actions .primary,
  .launchpad-hero .hero-actions .secondary{
    width:auto;
    min-width:0;
    min-height:38px;
    padding:9px 8px;
    border-radius:11px;
    font-size:10px;
    white-space:nowrap;
  }

  .player-bar{
    left:0;
    bottom:54px;
    height:68px;
    grid-template-columns:minmax(0,1fr) auto;
    gap:8px;
    padding:8px 12px;
  }

  .current-track{
    min-width:0;
    gap:9px;
  }

  .current-track img{
    width:46px;
    height:46px;
    border-radius:9px;
  }

  .current-track strong{
    font-size:13px;
  }

  .current-track small{
    max-width:46vw;
    font-size:9px;
  }

  .transport-buttons{
    gap:7px;
  }

  .transport-buttons button{
    font-size:13px;
  }

  .main-play{
    width:42px;
    height:42px;
  }

  .mobile-nav{
    height:54px;
  }

  .mobile-nav span{
    font-size:8px;
  }

  .section-head{
    align-items:flex-end;
  }

  .section-head h2{
    margin-bottom:10px;
    font-size:24px;
  }
}

@media(max-width:420px){
  .main-content{padding-left:10px;padding-right:10px}

  .launchpad-banner-rail{
    height:64px;
    margin:10px 10px 0;
  }

  .hero-banner-art{
    padding:8px 9px 3px;
    transform:translateY(-3px) scale(.9);
  }

  .launchpad-hero:hover .hero-banner-art{
    transform:translateY(-3px) scale(.9);
  }

  .hero-body{
    grid-template-columns:78px minmax(0,1fr);
    gap:12px;
    padding:13px 13px 16px;
  }

  .hero-profile-card{
    width:78px;
    border-radius:17px;
  }

  .hero-profile-card>img{
    border-radius:13px;
  }

  .launchpad-hero .hero-copy h1{
    font-size:clamp(23px,7.5vw,29px);
  }

  .hero-tagline{
    font-size:11px;
  }

  .launchpad-hero .hero-copy p{
    font-size:10.8px;
    -webkit-line-clamp:2;
  }

  .launchpad-hero .hero-actions{
    margin-top:10px;
  }

  .launchpad-hero .hero-actions .primary,
  .launchpad-hero .hero-actions .secondary{
    min-height:36px;
    padding:8px 6px;
    font-size:9px;
  }
}

@media(prefers-reduced-motion:reduce){
  .hero-banner-art,
  .launchpad-hero:hover .hero-banner-art{
    transition:none;
  }
}
