/* Lux Music fan onboarding is a PAGE INSIDE the existing music app.
   Keep the main sidebar, library sidebar, player, and mobile tabs visible.
   This file intentionally overrides the prior full-screen concept. */
body.fan-in-app{background:#000}
body.fan-in-app .app{display:grid!important;grid-template-columns:clamp(250px,21vw,330px) minmax(0,1fr) auto!important;grid-template-rows:minmax(0,1fr) 84px!important;gap:8px!important;height:100dvh!important;padding:8px 8px 0!important}
body.fan-in-app .app>.side{display:grid!important}
body.fan-in-app .app>.main{min-height:0!important;max-height:none!important;width:auto!important;overflow-y:auto!important;border-radius:var(--r)!important;background:#0a0908!important}
body.fan-in-app .app>.bar{display:grid!important}
body.fan-in-app .main>.view{padding:0!important;background:linear-gradient(180deg,#201710,#090909 370px)!important;min-height:100%}
body.fan-in-app .fan-page{margin:0 auto;max-width:none;width:100%;overflow:hidden}
body.fan-in-app .fan-landing .fan-hero{display:block;min-height:580px;height:auto;border:1px solid #5e4827;border-radius:16px;background:linear-gradient(98deg,#080909e8 0%,#090808c8 49%,#0c0b0b94 100%),url('/assets/lux-listener-original-atmosphere.webp') 66% 53% / cover no-repeat;overflow:hidden}
body.fan-in-app .fan-hero-top{max-width:1250px;padding:20px clamp(22px,3vw,48px);margin:0 auto}
body.fan-in-app .fan-hero-top .fan-logo img{width:160px}
body.fan-in-app .fan-hero-layout{max-width:1250px;min-height:496px;padding:24px clamp(22px,3vw,48px) 88px;grid-template-columns:minmax(0,1.1fr) minmax(280px,.9fr);gap:22px;align-items:center}
body.fan-in-app .fan-hero-copy h1{font-size:clamp(48px,5.2vw,79px);line-height:.9;margin:17px 0 24px}
body.fan-in-app .fan-hero-copy p{font-size:clamp(13px,1.08vw,16px);max-width:48ch;line-height:1.55;margin:10px 0}
body.fan-in-app .fan-eyebrow{font-size:10px}
body.fan-in-app .fan-cta{margin-top:24px}
body.fan-in-app .fan-primary,body.fan-in-app .fan-secondary{font-size:13px;padding:10px 17px;min-height:46px}
body.fan-in-app .fan-fine{font-size:11px}
body.fan-in-app .fan-hero-showcase{min-height:355px;max-width:480px;width:100%;margin:0 auto}
body.fan-in-app .fan-visual{width:clamp(258px,24vw,350px);height:390px;aspect-ratio:auto;transform:perspective(1200px) rotateY(-6deg) rotateX(2deg);border-radius:15px;box-shadow:0 20px 60px #000c,0 0 0 4px #4e341d44}
body.fan-in-app .fan-visual-top{left:18px;right:18px;top:18px;font-size:9px}
body.fan-in-app .fan-visual-bottom{left:17px;right:17px;bottom:14px;align-items:start;z-index:2}
body.fan-in-app .fan-visual-bottom b{font-size:24px}
body.fan-in-app .fan-visual-bottom span{font-size:10px}
body.fan-in-app .fan-media-mosaic{position:absolute;top:57px;left:14px;right:14px;bottom:87px;display:grid;grid-template-columns:1.05fr .95fr;gap:8px}
body.fan-in-app .fan-artist-portrait,body.fan-in-app .fan-artists-portrait,body.fan-in-app .fan-cover-tile{position:relative;min-width:0;min-height:0;overflow:hidden;border-radius:9px;border:1px solid #e5ba7772;background:#2c241e}
body.fan-in-app .fan-artist-portrait img,body.fan-in-app .fan-artists-portrait img,body.fan-in-app .fan-cover-tile img{width:100%;height:100%;object-fit:cover}
body.fan-in-app .fan-artist-portrait img{object-position:51% 20%}
body.fan-in-app .fan-artists-portrait img{object-position:51% 23%}
body.fan-in-app .fan-artist-portrait:after{content:"";position:absolute;left:0;right:0;bottom:0;height:40%;background:linear-gradient(transparent,#060606d9)}
body.fan-in-app .fan-artist-portrait span,body.fan-in-app .fan-cover-tile span{position:absolute;z-index:1;left:11px;bottom:12px;max-width:85%;font-weight:900;font-size:10px;letter-spacing:.055em;color:#f8db9e;text-shadow:0 1px 5px #000}
body.fan-in-app .fan-media-right{display:grid;grid-template-rows:1.2fr .8fr;gap:8px;min-height:0}
body.fan-in-app .fan-cover-tile:after{content:"";position:absolute;left:0;right:0;bottom:0;height:65%;background:linear-gradient(transparent,#080808d9)}
body.fan-in-app .fan-float{min-width:135px;padding:10px 12px;border-radius:9px}
body.fan-in-app .fan-float b{font-size:12px}
body.fan-in-app .fan-float-a{top:10px;right:0}
body.fan-in-app .fan-float-b{bottom:5px;left:0}
body.fan-in-app .fan-hero-bottom{min-height:42px;gap:15px}
body.fan-in-app .fan-hero-bottom span{font-size:10px}
body.fan-in-app .fan-intro{max-width:1240px;padding:60px 32px 18px;gap:28px}
body.fan-in-app .fan-intro h2,body.fan-in-app .fan-artist-panel h2,body.fan-in-app .fan-last-cta h2{font-size:clamp(36px,3.8vw,56px)}
body.fan-in-app .fan-intro p{font-size:14px}
body.fan-in-app .fan-grid{max-width:1240px;padding:20px 32px 60px;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
body.fan-in-app .fan-card{padding:21px 16px;min-height:194px}
body.fan-in-app .fan-card h3{font-size:15px}
body.fan-in-app .fan-card p{font-size:12px}
body.fan-in-app .fan-artist-panel{max-width:1176px;margin:0 32px 65px;padding:38px;gap:27px}
body.fan-in-app .fan-auth-page{min-height:calc(100dvh - 94px);padding:0;background:linear-gradient(112deg,#0b0a0af2,#0d0a0cd9),url('/assets/lux-listener-original-atmosphere.webp') center/cover no-repeat}
body.fan-in-app .fan-auth-navbar{max-width:1250px;padding:24px 32px}
body.fan-in-app .fan-auth-navbar img{width:175px}
body.fan-in-app .fan-auth-layout{max-width:1210px;grid-template-columns:minmax(0,1fr) minmax(320px,415px);gap:clamp(18px,2.8vw,60px);min-height:auto;margin:0 auto;padding:30px 32px 75px}
body.fan-in-app .fan-auth-art h1{font-size:clamp(55px,5vw,83px)}
body.fan-in-app .fan-auth-art>p{font-size:15px}
body.fan-in-app .fan-auth-card{padding:clamp(22px,2.4vw,32px)}
body.fan-in-app .fan-landing-footer{background:#0b0a09}
body.fan-in-app .fan-last-cta{max-width:1200px}
body.fan-in-app .side .navp a[data-nav=join]{border:1px solid #ad813c6b;color:#eac17a;background:#2b21152d}
body.fan-in-app .side .navp a[data-nav=join][aria-current]{color:#ffdb96;background:#51391955}
@media(max-width:1200px){
 body.fan-in-app .fan-hero-layout{grid-template-columns:minmax(0,1fr) minmax(230px,.75fr);gap:8px}
 body.fan-in-app .fan-hero-copy h1{font-size:clamp(42px,4.5vw,66px)}
 body.fan-in-app .fan-visual{width:clamp(240px,22vw,295px);height:338px}
 body.fan-in-app .fan-hero-showcase{min-height:310px}
 body.fan-in-app .fan-float{min-width:112px}
 body.fan-in-app .fan-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 body.fan-in-app .fan-auth-layout{grid-template-columns:1fr 340px;gap:22px}
}
@media(max-width:880px){
 body.fan-in-app .fan-hero-layout{display:block;padding:20px 28px 82px}
 body.fan-in-app .fan-hero-copy h1{font-size:clamp(45px,7vw,72px)}
 body.fan-in-app .fan-hero-showcase{max-width:500px;margin:26px auto 0}
 body.fan-in-app .fan-visual{width:310px;height:365px}
 body.fan-in-app .fan-auth-layout{grid-template-columns:1fr;padding:20px 25px 60px}
 body.fan-in-app .fan-auth-art h1{font-size:clamp(50px,8vw,78px)}
 body.fan-in-app .fan-auth-art-list{margin-bottom:18px}
 body.fan-in-app .fan-intro{grid-template-columns:1fr}
}
@media(max-width:600px){
 body.fan-in-app .app{display:grid!important;grid-template-columns:minmax(0,1fr)!important;grid-template-rows:minmax(0,1fr) 84px!important;padding:0!important;gap:0!important}
 body.fan-in-app .app>.side{display:none!important}
 body.fan-in-app .app>.tabs{display:flex!important}
 body.fan-in-app .main{border-radius:0!important}
 body.fan-in-app .fan-hero-top{padding:20px 15px}
 body.fan-in-app .fan-hero-layout{padding:16px 18px 68px}
 body.fan-in-app .fan-hero-copy h1{font-size:clamp(43px,12vw,64px)}
 body.fan-in-app .fan-hero-showcase{min-height:335px}
 body.fan-in-app .fan-visual{width:clamp(220px,67vw,290px);height:335px}
 body.fan-in-app .fan-hero-bottom{gap:8px}
 body.fan-in-app .fan-hero-bottom span{font-size:9px}
 body.fan-in-app .fan-intro{padding:45px 18px 16px}
 body.fan-in-app .fan-grid{grid-template-columns:1fr;padding:18px 18px 42px}
 body.fan-in-app .fan-artist-panel{margin:0 17px 45px;padding:23px}
 body.fan-in-app .fan-auth-navbar{padding:20px}
 body.fan-in-app .fan-auth-layout{padding:10px 19px 60px}
 body.fan-in-app .fan-last-cta{padding:42px 18px}
}

body.fan-in-app .fan-inapp-label{display:inline-flex;align-items:center;gap:9px;color:#efd2a1;font-weight:900;font-size:12px;letter-spacing:.16em}body.fan-in-app .fan-inapp-label b{color:#a9916b;font-weight:700}
@media(max-width:600px){
 body.fan-in-app .fan-hero-top{flex-wrap:wrap;justify-content:space-between;gap:12px}
 body.fan-in-app .fan-inapp-label{font-size:10px;letter-spacing:.07em}
 body.fan-in-app .fan-hero-top>div{gap:8px;flex-wrap:wrap}
 body.fan-in-app .fan-nav-link{font-size:11px}
 body.fan-in-app .fan-nav-join{font-size:11px;padding:7px 11px}
 body.fan-in-app .fan-hero-copy .fan-cta{display:flex;flex-direction:column;align-items:stretch;gap:10px}
 body.fan-in-app .fan-hero-copy .fan-cta>a{width:100%;white-space:normal;text-align:center}
 body.fan-in-app .fan-hero-showcase{max-width:100%;overflow:hidden;padding:8px}
 body.fan-in-app .fan-float-a{right:4px}
 body.fan-in-app .fan-float-b{left:4px}
}
