/* PLAYAI K-POP v1.0 visitor experience, light discovery / dark immersion.
 * The YouTube iframe itself remains unmodified; styles apply to our shell only.
 */
:root{--bg:#f6f7fb;--panel:#fff;--panel2:#f2f0fa;--line:#e8e8f2;--text:#1c2240;--muted:#666c83;--pink:#e87bb8;--violet:#6643dd;--mint:#a6e6dd;--nav:rgba(255,255,255,.96);color-scheme:light}
html{scroll-padding-top:90px}
body{background:radial-gradient(ellipse 850px 500px at 80% -15%,#ece7ff 0,transparent 85%),radial-gradient(ellipse 700px 350px at 0% 25%,#f8edf8 0,transparent 70%),#f7f8fb;color:var(--text);font-size:15px;line-height:1.55}
button:focus-visible,input:focus-visible,select:focus-visible,a:focus-visible{outline:3px solid #7854ef;outline-offset:3px}
.skip-link{background:#25154f;color:#fff}
.app-shell{width:min(100%,1290px);padding:0 36px 96px}
.topbar{min-height:86px;position:relative;border-bottom:1px solid #e7e6f0;background:rgba(255,255,255,.72);padding:0 6px;z-index:32}
.playai-brand-cluster{gap:18px}
.playai-portal-link{color:#30324c}.playai-portal-link:hover{background:#f0eff9}
.brand{font-size:21px;letter-spacing:-.9px;color:#222042;font-weight:950}
.brand b{font-weight:900;color:var(--violet)}
.brand-logo{background:#6747e6;color:#fff;box-shadow:0 6px 22px #714add29;border-radius:12px}
.desktop-nav{display:flex;align-items:center;gap:4px}
.desktop-nav button{border:0;background:transparent;color:#5c5f76;font-size:13px;font-weight:750;min-height:44px;border-radius:12px;padding:10px 13px}
.desktop-nav button:hover,.desktop-nav button[aria-current=page]{background:#f0edff;color:#5530c3}
.top-actions{gap:8px}
.lang-switch{border:1px solid #e0deea;color:#424259;background:#fff;border-radius:11px;font-weight:800;font-size:12px;padding:10px}
.catalog-pill{background:#f4f1fc;color:#785d9d;border-color:#ebe5fa;max-width:125px}
.header-player-link{border:1px solid #ded9f0;border-radius:11px;background:#fff;color:#5545a9;font-size:12px;min-height:44px;padding:8px 11px;font-weight:800}
.header-player-link:hover{background:#f2eefe}
.refresh-catalog{color:#5941a5;background:#f4f0ff;border-color:#e7dffb}
.catalog-notice{background:#fff6e8;color:#6b5434;border-color:#f3ddbd;border-radius:15px;margin-top:15px;box-shadow:0 7px 25px #25174b08}
.catalog-notice button{color:#6743c1}
.overline,.kicker{color:#825de2;letter-spacing:2.1px;font-size:10px;font-weight:900}
.view{animation:visitorReveal .27s ease-out}@keyframes visitorReveal{from{opacity:.8;transform:translateY(5px)}to{opacity:1;transform:none}}
.section{margin:54px 0 8px}
.section-head{margin-bottom:20px;align-items:end;gap:15px}
.section-head h2{font-size:clamp(22px,2.5vw,31px);letter-spacing:-1.15px;font-weight:900;line-height:1.23;color:#24223b}
.section-head .overline{margin:0 0 8px}
.section-description{font-size:13px;color:#777b91;margin:7px 0 0}
.section-aside{color:#82839b;font-size:12px}
.section-link,.text-control{color:#6244bc;font-weight:850;font-size:12px}
.section-link:hover{color:#321c8a}
/* Hero: image is a published YouTube thumbnail, not an unauthorized still. */
.hero{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:16px;min-height:460px;padding:0;margin:22px 0 0;border:0;border-radius:30px;overflow:hidden;background:radial-gradient(ellipse at 8% 10%,#7952dd66,transparent 40%),linear-gradient(119deg,#21163f 0,#39256b 58%,#6947b8 100%);box-shadow:0 18px 65px #37276920}
.hero-copy{z-index:2;position:relative;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;padding:52px 20px 50px 58px;min-width:0}
.hero-label{display:inline-flex;gap:8px;align-items:center;font-size:10px;letter-spacing:1.5px;font-weight:850;color:#ded1ff}
.hero-label-dot{width:7px;height:7px;border-radius:50%;background:#ffb5cb;box-shadow:0 0 0 4px #d976b62c}
.hero-pretitle{font-size:14px;color:#d9c9f5;margin:35px 0 8px;letter-spacing:-.1px}
.hero h1{font-size:clamp(36px,3.7vw,57px);line-height:1.12;letter-spacing:-2.8px;color:#fff;margin:0 0 20px;max-width:650px;overflow-wrap:anywhere}
.hero-description{font-size:14px;line-height:1.8;color:#dcd4ee;max-width:425px;margin-bottom:10px}
.hero-facts{font-size:11px;line-height:1.7;color:#dbd4fa;margin:5px 0 19px;min-height:18px}
.hero-buttons{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.hero-action{display:inline-flex;align-items:center;justify-content:center;gap:11px;min-height:49px;border-radius:13px;border:0;padding:12px 17px;background:#e7dbff;color:#291a66;font-size:13px;font-weight:900;box-shadow:0 10px 28px #0d09222b}
.hero-action:disabled{opacity:.55}
.hero-action:hover:not(:disabled){background:#fff;color:#37228c}
.hero-secondary{border:1px solid #ffffff70;background:transparent;color:white;font-size:13px;border-radius:12px;min-height:49px;padding:10px 18px;font-weight:780}
.hero-secondary:hover{background:#ffffff19}
.hero-pagination{display:flex;gap:7px;margin-top:34px;align-items:center}.hero-pagination span{width:6px;height:6px;border-radius:12px;background:#ffffff64}.hero-pagination .active{background:#fff;width:21px}
.hero-image-panel{margin:0;position:relative;overflow:hidden;min-height:420px;background:linear-gradient(125deg,#9d73d7,#302360);display:flex;align-items:center;justify-content:center}
.hero-image-panel:before{content:'';position:absolute;inset:0;z-index:2;pointer-events:none;background:linear-gradient(90deg,#392568 0,transparent 36%),linear-gradient(180deg,#1a103b00 45%,#1a103b8b 100%)}
.hero-image-panel img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0;filter:saturate(1.15)}
.hero-image-panel .hero-image-fallback{height:100%;width:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:25px;transform:rotate(-9deg);color:#fff;text-align:center;background:radial-gradient(circle at 35% 30%,#eea2cf90,transparent 30%),linear-gradient(150deg,#6d4aba,#8f7de9)}
.hero-image-fallback span{font-size:13px;letter-spacing:7px;font-weight:900}.hero-image-fallback strong{font-size:clamp(44px,5vw,78px);line-height:.95;letter-spacing:-4px;font-weight:950}
.hero-image-note{position:absolute;right:23px;bottom:20px;color:#fff;font-size:10px;z-index:3;background:#15122c8d;border:1px solid #ffffff44;border-radius:30px;padding:5px 10px}
.home-ribbon{display:flex;align-items:center;gap:12px;margin:25px 2px 3px;color:#8b83a6;letter-spacing:1.5px;font-weight:850;font-size:10px}
.ribbon-glyph{color:#6946d5;font-size:17px}.ribbon-line{background:#dcdbe7;height:1px;flex:1}.ribbon-caption{letter-spacing:0;font-weight:600;color:#a3a0b3}
/* Mood tiles */
.mood-cards{grid-template-columns:repeat(6,minmax(0,1fr));gap:12px}
.mood-tile{min-height:136px;border:1px solid #e6e4ef;color:#21203a;background:#f6eaf8;border-radius:19px;padding:18px;box-shadow:0 6px 20px #30235709;transition:transform .16s ease,box-shadow .16s ease}
.mood-tile:nth-child(1){background:#fff0df}.mood-tile:nth-child(2){background:#eeeaff}.mood-tile:nth-child(3){background:#e8f5f0}.mood-tile:nth-child(4){background:#f9e9f2}.mood-tile:nth-child(5){background:#edf1ff}.mood-tile:nth-child(6){background:#fff1e8}
.mood-tile:hover{transform:translateY(-3px);box-shadow:0 10px 35px #30235718}
.mood-tile:after{color:#6345bd;opacity:.12;right:6px;bottom:-10px;font-size:73px}
.mood-tile .mood-name{font-size:15px;font-weight:900;color:#23213f;line-height:1.3}.mood-tile .mood-sub{font-size:10px;color:#77728b;line-height:1.45}
/* Explicit local preference composer */
.taste-section{margin-top:35px}
.taste-content{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);gap:28px;align-items:center;padding:31px 34px;border-radius:23px;background:radial-gradient(ellipse at 96% 8%,#ebdafa 0,transparent 46%),#f1effb;border:1px solid #e7e1f8;box-shadow:0 11px 30px #4825a00a}
.taste-content h2{margin:2px 0 6px;font-size:24px;letter-spacing:-.9px}.taste-content p:not(.overline){color:#6c687f;font-size:12px;margin:0;line-height:1.75}
.taste-controls{min-width:0}.taste-moods{display:flex;gap:8px;flex-wrap:wrap}
.taste-chip{border:1px solid #dfd5ed;background:#fff;color:#67558e;border-radius:100px;min-height:43px;padding:9px 14px;font-size:12px;font-weight:800}
.taste-chip[aria-pressed=true]{background:#5e3bd6;border-color:#5e3bd6;color:white;box-shadow:0 6px 16px #724ce128}
.taste-actions{display:flex;align-items:center;gap:13px;margin-top:14px}
.compact-cta{background:#633fdb;color:#fff;border-radius:12px;font-size:12px;min-height:43px;border:0;padding:10px 15px;font-weight:800}
.compact-cta:hover:not(:disabled){background:#452bb0}
.taste-caption{font-size:11px;color:#89839d}
/* Editorial playlist cards */
.playlist-cards{gap:17px;grid-auto-columns:minmax(285px,32%);padding:3px 1px 19px;scrollbar-color:#c9b6e8 transparent}
.playlist-card{border-radius:20px;background:#fff;border:1px solid #e7e5ee;min-height:345px;box-shadow:0 8px 28px #2d21510a;transition:transform .15s ease,box-shadow .15s ease}
.playlist-card:before,.playlist-card:after{display:none}
.playlist-card:hover{transform:translateY(-2px);box-shadow:0 17px 42px #2d215520}
.card-open{width:100%;padding:0;background:#fff;color:#252038;min-height:0;display:block;overflow:hidden;text-align:left}
.playlist-cover{width:100%;height:auto;aspect-ratio:16/9;display:block;position:relative;background:linear-gradient(125deg,#6b50bb,var(--accent,#c6abf0));overflow:hidden}
.playlist-cover img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .22s ease}
.playlist-card:hover .playlist-cover img{transform:scale(1.035)}
.playlist-cover:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,transparent 48%,#100c28a0)}
.cover-fallback{display:flex;align-items:center;justify-content:center;height:100%;font-size:28px;letter-spacing:5px;font-weight:950;color:#fff}
.card-body{display:flex;flex-direction:column;gap:7px;padding:19px 18px 18px;min-height:171px}
.card-tag{background:#f1edff;color:#684cc4;font-size:9px;letter-spacing:1px;max-width:max-content;line-height:1.3;padding:5px 9px}
.card-title{font-size:19px;font-weight:900;margin:2px 0 0;line-height:1.3;max-width:none;color:#24213a;letter-spacing:-.7px}
.card-subtitle{font-size:12px;line-height:1.5;color:#777589;max-width:none;margin:0;min-height:34px}
.card-bottom{font-size:10px;margin-top:auto;color:#88859c}
.playlist-quickplay{position:absolute;right:12px;top:calc((100% - 174px) * .47);width:46px;height:46px;min-width:46px;min-height:46px;border-radius:50%;z-index:4;border:1px solid #ffffff9c;color:#5031ac;background:#fff;box-shadow:0 4px 18px #1b123b5b;font-size:16px;font-weight:900}
.save-playlist{z-index:5;min-height:43px;min-width:43px;right:12px;top:12px;background:#16172ec7;border:1px solid #ffffff5a;color:white}
.save-playlist[aria-pressed=true]{color:#8b2b6b;background:#fff0f8;border-color:#fff0f8}
.wrap-cards{grid-auto-columns:auto;grid-template-columns:repeat(3,minmax(0,1fr));overflow:visible;padding-bottom:3px}
/* Artists */
.artist-cards{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(158px,1fr);gap:12px;overflow-x:auto;padding:2px 1px 14px;scroll-snap-type:x mandatory;scrollbar-width:thin;scrollbar-color:#d5c7ea transparent}
.artist-card{min-width:0;display:flex;flex-direction:column;align-items:flex-start;text-align:left;padding:11px;border-radius:20px;border:1px solid #e7e4ef;background:#fff;color:#20203b;scroll-snap-align:start;box-shadow:0 7px 18px #2d215508;transition:transform .16s ease}
.artist-card:hover{transform:translateY(-3px)}
.artist-image{display:grid;place-items:center;overflow:hidden;border-radius:13px;width:100%;aspect-ratio:1.08;background:linear-gradient(145deg,#eee7ff,#ffe9f0);font-size:33px;font-weight:950;color:#6048b9}
.artist-image img{width:100%;height:100%;object-fit:cover}
.artist-card-copy{display:flex;flex-direction:column;gap:4px;margin:12px 4px 5px;width:100%;min-width:0}
.artist-card-copy strong{font-size:14px;letter-spacing:-.4px;font-weight:900;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.artist-card-copy small{font-size:11px;color:#89869a}
.artist-directory-tools{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:16px;margin:5px 0 22px}
.artist-directory-tools .search-row{max-width:560px}
.artist-directory-count{margin:0;color:#777589;font-size:12px;font-weight:750;white-space:nowrap}
.artist-directory-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;overflow:visible;padding:2px 1px}
.artist-directory-grid .artist-card{scroll-snap-align:none}
.explore-artist-section{margin:7px 0 28px}
.artist-cards-explore{grid-auto-columns:155px}
/* Video cards and search */
.video-grid{gap:21px 17px}
.video-open{color:#272339;gap:7px}
.thumb-frame{border-radius:15px;background:linear-gradient(135deg,#eadfff,#d8e1f7);box-shadow:0 6px 18px #41345914}
.video-kind{background:#ffffffeb;color:#4b3291;font-weight:850;border-radius:7px;padding:4px 7px;font-size:10px;bottom:8px;left:8px}
.video-card-title{font-size:13px;font-weight:850;margin-top:3px;line-height:1.45;color:#25243b}
.video-card-meta{font-size:11px;color:#82839a}
.video-card-details{display:-webkit-box;overflow:hidden;color:#77758a;font-size:10px;line-height:1.45;overflow-wrap:anywhere;-webkit-box-orient:vertical;-webkit-line-clamp:2}
.filter-data-note{margin:12px 0 0;color:#78758a;font-size:11px;line-height:1.5}
.view-heading{padding:44px 0 25px}.view-heading .overline{font-size:11px;color:#7551cf}.view-heading h1{font-size:clamp(28px,4vw,43px);letter-spacing:-1.9px;font-weight:900;color:#25213c}
.view-heading p:last-child{font-size:13px;color:#7b7890}
.search-panel{background:#fff;border:1px solid #e8e4ef;box-shadow:0 10px 35px #3524640d;padding:23px;border-radius:21px}
.search-row{background:#fbfbff;border-color:#e3deec;color:#7c62be;min-height:52px}
.search-row input{color:#232340}.search-row button{color:#776d93}.filter-label,.select-row label{color:#75748b}
.filter-chip{color:#615579;background:#f7f5fc;border:1px solid #e2ddec}
.filter-chip[aria-pressed=true]{background:#6240d3;border-color:#6240d3;color:#fff}
.select-row select{background:#fff;color:#302d44;border-color:#e2dfeb;border-radius:10px}
.result-num{background:#eee9ff;color:#5f42bc}
.empty-state,.editorial-empty{background:#fff;border:1px dashed #dcd4ed;color:#7b7591;border-radius:16px;padding:25px 21px;font-size:13px;line-height:1.65}
.playlist-directory{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-flow:row;grid-auto-columns:auto;overflow:visible;gap:19px}
/* Detail: real tracklists from owner-approved catalog only */
.detail-view{padding-bottom:30px}
.back-link{background:none;border:0;color:#6048b6;font-size:13px;min-height:44px;padding:10px 0;margin-top:18px;font-weight:850}
.detail-hero{margin-top:12px;display:grid;grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);border-radius:28px;overflow:hidden;background:radial-gradient(circle at 78% 20%,#7053bb55,transparent 48%),linear-gradient(125deg,#251747,#352667);color:#fff;min-height:370px;box-shadow:0 15px 50px #2c1f5729}
.detail-cover{background:linear-gradient(130deg,var(--detail-accent,#6d4ac4),#c391da);position:relative;min-height:335px;overflow:hidden}
.detail-cover img{position:absolute;width:100%;height:100%;inset:0;object-fit:cover}
.detail-cover:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,transparent 64%,#35256588)}
.detail-copy{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;padding:48px;min-width:0}
.detail-copy .overline{color:#c9b6ff}.detail-copy h1{font-size:clamp(29px,3.6vw,48px);line-height:1.13;letter-spacing:-1.7px;margin:8px 0 14px;color:#fff;overflow-wrap:anywhere}
.detail-subtitle{color:#e8dfff;font-size:15px;line-height:1.6;margin:0 0 14px}.detail-facts{color:#c2b6e4;font-size:12px}
.detail-actions{display:flex;gap:11px;flex-wrap:wrap;margin-top:22px}
.detail-explainer{margin:30px 0;padding:23px 25px;background:#eeecfa;border-radius:18px;border:1px solid #e5e0f6}
.detail-explainer h2{font-size:16px;margin:0 0 7px}.detail-explainer p{font-size:13px;margin:0;color:#676278}
.detail-track-list{margin:17px 0 0;padding:0;list-style:none;border-top:1px solid #e5e1ed}
.detail-track-list>li{border-bottom:1px solid #e5e1ed}
.detail-track{border:0;background:transparent;display:flex;align-items:center;width:100%;gap:18px;min-height:86px;color:#22223a;padding:10px 9px;text-align:left;border-radius:12px}
.detail-track:hover{background:#efebfb}
.detail-track-num{width:23px;flex:none;color:#9189a2;font-size:12px;font-weight:900}
.detail-track img,.detail-track-thumb{width:112px;aspect-ratio:16/9;object-fit:cover;border-radius:10px;background:#dfd9ef;flex:none}
.detail-track-thumb{display:grid;place-items:center;color:#7862ab;font-size:23px;font-weight:800;background:linear-gradient(135deg,#e8defa,#d8d0e9)}
.detail-track-main{display:flex;flex-direction:column;min-width:0;flex:1;gap:4px}
.detail-track-main strong{font-size:14px;font-weight:850;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.detail-track-main small{font-size:11px;color:#817b92}
.detail-track-arrow{color:#6652a5;font-size:17px}
/* Calendar: no guessed dates */
.calendar-teaser{display:flex;justify-content:space-between;align-items:center;gap:25px;padding:36px;border-radius:23px;background:radial-gradient(circle at 82% 30%,#6745bd50,transparent 35%),linear-gradient(110deg,#21173d,#50328a);color:#fff;margin-bottom:24px}
.calendar-teaser .overline{color:#dfbdff}.calendar-teaser h2{font-size:27px;letter-spacing:-.9px;margin:5px 0 10px}.calendar-teaser p:not(.overline){font-size:12px;color:#e4d6f5;max-width:560px;margin:0;line-height:1.7}
.calendar-teaser .hero-secondary{flex:none}
.calendar-status{display:flex;align-items:center;flex-direction:column;text-align:center;padding:55px 24px 65px;background:#fff;border:1px solid #ebe8f1;border-radius:25px;margin:10px 0 60px;box-shadow:0 10px 36px #42305a0d}
.calendar-symbol{font-size:52px;color:#9d84d2;margin-bottom:10px}
.calendar-status h2{font-size:25px;letter-spacing:-.9px;margin:7px 0}
.calendar-status p:not(.overline){font-size:13px;color:#7f7991;max-width:450px;line-height:1.75;margin:8px 0 19px}
/* Privacy, library, queue and player */
.privacy-card{background:#fff;border:1px solid #ece8f1;color:#2b2840}
.privacy-card p{color:#7d7890}
.small-ghost{color:#654bba;border-color:#e1dced;background:#f8f6ff}
.player-panel{color:#f7f4ff;background:linear-gradient(145deg,#181529,#24203b);border-color:#4b3e67;border-radius:20px;box-shadow:0 15px 48px #261c492c}
.player-panel .small-ghost{background:#302944;color:#e8ddff;border:1px solid #74648b}
.player-panel .overline{color:#dfbeff}
.player-panel .play-primary{background:#d9c4ff;color:#21123b}
.player-panel .transport{background:#37304c;color:#fff;border-color:#5c4d73}
.player-panel .share-panel{background:#242032;color:#fff}
.player-panel .status-row .dot{background:#8adfc5}
.player-panel .player-foot a,.player-panel .text-control,.player-panel .share-action{color:#ead7ff}
.player-panel .queue-counter{color:#dfd6f0}
.queue-list{gap:10px}
.queue-item{border-color:#e8e4ef;color:#27213f;background:#fff;box-shadow:0 3px 13px #2a23520b}
.queue-item.current{background:#eeecfb;color:#39256c;border-color:#b5a1e8}
.queue-info small,.queue-number{color:#88839c}.queue-mark{color:#6e49d3}
.qa-panel details{border-color:#e7e2ee;background:#fff}.qa-panel summary{color:#78768e}.qa-panel pre{color:#4a4762}
.bottom-nav{background:#fff;border-top:1px solid #e9e5ee;grid-template-columns:repeat(5,minmax(0,1fr));box-shadow:0 -9px 38px #3a25560c}
.bottom-nav button{color:#828099;border-radius:11px}.bottom-nav button[aria-current=page]{background:#f0ebff;color:#6340c6}
.bottom-nav button span{font-size:21px}.bottom-nav button small{font-size:10px;font-weight:850}
.footer{color:#9a95aa;padding-top:40px}
.toast{background:#2b1c52;color:#fff;font-weight:750}
@media(max-width:1120px){.app-shell{padding:0 24px 90px}.desktop-nav button{padding:9px 8px;font-size:12px}.topbar{gap:5px}.playai-brand-cluster{gap:8px}.catalog-pill{display:none}.mood-cards{grid-template-columns:repeat(3,minmax(0,1fr))}.playlist-cards{grid-auto-columns:minmax(245px,41%)}.artist-cards{grid-auto-columns:minmax(160px,24%)}.artist-directory-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.playlist-directory{grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-columns:auto}.hero-copy{padding:42px 10px 42px 38px}}
@media(max-width:759px){
 .app-shell{padding:0 16px calc(106px + env(safe-area-inset-bottom))}.topbar{min-height:67px;padding:0 1px;gap:7px}.desktop-nav{display:none}
 .playai-brand-cluster{gap:6px}.brand{font-size:17px}.brand-logo{width:29px;height:29px;border-radius:9px}.playai-portal-link__icon{width:29px;height:29px}
 .playai-portal-link{min-width:32px;min-height:43px}.lang-switch{min-height:40px;min-width:56px;padding:7px 5px;font-size:11px}.header-player-link{min-height:40px;font-size:11px;padding:7px 9px}.top-actions{gap:5px}.refresh-catalog{width:40px;min-width:40px;min-height:40px}
 .hero{margin-top:12px;grid-template-columns:minmax(0,1fr);min-height:0;border-radius:24px;gap:0}
 .hero-copy{padding:29px 26px 22px}.hero-label{font-size:9px}.hero-pretitle{margin-top:18px;font-size:12px}.hero h1{font-size:clamp(31px,7vw,44px);line-height:1.18;letter-spacing:-1.35px;margin-bottom:13px}.hero-description{font-size:12px;line-height:1.65;margin-bottom:5px}.hero-facts{margin:6px 0 13px;font-size:10px}
 .hero-buttons{gap:8px}.hero-action,.hero-secondary{min-height:44px;padding:9px 13px;font-size:11px}.hero-pagination{margin-top:14px}
 .hero-image-panel{min-height:0;aspect-ratio:16/8.25;max-height:250px}.hero-image-panel:before{background:linear-gradient(180deg,#1f144b44,transparent 45%,#1a103b9a)}.hero-image-note{bottom:9px;right:9px;font-size:9px}
 .hero-image-panel .hero-image-fallback strong{font-size:46px;letter-spacing:-1.8px}.hero-image-panel .hero-image-fallback{gap:9px}
 .home-ribbon{margin:15px 0 2px;font-size:9px;gap:7px}.ribbon-caption{display:none}
 .section{margin:39px 0 3px}.section-head{margin-bottom:16px}.section-head h2{font-size:23px;letter-spacing:-1px}.section-description{font-size:11px;line-height:1.6}.section-link{font-size:11px}.section-aside{font-size:10px}
 .mood-cards{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.mood-tile{min-height:109px;padding:13px;border-radius:15px}.mood-tile .mood-name{font-size:13px}.mood-tile .mood-sub{font-size:9px}.mood-tile:after{font-size:57px;bottom:-8px}
 .taste-content{grid-template-columns:minmax(0,1fr);gap:17px;padding:25px;border-radius:19px}.taste-content h2{font-size:21px}.taste-content p:not(.overline){font-size:11px}.taste-chip{min-height:40px;padding:8px 12px;font-size:11px}
 .playlist-cards{grid-auto-columns:minmax(248px,75%);gap:12px}.playlist-card{min-height:0;border-radius:17px}.card-body{padding:16px;min-height:164px}.card-title{font-size:18px}.card-subtitle{font-size:11px}.playlist-quickplay{top:106px}
 .artist-cards{grid-auto-columns:minmax(142px,45%);gap:10px}.artist-card{padding:8px;border-radius:15px}.artist-image{border-radius:11px}.artist-card-copy strong{font-size:13px}
 .artist-directory-tools{grid-template-columns:minmax(0,1fr);gap:8px;margin-bottom:16px}.artist-directory-tools .search-row{max-width:none}.artist-directory-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}.artist-directory-grid .artist-card{padding:8px;border-radius:15px}.artist-directory-grid .artist-image{border-radius:11px}.artist-directory-grid .artist-card-copy strong{font-size:13px}
 .video-grid,.result-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:17px 12px}.video-card-title{font-size:12px}.video-card-meta{font-size:10px}.video-card-details{font-size:9px}
 .wrap-cards,.playlist-directory{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-columns:auto;gap:11px}.wrap-cards .card-open{min-height:0;padding:0}.wrap-cards .playlist-card,.playlist-directory .playlist-card{min-height:0}.wrap-cards .card-body,.playlist-directory .card-body{padding:11px;min-height:172px}.wrap-cards .card-title,.playlist-directory .card-title{font-size:15px}.wrap-cards .card-subtitle,.playlist-directory .card-subtitle{font-size:10px}.wrap-cards .playlist-quickplay,.playlist-directory .playlist-quickplay{width:39px;height:39px;min-width:39px;min-height:39px;top:calc((100% - 172px) * .45)}
 .view-heading{padding:30px 0 20px}.view-heading h1{font-size:30px}.view-heading p:last-child{font-size:12px}
 .search-panel{padding:16px}.select-row{grid-template-columns:auto minmax(0,1fr)}
 .detail-hero{grid-template-columns:minmax(0,1fr);border-radius:22px}.detail-cover{min-height:0;aspect-ratio:16/9}.detail-copy{padding:24px}.detail-copy h1{font-size:31px}.detail-subtitle{font-size:13px}.detail-track{gap:9px;min-height:72px}.detail-track img,.detail-track-thumb{width:85px}.detail-track-main strong{font-size:12px}.detail-track-main small{font-size:10px}
 .detail-explainer{padding:18px}.calendar-teaser{display:flex;flex-direction:column;align-items:flex-start;padding:25px;gap:17px}.calendar-teaser h2{font-size:22px}
 .bottom-nav{padding:5px max(8px,env(safe-area-inset-right)) calc(6px + env(safe-area-inset-bottom)) max(8px,env(safe-area-inset-left))}
 .bottom-nav button{min-height:57px}.bottom-nav button small{font-size:9px}
 .player-panel{margin-top:12px;padding:11px}.player-panel.pinned{top:calc(5px + env(safe-area-inset-top))}
}
@media(max-width:390px){.app-shell{padding-left:12px;padding-right:12px}.top-actions{gap:3px}.brand{font-size:14px}.brand b{font-size:14px}.header-player-link{font-size:10px;padding:6px}.playai-portal-link__icon{width:27px;height:27px}.playai-portal-link{min-width:27px}.hero-copy{padding:24px 19px 18px}.hero h1{font-size:31px}.hero-buttons{gap:6px}.mood-tile .mood-name{font-size:12px}.mood-tile{padding:11px}.section-head h2{font-size:21px}.section-aside{display:none}.playlist-cards{grid-auto-columns:minmax(229px,80%)}.wrap-cards,.playlist-directory{grid-auto-columns:auto}.wrap-cards .card-body,.playlist-directory .card-body{min-height:178px}.wrap-cards .card-title,.playlist-directory .card-title{font-size:14px}.wrap-cards .save-playlist,.playlist-directory .save-playlist{min-height:36px;min-width:36px;font-size:19px;right:7px;top:7px}.taste-content{padding:20px}.artist-cards{grid-auto-columns:minmax(126px,47%)}.detail-track img,.detail-track-thumb{width:69px}.detail-track-num{width:17px}.detail-track{gap:7px}}
@media(min-width:760px){.bottom-nav{display:none}.app-shell{padding-bottom:42px}.video-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.wrap-cards{grid-auto-columns:auto}}
@media(prefers-reduced-motion:reduce){.mood-tile,.playlist-card,.playlist-cover img,.artist-card{transition:none!important}}

/* Keep the same mounted video visible while visitors browse the page. */
.player-anchor{height:0;overflow-anchor:none;pointer-events:none}
.player-panel{overflow-anchor:none}
.expand-player{display:none}
.player-panel.floating{position:fixed;z-index:35;right:max(16px,env(safe-area-inset-right));bottom:var(--player-bottom,82px);top:auto;width:min(360px,calc(100vw - 32px));max-width:none;margin:0;padding:10px;border-radius:17px;box-shadow:0 12px 45px #17102c55}
.player-panel.floating .playing-heading{align-items:center;margin-bottom:7px;gap:6px}
.player-panel.floating .playing-title-wrap h2{max-width:none;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.player-panel.floating .playing-title-wrap p,.player-panel.floating .playing-title-wrap .overline,.player-panel.floating .queue-counter,.player-panel.floating .up-next,.player-panel.floating .player-foot{display:none}
.player-panel.floating .expand-player{display:block}
.player-panel.floating .player-heading-right{gap:5px}
.player-panel.floating .player-heading-right .small-ghost{min-width:44px;min-height:44px;padding:6px}
.player-panel.floating .video-shell{height:200px;min-height:200px;border-radius:10px}
.player-panel.floating .playback-controls{padding-top:7px;gap:5px}
.player-panel.floating .transport{min-width:44px;min-height:44px;font-size:20px}
.player-panel.floating .play-primary{min-width:0;min-height:44px;font-size:12px;padding:6px}
.player-panel.floating .status-row{min-height:0;margin-top:5px}
.player-panel.floating .player-status{font-size:10px}
.player-panel.floating .share-panel{display:none}
@media(max-width:759px){.player-panel.floating{width:min(280px,calc(100vw - 24px));right:max(12px,env(safe-area-inset-right))}}
@media(max-height:440px){.player-panel.floating .playing-heading,.player-panel.floating .playback-controls,.player-panel.floating .status-row{display:none}}

/* Preserve editor paragraph breaks without interpreting catalog text as HTML. */
.detail-explainer p{white-space:pre-line}
.view h1[tabindex="-1"]:focus{outline:none}

.pip-placeholder{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:16px 19px;margin:16px 0;border:1px solid #ddd4f3;border-radius:16px;background:#efebfc;color:#554086;font-size:13px}
.has-pip #player-anchor{height:0!important}
.pip-toggle{min-width:44px;min-height:44px}
/* The native browser frame supplies moving, resizing and closing. Keep its
 * content video-only; provider-owned text/controls inside the iframe remain. */
.pip-document{width:100vw;height:100dvh;min-width:200px;min-height:200px;margin:0;padding:0;overflow:hidden;background:#000;color:#f7f4ff}
.pip-document .pip-player{position:static;display:block;width:100%;height:100%;max-width:none;margin:0;padding:0;border:0;border-radius:0;box-shadow:none;background:#000}
.pip-document .pip-player > :not(.video-shell){display:none!important}
.pip-document .pip-player .video-shell{width:100%;height:100%;min-width:200px;min-height:200px;margin:0;padding:0;border:0;border-radius:0;background:#000}
.pip-document .simulation > :not(.simulation-play){display:none}
@media(max-width:390px){.pip-placeholder{align-items:flex-start;flex-direction:column}.player-heading-right{gap:4px}.player-heading-right .pip-toggle{padding:6px}}
