/* RITM webapp: compact navigation, one content panel and one persistent player. */
html.ritm-webapp{color-scheme:dark;--web-canvas:#070707;--web-panel:#121212;--web-raised:#1b1b1b;--web-border:#ffffff16}
html.ritm-webapp[data-theme=light]{color-scheme:light;--web-canvas:#eaeaec;--web-panel:#fff;--web-raised:#f3f3f5;--web-border:#16161618}
html.ritm-webapp body{background:var(--web-canvas);color:var(--tx);padding-bottom:100px}
html.ritm-webapp .bg{display:none}
html.ritm-webapp body>header.ritm-clean-header{background:var(--web-canvas);border:0;box-shadow:none;backdrop-filter:none;margin:0;min-height:72px;padding:12px 24px}
html.ritm-webapp header h1{font-size:23px;letter-spacing:1px}
html.ritm-webapp .workspace-search{border-radius:999px;background:var(--web-raised);border:1px solid var(--web-border);box-shadow:none;max-width:600px}
html.ritm-webapp .workspace-search:focus-within{border-color:var(--active-red)}
html.ritm-webapp #ritm-web-home{min-height:calc(100dvh - 88px);background:var(--web-panel);border-radius:12px;padding:26px 28px 48px;overflow:hidden}
.web-welcome{display:flex;flex-direction:column;gap:22px;margin-bottom:26px}.web-eyebrow{font-size:10px;font-weight:800;letter-spacing:2px;color:var(--active-red)}.web-welcome h2{font-size:clamp(25px,3vw,36px);line-height:1.15;letter-spacing:-1px;margin:8px 0}.web-welcome p{color:var(--mu);font-size:14px;margin:0;line-height:1.6}.web-home-filters{display:flex;gap:8px;flex-wrap:wrap}.web-home-filters button{min-height:40px;padding:9px 19px;border:1px solid var(--web-border);border-radius:999px;background:var(--web-raised);color:var(--tx);font:600 13px system-ui;cursor:pointer}.web-home-filters button[aria-pressed=true]{background:var(--action-red,#b42340);color:white;border-color:transparent}
html.ritm-webapp #ritm-ticket-create-entry{display:none!important}
html.ritm-webapp .web-music-only :is(#ritm-events-entry,#ritm-home-videos){display:none!important}
html.ritm-webapp #hero.home-pro-hero{margin:0 0 28px;min-height:250px;border:1px solid var(--web-border);border-radius:12px;background:linear-gradient(115deg,#98233d20,transparent 70%),var(--web-raised);box-shadow:none;padding:28px;gap:28px}
html.ritm-webapp #hero .home-pro-cover{transform:none;border-radius:8px;box-shadow:0 12px 30px #0004;width:190px;height:190px;flex-shrink:0}
html.ritm-webapp #hero .hn{font-size:clamp(26px,3.7vw,48px);letter-spacing:-1px;line-height:1.12}
html.ritm-webapp #hero .hs{font-size:14px;line-height:1.7}
html.ritm-webapp #hero .hb{gap:10px;margin-top:18px}
html.ritm-webapp #music-home-rails{padding:0;margin:0}
html.ritm-webapp .workspace-section{margin:30px 0}
html.ritm-webapp .workspace-section-head h2{font-size:23px;letter-spacing:-.5px}
html.ritm-webapp .workspace-section-head>button{font-size:12px;color:var(--mu)}
html.ritm-webapp .workspace-rail{grid-auto-columns:minmax(155px,185px);gap:16px;padding-bottom:14px}
html.ritm-webapp .workspace-song{background:transparent;padding:10px;border-radius:8px;transition:background .15s}
html.ritm-webapp .workspace-song:hover{background:var(--web-raised)}
html.ritm-webapp .workspace-cover{border-radius:8px;box-shadow:0 7px 20px #0003}
html.ritm-webapp .workspace-song b{font-size:14px;margin-top:12px}
html.ritm-webapp .workspace-song small{font-size:12px;margin-top:6px}
html.ritm-webapp :is(#workspace-genres,#home-ranking,#ritm-events-entry,#ritm-home-videos,#arts,#shelves,#s2,#chips,#grid){margin-left:0;margin-right:0}
html.ritm-webapp #workspace-genres{padding:0}
html.ritm-webapp .workspace-genre-grid>button{border-radius:8px;background:var(--web-raised);border:1px solid var(--web-border);box-shadow:none}
html.ritm-webapp #ritm-events-entry{border-radius:12px;background:var(--web-raised);border:1px solid var(--web-border);padding:20px;margin-top:28px;margin-bottom:30px}
html.ritm-webapp .home-events-head h3{font-size:23px}
html.ritm-webapp .home-events-grid{gap:16px}
html.ritm-webapp :is(.ev-card,.video-card){box-shadow:none;border-radius:9px}
html.ritm-webapp .web-profile-tools{display:grid;gap:8px;margin:20px 0}
html.ritm-webapp #ritm-account .web-profile-tools button{display:flex;align-items:center;gap:12px;text-align:left;min-height:56px;width:100%;padding:14px;border:1px solid var(--web-border);border-radius:10px;background:var(--web-raised);color:var(--tx);font:600 14px system-ui;margin:0;box-shadow:none}
.web-profile-tools button>span:last-child{margin-left:auto}.web-profile-tools svg{width:22px;height:22px;flex-shrink:0}
.web-profile-edit{border-top:1px solid var(--web-border);padding-top:16px;margin:12px 0 20px}.web-profile-edit>summary{cursor:pointer;min-height:44px;padding:10px 0;font-weight:600}.web-profile-edit .account-profile-fields{margin-top:10px}
html.ritm-webapp #mini{background:var(--web-panel);border:1px solid var(--web-border);box-shadow:0 -8px 30px #0002;backdrop-filter:none}
.web-mini-transport{display:flex;align-items:center;gap:8px}.web-mini-timeline,.web-mini-volume{display:none}
html.ritm-webapp :is(button,a,input,select,summary):focus-visible{outline:2px solid var(--active-red);outline-offset:3px}
@media(min-width:1100px){
 html.ritm-webapp body{padding:0 8px 12px 288px}
 html.ritm-webapp body.web-has-track{padding-bottom:108px}
 html.ritm-webapp #ritm-desktop-nav{width:280px;inset:0 auto 0 0;padding:20px 8px 16px;background:var(--web-canvas);border:0;gap:8px;z-index:5}
 html.ritm-webapp .web-has-track #ritm-desktop-nav{bottom:96px}
 html.ritm-webapp .desktop-brand{padding:2px 18px 16px}.desktop-brand strong{font-size:28px}
 html.ritm-webapp :is(.desktop-explore,.desktop-library){background:var(--web-panel);border-radius:10px;padding:16px 8px}
 html.ritm-webapp .desktop-caption{font-size:10px;margin:0 0 8px}
 html.ritm-webapp #ritm-desktop-nav nav{gap:3px}
 html.ritm-webapp #ritm-desktop-nav button{min-height:44px;border-radius:6px;padding:10px 12px;font-size:14px;gap:12px}
 html.ritm-webapp #ritm-desktop-nav button:hover{background:var(--web-raised)}
 html.ritm-webapp #ritm-desktop-nav button[aria-current=page]{background:var(--active-red-bg);color:var(--active-red)}
 html.ritm-webapp .desktop-library{flex:1;min-height:150px;overflow:auto}
 html.ritm-webapp #ritm-desktop-nav .desktop-library-title{color:var(--mu);font-size:13px;margin-bottom:12px}.desktop-library-title>span:last-child{margin-left:auto}
 .desktop-library button span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.desktop-library small{display:block;color:var(--mu);font:400 11px/1.8 system-ui}.desktop-library-empty{font-size:13px;line-height:1.7;color:var(--mu);padding:0 12px}
 html.ritm-webapp .desktop-bottom{padding:8px;margin-top:0;gap:3px;flex-shrink:0}
 html.ritm-webapp .vw:not(#ritm-events){left:288px;right:8px;top:8px;bottom:8px;width:auto;border:1px solid var(--web-border);border-radius:12px;background:var(--web-panel)}
 html.ritm-webapp .web-has-track .vw:not(#ritm-events){bottom:104px}
 html.ritm-webapp #mini{inset:auto 0 0;transform:none;max-width:none;width:100%;height:96px;padding:12px 24px;gap:14px;border-radius:0;z-index:100;align-items:center}
 html.ritm-webapp #mini #mi{width:60px;height:60px;border-radius:6px}
 html.ritm-webapp #mini #mt{width:22%;min-width:100px;max-width:300px;flex:0 1 25%;cursor:pointer}
 html.ritm-webapp #mini #mtt{font-size:14px}
 html.ritm-webapp #mini #mta{font-size:12px}
 html.ritm-webapp #mini #mpr{display:none}
 html.ritm-webapp .web-mini-transport{display:grid;grid-template-columns:40px 44px 40px;justify-content:center;gap:2px 14px;flex:1}
 html.ritm-webapp #mini .web-mini-transport>button{display:flex!important;justify-content:center;align-items:center;width:40px;height:36px;padding:8px;background:none;border:0;color:var(--tx)}
 html.ritm-webapp #mini .web-mini-transport #mp{background:var(--action-red);color:white;border-radius:50%;height:40px}
 html.ritm-webapp #mini .web-mini-transport svg{width:22px;height:22px}
 html.ritm-webapp .web-mini-timeline{display:flex;align-items:center;gap:10px;grid-column:1/-1;width:min(40vw,600px);justify-self:center;font-size:10px;color:var(--mu);font-variant-numeric:tabular-nums}
 .web-mini-timeline input{width:100%;height:18px;accent-color:var(--active-red);cursor:pointer}.web-mini-timeline span{min-width:30px}
 html.ritm-webapp .web-mini-volume{display:flex;align-items:center;width:160px;gap:10px;margin-left:auto}.web-mini-volume input{width:95px;accent-color:var(--active-red)}.web-mini-volume button{border:0;color:var(--tx);background:none;width:36px;height:40px;font-size:23px;cursor:pointer}
 html.ritm-webapp body:has(#full.open),html.ritm-webapp body:has(#artist-studio:not([hidden])){padding-left:0;padding-right:0}
 html.ritm-webapp body:has(#full.open) #mini{display:none!important}
}
@media(max-width:1099px){
 html.ritm-webapp body{padding:0 0 calc(88px + env(safe-area-inset-bottom,0px))}
 html.ritm-webapp body>header.ritm-clean-header{padding:10px 16px;gap:8px}
 html.ritm-webapp #ritm-web-home{border-radius:0;padding:22px 16px 40px}
 html.ritm-webapp .web-welcome{gap:18px;margin-bottom:22px}.web-welcome h2{font-size:27px}.web-welcome p{font-size:13px}
 html.ritm-webapp #hero.home-pro-hero{padding:20px;min-height:190px;gap:18px}
 html.ritm-webapp #hero .home-pro-cover{width:125px;height:125px}
 html.ritm-webapp #hero .hn{font-size:29px}
 html.ritm-webapp #mini{left:10px;right:10px;bottom:calc(72px + env(safe-area-inset-bottom,0px));width:auto;max-width:none;transform:none;min-height:64px;border-radius:10px;padding:9px 12px;gap:10px}
 html.ritm-webapp #mini .web-mini-transport>button{width:36px;height:42px;padding:7px;border:0;background:none;color:var(--tx)}
 html.ritm-webapp #mini .web-mini-transport>button svg{width:24px;height:24px}
 html.ritm-webapp #mini .workspace-mini-prev{display:none}
 html.ritm-webapp body>.nav{left:0;right:0;bottom:0;transform:none;width:100%;max-width:none;height:calc(68px + env(safe-area-inset-bottom,0px));padding:6px 8px calc(6px + env(safe-area-inset-bottom,0px));border-radius:0;background:var(--web-canvas);border-top:1px solid var(--web-border);box-shadow:none;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:0}
 html.ritm-webapp .nav button{min-height:48px;border-radius:8px;min-width:0;padding:6px 2px;gap:4px}
 html.ritm-webapp .nav button span{font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
 html.ritm-webapp .nav button i svg{width:23px;height:23px}
 html.ritm-webapp body.web-has-track{padding-bottom:calc(160px + env(safe-area-inset-bottom,0px))}
 html.ritm-webapp .web-has-track .vw:not(#ritm-events){padding-bottom:160px}
}
@media(max-width:540px){
 html.ritm-webapp #hero.home-pro-hero{flex-direction:row;align-items:center;padding:16px;min-height:165px;gap:14px}
 html.ritm-webapp #hero .home-pro-cover{width:90px;height:90px;max-width:30%;border-radius:6px}
 html.ritm-webapp #hero .hg{min-width:0;flex:1;padding:0}
 html.ritm-webapp #hero .hn{font-size:23px;overflow-wrap:anywhere}
 html.ritm-webapp #hero .hs{font-size:11px;line-height:1.5}
 html.ritm-webapp #hero #ha{font-size:9px;letter-spacing:1px}
 html.ritm-webapp #hero .hb{margin-top:12px;gap:6px;flex-wrap:wrap}
 html.ritm-webapp #hero .hb button{min-height:38px;padding:8px 12px;font-size:11px}
 html.ritm-webapp .workspace-section-head h2{font-size:21px}
 html.ritm-webapp .workspace-rail{grid-auto-columns:145px;gap:6px}
 html.ritm-webapp .workspace-song{padding:6px}
 html.ritm-webapp #ritm-events-entry{padding:16px}
 html.ritm-webapp .home-events-head{flex-wrap:wrap;gap:14px}
}
/* Ticket checkout and creator tools retain their independent full-screen workspaces. */
html.ritm-webapp body:has(#ritm-events.open){padding:0!important}
@media(prefers-reduced-motion:reduce){html.ritm-webapp *{scroll-behavior:auto!important;transition:none!important}}
/* Replace the former full-bleed hero artwork with a readable, flat cover. */
html.ritm-webapp #hero.home-pro-hero:before{display:none}
html.ritm-webapp #hero.home-pro-hero .home-pro-cover{position:relative;inset:auto;width:190px;height:190px;object-fit:cover;z-index:0;border-radius:8px;box-shadow:0 12px 30px #0004;max-width:none}
html.ritm-webapp #hero.home-pro-hero .hg{width:auto;max-width:none;flex:1;min-width:0}
html.ritm-webapp #hero.home-pro-hero .hn{color:var(--tx)}
html.ritm-webapp #hero.home-pro-hero #hs{color:var(--mu)}
html.ritm-webapp #hero.home-pro-hero #ha{color:var(--active-red)}
html.ritm-webapp #hero.home-pro-hero #hf{background:var(--web-panel);color:var(--tx);border-color:var(--web-border)}
@media(max-width:1099px){html.ritm-webapp #hero.home-pro-hero .home-pro-cover{width:125px;height:125px}}
@media(max-width:540px){html.ritm-webapp #hero.home-pro-hero .home-pro-cover{width:90px;height:90px;max-width:30%}}

html.ritm-webapp,html.ritm-webapp body{touch-action:pan-x pan-y pinch-zoom}
html.ritm-webapp .ritm-menu-create-event{display:none!important}
