/* Responsive finishing rules. Content reflows; only intentional media rails scroll sideways. */
html.ritm-webapp *,html.ritm-webapp *::before,html.ritm-webapp *::after{box-sizing:border-box}
html.ritm-webapp{--device-nav-height:68px;--device-gap:clamp(12px,2vw,24px);scroll-padding-bottom:100px}
html.ritm-webapp body{min-inline-size:0}
html.ritm-webapp :is(#ritm-web-home,.vb,.ev-wrap,.studio-wrap,.studio-card,.rt-panel,.rt-order,.workspace-section-head,.home-events-head,.artist-home-head){min-inline-size:0}
html.ritm-webapp :is(.workspace-section-head,.home-events-head,.artist-home-head){flex-wrap:wrap;gap:10px}
html.ritm-webapp :is(.workspace-section-head,.home-events-head,.artist-home-head)>:is(h2,h3){min-width:0;overflow-wrap:anywhere}
html.ritm-webapp :is(.workspace-section-head,.home-events-head,.artist-home-head)>button{flex-shrink:0}
html.ritm-webapp :is(.ev-description,.account-email,.profile-bio,.studio-status,.rt-order-facts dd){overflow-wrap:anywhere}
html.ritm-webapp :is(.ev-wrap,.studio-wrap,.rt-dialog) :is(input:not([type=checkbox]):not([type=radio]):not([type=range]),select,textarea){min-width:0;max-width:100%}
html.ritm-webapp :is(button,a,input,select,summary){touch-action:manipulation}
html.ritm-webapp :is(input,select,textarea){scroll-margin-block:80px}
html.ritm-webapp #ritm-account:not(.ritm-profile){width:min(440px,calc(100% - 24px));max-width:calc(100% - 24px);max-height:calc(var(--ritm-visible-height,100dvh) - 24px);padding:clamp(18px,4vw,28px);margin:auto;overflow:auto;overscroll-behavior:contain}
html.ritm-webapp #ritm-account:not(.ritm-profile) .account-close{min-width:44px;min-height:44px;padding:4px;line-height:1;position:relative;z-index:1}
html.ritm-webapp #ritm-account:not(.ritm-profile) .account-language{max-width:min(160px,55%);min-height:44px}
html.ritm-webapp #ritm-account.ritm-profile{max-height:calc(var(--ritm-visible-height,100dvh) - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px) - 24px)}
html.ritm-webapp .rt-dialog{max-height:calc(var(--ritm-visible-height,100dvh) - 24px)}
html.ritm-webapp #hero.home-pro-hero{grid-template-columns:minmax(0,1fr) 190px}
html.ritm-webapp #hero .hg{min-width:0}
html.ritm-webapp #hero .hn{overflow-wrap:anywhere}
html.ritm-webapp .workspace-rail{scroll-padding-inline:8px;overscroll-behavior-x:contain}
html.ritm-webapp #full #fa{overflow-wrap:anywhere}
html.ritm-webapp #mini :is(#mt,#mtt,#mta){min-width:0}
html.ritm-webapp #mini :is(#mtt,#mta){overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}
html.ritm-webapp #mini .web-mini-transport{flex-shrink:0}
@media(max-width:1099px){
 html.ritm-webapp #hero.home-pro-hero{grid-template-columns:minmax(0,1fr) 125px}
 html.ritm-webapp #ritm-web-home{padding-inline:clamp(12px,3.5vw,24px)}
 html.ritm-webapp .vw:not(#ritm-events){bottom:calc(var(--device-nav-height) + env(safe-area-inset-bottom,0px))}
 html.ritm-webapp #ritm-header-menu{height:var(--ritm-visible-height,100dvh);max-height:var(--ritm-visible-height,100dvh);padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}
 html.ritm-webapp #ritm-events.open{height:var(--ritm-visible-height,100dvh)!important;grid-template-rows:minmax(56px,max-content) minmax(0,1fr)}
 html.ritm-webapp #ritm-events>.vh{padding-top:max(8px,env(safe-area-inset-top,0px));padding-left:max(12px,env(safe-area-inset-left,0px));padding-right:max(12px,env(safe-area-inset-right,0px));min-width:0}
 html.ritm-webapp #ritm-events>.ev-wrap{padding-inline:clamp(12px,3.5vw,24px);padding-bottom:calc(32px + env(safe-area-inset-bottom,0px));overscroll-behavior:contain}
 html.ritm-webapp #ritm-events .ev-tabs>button{min-height:44px;white-space:normal;overflow-wrap:anywhere}
 html.ritm-webapp #ritm-events :is(.ev-btn,.rt-workspace-tabs button,.ev-card-cta){min-height:44px}
 html.ritm-webapp #ritm-events .ev-booking-panel :is(label,.ev-btn){min-width:0;max-width:100%}
 html.ritm-webapp .rt-workspace-tabs{scroll-padding-inline:4px;overscroll-behavior-x:contain}
 html.ritm-webapp .profile-identity-actions button{min-height:44px!important}
 html.ritm-webapp .nav button{min-height:48px}
 html.ritm-webapp #mini{max-width:calc(100% - 20px);padding-inline:10px}
 html.ritm-webapp #mini #mi{width:44px;height:44px;flex:0 0 44px;object-fit:cover}
 html.ritm-webapp #mini #mt{flex:1;overflow:hidden}
 html.ritm-webapp .workspace-section-head>button,html.ritm-webapp .artist-home-head>button{min-height:44px;padding-block:8px}
 html.ritm-webapp.ritm-keyboard-open :is(#ritm-account,.rt-dialog){inset-block-start:calc(var(--ritm-visible-top,0px) + 12px);inset-block-end:auto;margin-block:0}
 html.ritm-webapp.ritm-keyboard-open #ritm-events.open{top:var(--ritm-visible-top,0px)!important;bottom:auto!important}
 html.ritm-webapp.ritm-keyboard-open #ritm-header-menu{top:var(--ritm-visible-top,0px);bottom:auto}
 html.ritm-webapp #ritm-video-player .watch-comments-sheet{max-height:calc(var(--ritm-visible-height,100dvh) - 12px)}
 html.ritm-webapp.ritm-keyboard-open #ritm-video-player .watch-comments-sheet{top:calc(var(--ritm-visible-top,0px) + 12px);bottom:auto;height:calc(var(--ritm-visible-height,100dvh) - 24px);max-height:calc(var(--ritm-visible-height,100dvh) - 24px)}
 html.ritm-webapp #ritm-video-player .watch-comments-sheet :is(textarea,input){font-size:16px}
 html.ritm-webapp.ritm-keyboard-open body>.nav,html.ritm-webapp.ritm-keyboard-open #mini{visibility:hidden;pointer-events:none}
}
@media(max-width:600px){
 html.ritm-webapp body>header.ritm-clean-header{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:8px;padding:10px max(12px,env(safe-area-inset-right,0px)) 10px max(12px,env(safe-area-inset-left,0px));min-height:0}
 html.ritm-webapp body>header.ritm-clean-header h1{min-width:0;font-size:23px;letter-spacing:2px}
 html.ritm-webapp body>header.ritm-clean-header .workspace-search{grid-column:1/-1;grid-row:2;order:0;width:100%;height:46px;gap:4px;padding-inline:10px}
 html.ritm-webapp body>header.ritm-clean-header .home-header-search{display:none}
 html.ritm-webapp .workspace-search input{font-size:16px;min-width:0}
 html.ritm-webapp .workspace-search select{font-size:16px;width:86px;max-width:86px;min-width:0}
 html.ritm-webapp .workspace-search button{min-width:44px;min-height:44px;padding:8px}
 html.ritm-webapp .web-welcome{gap:12px;margin-bottom:18px}
 html.ritm-webapp .web-welcome h2{font-size:25px}
 html.ritm-webapp .web-home-filters{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}
 html.ritm-webapp .web-home-filters button{padding:9px 4px;font-size:12px;min-height:44px;white-space:normal;overflow-wrap:anywhere}
 html.ritm-webapp #hero.home-pro-hero{grid-template-columns:minmax(0,1fr) clamp(72px,23vw,110px);gap:12px;padding:14px;min-height:155px;margin-bottom:22px}
 html.ritm-webapp #hero.home-pro-hero .home-pro-cover{width:100%;height:auto;aspect-ratio:1;max-width:none}
 html.ritm-webapp #hero.home-pro-hero .hn{font-size:clamp(20px,5.5vw,28px)}
 html.ritm-webapp #hero .hb button{min-height:44px}
 html.ritm-webapp :is(.home-events-head,.home-events-actions){align-items:center;gap:8px}
 html.ritm-webapp .home-events-actions{width:auto;flex:0 0 auto}
 html.ritm-webapp .home-events-actions>button{width:auto;min-height:44px}
 html.ritm-webapp #ritm-events-entry{padding:14px}
 html.ritm-webapp .home-ranking-list>button{gap:10px;padding:12px}
 html.ritm-webapp .ranking-number{width:22px;font-size:16px}
 html.ritm-webapp .home-ranking-list img{width:42px;height:42px;flex-shrink:0}
 html.ritm-webapp #full.ritm-player-pro:not(.ritm-player-expanded){padding-inline:max(14px,env(safe-area-inset-left,0px));padding-bottom:calc(18px + env(safe-area-inset-bottom,0px))}
 html.ritm-webapp #full.ritm-player-pro:not(.ritm-player-expanded)>.meta{margin:16px 0 12px}
 html.ritm-webapp #full.ritm-player-pro #ft{font-size:clamp(23px,6vw,31px);line-height:1.2}
 html.ritm-webapp #full.ritm-player-pro #fa{font-size:15px;margin-top:7px}
 html.ritm-webapp #full.ritm-player-pro:not(.ritm-player-expanded)>.bar{min-height:44px;flex-shrink:0}
 html.ritm-webapp #full.ritm-player-pro:not(.ritm-player-expanded)>.ctl{gap:4px;min-height:76px;margin:6px 0;flex-shrink:0}
 html.ritm-webapp #full.ritm-player-pro:not(.ritm-player-expanded)>.ctl .ib{min-width:44px;width:44px;height:44px;padding:10px}
 html.ritm-webapp #full.ritm-player-pro:not(.ritm-player-expanded)>.ctl #pp{width:72px;height:72px;min-width:72px}
 html.ritm-webapp #full.ritm-player-pro:not(.ritm-player-expanded)>.act button{min-height:44px}
 html.ritm-webapp #ritm-account :is(input:not([type=checkbox]):not([type=radio]),textarea,select),html.ritm-webapp #ritm-events :is(input:not([type=checkbox]):not([type=radio]):not([type=range]),textarea,select){font-size:16px}
 html.ritm-webapp #ritm-account .profile-language-label{flex-wrap:wrap}
 html.ritm-webapp #ritm-account .account-language{font-size:16px}
 html.ritm-webapp :is(.rt-dialog,.share-panel){padding-inline:16px}
 html.ritm-webapp .share-preview{gap:12px}
 html.ritm-webapp .share-preview img{width:72px;height:72px}
 html.ritm-webapp .share-preview h2{font-size:21px}
}
@media(max-width:1099px) and (orientation:portrait){
 html.ritm-webapp #full.ritm-player-pro.open:not(.ritm-player-expanded)>.art{width:min(100%,500px,max(180px,calc(100dvh - 360px)));align-self:center}
 html.ritm-webapp #full.ritm-player-pro.open:not(.ritm-player-expanded)>:is(.meta,.act,.bar,.ctl,.player-queue-handle){max-width:500px}
}
@media(min-width:560px) and (max-width:1099px) and (max-height:599px){
 html.ritm-webapp #full.ritm-player-pro.open:not(.ritm-player-expanded){display:grid;grid-template-columns:minmax(140px,.8fr) minmax(0,1.2fr);grid-template-rows:48px auto auto 44px 76px auto auto;gap:10px 16px;align-content:start;padding:calc(8px + env(safe-area-inset-top,0px)) max(14px,env(safe-area-inset-right,0px)) calc(16px + env(safe-area-inset-bottom,0px)) max(14px,env(safe-area-inset-left,0px))}
 html.ritm-webapp #full.ritm-player-pro.open:not(.ritm-player-expanded)>.top{grid-column:1/-1;grid-row:1;margin:0;min-height:48px}
 html.ritm-webapp #full.ritm-player-pro.open:not(.ritm-player-expanded)>.art{grid-column:1;grid-row:2/8;align-self:start;width:min(100%,max(140px,calc(100dvh - 100px)));margin:0}
 html.ritm-webapp #full.ritm-player-pro.open:not(.ritm-player-expanded)>:is(.meta,.act,.bar,.ctl,.lb,.player-queue-handle){grid-column:2;width:100%;min-width:0;margin:0}
 html.ritm-webapp #full.ritm-player-pro.open:not(.ritm-player-expanded)>.meta{grid-row:2}
 html.ritm-webapp #full.ritm-player-pro.open:not(.ritm-player-expanded)>.act{grid-row:3}
 html.ritm-webapp #full.ritm-player-pro.open:not(.ritm-player-expanded)>.bar{grid-row:4}
 html.ritm-webapp #full.ritm-player-pro.open:not(.ritm-player-expanded)>.ctl{grid-row:5;min-height:76px;gap:4px}
 html.ritm-webapp #full.ritm-player-pro.open:not(.ritm-player-expanded)>.ctl .ib{width:44px;min-width:44px}
 html.ritm-webapp #full.ritm-player-pro.open:not(.ritm-player-expanded)>.ctl #pp{width:64px;min-width:64px;height:64px;padding:12px}
 html.ritm-webapp #full.ritm-player-pro.open:not(.ritm-player-expanded)>.lb{grid-row:6}
 html.ritm-webapp #full.ritm-player-pro.open:not(.ritm-player-expanded)>.player-queue-handle{grid-row:7}
}
@media(min-width:1100px){
 html.ritm-webapp body>header.ritm-clean-header,html.ritm-webapp #ritm-web-home{max-width:1480px;margin-inline:auto}
 html.ritm-webapp #ritm-desktop-nav{overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin}
 html.ritm-webapp #mini .web-mini-timeline{width:clamp(220px,35vw,560px)}
 html.ritm-webapp #mini .web-mini-volume{flex:0 0 140px;width:140px}
 html.ritm-webapp #mini .web-mini-transport{min-width:0}
}
@media(pointer:coarse){html.ritm-webapp #full.ritm-player-pro:not(.ritm-player-expanded)>.amb{inset:0;width:100%;height:100%;position:absolute;filter:blur(28px) saturate(.8) brightness(.5);transform:none}html.ritm-webapp :is(.workspace-song,.video-card){transition:none}}
@media(prefers-reduced-motion:reduce){html.ritm-webapp :is(.playing-bars i,.mini-playing,.bg){animation:none!important}html.ritm-webapp *{scroll-behavior:auto!important}}
@media print{html.ritm-webapp #ritm-events.open{height:auto!important}html.ritm-webapp #ritm-events>.ev-wrap{overflow:visible!important}}
