/* Music browsing and desktop listening, inspired by spacious catalog layouts. */
html[data-theme] header .workspace-search{display:flex;align-items:center;gap:10px;flex:1;max-width:640px;width:auto;min-width:0;height:48px;padding:0 12px;background:var(--card);border:1px solid var(--ui-border);border-radius:12px;margin:0;color:var(--tx)}
.workspace-search>svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8;flex-shrink:0}.workspace-search input{width:100%;min-width:0;border:0;outline:0;background:transparent;color:var(--tx);font:14px system-ui}.workspace-search input::placeholder{color:var(--mu)}.workspace-search select{font:12px system-ui;border:0;max-width:100px;padding:6px;background:transparent;color:var(--tx)}.workspace-search button{display:flex;align-items:center;justify-content:center;background:transparent;border:0;color:var(--tx);min-width:36px;min-height:40px}.workspace-search button svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2}.workspace-search:focus-within{outline:2px solid var(--active-red);outline-offset:2px}
#music-home-rails{max-width:1240px;padding:0 28px;margin:28px auto}#music-home-rails[hidden]{display:none}.workspace-section{margin:34px 0}.workspace-section-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:18px}.workspace-section-head h2{font-size:23px;margin:0;letter-spacing:-.4px}.workspace-section-head button{background:transparent;border:1px solid var(--ui-border);border-radius:22px;color:var(--tx);padding:8px 16px;font:600 12px system-ui;min-height:40px;white-space:nowrap}.workspace-rail{display:grid;grid-auto-flow:column;grid-auto-columns:175px;gap:20px;overflow-x:auto;padding-bottom:12px;scroll-snap-type:x proximity;scrollbar-width:thin;scrollbar-color:var(--ui-border) transparent}.workspace-song{border:0;background:transparent;color:var(--tx);text-align:left;font:inherit;padding:0;min-width:0;scroll-snap-align:start;cursor:pointer}.workspace-cover{display:block;position:relative;aspect-ratio:1;background:var(--card);border-radius:12px;overflow:hidden}.workspace-cover>img{width:100%;height:100%;object-fit:cover;display:block}.workspace-cover>i{position:absolute;bottom:12px;right:12px;width:42px;height:42px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#141414df;color:#fff;opacity:0;transition:opacity .15s}.workspace-cover>i svg{width:23px;height:23px;fill:currentColor}.workspace-song:hover .workspace-cover>i,.workspace-song:focus-visible .workspace-cover>i{opacity:1}.workspace-song>b{display:block;font-size:14px;line-height:1.4;margin:12px 0 4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.workspace-song>small{display:block;font-size:12px;color:var(--mu);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.workspace-song.on>b{color:var(--active-red)}.workspace-cover>.playing-bars{position:absolute;bottom:12px;left:12px;background:#171717df;border-radius:8px;padding:6px;width:32px;height:30px;color:#fff}.workspace-song:focus-visible,.workspace-section-head button:focus-visible{outline:2px solid var(--active-red);outline-offset:4px}
html.ritm-music-workspace .home-new-releases{display:none}
#desktop-listening-panel{display:none}
.workspace-mini-prev,.workspace-mini-next{display:none!important}
@media(min-width:1100px){
 html[data-theme].ritm-music-workspace body{padding-bottom:120px}
 html[data-theme] header.ritm-clean-header{padding:16px 28px;gap:20px}header.ritm-clean-header h1{font-size:18px}
 html[data-theme] #hero.home-pro-hero{min-height:220px;max-width:1184px;margin:24px auto 0;padding:28px 32px 28px 270px;border-radius:18px;background:var(--card);border:1px solid var(--ui-border)}html[data-theme] #hero.home-pro-hero:before{display:none}html[data-theme] #hero.home-pro-hero .home-pro-cover{inset:20px auto auto 28px;width:180px;height:180px;object-fit:contain;border-radius:12px}html[data-theme] #hero.home-pro-hero .hg{width:100%;max-width:none}html[data-theme] #hero.home-pro-hero .hn{font-size:30px;color:var(--tx)}html[data-theme] #hero.home-pro-hero #hs{color:var(--mu)}
 html.ritm-music-workspace #grid,html.ritm-music-workspace #s2,html.ritm-music-workspace #chips{display:none}
 html[data-theme] #mini{width:calc(100% - 244px);max-width:none;left:244px;right:0;bottom:0;transform:none;border-radius:0;height:88px;border:0;border-top:1px solid var(--ui-border);padding:14px 28px;box-shadow:0 -4px 20px #0002;gap:16px}html[data-theme] #mini .pt{flex:1}html[data-theme] #mini img{width:54px;height:54px;border-radius:8px}.workspace-mini-prev,.workspace-mini-next{display:flex!important;align-items:center;justify-content:center;min-width:44px;min-height:44px;background:none;border:0;color:var(--tx)}.workspace-mini-prev svg,.workspace-mini-next svg{width:26px;height:26px;fill:currentColor}
 body:has(#full.open)>#ritm-desktop-nav{display:flex}
 html[data-theme] #full.ritm-player-pro.open{display:grid;left:244px;padding:16px 38px 22px;grid-template-columns:minmax(0,1.15fr) minmax(300px,1fr);grid-template-rows:56px minmax(250px,1fr) auto auto 38px 84px;gap:14px 44px;justify-content:center;align-content:start;align-items:start}
 html[data-theme] #full.ritm-player-pro>.top{grid-column:1/-1;grid-row:1;margin:0;max-width:none;background:var(--bg);position:sticky;top:0;z-index:3}
 html[data-theme] #full.ritm-player-pro>.art{grid-column:1;grid-row:2;max-width:520px;width:100%;height:100%;max-height:calc(100dvh - 360px);min-height:0;aspect-ratio:1;object-fit:contain;justify-self:center;align-self:center;border:0;box-shadow:none}
 html[data-theme] #full.ritm-player-pro>.meta{grid-column:1;grid-row:3;max-width:520px;margin:0;justify-self:center}html[data-theme] #full.ritm-player-pro #ft{font-size:24px}html[data-theme] #full.ritm-player-pro #fa{font-size:14px;margin-top:7px}
 html[data-theme] #full.ritm-player-pro>.act{grid-column:1;grid-row:4;max-width:520px;margin:0;justify-self:center;min-height:48px}
 html[data-theme] #full.ritm-player-pro>.bar{grid-column:1/-1;grid-row:5;max-width:none;border-top:1px solid var(--ui-border);padding-top:14px;margin:0}
 html[data-theme] #full.ritm-player-pro>.ctl{grid-column:1/-1;grid-row:6;max-width:460px;margin:0;justify-self:center;align-self:center}
 html[data-theme] #full.ritm-player-pro>.ctl #pp{width:68px;height:68px;padding:16px}html[data-theme] #full.ritm-player-pro>.ctl{grid-template-columns:1fr 1fr 68px 1fr 1fr}
 html[data-theme] #full.ritm-player-pro>.lb,html[data-theme] #full.ritm-player-pro>.player-queue-handle{display:none!important}
 #desktop-listening-panel{display:flex;flex-direction:column;grid-column:2;grid-row:2/5;width:100%;min-width:0;min-height:0;align-self:stretch;overflow:hidden;border:1px solid var(--ui-border);border-radius:16px;background:var(--card)}
 .listening-tabs{display:flex;gap:4px;flex-shrink:0;border-bottom:1px solid var(--ui-border);padding:8px 10px}.listening-tabs button{background:none;border:0;border-bottom:2px solid transparent;min-height:46px;padding:10px;color:var(--mu);font:700 13px system-ui;cursor:pointer}.listening-tabs button[aria-selected=true]{color:var(--tx);border-bottom-color:var(--active-red)}.listening-tabs button:focus-visible{outline:2px solid var(--active-red);outline-offset:-2px}.listening-body{overflow:auto;min-height:0;padding:12px 16px;flex:1}
 .listening-body .clean-queue-row{border-radius:10px;margin-bottom:4px}.listening-body .clean-queue-row img{width:44px;height:44px}.listening-body .clean-queue-row b{font-size:14px}.listening-body .clean-queue-row small{font-size:12px}.workspace-lyrics{white-space:pre-wrap;font-size:19px;line-height:1.8;padding:12px 6px;color:var(--tx)}.workspace-queue-note{color:var(--mu);font-size:12px;padding:12px}.workspace-more{background:var(--bg);color:var(--tx);border:1px solid var(--ui-border);border-radius:12px;min-height:44px;width:100%;font:600 14px system-ui;margin-top:12px}
}
@media(max-width:600px){html[data-theme] header .workspace-search{order:10;flex-basis:100%;max-width:none}.workspace-search>svg{display:none}.workspace-search input{font-size:16px}.workspace-search select{max-width:85px;font-size:11px}#music-home-rails{padding:0 16px;margin-top:20px}.workspace-section{margin:26px 0}.workspace-section-head h2{font-size:20px}.workspace-rail{grid-auto-columns:145px;gap:14px}}
@media(min-width:1100px) and (max-height:700px){html[data-theme] #full.ritm-player-pro.open{grid-template-rows:56px 260px auto auto 38px 84px}#desktop-listening-panel{max-height:450px}html[data-theme] #full.ritm-player-pro>.art{max-height:260px}}
@media(prefers-reduced-motion:reduce){.workspace-cover>i{transition:none}}

html[data-theme] #full{transition:opacity 180ms ease,translate 220ms ease}
/* 093: a concise catalog home and one search form shared with the desktop player. */
html[data-theme] :is(header,#full>.top) .workspace-search{display:flex;align-items:center;gap:10px;flex:1;max-width:640px;min-width:0;width:auto;height:48px;padding:0 12px;background:var(--card);border:1px solid var(--ui-border);border-radius:12px;color:var(--tx)}
html[data-theme] header.ritm-clean-header h1{flex:0 0 auto;margin-right:16px}
html.ritm-music-workspace #shelves>.cs,html.ritm-music-workspace #shelves>.cs+.shelf{display:none}
html.ritm-music-workspace :is(#s1,#rows)[hidden],#workspace-genres[hidden]{display:none!important}
#workspace-genres{max-width:1240px;padding:0 28px;margin:32px auto}.workspace-genre-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px}.workspace-genre-grid button{position:relative;display:grid;gap:8px;text-align:left;min-height:96px;padding:18px 40px 18px 18px;background:var(--card);color:var(--tx);border:1px solid var(--ui-border);border-radius:14px;border-left:3px solid var(--active-red);font:inherit;cursor:pointer}.workspace-genre-grid b{font-size:16px}.workspace-genre-grid small{font-size:13px;color:var(--mu)}.workspace-genre-grid span{position:absolute;right:18px;top:28px;font-size:26px;color:var(--active-red)}.workspace-genre-grid button:hover{background:var(--active-red-bg)}.workspace-genre-grid button:focus-visible{outline:2px solid var(--active-red);outline-offset:3px}
html[data-theme] :is(.workspace-section-head,.artist-home-head) button{min-height:44px;font-size:13px;color:var(--tx)}
html[data-theme] .discovery-controls button{width:48px;height:48px;font-size:22px;color:var(--tx)}
@media(min-width:1100px){html[data-theme] #full>.top #np{display:none}html[data-theme] #full>.top::after{display:none}html[data-theme] #full>.top{gap:16px}html[data-theme] #full>.top .workspace-search{margin-left:auto}html[data-theme] .workspace-song>small{font-size:13px}html[data-theme] #full.ritm-player-pro>.ctl>.ib{width:52px;height:56px}html[data-theme] #full.ritm-player-pro>.ctl :is(#pv,#nx) svg{width:30px;height:30px}}
@media(max-width:600px){#workspace-genres{padding:0 16px;margin:26px auto}.workspace-genre-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.workspace-genre-grid button{padding:14px 28px 14px 14px}.workspace-genre-grid span{right:10px}}
.workspace-search input{flex:1 1 0;width:0;min-width:0}.workspace-search select{flex:0 0 auto}.workspace-search button{flex:0 0 36px;width:36px;padding:0}
@media(max-width:600px){html[data-theme] header.ritm-clean-header{flex-wrap:wrap}html[data-theme] header .workspace-search{flex:1 0 100%;width:100%;box-sizing:border-box}.workspace-search select{width:80px;max-width:80px}}
@media(max-width:600px){html[data-theme] :is(header,#full>.top) .workspace-search{flex:1 0 100%;width:100%;max-width:none;order:10}}
/* The seek target needs 44px; reserve its real height above a single control row. */
html[data-theme] #full.ritm-player-pro>.ctl{grid-template-rows:84px;grid-auto-rows:0;row-gap:0;min-height:84px}
@media(min-width:1100px){html[data-theme] #full.ritm-player-pro.open{grid-template-rows:56px minmax(230px,1fr) auto auto 60px 84px}html[data-theme] #full.ritm-player-pro>.bar{min-height:60px;align-self:start}html[data-theme] #full.ritm-player-pro>.ctl{height:84px;align-self:start}}
@media(min-width:1100px) and (max-height:700px){html[data-theme] #full.ritm-player-pro.open{grid-template-rows:56px 230px auto auto 60px 84px}}
html.ritm-music-workspace #hero #hf{display:none}
