/* MovVibe Mood Studio: dark-night interactive radio layout; genre-grounded, not poster-wall template */
:root{--mv-bg:#15121e;--mv-panel:#231b2c;--mv-lilac:#d7b6ed;--mv-rose:#ffa3d0;--mv-ink:#fff3f9;--mv-muted:#c6bac9;--mv-line:#4a3b53}
*,*::before,*::after{box-sizing:border-box}
html,body{max-width:100%;min-width:0}
body{background:var(--mv-bg);margin:0;color:var(--mv-ink);font:14px/1.65 system-ui,"Noto Sans SC","PingFang SC",sans-serif;overflow-x:clip}
a{color:var(--mv-rose);text-underline-offset:3px}
img{max-width:100%}
.vibe-top{background:#191525;border-bottom:1px solid #514059;display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap;padding:15px max(15px,calc((100vw - 1140px)/2))}
.vibe-logo{font:950 25px ui-monospace,monospace;color:#fff;text-decoration:none;letter-spacing:.07em;white-space:nowrap}
.vibe-logo span{color:#ffa3d0}
.vibe-logo small{font:700 10px ui-monospace,monospace;letter-spacing:.03em;color:#b49bb6}
.vibe-top nav{display:flex;flex-wrap:wrap;gap:13px;min-width:0}
.vibe-top nav a{font-size:12px;color:#e3cae7;text-decoration:none}
.vibe-main{max-width:1140px;margin:auto;padding:15px;min-width:0}
.vibe-hero{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(220px,.65fr);background:radial-gradient(circle at 95% 0%,#4b2d53 0%,#291d35 44%,#21192d 100%);min-height:425px;border:1px solid #624569}
.vibe-hero-story{padding:clamp(27px,4vw,52px);min-width:0}
.vibe-kicker,.vibe-hero-story>p:first-child{font:700 11px ui-monospace,monospace;color:#f3a5cf;letter-spacing:.14em}
.vibe-hero h1{font:850 clamp(36px,5vw,67px)/1.22 system-ui,sans-serif;letter-spacing:-.05em;margin:22px 0}
.vibe-hero h1 em{font-style:normal;color:#f5aad9}
.vibe-hero-story>p:not(:first-child){max-width:440px;line-height:1.9;color:#d1bccc}
.vibe-primary{display:inline-flex;justify-content:center;align-items:center;padding:11px 17px;background:#f3b0d5;color:#27172b;font-weight:800;text-decoration:none;margin-top:19px}
.vibe-hero-tape{border-left:1px solid #5d4162;padding:23px;display:grid;place-items:center;min-width:0}
.vibe-record{aspect-ratio:1;border-radius:100%;width:min(100%,250px);border:16px solid #2d1b31;background:radial-gradient(circle,#f3adcd 0%,#d278a9 21%,#2d213a 22%,#17151d 45%,#302338 48%,#19121f 55%,#2a2033 66%,#0f1117 100%);display:flex;align-items:center;justify-content:center;flex-direction:column;gap:7px;text-align:center;box-shadow:0 12px 34px #100a1888;transform:rotate(-8deg)}
.vibe-record span{font:700 8px ui-monospace,monospace;color:#eec6d9;letter-spacing:.07em}
.vibe-record b{font-size:20px;max-width:130px;line-height:1.3;color:white}
.vibe-record small{font-size:9px;color:#e1b7c4;max-width:133px}
.vibe-station,.vibe-category,.vibe-night-index{background:#1e1a29;border:1px solid var(--mv-line);padding:clamp(17px,3vw,32px);margin:25px 0;min-width:0}
.vibe-station>header>small,.vibe-night-index>header>small,.vibe-category>.vibe-kicker,.vibe-first-intro>small{font:700 10px ui-monospace,monospace;letter-spacing:.16em;color:#ed9ccc}
.vibe-station h2,.vibe-night-index h2,.vibe-category h1,.vibe-category h2,.vibe-first-intro h2{font:850 clamp(25px,3vw,41px)/1.3 system-ui,sans-serif;overflow-wrap:anywhere;margin:11px 0}
.vibe-station>header>p,.vibe-category>p,.vibe-night-index>header>p{color:#b4a5b5;font-size:12px}
.vibe-selector{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin-top:22px}
.vibe-selector a{display:grid;gap:18px;min-width:0;background:#33263c;border:1px solid #694b6c;padding:17px 13px;text-decoration:none;min-height:115px}
.vibe-selector a:nth-child(2){background:#422b3c}.vibe-selector a:nth-child(3){background:#282c44}
.vibe-selector a:nth-child(4){background:#493047}.vibe-selector a:nth-child(5){background:#423044}
.vibe-selector a[aria-current=page]{border:2px solid #ffb4da;background:#603758}
.vibe-selector a small{font:750 10px ui-monospace,monospace;color:#daa8d0;overflow-wrap:anywhere}
.vibe-selector a strong{font-size:16px;color:#fff4fc}
.vibe-first-recommendation{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:18px;background:#282039;padding:30px;margin:28px 0;min-width:0;align-items:center}
.vibe-first-intro{padding:16px;min-width:0}.vibe-first-intro p{color:#d0bed1;max-width:410px}
.vibe-first-intro>a{display:inline-block;margin-top:12px;color:#ffb6d9;font-weight:750}
.vibe-film-lead{display:grid;grid-template-columns:150px minmax(0,1fr);gap:17px;align-items:center;background:#352a43;padding:16px}
.vibe-film>a{display:block;min-width:0}.vibe-film img{width:100%;height:auto;aspect-ratio:2/3;display:block;object-fit:cover}
.vibe-film-copy{display:grid;align-content:start;gap:6px;min-width:0}
.vibe-film-copy small{font:700 10px ui-monospace,monospace;color:#b99dbf}
.vibe-film-copy a{font-size:15px;font-weight:800;overflow-wrap:anywhere}
.vibe-film-copy p{font-size:12px;color:#c7b8c8;line-height:1.7;display:-webkit-box;-webkit-line-clamp:5;-webkit-box-orient:vertical;overflow:hidden}
.vibe-stations{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:11px;margin:22px 0}
.vibe-stations>a{display:grid;gap:15px;padding:17px 12px;border:1px solid #62496a;background:#30243a;text-decoration:none}
.vibe-stations span{font:750 10px ui-monospace,monospace;color:#eda9cc}
.vibe-stations strong{font-size:18px;color:#fff}
.vibe-stations small{font-size:11px;color:#bdabbd;overflow-wrap:anywhere}
.vibe-bottomline{border-top:1px solid #6c506e;border-bottom:1px solid #6c506e;display:flex;justify-content:space-around;gap:12px;flex-wrap:wrap;margin:35px 0;padding:15px;font:750 12px ui-monospace,monospace}
.vibe-tiles{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px;margin:22px 0;min-width:0}
.vibe-tiles>.vibe-film{min-width:0;background:#30263a;border:1px solid #584262}
.vibe-tiles .vibe-film-copy{padding:10px}.vibe-tiles .vibe-film-copy a{font-size:13px}
.vibe-movie-detail{display:grid;grid-template-columns:minmax(170px,255px) minmax(0,1fr);gap:25px;border:1px solid #5a4461;background:#261c33;padding:23px}
.vibe-movie-detail figure{margin:0}.vibe-movie-detail figure img{display:block;width:100%;aspect-ratio:2/3;object-fit:cover}
.vibe-movie-detail>div{min-width:0}.vibe-movie-detail h1{font-size:clamp(26px,4vw,43px);overflow-wrap:anywhere}
.vibe-movie-detail dl{display:grid;grid-template-columns:96px minmax(0,1fr);gap:8px 13px;background:#362b44;padding:14px}
.vibe-movie-detail dt{color:#d7a9c9}.vibe-movie-detail dd{margin:0;overflow-wrap:anywhere}
.vibe-person-list{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}
.vibe-person-list>a{padding:13px;min-width:0;border:1px solid #654c6c;background:#30253b;display:grid;gap:6px;text-decoration:none}
.vibe-person-list b{overflow-wrap:anywhere}.vibe-person-list small{color:#b99bb5;font-size:11px}
.vibe-empty{padding:19px;background:#352945}
.vibe-foot{max-width:1140px;margin:40px auto 0;border-top:1px solid #5c4567;font-size:11px;color:#b5a3b8;padding:18px 15px}
@media(max-width:970px){.vibe-selector,.vibe-stations{grid-template-columns:repeat(3,minmax(0,1fr))}.vibe-tiles{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:690px){
 .vibe-top{padding:11px;gap:7px}.vibe-logo{font-size:20px}.vibe-logo small{display:none}
 .vibe-top nav{gap:10px}.vibe-top nav a{font-size:11px}
 .vibe-main{padding:10px}.vibe-hero{grid-template-columns:minmax(0,1fr);gap:0}
 .vibe-hero-story{padding:24px 17px}.vibe-hero h1{font-size:clamp(38px,10vw,51px)}
 .vibe-hero-tape{border-left:0;border-top:1px solid #5d4162;padding:12px}.vibe-record{width:160px;border-width:11px}
 .vibe-record b{font-size:14px}.vibe-record span,.vibe-record small{font-size:8px}
 .vibe-station,.vibe-night-index,.vibe-category{padding:15px}
 .vibe-selector,.vibe-stations{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
 .vibe-selector a{padding:12px;min-height:87px;gap:9px}
 .vibe-selector a strong{font-size:14px}.vibe-stations>a{padding:12px}
 .vibe-first-recommendation{grid-template-columns:minmax(0,1fr);padding:14px}
 .vibe-film-lead{grid-template-columns:100px minmax(0,1fr);gap:10px}
 .vibe-tiles{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
 .vibe-tiles .vibe-film-copy{padding:7px}.vibe-film-copy small{font-size:9px}
 .vibe-movie-detail{grid-template-columns:minmax(0,1fr);padding:12px}.vibe-movie-detail figure img{max-width:205px}
 .vibe-person-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
 .vibe-movie-detail dl{grid-template-columns:90px minmax(0,1fr)}
}
