:root{--accent:#1457ff;--text:#172138;--muted:#89909f;--surface:#fff}
html,body,.app-shell,.main-content,.page{background:#fff!important;color:#172138}button,input{font-family:inherit}button{touch-action:manipulation} .eyebrow,.artist-card,#homeFeature,.future-section,.world-section{display:none!important}
.launch-screen{position:fixed;inset:0;z-index:99999;background:white;display:grid;place-items:center;pointer-events:none;transition:opacity .3s}.launch-screen.finished{opacity:0}.launch-screen>div{display:grid;justify-items:center;gap:12px}.launch-screen svg{width:54px;height:54px;color:#1457ff}.launch-screen strong{font-size:30px;letter-spacing:-1.5px;color:#142039}
#homePage.active{display:flex;flex-direction:column}.welcome-row{order:0;margin-bottom:24px}.welcome-row h1{font-size:26px;letter-spacing:-1px}.content-section{margin:22px 0}.section-heading{margin-bottom:18px}.section-heading h2{font-size:19px;letter-spacing:-.5px}#homePage>.content-section:has(#situationGrid){order:1}#homePage>.home-playlist-section{order:2}#homePage>.home-trending-section{order:3}#homePage>.content-section:has(#homeGenreGrid){order:4}#homePage>.content-section:has(#latestTracks){display:none}
.situation-grid{display:flex!important;gap:20px!important;overflow:auto;padding:2px 0 10px}.situation-card{flex:0 0 72px!important;width:72px!important;min-width:72px!important;padding:0!important;border:0!important;background:none!important;display:flex!important;flex-direction:column;align-items:center;gap:10px;border-radius:0!important}.situation-icon{width:58px!important;height:58px!important;min-height:58px!important;display:grid!important;place-items:center;border-radius:50%!important;background:#eef4ff!important;color:#3265da!important;box-shadow:none!important}.situation-icon svg{width:25px;height:25px}.situation-card strong{font-size:12px!important;white-space:normal;line-height:1.4}.situation-card small{display:none!important}
#homeCollectionGrid{display:grid!important;grid-template-columns:1fr!important;gap:8px!important}.curated-row{display:flex;align-items:center;gap:16px;padding:14px 4px;background:white;border:0;text-align:left;width:100%;color:#172138}.curated-icon{width:58px;height:58px;border-radius:50%;background:#f0f5ff;color:#4070d9;display:grid;place-items:center;flex-shrink:0}.curated-icon svg{width:26px;height:26px}.curated-row>span:nth-child(2){display:grid;gap:5px}.curated-row strong{font-size:16px}.curated-row small{font-size:12px;color:#89909f}.curated-row b{margin-left:auto;color:#a8aeb8;font-size:22px;font-weight:400}
#homeTrending{display:block!important}.track-row{display:grid!important;grid-template-columns:minmax(0,1fr) 32px 32px!important;gap:6px;min-height:74px!important;padding:10px 0!important;border:0!important;border-bottom:1px solid #f1f3f7!important;border-radius:0!important;background:white!important}.track-main{min-width:0;display:flex;align-items:center;gap:14px}.track-tags{display:none!important}.track-text{min-width:0}.track-text strong{font-size:14px!important;line-height:1.5}.track-text small{font-size:11px;color:#8a91a0}.row-number{display:none}.cover-art::before,.cover-art::after{display:none!important}.track-cover.cover-art,.mini-cover.cover-art{display:grid!important;place-items:center!important;width:44px!important;height:44px!important;flex:0 0 44px!important;border-radius:50%!important;background:#eff4ff!important;color:#5476be!important;box-shadow:none!important}.cover-art>svg{width:24px;height:24px}.track-cover img{display:none}.track-action-button,.heart-button{color:#8b93a2!important}.track-row.playing .track-text strong{color:#1457ff!important}.home-genre-grid{gap:8px}.genre-home-card{border:1px solid #edf0f5!important;background:#fff!important}
.mini-player{background:#172033!important;color:white!important;border:0!important;box-shadow:0 4px 16px #17203316!important;border-radius:20px!important;min-width:0!important}.mini-meta strong,.mini-meta small{color:white!important}.mini-meta small{opacity:.6}.mini-player .play-button{background:white!important;color:#172033!important}.mini-player .heart-button,.mini-controls>button{color:white!important}.mini-player .desktop-progress{min-width:0;overflow:hidden}.bottom-nav{background:#fff!important;border:0!important;border-top:1px solid #f0f2f5!important;box-shadow:none!important;border-radius:0!important}.bottom-nav .nav-item{background:none!important;color:#9ca3b1!important}.bottom-nav .nav-item.active{color:#1457ff!important}.bottom-nav .nav-item::after{display:none!important}
.collection-dialog{background:#fff!important}.collection-list-hero{display:flex;gap:20px;align-items:center;margin:36px 0 24px!important}.collection-list-art{width:92px!important;height:92px!important;flex:0 0 92px;border-radius:50%!important;background:#edf3ff!important;color:#3b68cc!important;display:grid;place-items:center}.collection-list-art::before,.collection-list-art::after{display:none!important}.collection-list-art svg{width:40px;height:40px}.collection-list-copy h2{font-size:24px!important}.collection-list-copy p{font-size:12px;color:#939aa7}.collection-actions{display:flex;gap:10px;margin:22px 0}.collection-actions button{width:50%;border:0;border-radius:12px;padding:14px;background:#f1f4f8;color:#172138;font-weight:600}.collection-actions .collection-play-all{margin:0;background:#172138!important;color:white!important}.collection-track-list .row-number{display:block;font-size:12px;color:#9ba1ae;width:24px;flex-shrink:0}.collection-track-list .track-cover{display:none!important}
.player-sheet{background:#fff!important;color:#172138!important;padding:26px 30px!important}.player-waveform,.sheet-handle{display:none!important}.now-playing-label{font-size:13px!important;margin:10px 0 38px!important}.full-cover.cover-art{width:170px!important;height:170px!important;border-radius:50%!important;background:#eef4ff!important;display:grid!important;place-items:center;color:#3267da!important;box-shadow:none!important;margin:30px auto 38px!important}.full-cover svg{width:70px;height:70px}.full-meta{margin-bottom:30px!important}.full-meta h2{font-size:23px!important;line-height:1.4}.full-meta p{font-size:13px;color:#939aa7}.full-controls{margin:24px 0!important}.main-play{background:#172138!important;color:#fff!important;box-shadow:none!important;width:64px!important;height:64px!important}.full-progress{accent-color:#1457ff}.time-row{font-size:11px;color:#939aa7}.player-tabs{margin-top:30px}.player-tab{font-size:13px}.close-player{color:#172138!important}.page-title h1{font-size:28px}.filter-title{white-space:nowrap!important;min-width:38px}.chip-row{gap:7px}.chip{font-size:12px}.search-box{background:#f7f9fc!important;border:0!important;border-radius:14px}.search-box kbd{display:none}
@media(max-width:1100px){.side-nav,#sidebarToggle{display:none!important}.main-content{margin:0!important;padding:20px 24px 170px!important}.app-shell{display:block!important}.mobile-header{display:flex!important;margin-bottom:26px}.welcome-actions{display:none!important}.bottom-nav{display:flex!important;position:fixed!important;bottom:0!important;left:0!important;right:0!important;width:100%!important;padding-bottom:env(safe-area-inset-bottom);height:70px!important;z-index:40}.mini-player{left:16px!important;right:16px!important;bottom:80px!important;width:auto!important;grid-template-columns:minmax(0,1fr) auto!important;padding:10px 14px!important}.desktop-progress,#miniPrev,#miniNext,#miniHeart{display:none!important}.mini-track{min-width:0}.mini-meta{min-width:0}.mini-meta strong{font-size:13px}.mini-controls{gap:0}.welcome-row h1{font-size:23px}.home-account{display:none}.browse-grid{display:block!important}html.native-app dialog.player-sheet[open],html.native-app dialog.collection-dialog[open],dialog.player-sheet[open],dialog.collection-dialog[open]{position:fixed!important;inset:0!important;transform:none!important;margin:0!important;width:100%!important;max-width:100%!important;height:100dvh!important;max-height:100dvh!important;border:0!important;border-radius:0!important;overflow:auto!important;padding:26px 24px 40px!important;box-shadow:none!important}.collection-list-hero{margin-top:45px!important}.player-sheet .full-cover{margin-top:48px!important}}
@media(min-width:1101px){.main-content{max-width:1120px}.player-sheet{width:420px!important;max-height:90vh}.collection-dialog{width:620px!important;max-height:90vh}}
/* One navigation pattern at every screen size. */
.side-nav,#sidebarToggle{display:none!important}
.app-shell{display:block!important;grid-template-columns:1fr!important}
.main-content{margin:0 auto!important;width:100%!important;max-width:960px;padding:24px 28px 180px!important}
.mobile-header{display:flex!important;margin-bottom:26px}
.welcome-actions{display:none!important}
.bottom-nav{display:flex!important;position:fixed!important;left:0!important;right:0!important;bottom:0!important;width:100%!important;height:70px!important;z-index:40;justify-content:center;gap:clamp(30px,10vw,140px)}
.bottom-nav .nav-item{flex:0 1 150px!important}
.mini-player{left:max(16px,calc((100vw - 904px)/2))!important;right:max(16px,calc((100vw - 904px)/2))!important;bottom:80px!important;width:auto!important;grid-template-columns:minmax(0,1fr) auto!important}
.desktop-progress,#miniPrev,#miniNext,#miniHeart{display:none!important}
.player-tab[data-player-tab="story"],#storyPanel{display:none!important}
@media(max-width:500px){.main-content{padding:20px 20px 170px!important}}
/* Consistent optical size and line treatment for all music icons. */
.situation-icon,.curated-icon{background:#f1f5ff!important;color:#3563c9!important;border:1px solid #e8effc!important}
.situation-icon svg,.curated-icon svg,.cover-art>svg,.collection-list-art svg{fill:none!important;stroke:currentColor!important;stroke-width:1.65!important;stroke-linecap:round;stroke-linejoin:round;display:block;overflow:visible}
.situation-icon svg,.curated-icon svg{width:25px!important;height:25px!important}
.bottom-nav .nav-item>span svg,.desktop-nav .nav-item>span svg{width:22px;height:22px;display:block;margin:auto}
.section-heading h2{font-size:19px!important;font-weight:650;letter-spacing:-.45px}
/* Keep two-line situation names visible at tablet and phone sizes. */
.situation-card{height:auto!important;min-height:112px!important;overflow:visible!important}
.situation-card .situation-icon{flex:0 0 58px!important;margin:0!important}
.situation-card strong{min-height:34px;overflow:visible!important;word-break:keep-all}
.mobile-header{justify-content:space-between!important;align-items:center;gap:16px}
.header-actions{margin-left:auto;flex-shrink:0}
.brand-logo{object-fit:contain!important;image-rendering:auto!important}
button:focus-visible,a:focus-visible,input:focus-visible{outline:2px solid #1457ff;outline-offset:3px}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
/* Compact genre shortcuts: circular icons with labels underneath. */
#homeGenreGrid{display:grid!important;grid-template-columns:repeat(auto-fill,minmax(76px,1fr))!important;gap:22px 12px!important}
#homeGenreGrid .home-genre{display:flex!important;flex-direction:column;align-items:center;justify-content:flex-start;gap:10px;width:100%!important;min-width:0!important;height:auto!important;min-height:98px!important;padding:0!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;text-align:center}
.genre-icon{display:grid;place-items:center;flex:0 0 48px;width:48px;height:48px;border-radius:50%;background:#f1f5ff;color:#3563c9}
.genre-icon svg{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round}
#homeGenreGrid .home-genre strong{font-size:12px!important;line-height:1.45;white-space:normal;overflow-wrap:anywhere;font-weight:600}
#homeGenreGrid .home-genre:hover .genre-icon,#homeGenreGrid .home-genre:focus-visible .genre-icon{background:#e7efff}
#resultCount,#queueCount,.library-summary,.user-playlist-copy small,.playlist-detail p{display:none!important}
#playerSheet #shuffleButton,#playerSheet #repeatButton,#playerSheet #shuffleButton.active,#playerSheet #repeatButton.active{background:transparent!important;box-shadow:none!important;border:0!important;border-radius:0!important}
#collectionShuffle{background:transparent!important;box-shadow:none!important;border:0!important;border-radius:0!important}
.admin-tools:has([hidden]){display:none}
.admin-tools{display:flex;justify-content:flex-end;margin:0 0 20px}
.admin-tools .admin-upload-button{width:auto!important;padding:0 18px!important;background:#1457ff!important;color:#fff!important;border:0!important;border-radius:12px}
.admin-tools .admin-upload-button strong{display:inline!important}
.admin-tools .admin-upload-button[hidden]{display:none!important}
/* v80: 시작 화면 헤드셋이 한 바퀴 돌아요 */
.launch-screen>div{perspective:400px}
.launch-screen svg{animation:plyve-headset-spin 1.3s cubic-bezier(.45,.05,.25,1) .25s both}
@keyframes plyve-headset-spin{0%{transform:rotateY(0) scale(.85)}55%{transform:rotateY(200deg) scale(1.08)}100%{transform:rotateY(360deg) scale(1)}}
@media (prefers-reduced-motion:reduce){.launch-screen svg{animation:none}}
/* v83: 상황 아이콘 아래 빈 공간 줄이기 */
.situation-card{min-height:0!important}
.situation-card strong{min-height:0!important}
.situation-grid{padding-bottom:4px!important}
.content-section:has(#situationGrid){margin-bottom:0!important}
.content-section:has(#situationGrid)+.content-section{margin-top:12px!important}
/* v85: 스크롤바 숨기기 (스크롤은 그대로 돼요) */
*{scrollbar-width:none}
::-webkit-scrollbar{display:none;width:0;height:0}
