/* Generated by scripts/build-theme-assets.php. Do not edit directly. */

/* Source: assets/css/homepage.css */


/* Source: assets/css/hero.css */
/* =====================================
   Hero Section
===================================== */

.hero {
	background: #090909;
	color: #fff;
	padding: 80px 0;
	display: flex;
	justify-content: center;
	align-items: center;
}

.hero-tag {
	color: #f4c430;
	text-transform: uppercase;
	letter-spacing: 5px;
	font-size: .95rem;
	margin-bottom: 30px;
}

.hero h1 {
	font-size: clamp(3.5rem, 8vw, 6.5rem);
	line-height: 1.05;
	font-weight: 800;
	margin-bottom: 30px;
}

.hero h1 span { display: block; color: #f4c430; }

.hero-text {
	max-width: 700px;
	margin: 0 auto 40px;
	font-size: 1.4rem;
	color: #b8b8b8;
}

.hero-buttons { display: flex; justify-content: center; gap: 20px; flex-wrap: wrap; }
.hero-content { width: min(900px, 92%); margin: auto; text-align: center; }

/*
 * Desktop repair: another loaded stylesheet is hiding the textual hero
 * elements after this file is applied. Scope the override to the OFM home
 * page so it does not affect WaveMe's other hero components or mobile view.
 */
@media (min-width: 641px) {
	/* Keep Trending Songs within reach on desktop instead of reserving a full viewport. */
	.ofm-home > .hero {
		height: auto !important;
		max-height: none !important;
		min-height: clamp(420px, 58vh, 620px) !important;
		padding: 72px 0 !important;
	}

	.ofm-home > .hero .hero-content,
	.ofm-home > .hero .hero-tag,
	.ofm-home > .hero h1,
	.ofm-home > .hero h1 span,
	.ofm-home > .hero .hero-text {
		display: block !important;
		visibility: visible !important;
		opacity: 1 !important;
		transform: none !important;
	}

	.ofm-home > .hero .hero-tag { color: #f4c430 !important; }
	.ofm-home > .hero h1 { color: #fff !important; }
	.ofm-home > .hero h1 span { color: #f4c430 !important; }
	.ofm-home > .hero .hero-text { color: #b8b8b8 !important; }
}

/* Keep the hero promise within the narrowest supported mobile viewports. */
@media (max-width: 640px) {
	.ofm-home > .hero h1 {
		font-size: clamp(2.5rem, 12vw, 3.25rem) !important;
		line-height: 1.02 !important;
		letter-spacing: -0.02em !important;
	}
}

/* The player remains running but stays out of every sign-in/access state. */
body.page-template-page-ofm-access #ofm-player,
html.ofm-access-modal-open #ofm-player {
	visibility: hidden;
	pointer-events: none;
}

/* Source: assets/css/cards.css */
.song-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:28px;margin-top:40px}.song-card{background:#141414;border-radius:22px;overflow:hidden;transition:.35s;box-shadow:0 10px 30px rgba(0,0,0,.35)}.song-card:hover{transform:translateY(-5px);box-shadow:0 18px 42px rgba(0,0,0,.42),0 0 0 1px rgba(244,196,48,.1)}.song-cover{position:relative;display:block;overflow:hidden}.song-cover img{width:100%;aspect-ratio:1;object-fit:cover;transition:.45s}.song-cover::after{content:"";position:absolute;left:0;right:0;bottom:0;height:42%;background:linear-gradient(to top,rgba(0,0,0,.65),transparent);pointer-events:none}.song-overlay{position:absolute;inset:0;z-index:2;display:flex;justify-content:center;align-items:center;background:rgba(0,0,0,.12);opacity:0;transition:opacity .25s ease}.song-card:hover .song-overlay,.song-card:focus-within .song-overlay{opacity:1}.play-button{width:54px;height:54px;display:grid;place-items:center;padding:0;border:1px solid rgba(255,255,255,.28);border-radius:50%;background:rgba(244,196,48,.92);color:#111;box-shadow:0 8px 22px rgba(0,0,0,.25);cursor:pointer;transition:transform .2s ease,background-color .2s ease}.play-button svg{width:21px;height:21px;fill:currentColor}.play-button:hover,.play-button:focus-visible{background:#ffd34d;transform:scale(1.06)}.play-button:focus-visible{outline:2px solid #fff;outline-offset:3px}.song-card .ofm-favorite-button{top:12px;right:12px;z-index:4;width:27px;height:27px;padding:0;border:0!important;border-radius:0!important;background:transparent!important;color:rgba(255,255,255,.88);backdrop-filter:none!important;box-shadow:none!important}.song-card .ofm-favorite-button svg{width:21px;height:21px;stroke-width:1.8;filter:drop-shadow(0 1px 2px rgba(0,0,0,.55))}.song-card .ofm-favorite-button:hover,.song-card .ofm-favorite-button:focus-visible{color:#fff;transform:scale(1.08)}.song-card .ofm-favorite-button.is-saved{color:#f4c430;background:transparent!important;border:0!important}.song-info{padding:22px}.song-info h3{margin:0;font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:1.2rem;font-weight:600;letter-spacing:-.012em;line-height:1.22}.artist{margin-top:8px;color:#9ca3af}.genre{display:inline-block;margin-top:16px;padding:6px 14px;border-radius:999px;background:#222;color:#f4c430;font-size:.8rem}.song-info h3 a{color:#fff;text-decoration:none}.song-info h3 a:hover{color:#f4c430}@media(max-width:580px){.song-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:24px}.song-card{border-radius:16px}.song-info{padding:14px}.song-info h3{font-size:1rem}.song-card .ofm-favorite-button{width:28px;height:28px;top:10px;right:10px}.play-button{width:48px;height:48px}.song-overlay{opacity:1;background:linear-gradient(to top,rgba(0,0,0,.1),transparent)}.song-card .play-button{opacity:.9}}
/* Artist Studio detail occupies the release-card copy area without exposing private notes. */
.song-card .btn-more{display:none!important}.song-detail{margin:9px 0 0;color:#b8b8b8;font-size:.82rem;line-height:1.45;overflow:hidden}.song-detail+.genre{margin-top:12px}@media(max-width:580px){.song-detail{font-size:.76rem;line-height:1.4}}

/* Cover playback follows the Home pattern everywhere this shared card is
 * used: reveal it on intent, keep it visible for the current track, and do
 * not leave an invisible control in the pointer hit area. */
.song-card .song-overlay{
    pointer-events:none;
}

.song-card .song-overlay .play-button{
    pointer-events:none;
}

.song-card:hover .song-overlay,
.song-card:focus-within .song-overlay,
.song-card.is-playing .song-overlay{
    opacity:1;
    pointer-events:auto;
}

.song-card:hover .song-overlay .play-button,
.song-card:focus-within .song-overlay .play-button,
.song-card.is-playing .song-overlay .play-button{
    pointer-events:auto;
}

.song-card .play-button{
    border-color:rgb(255 255 255 / .8);
    background:rgb(0 0 0 / .5);
    color:#fff;
}

.song-card .play-button:hover,
.song-card .play-button:focus-visible{
    border-color:#fff;
    background:rgb(0 0 0 / .64);
    color:#fff;
}

/* A touch listener has no durable hover state. Keep the same cover control
 * available there, while keyboard focus still reveals it on every device. */
@media (hover:none), (pointer:coarse){
    .song-card .song-overlay{
        opacity:1;
        pointer-events:auto;
    }

    .song-card .song-overlay .play-button{
        pointer-events:auto;
    }
}

/* Preserve the existing compact-card touch target behavior on narrow layouts. */
@media (max-width:580px){
    .song-card .song-overlay{
        pointer-events:auto;
    }
}

/* Source: assets/css/buttons.css */
.btn-primary,
.btn-secondary{

    display:inline-flex;
    align-items:center;
    justify-content:center;

    padding:18px 40px;

    border-radius:999px;

    text-decoration:none;

    font-weight:700;

    transition:.3s;
}

.btn-primary{

    background:#f4c430;

    color:#111;
}

.btn-primary:hover{

    transform:translateY(-3px);
}

.btn-secondary{

    border:2px solid #f4c430;

    color:#fff;
}

.btn-secondary:hover{

    background:#f4c430;

    color:#111;
}

/* Source: assets/css/sections.css */
.ofm-section{
    padding:80px 0;
    background:#090909;
    color:#fff;
}

.ofm-container{
    width:min(1200px,92%);
    margin:auto;
}

.ofm-section h2{
    font-size:2.4rem;
    margin-bottom:20px;
    color:#fff;
}

.ofm-section p{
    color:#9ca3af;
}

.section-header{

    display:flex;

    justify-content:space-between;

    align-items:flex-end;

    gap:20px;

    margin-bottom:30px;
}

.section-header h2{

    margin:0;

    font-size:3rem;
}

.section-header p{

    margin:8px 0 0;

    color:#9ca3af;
}

.section-link{

    color:#f4c430;

    text-decoration:none;

    font-weight:700;

    white-space:nowrap;
}

/* Source: assets/css/utilities.css */


/* Source: assets/css/responsive.css */


/* Source: assets/css/library.css */
.ofm-account,.ofm-library{background:radial-gradient(900px 500px at 50% 15%,rgba(244,196,48,.055),transparent 60%),#090909;color:#fff;min-height:100vh;padding:clamp(42px,8vw,110px) 20px calc(180px + env(safe-area-inset-bottom))}.ofm-account{display:grid;place-items:center}.ofm-account__panel{width:min(100%,520px);box-sizing:border-box;background:linear-gradient(145deg,rgba(30,30,30,.96),rgba(18,18,18,.98));border:1px solid rgba(255,255,255,.11);border-radius:28px;padding:clamp(30px,5vw,54px);box-shadow:0 30px 80px rgba(0,0,0,.42)}.ofm-eyebrow{margin:0 0 14px;color:#f4c430;font-size:.72rem;font-weight:800;letter-spacing:.2em}.ofm-account h1,.ofm-library h1{margin:0;font-size:clamp(2.5rem,5vw,4.5rem);line-height:1.02;letter-spacing:-.045em}.ofm-account__intro,.ofm-library__header>p:not(.ofm-eyebrow),.ofm-account__panel>p:not(.ofm-eyebrow){max-width:32rem;color:#b6b6b6;font-size:1rem;line-height:1.65}.ofm-auth-tabs{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin:32px 0 24px;padding:5px;border:1px solid rgba(255,255,255,.08);border-radius:14px;background:#101010}.ofm-auth-tabs button{appearance:none;border:0;border-radius:10px;background:transparent;padding:11px 10px;color:#aaa;cursor:pointer;font:inherit;font-size:.9rem;font-weight:750;transition:background .2s,color .2s}.ofm-auth-tabs button.is-active{color:#111;background:#f4c430}.ofm-auth-form{display:grid;gap:17px}.ofm-auth-form[hidden]{display:none!important}.ofm-auth-form label{display:grid;gap:8px;color:#f4f4f4;font-size:.86rem;font-weight:750}.ofm-auth-form label span{color:#969696;font-weight:500}.ofm-auth-form input{width:100%;box-sizing:border-box;border:1px solid #383838;border-radius:12px;background:#0d0d0d;color:#fff;padding:14px 15px;font:inherit;transition:border-color .2s,box-shadow .2s,background .2s}.ofm-auth-form input:hover{border-color:#4c4c4c}.ofm-auth-form input:focus{outline:0;border-color:#f4c430;background:#101010;box-shadow:0 0 0 3px rgba(244,196,48,.13)}.ofm-auth-form .wp-hide-pw,.ofm-auth-form .password-toggle,.ofm-auth-form [class*="toggle-password"],.ofm-auth-form button:not(.ofm-button){display:none!important}.ofm-form-message{min-height:1.2em;margin:0;color:#ffb4b4;font-size:.9rem}.ofm-button{display:inline-flex;justify-content:center;align-items:center;min-height:50px;padding:0 22px;border-radius:999px;text-decoration:none;font-weight:800}.ofm-button--primary{border:0;background:#f4c430;color:#101010;cursor:pointer;transition:transform .2s,background .2s}.ofm-button--primary:hover{background:#ffd34d;transform:translateY(-1px)}.ofm-button--primary:disabled{opacity:.65;cursor:wait}.ofm-library{max-width:1280px;margin:auto}.ofm-library__header{margin-bottom:38px}.ofm-library__empty{max-width:580px;border:1px dashed #494949;border-radius:20px;padding:36px;background:#121212}.ofm-library__empty h2{margin-top:0}.ofm-favorite-button{position:absolute;z-index:3;top:12px;right:12px;width:42px;height:42px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.22);border-radius:50%;background:rgba(10,10,10,.75);color:#fff;cursor:pointer}.ofm-favorite-button svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2}.ofm-favorite-button.is-saved{color:#f4c430}.ofm-favorite-button.is-saved svg{fill:currentColor}.ofm-favorite-button:focus-visible{outline:2px solid #f4c430;outline-offset:3px}.ofm-favorite-button:disabled{opacity:.6;cursor:wait}.player-favorite{position:static;flex:0 0 auto;width:34px;height:34px;background:transparent;border-color:transparent}@media(max-width:580px){.ofm-account,.ofm-library{padding:34px 16px calc(184px + env(safe-area-inset-bottom))}.ofm-account{place-items:start center}.ofm-account__panel{border-radius:22px;padding:30px 22px}.ofm-account h1{font-size:2.75rem}.ofm-library__header{margin-bottom:24px}.song-card .ofm-favorite-button{opacity:1}.player-favorite{display:grid!important}}

/* Source: assets/css/history.css */
.ofm-library__header{margin-bottom:22px}.ofm-library__header>p:not(.ofm-eyebrow){margin:7px 0 0;line-height:1.4}.ofm-history{padding:14px 0 20px}.ofm-history__heading{display:flex;align-items:end;justify-content:space-between;gap:20px;margin:0 0 14px}.ofm-history__heading h2{margin:2px 0 0;font-size:clamp(1.65rem,3vw,2.25rem)}.ofm-history__heading>span{color:#aaa}.ofm-history__grid{padding-bottom:0}.ofm-history .song-card{min-width:0}.ofm-library .ofm-playlists{padding:20px 0 34px}.ofm-library .ofm-playlists__heading>div>p:last-child{margin:6px 0 0;line-height:1.4}@media(max-width:640px){.ofm-library__header{margin-bottom:18px}.ofm-history{padding:12px 0 16px}.ofm-history__heading{align-items:start;flex-direction:column;gap:5px}.ofm-library .ofm-playlists{padding-top:18px}}
.ofm-library .song-grid{grid-template-columns:repeat(auto-fill,minmax(168px,1fr));gap:16px;margin-top:20px}.ofm-library .song-card{border-radius:16px}.ofm-library .song-info{padding:14px}.ofm-library .song-info h3{font-size:1rem;line-height:1.25}.ofm-library .artist{margin-top:5px;font-size:.88rem}.ofm-library .genre{margin-top:10px;padding:5px 10px;font-size:.72rem}.ofm-library .play-button{width:52px;height:52px}.ofm-library .ofm-favorite-button{width:34px;height:34px;top:9px;right:9px}@media(max-width:580px){.ofm-library .song-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.ofm-library .song-info{padding:12px}.ofm-library .song-info h3{font-size:.94rem}.ofm-library .artist{font-size:.82rem}}

/* Source: assets/css/playlists.css */
.ofm-playlists{max-width:1280px;margin:0 auto;padding:0 20px calc(180px + env(safe-area-inset-bottom));background:#090909;color:#fff}.ofm-playlists__heading{display:flex;align-items:end;justify-content:space-between;gap:24px;padding-top:56px}.ofm-playlists h2{margin:0;font-size:clamp(2rem,4vw,3rem)}.ofm-playlists__heading>div>p:last-child{color:#aaa}.ofm-playlist-create{display:flex;gap:12px;align-items:end;margin:24px 0;padding:18px;border:1px solid #303030;border-radius:16px;background:#151515}.ofm-playlist-create label{display:grid;gap:7px;flex:1;font-weight:700}.ofm-playlist-create input{padding:12px;border:1px solid #454545;border-radius:10px;background:#0c0c0c;color:#fff;font:inherit}.ofm-playlist-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:16px;margin-top:28px}.ofm-playlist-card{position:relative;display:grid;grid-template-columns:76px minmax(0,1fr);gap:14px;align-items:center;padding:14px;border:1px solid #2d2d2d;border-radius:18px;background:#151515}.ofm-playlist-card__cover{width:76px;height:76px;display:grid;place-items:center;border-radius:12px;background:#292929 center/cover;color:#f4c430;font-size:2rem}.ofm-playlist-card h3{margin:2px 0;font-size:1.05rem}.ofm-playlist-card p{margin:0;color:#aaa}.ofm-playlist-card button{position:absolute;top:8px;right:8px;border:0;background:transparent;color:#aaa;font-size:1.4rem;cursor:pointer}.ofm-playlist-empty{display:grid;gap:5px;margin-top:24px;padding:24px;border:1px dashed #444;border-radius:16px;color:#aaa}.ofm-playlist-empty strong{color:#fff}.ofm-playlist-modal{position:fixed;z-index:1000001;inset:0;display:grid;place-items:center;padding:20px;background:rgba(0,0,0,.62)}.ofm-playlist-modal__box{width:min(100%,420px);position:relative;padding:30px;border:1px solid #393939;border-radius:22px;background:#191919;color:#fff;box-shadow:0 24px 70px rgba(0,0,0,.5)}.ofm-playlist-modal__box h2{margin:0 0 20px}.ofm-playlist-modal__close{position:absolute;top:12px;right:15px;border:0;background:transparent;color:#fff;font-size:1.6rem}.ofm-playlist-modal__list{display:grid;gap:8px}.ofm-playlist-modal__list button{padding:13px;border:1px solid #383838;border-radius:12px;background:#101010;color:#fff;text-align:left;font:inherit;cursor:pointer}.ofm-playlist-modal__list button:hover{border-color:#f4c430}@media(max-width:580px){.ofm-playlists{padding:0 16px calc(184px + env(safe-area-inset-bottom))}.ofm-playlists__heading{align-items:start;flex-direction:column}.ofm-playlist-create{align-items:stretch;flex-direction:column}}
.song-card .ofm-playlist-add{position:absolute;z-index:4;top:12px;left:12px;width:32px;height:32px;display:grid;place-items:center;padding:0;border:1px solid rgb(255 255 255 / .35);border-radius:999px;background:rgb(10 10 10 / .25);color:#fff;opacity:0;cursor:pointer;transition:background-color .18s ease,opacity .18s ease,transform .18s ease}.song-card .ofm-playlist-add svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round}.song-card:hover .ofm-playlist-add,.song-card .ofm-playlist-add:focus-visible{opacity:1}.song-card .ofm-playlist-add:hover{background:#f4c430;color:#111;transform:scale(1.06)}@media(max-width:760px){.song-card .ofm-playlist-add{opacity:.9;top:10px;left:10px;width:30px;height:30px}}
.ofm-playlist-modal__empty{margin:0;color:#bbb}.ofm-playlist-modal__list .ofm-button{justify-content:center;text-align:center}
.ofm-playlist-modal__new{display:grid;gap:8px;margin-top:18px;padding-top:18px;border-top:1px solid #343434}.ofm-playlist-modal__new label{color:#c8c8c8;font-size:.88rem;font-weight:700}.ofm-playlist-modal__new>div{display:flex;gap:8px}.ofm-playlist-modal__new input{min-width:0;flex:1;padding:11px 12px;border:1px solid #414141;border-radius:10px;background:#101010;color:#fff;font:inherit}.ofm-playlist-modal__new button{padding:10px 13px;border:0;border-radius:10px;background:#f4c430;color:#171717;font:inherit;font-weight:800;cursor:pointer}.ofm-playlist-modal__new button:disabled{opacity:.55;cursor:wait}@media(max-width:580px){.ofm-playlist-modal__new>div{flex-direction:column}.ofm-playlist-modal__new button{width:100%}}
.ofm-library .ofm-playlists{max-width:none;margin:0;padding:30px 0 34px;background:transparent}.ofm-library .ofm-playlists__heading{padding-top:0}.ofm-playlist-card__link{display:grid;grid-template-columns:76px minmax(0,1fr);gap:14px;align-items:center;min-width:0;color:inherit;text-decoration:none}.ofm-playlist-card__link:hover h3{color:#f4c430}.ofm-playlist-card:has(.ofm-playlist-card__link:hover){border-color:#4a4a4a;transform:translateY(-2px)}.ofm-playlist-detail__back{display:inline-block;margin:32px 0 0;color:#f4c430;text-decoration:none;font-weight:700}.ofm-playlist-detail__back:hover{text-decoration:underline}
.ofm-playlist-notice{position:fixed;z-index:1000002;left:50%;bottom:calc(112px + env(safe-area-inset-bottom));max-width:calc(100vw - 32px);padding:13px 18px;border:1px solid rgb(244 196 48 / .6);border-radius:999px;background:#1b1b1b;color:#fff;box-shadow:0 14px 35px rgb(0 0 0 / .35);font-weight:700;opacity:0;transform:translate(-50%,12px);transition:opacity .2s ease,transform .2s ease}.ofm-playlist-notice.is-visible{opacity:1;transform:translate(-50%,0)}.ofm-station-playlist{width:min(100%,760px);display:flex;align-items:center;justify-content:space-between;gap:16px;margin:12px 0 12px;padding:12px 14px 12px 16px;border:1px solid #363636;border-radius:16px;background:linear-gradient(110deg,#181818,#202020);color:#d5d5d5;font-size:.92rem}.ofm-station-playlist button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:38px;padding:8px 13px;border:1px solid #f4c430;border-radius:999px;background:#f4c430;color:#161616;font:inherit;font-weight:800;cursor:pointer;transition:transform .18s ease,box-shadow .18s ease}.ofm-station-playlist button:hover{transform:translateY(-1px);box-shadow:0 6px 18px rgb(244 196 48 / .18)}.ofm-station-playlist svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round}@media(max-width:580px){.ofm-station-playlist{align-items:flex-start;flex-direction:column;gap:10px;padding:13px}.ofm-station-playlist button{width:100%}}
.ofm-playlist-card__cover{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(2,minmax(0,1fr));place-items:stretch;overflow:hidden;background:#292929}.ofm-playlist-card__cover img{display:block;width:100%;height:100%;object-fit:cover}.ofm-playlist-card__cover--1{display:block}.ofm-playlist-card__cover--1 img{display:block}.ofm-playlist-card__cover>span{display:grid;place-items:center;grid-column:1/-1;grid-row:1/-1}.song-card button.ofm-playlist-add{position:absolute!important;z-index:6!important;top:10px!important;left:10px!important;display:grid!important;place-items:center!important;box-sizing:border-box!important;width:30px!important;height:30px!important;min-height:30px!important;margin:0!important;padding:0!important;border:1px solid rgb(255 255 255 / .38)!important;border-radius:50%!important;background:rgb(12 12 12 / .52)!important;color:#fff!important;font-size:0!important;line-height:1!important;opacity:0;cursor:pointer;box-shadow:none!important;transition:opacity .18s ease,transform .18s ease,background .18s ease}.song-card button.ofm-playlist-add svg{display:block!important;width:16px!important;height:16px!important;fill:none!important;stroke:currentColor!important;stroke-width:2!important;stroke-linecap:round!important}.song-card:hover button.ofm-playlist-add,.song-card button.ofm-playlist-add:focus-visible{opacity:1}.song-card button.ofm-playlist-add:hover{background:#f4c430!important;color:#151515!important;transform:scale(1.06)}@media(max-width:760px){.song-card button.ofm-playlist-add{opacity:.94}}
.song-card .play-button .icon-pause{display:none;fill:none;stroke:currentColor;stroke-width:2.4;stroke-linecap:round}.song-card.is-playing .play-button .icon-play{display:none}.song-card.is-playing .play-button .icon-pause{display:block}

/* Source: assets/css/library-compact.css */
/* Library RC2: dense, scannable saved releases and playlist controls. */
/* Native disclosure keeps long listener collections lightweight and accessible. */
.ofm-library__collapsible>summary{list-style:none;cursor:pointer}.ofm-library__collapsible>summary::-webkit-details-marker{display:none}.ofm-library__collapsible>summary::after{content:'+';display:grid;place-items:center;flex:0 0 auto;width:30px;height:30px;margin:0 0 2px 8px;border:1px solid #494949;border-radius:50%;color:#d8d8d8;font-size:1.2rem;font-weight:400;line-height:1}.ofm-library__collapsible[open]>summary::after{content:'−';border-color:rgb(244 196 48 / .65);color:#f4c430}.ofm-library__collapsible:not([open]){padding-bottom:14px}.ofm-library__collapsible:not([open])>summary{margin-bottom:0}.ofm-library__collapsible .ofm-release-list{margin-top:0}
/* Individual audio likes use the same compact rows as saved releases. */
.ofm-library #ofm-liked-tracks{scroll-margin-top:94px;padding:20px 0 28px}
@media(max-width:720px){.ofm-library__liked-tracks .ofm-release-row{grid-template-columns:46px minmax(0,1fr)}.ofm-library__liked-tracks .ofm-release-row__meta{grid-column:2;grid-row:2}.ofm-library__liked-tracks .ofm-release-row__actions{grid-column:1/-1;grid-row:3;justify-content:flex-start;padding-top:1px}.ofm-library__liked-tracks .ofm-release-row__actions .ofm-row-button{min-width:auto;padding:5px 9px;font-size:.72rem}.ofm-library__liked-tracks .ofm-release-row__actions .ofm-row-button:after{content:none}}
/* Library navigation, consistent anchors, and playlist ordering controls. */
@media(max-width:720px){.ofm-library__saved .ofm-release-row{grid-template-columns:46px minmax(0,1fr)}.ofm-library__saved .ofm-release-row__meta{grid-column:2;grid-row:2}.ofm-library__saved .ofm-release-row__actions{grid-column:1/-1;grid-row:3;justify-content:flex-start;padding-top:1px}.ofm-library__saved .ofm-release-row__actions .ofm-row-button{min-width:auto;padding:5px 9px;font-size:.72rem}.ofm-library__saved .ofm-release-row__actions .ofm-row-button:after{content:none}}
.ofm-library__nav{display:flex;flex-wrap:wrap;gap:9px;margin-top:20px}.ofm-library__nav a{border:1px solid #3c3c3c;border-radius:999px;color:#d7d7d7;font-size:.82rem;font-weight:700;padding:7px 11px;text-decoration:none}.ofm-library__nav a:hover,.ofm-library__nav a:focus-visible{border-color:#f4c430;color:#f4c430;outline:none}.ofm-library #ofm-recently-played,.ofm-library #ofm-saved,.ofm-library #ofm-playlists{scroll-margin-top:94px}.ofm-playlist-detail{padding-top:clamp(34px,4vw,56px)!important}.ofm-playlist-detail .ofm-playlist-detail__back{margin-top:0}.ofm-playlist-detail .ofm-library__header{margin:12px 0 26px}.ofm-playlist-detail .ofm-release-list{margin-top:0}.ofm-row-reorder{display:inline-flex;align-items:center;gap:4px}.ofm-row-reorder button{display:grid;place-items:center;width:28px;height:28px;padding:0;border:1px solid #454545;border-radius:50%;background:transparent;color:#d6d6d6;cursor:pointer;font:inherit;font-size:.9rem}.ofm-row-reorder button:hover,.ofm-row-reorder button:focus-visible{border-color:#f4c430;color:#f4c430;outline:none}.ofm-release-row[draggable="true"]{cursor:grab}.ofm-release-row.is-dragging{cursor:grabbing;opacity:.45}.ofm-release-list.is-saving-order{opacity:.82;pointer-events:none}@media(max-width:720px){.ofm-library__nav{margin-top:16px}.ofm-playlist-detail{padding-top:32px!important}.ofm-row-reorder{gap:3px}.ofm-row-reorder button{width:26px;height:26px}.ofm-playlist-detail .ofm-release-row{grid-template-columns:46px minmax(0,1fr)}.ofm-playlist-detail .ofm-release-row__meta{grid-column:2}.ofm-playlist-detail .ofm-release-row__actions{grid-column:1/-1;grid-row:auto;justify-content:flex-start;padding-top:2px}.ofm-playlist-detail .ofm-release-row__actions .ofm-row-button{min-width:auto;padding:5px 8px;font-size:.72rem}.ofm-playlist-detail .ofm-release-row__actions .ofm-row-button:after{content:none}}
.ofm-library__header{margin-bottom:34px}.ofm-library__header>p:not(.ofm-eyebrow){max-width:640px;margin:8px 0 0;color:#b6b6b6;line-height:1.5}.ofm-library__saved{padding:20px 0 28px}.ofm-library__section-heading{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:14px}.ofm-library__section-heading h2{margin:2px 0 0;font-size:clamp(1.65rem,3vw,2.25rem)}.ofm-library__section-heading>span{color:#aaa;font-size:.92rem}.ofm-release-list{display:grid;gap:9px}.ofm-release-row{display:grid;grid-template-columns:56px minmax(160px,1.25fr) minmax(220px,1fr) auto;align-items:center;gap:14px;min-height:76px;padding:10px 14px;border:1px solid #2d2d2d;border-radius:15px;background:#151515;transition:border-color .18s ease,background .18s ease}.ofm-release-row:hover{border-color:#575757;background:#191919}.ofm-release-row__cover{display:block;overflow:hidden;width:56px;height:56px;border-radius:10px;background:#292929;color:#f4c430;text-decoration:none}.ofm-release-row__cover img{display:block;width:100%;height:100%;object-fit:cover}.ofm-release-row__cover span{display:grid;place-items:center;width:100%;height:100%;font-size:1.5rem}.ofm-release-row__main{display:grid;gap:4px;min-width:0}.ofm-release-row__main>a{overflow:hidden;color:#fff;font-weight:800;text-decoration:none;text-overflow:ellipsis;white-space:nowrap}.ofm-release-row__main>a:hover{color:#f4c430}.ofm-release-row__main>span{overflow:hidden;color:#aaa;font-size:.9rem;text-overflow:ellipsis;white-space:nowrap}.ofm-release-row__meta{display:flex;flex-wrap:wrap;gap:7px}.ofm-release-row__meta span{padding:4px 8px;border-radius:999px;background:#222;color:#c5c5c5;font-size:.75rem;white-space:nowrap}.ofm-release-row__actions{display:flex;justify-content:flex-end;gap:8px}.ofm-row-button,.ofm-playlist-detail__actions button,.ofm-playlist-card__actions button{min-height:34px;padding:7px 11px;border:1px solid #494949;border-radius:999px;background:transparent;color:#fff;font:inherit;font-size:.82rem;font-weight:700;text-decoration:none;cursor:pointer}.ofm-row-button:hover,.ofm-playlist-detail__actions button:hover,.ofm-playlist-card__actions button:hover{border-color:#f4c430;color:#f4c430}.ofm-playlist-detail__actions{display:flex;flex-wrap:wrap;gap:9px;margin-top:20px}.ofm-playlist-detail__actions button:last-child,.ofm-playlist-card__actions button:last-child{color:#e7b0b0}.ofm-playlists{padding:28px 0 36px!important}.ofm-playlists__heading{padding-top:0!important}.ofm-playlists__heading>div>p:last-child{margin:6px 0 0;line-height:1.45}.ofm-playlist-grid{grid-template-columns:repeat(auto-fill,minmax(255px,1fr));gap:14px}.ofm-playlist-card{display:block;padding:0;overflow:hidden}.ofm-playlist-card__link{grid-template-columns:86px minmax(0,1fr);gap:14px;padding:14px}.ofm-playlist-card__cover{width:86px;height:86px}.ofm-playlist-card__actions{display:flex;gap:8px;padding:0 14px 14px}.ofm-playlist-card__actions button{padding:6px 9px;font-size:.74rem}.ofm-playlist-card__actions button:last-child{margin-left:auto}.ofm-playlist-card__link .ofm-eyebrow{margin:0 0 5px;font-size:.66rem}.ofm-playlist-card h3{font-size:1.05rem}.ofm-playlist-card:has(.ofm-playlist-card__link:hover){transform:translateY(-2px);border-color:#555}.ofm-history{padding:0 0 22px}.ofm-history__grid{grid-auto-flow:column;grid-auto-columns:minmax(152px,180px);grid-template-columns:none;overflow-x:auto;padding-bottom:8px}.ofm-history .song-card{min-width:0}.ofm-history .song-info{padding:12px}.ofm-history .song-info h3{font-size:.92rem}.ofm-history .artist{font-size:.8rem}.ofm-history .genre{display:none}@media(max-width:720px){.ofm-release-row{grid-template-columns:52px minmax(0,1fr) auto;gap:11px;padding:9px 10px}.ofm-release-row__cover{width:52px;height:52px}.ofm-release-row__meta{grid-column:2/4}.ofm-release-row__actions{grid-column:3;grid-row:1;align-self:center}.ofm-release-row__actions .ofm-row-button{font-size:0;min-width:34px;padding:0}.ofm-release-row__actions .ofm-row-button:after{content:'↗';font-size:1rem}.ofm-playlists__heading{align-items:flex-start}.ofm-playlist-grid{grid-template-columns:1fr}}@media(max-width:480px){.ofm-library__header{margin-bottom:24px}.ofm-library__section-heading{align-items:flex-start;flex-direction:column;gap:5px}.ofm-release-row{border-radius:13px}.ofm-release-row__meta span:last-child{display:none}.ofm-history__heading>span{display:none}.ofm-playlist-card__link{grid-template-columns:70px minmax(0,1fr)}.ofm-playlist-card__cover{width:70px;height:70px}}
.ofm-release-row.is-removing{opacity:0;transform:translateX(10px);transition:opacity .18s ease,transform .18s ease}.ofm-row-button--unfavorite{border-color:#5b4141;color:#f2c1c1}.ofm-row-button--unfavorite:hover{border-color:#f4c430;color:#f4c430}.ofm-station-track__details{display:flex;align-items:center;gap:14px;min-width:0}.ofm-station-track__stats{margin-left:auto;color:#aaa;font-size:.8rem;font-weight:500;white-space:nowrap}@media(max-width:580px){.ofm-station-track__details{gap:10px}.ofm-station-track__stats{font-size:.72rem}}
.ofm-history{padding:0 0 28px}.ofm-history__heading{display:flex;align-items:end;justify-content:space-between;gap:18px;margin-bottom:14px}.ofm-history__heading h2{margin:2px 0 0;font-size:clamp(1.65rem,3vw,2.25rem)}.ofm-history__heading>span{color:#aaa;font-size:.92rem}@media(max-width:580px){.ofm-history{padding-bottom:24px}.ofm-history__heading{align-items:flex-start;flex-direction:column;gap:5px}.ofm-history__heading>span{display:none}}
.ofm-playlist-detail__actions .ofm-playlist-detail__play{border-color:#f4c430;background:#f4c430;color:#171717}.ofm-playlist-detail .ofm-release-row__actions{align-items:center;gap:6px}.ofm-playlist-detail .ofm-release-row__actions>button,.ofm-playlist-detail .ofm-row-reorder button{display:grid;place-items:center;min-width:30px;height:30px;min-height:30px;padding:0;border:1px solid #3e3e3e;border-radius:50%;background:transparent;color:#aaa;font:inherit;font-size:.82rem;line-height:1;cursor:pointer;transition:border-color .18s ease,color .18s ease,background .18s ease}.ofm-playlist-detail .ofm-release-row__actions>[data-ofm-playlist-remove]{width:auto;min-width:0;padding:0 10px;border-radius:999px;color:#bdbdbd;font-size:.74rem}.ofm-playlist-detail .ofm-release-row__actions>button:hover,.ofm-playlist-detail .ofm-release-row__actions>button:focus-visible,.ofm-playlist-detail .ofm-row-reorder button:hover,.ofm-playlist-detail .ofm-row-reorder button:focus-visible{border-color:#f4c430;background:rgb(244 196 48 / .08);color:#f4c430;outline:none}.ofm-playlist-detail .ofm-release-row__actions>[data-ofm-playlist-remove]:hover,.ofm-playlist-detail .ofm-release-row__actions>[data-ofm-playlist-remove]:focus-visible{border-color:#885858;background:rgb(152 75 75 / .08);color:#e8aaaa}
.song-card{position:relative}.song-info{position:relative;padding-right:48px}.ofm-song-share{position:absolute;right:13px;bottom:13px;display:grid;place-items:center;width:30px;height:30px;padding:0;border:1px solid transparent;border-radius:50%;background:transparent;color:#9b9b9b;cursor:pointer;transition:color .18s ease,border-color .18s ease,background .18s ease}.ofm-song-share svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.ofm-song-share:hover,.ofm-song-share:focus-visible{border-color:#4d4d4d;background:#202020;color:#f4c430;outline:none}.ofm-playlist-card{position:relative}.ofm-playlist-card__share{position:absolute;z-index:2;top:10px;right:10px;display:grid;place-items:center;width:30px;height:30px;padding:0;border:1px solid #474747;border-radius:50%;background:#151515;color:#c9c9c9;cursor:pointer}.ofm-playlist-card__share svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.ofm-playlist-card__share:hover,.ofm-playlist-card__share:focus-visible{border-color:#f4c430;color:#f4c430;outline:none}.ofm-playlist-visibility{display:inline-grid;place-items:center;width:16px;height:16px;margin-left:5px;color:#a8a8a8;vertical-align:middle}.ofm-playlist-visibility svg{width:13px;height:13px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.ofm-playlist-visibility.is-public{color:#f4c430}
#ofm-queue-list .ofm-queue__item{padding-right:116px}@media(max-width:580px){#ofm-queue-list .ofm-queue__item{padding-right:108px}}
/* Branded share panel replaces the browser's generic operating-system sheet. */
.ofm-share-modal{position:fixed;z-index:100100;inset:0;display:grid;place-items:center;padding:20px;background:rgb(0 0 0 / .72);backdrop-filter:blur(7px)}.ofm-share-modal__box{position:relative;width:min(430px,100%);padding:28px;border:1px solid #3b3b3b;border-radius:24px;background:linear-gradient(145deg,#222 0%,#171717 72%);box-shadow:0 24px 70px rgb(0 0 0 / .5)}.ofm-share-modal__box h2{max-width:330px;margin:4px 0 6px;font-size:clamp(1.55rem,5vw,2rem);line-height:1.12}.ofm-share-modal__copy{margin:0;color:#bbb}.ofm-share-modal__close{position:absolute;top:15px;right:15px;display:grid;place-items:center;width:34px;height:34px;padding:0;border:0;border-radius:50%;background:#292929;color:#fff;font:inherit;font-size:1.55rem;cursor:pointer}.ofm-share-modal__close:hover,.ofm-share-modal__close:focus-visible{background:#f4c430;color:#171717;outline:none}.ofm-share-modal__networks{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:22px}.ofm-share-modal__networks button{display:grid;justify-items:center;gap:7px;min-height:88px;padding:11px 6px;border:1px solid #363636;border-radius:15px;background:#141414;color:#eee;font:inherit;font-size:.76rem;font-weight:700;cursor:pointer;transition:transform .18s ease,border-color .18s ease,background .18s ease}.ofm-share-modal__networks b{display:grid;place-items:center;width:32px;height:32px;border-radius:11px;background:#303030;color:#fff;font-size:1rem}.ofm-share-modal__networks button:nth-child(1) b{background:#25d366}.ofm-share-modal__networks button:nth-child(2) b{background:#1877f2}.ofm-share-modal__networks button:nth-child(3) b{background:#111;border:1px solid #555}.ofm-share-modal__networks button:nth-child(4) b{background:#229ed9}.ofm-share-modal__networks button:nth-child(5) b{background:#0a66c2}.ofm-share-modal__networks button:nth-child(6) b{background:#f4c430;color:#171717}.ofm-share-modal__networks button:hover,.ofm-share-modal__networks button:focus-visible{border-color:#f4c430;background:#222;outline:none;transform:translateY(-2px)}@media(max-width:420px){.ofm-share-modal__box{padding:23px 18px}.ofm-share-modal__networks{gap:8px}.ofm-share-modal__networks button{min-height:80px;font-size:.7rem}}
.ofm-playlist-card__actions button{position:static!important;top:auto!important;right:auto!important}.ofm-playlist-card__actions{position:static!important;min-height:34px}
.ofm-release-row{grid-template-columns:46px minmax(150px,1.3fr) minmax(190px,1fr) auto;min-height:64px;padding:8px 12px;gap:12px}.ofm-release-row__cover{position:relative;width:46px;height:46px;border-radius:9px}.ofm-release-row__play{position:absolute;inset:0;display:grid;place-items:center;padding:0;border:0;border-radius:inherit;background:rgb(0 0 0 / .42);color:#fff;cursor:pointer;opacity:0;transition:opacity .18s ease,background .18s ease}.ofm-release-row__play:hover,.ofm-release-row__play:focus-visible,.ofm-release-row.is-playing .ofm-release-row__play{opacity:1;background:rgb(0 0 0 / .5);outline:none}.ofm-release-row__play svg{width:19px;height:19px;fill:currentColor;stroke:none}.ofm-release-row__play .icon-pause{display:none;fill:none;stroke:currentColor;stroke-width:2.5}.ofm-release-row.is-playing .ofm-release-row__play .icon-play{display:none}.ofm-release-row.is-playing .ofm-release-row__play .icon-pause{display:block}.ofm-release-row.is-current{border-color:rgb(244 196 48 / .6);background:linear-gradient(90deg,rgb(244 196 48 / .08),#151515 38%)}.ofm-release-row__main{gap:2px}.ofm-release-row__main>span{font-size:.84rem}.ofm-release-row__meta span{padding:4px 7px;font-size:.72rem}.ofm-playlist-grid{grid-template-columns:repeat(auto-fill,minmax(200px,230px));gap:12px}.ofm-playlist-card__link{grid-template-columns:62px minmax(0,1fr);gap:11px;padding:11px}.ofm-playlist-card__cover{width:62px;height:62px;border-radius:9px}.ofm-playlist-card__actions{padding:0 11px 11px}.ofm-playlist-card h3{font-size:.98rem}.ofm-playlist-card__link .ofm-eyebrow{font-size:.6rem}@media(max-width:720px){.ofm-release-row{grid-template-columns:46px minmax(0,1fr) auto;gap:10px}.ofm-release-row__meta{grid-column:2/4}.ofm-release-row__play{opacity:.82}.ofm-playlist-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.ofm-playlist-card__link{grid-template-columns:54px minmax(0,1fr);padding:10px}.ofm-playlist-card__cover{width:54px;height:54px}.ofm-playlist-card__actions{padding:0 10px 10px}}@media(max-width:480px){.ofm-release-row{padding:8px}.ofm-release-row__meta span:nth-child(3){display:none}.ofm-release-row__actions .ofm-row-button:after{content:'♥';font-size:.9rem}.ofm-playlist-card__actions button{font-size:.68rem;padding:5px 7px}}

/* Source: assets/css/playlist-management.css */
/* Compact playlist controls and public-mix discovery. */
.ofm-playlist-icon-button {
    display:grid;
    width:36px;
    height:36px;
    min-width:36px;
    min-height:36px;
    padding:0;
    place-items:center;
    border:1px solid #444;
    border-radius:50%;
    background:transparent;
    color:#d6d6d6;
    cursor:pointer;
    transition:border-color .18s ease, background-color .18s ease, color .18s ease, transform .18s ease;
}

.ofm-playlist-icon-button svg,
.ofm-playlist-visibility svg {
    width:17px;
    height:17px;
    fill:none;
    stroke:currentColor;
    stroke-width:2;
    stroke-linecap:round;
    stroke-linejoin:round;
}

.ofm-playlist-icon-button:hover,
.ofm-playlist-icon-button:focus-visible {
    border-color:#f4c430;
    background:rgb(244 196 48 / .08);
    color:#f4c430;
    outline:none;
}

.ofm-playlist-icon-button:focus-visible {
    box-shadow:0 0 0 3px rgb(244 196 48 / .2);
}

.ofm-playlist-icon-button.is-danger:hover,
.ofm-playlist-icon-button.is-danger:focus-visible {
    border-color:#9b5b5b;
    background:rgb(155 91 91 / .1);
    color:#f0b3b3;
}

.ofm-playlists__create-button,
.ofm-playlists__create-submit {
    border-color:#f4c430;
    background:#f4c430;
    color:#171717;
}

.ofm-playlists__create-button:hover,
.ofm-playlists__create-button:focus-visible,
.ofm-playlists__create-submit:hover,
.ofm-playlists__create-submit:focus-visible,
.ofm-playlist-detail__play:hover,
.ofm-playlist-detail__play:focus-visible {
    border-color:#ffd34d;
    background:#ffd34d;
    color:#171717;
}

.ofm-playlist-card {
    transition:border-color .18s ease, transform .18s ease, background-color .18s ease;
}

.ofm-playlist-card:hover,
.ofm-playlist-card:focus-within {
    border-color:#555;
    transform:translateY(-2px);
}

.ofm-playlist-card .ofm-playlist-card__share {
    position:absolute;
    z-index:2;
    top:10px;
    right:10px;
    border-color:#474747;
    background:#151515;
}

.ofm-playlist-card__actions {
    display:flex;
    align-items:center;
    gap:7px;
    min-height:44px;
    padding:0 12px 12px;
}

.ofm-playlist-card__actions .ofm-playlist-icon-button {
    position:static !important;
    flex:0 0 auto;
}

.ofm-playlist-card__actions .ofm-playlist-icon-button.is-danger {
    margin-left:auto;
}

.ofm-playlist-visibility {
    display:inline-grid;
    width:16px;
    height:16px;
    margin-left:5px;
    place-items:center;
    color:#9d9d9d;
    vertical-align:-2px;
}

.ofm-playlist-visibility svg {
    width:14px;
    height:14px;
}

.ofm-playlist-visibility.is-public {
    color:#f4c430;
}

.ofm-playlist-detail__actions {
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    gap:8px;
    margin-top:20px;
}

.ofm-playlist-detail__actions [data-ofm-playlist-share-slot] {
    display:contents;
}

.ofm-playlist-detail__actions .ofm-playlist-icon-button {
    position:static;
}

.ofm-playlist-detail__actions .ofm-playlist-detail__play {
    border-color:#f4c430;
    background:#f4c430;
    color:#171717;
}

.ofm-playlist-detail .ofm-release-row__actions {
    align-items:center;
    gap:6px;
}

.ofm-playlist-detail .ofm-row-reorder {
    display:flex;
    align-items:center;
    gap:5px;
}

.ofm-playlist-detail .ofm-row-reorder .ofm-playlist-icon-button,
.ofm-playlist-detail .ofm-release-row__actions > .ofm-playlist-icon-button {
    width:32px;
    height:32px;
    min-width:32px;
    min-height:32px;
}

.ofm-playlist-create {
    align-items:flex-end;
}

.ofm-playlist-create > .ofm-playlist-icon-button {
    margin-bottom:1px;
}

.ofm-playlist-modal__field {
    display:grid;
    gap:8px;
    color:#eee;
    font-weight:700;
}

.ofm-playlist-modal__field input {
    min-width:0;
    padding:12px;
    border:1px solid #414141;
    border-radius:10px;
    background:#101010;
    color:#fff;
    font:inherit;
}

.ofm-playlist-modal__footer { margin-top:18px; }

.ofm-playlist-modal__form {
    display:grid;
    gap:14px;
}

.ofm-playlist-modal__form label {
    display:grid;
    gap:8px;
    color:#eee;
    font-weight:700;
}

.ofm-playlist-modal__form input {
    min-width:0;
    padding:12px;
    border:1px solid #414141;
    border-radius:10px;
    background:#101010;
    color:#fff;
    font:inherit;
}

.ofm-playlist-modal__form .ofm-playlist-icon-button {
    justify-self:start;
    border-color:#f4c430;
    background:#f4c430;
    color:#171717;
}

.ofm-track-playlist-modal__item {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    padding:10px 11px;
    border:1px solid #383838;
    border-radius:12px;
    background:#101010;
}

.ofm-track-playlist-modal__item strong {
    overflow:hidden;
    min-width:0;
    text-overflow:ellipsis;
    white-space:nowrap;
}

.ofm-track-playlist-modal__item .ofm-playlist-icon-button {
    flex:0 0 auto;
}

.ofm-public-playlists {
    padding-top:clamp(44px, 6vw, 82px);
    padding-bottom:clamp(96px, 12vw, 156px);
}

.ofm-public-playlists__heading {
    max-width:680px;
    margin-bottom:24px;
}

.ofm-public-playlists__heading h2 {
    margin:0;
    color:#fff;
    font-size:clamp(2rem, 4vw, 3rem);
}

.ofm-public-playlists__heading > p:last-child {
    margin:10px 0 0;
    color:#aaa;
    line-height:1.55;
}

.ofm-public-playlists__grid {
    display:grid;
    grid-template-columns:repeat(4, minmax(0, 1fr));
    gap:14px;
}

.ofm-public-playlists__card {
    min-width:0;
}

.ofm-public-playlists__card .ofm-playlist-card__link {
    min-height:94px;
}

@media (max-width:980px) {
    .ofm-public-playlists__grid {
        grid-template-columns:repeat(2, minmax(0, 1fr));
    }
}

@media (max-width:720px) {
    .ofm-playlist-icon-button {
        width:42px;
        height:42px;
        min-width:42px;
        min-height:42px;
    }

    .ofm-playlist-card__actions {
        gap:6px;
        min-height:50px;
        padding:0 10px 10px;
    }

    .ofm-playlist-detail .ofm-row-reorder .ofm-playlist-icon-button,
    .ofm-playlist-detail .ofm-release-row__actions > .ofm-playlist-icon-button {
        width:38px;
        height:38px;
        min-width:38px;
        min-height:38px;
    }
}

@media (max-width:560px) {
    .ofm-public-playlists__grid {
        grid-template-columns:1fr;
    }

    .ofm-playlist-create {
        align-items:stretch;
    }

    .ofm-playlist-create > .ofm-playlist-icon-button {
        align-self:end;
    }
}
/* Save/rank controls are compact, textual where status matters, and never
 * overlap the public mix share control. */
.ofm-playlist-card > .ofm-playlist-card__save {
    position:absolute;
    z-index:2;
    top:10px;
    right:52px;
    border-color:#474747;
    background:rgb(21 21 21 / .88);
}

.ofm-playlist-card > .ofm-playlist-card__save.is-saved {
    border-color:rgb(244 196 48 / .68);
    background:rgb(244 196 48 / .12);
    color:#f4c430;
}

.ofm-playlist-visibility {
    display:inline-flex;
    align-items:center;
    width:auto;
    height:auto;
    margin:0;
    padding:4px 8px;
    border:1px solid rgb(255 255 255 / .14);
    border-radius:999px;
    background:rgb(255 255 255 / .045);
    color:#b8b8b8;
    font-size:.62rem;
    font-weight:700;
    letter-spacing:.11em;
    line-height:1;
    text-transform:uppercase;
    vertical-align:middle;
}

.ofm-playlist-visibility svg { display:none; }

.ofm-playlist-visibility.is-public {
    border-color:rgb(244 196 48 / .34);
    background:rgb(244 196 48 / .08);
    color:#f4c430;
}

.ofm-playlist-rank {
    display:inline-flex;
    align-items:center;
    min-width:1.7em;
    margin-right:6px;
    color:#f4c430;
    font-variant-numeric:tabular-nums;
}

.ofm-playlist-card__saves {
    margin:8px 0 0;
    color:#aaa;
    font-size:.78rem;
    line-height:1.3;
}

.ofm-saved-playlists {
    scroll-margin-top:calc(94px + env(safe-area-inset-top));
}

/* `:has()` is not necessary for the core hover treatment. This selector works
 * in current and older evergreen browsers alike. */
.ofm-playlist-card:hover,
.ofm-playlist-card:focus-within {
    border-color:#555;
}

@media (max-width:720px) {
    .ofm-playlist-card > .ofm-playlist-card__save {
        top:9px;
        right:57px;
    }
}

/* Source: assets/css/account-polish.css */
/* Account recovery and private-profile controls. Shared navigation lives in site-nav.css. */
.ofm-auth-forgot-password{margin:.25rem 0 0;font-size:.88rem;text-align:right}
.ofm-auth-forgot-password a,.ofm-password-reset__back a{color:#d6d6d6;text-decoration:underline;text-decoration-color:rgb(244 196 48 / .55);text-underline-offset:3px}
.ofm-auth-forgot-password a:hover,.ofm-auth-forgot-password a:focus-visible,.ofm-password-reset__back a:hover,.ofm-password-reset__back a:focus-visible{color:#f4c430;outline:none}
.ofm-password-reset .ofm-account__panel{max-width:520px}
.ofm-password-reset__notice{margin:1rem 0;padding:.8rem 1rem;border:1px solid #9b4b4b;border-radius:12px;background:rgb(118 28 28 / .2);color:#ffd6d1}
.ofm-password-reset__notice--success{border-color:rgb(92 175 112 / .55);background:rgb(37 104 56 / .2);color:#d6ffe0}
.ofm-email-change .ofm-account__panel{max-width:520px}
.ofm-email-change__notice{margin:1rem 0;padding:.8rem 1rem;border:1px solid #9b4b4b;border-radius:12px;background:rgb(118 28 28 / .2);color:#ffd6d1}
.ofm-password-reset__back{margin:1.25rem 0 0;text-align:center}
.ofm-member-profile__handle{display:grid;gap:4px;padding:13px 14px;border:1px solid rgba(244,196,48,.36);border-radius:12px;background:rgba(244,196,48,.055)}
.ofm-member-profile__handle>span{color:#aaa;font-size:.75rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.ofm-member-profile__handle strong{color:#f4c430;font-size:1.05rem}.ofm-member-profile__handle small{color:#aaa;line-height:1.45}
.ofm-member-profile__security>summary{display:flex;align-items:center;justify-content:space-between;gap:16px;cursor:pointer;list-style:none;color:#fff}.ofm-member-profile__security>summary::-webkit-details-marker{display:none}.ofm-member-profile__security>summary span{display:grid;gap:4px}.ofm-member-profile__security>summary strong{font-size:1rem}.ofm-member-profile__security>summary small{color:#aaa;font-size:.82rem;line-height:1.35}.ofm-member-profile__security>summary svg{width:18px;height:18px;flex:0 0 auto;fill:none;stroke:currentColor;stroke-width:1.8;transition:transform .2s ease}.ofm-member-profile__security[open]>summary svg{transform:rotate(180deg)}
.ofm-member-profile__security>summary:focus-visible{outline:2px solid #f4c430;outline-offset:5px;border-radius:4px}
.ofm-member-profile__security-content{margin-top:18px}.ofm-member-profile__security-content>p{margin:0 0 18px;color:#b8b8b8;line-height:1.5}
.ofm-member-profile .wp-hide-pw,.ofm-member-profile .password-toggle,.ofm-member-profile [class*="toggle-password"],.ofm-account .wp-hide-pw,.ofm-account .password-toggle,.ofm-account [class*="toggle-password"],.ofm-access-modal .wp-hide-pw,.ofm-access-modal .password-toggle,.ofm-access-modal [class*="toggle-password"]{display:none!important}
.ofm-member-profile input[type="password"]::-ms-reveal,.ofm-member-profile input[type="password"]::-ms-clear,.ofm-account input[type="password"]::-ms-reveal,.ofm-account input[type="password"]::-ms-clear,.ofm-access-modal input[type="password"]::-ms-reveal,.ofm-access-modal input[type="password"]::-ms-clear{display:none}
.ofm-auth-form .wp-hide-pw,.ofm-auth-form .password-toggle,.ofm-auth-form [class*="toggle-password"]{display:none!important}
.ofm-auth-form input[type="password"]::-ms-reveal,.ofm-auth-form input[type="password"]::-ms-clear,.ofm-auth-form input[type="password"]::-webkit-credentials-auto-fill-button,.ofm-member-profile input[type="password"]::-webkit-credentials-auto-fill-button,.ofm-account input[type="password"]::-webkit-credentials-auto-fill-button,.ofm-access-modal input[type="password"]::-webkit-credentials-auto-fill-button{display:none!important;visibility:hidden}

/* Opt-in listener profile controls are deliberately separate from the private
   account bio, and use the same compact identity treatment as public mixes. */
.ofm-member-profile__public-profile { margin-top:18px; padding:16px; border:1px solid rgb(244 196 48 / .25); border-radius:14px; background:rgb(244 196 48 / .045); }
.ofm-member-profile__public-profile>summary { cursor:pointer; color:#fff; font-weight:700; list-style:none; }
.ofm-member-profile__public-profile>summary::-webkit-details-marker { display:none; }
.ofm-member-profile__public-profile>summary::after { content:'+'; float:right; color:#f4c430; font-size:1.15rem; line-height:1; }
.ofm-member-profile__public-profile[open]>summary::after { content:'\2212'; }
.ofm-member-profile__public-profile>summary:focus-visible { outline:2px solid #f4c430; outline-offset:5px; }
.ofm-member-profile__public-profile p { margin:10px 0 14px; color:#bcbcbc; line-height:1.5; }
.ofm-member-profile__public-profile label { display:grid; gap:7px; margin-top:12px; color:#fff; font-weight:700; }
.ofm-member-profile__public-profile textarea { min-height:96px; resize:vertical; }
.ofm-member-profile__public-profile small { color:#aaa; font-size:.78rem; font-weight:400; line-height:1.4; }
.ofm-member-profile__public-profile-toggle { display:flex!important; grid-template-columns:none!important; align-items:center; gap:9px; cursor:pointer; }
.ofm-member-profile__public-profile-toggle input { inline-size:16px; block-size:16px; accent-color:#f4c430; }
.ofm-public-member-profile { min-height:calc(100vh - 180px); padding:clamp(52px,8vw,110px) 20px 96px; }
.ofm-public-member-profile__panel { width:min(640px,100%); margin:0 auto; padding:clamp(28px,5vw,52px); border:1px solid rgb(255 255 255 / .14); border-radius:26px; background:linear-gradient(135deg,rgb(29 29 29 / .88),rgb(13 13 13 / .92)); text-align:center; }
.ofm-public-member-profile__avatar { display:grid; inline-size:92px; block-size:92px; margin:0 auto 18px; overflow:hidden; place-items:center; border:1px solid rgb(244 196 48 / .5); border-radius:50%; background:#252525; color:#f4c430; }
.ofm-public-member-profile__avatar img { display:block; inline-size:100%; block-size:100%; object-fit:cover; }
.ofm-public-member-profile__avatar .ofm-public-owner__initials { font-size:1.35rem; }
.ofm-public-member-profile h1 { margin:6px 0; color:#fff; font-size:clamp(2.25rem,7vw,4rem); letter-spacing:-.05em; }
.ofm-public-member-profile__handle { margin:0; color:#f4c430; font-weight:700; }
.ofm-public-member-profile__bio { max-width:510px; margin:20px auto 0; color:#fff; overflow-wrap:anywhere; line-height:1.6; }
/* Shared mix catalogue for opted-in listener and artist profiles. */
.ofm-public-profile-mixes { width:min(1040px,100%); margin:clamp(32px,6vw,64px) auto 0; text-align:left; }
.ofm-public-profile-mixes__heading { display:flex; align-items:end; justify-content:space-between; gap:18px; margin-bottom:16px; }
.ofm-public-profile-mixes__heading h2 { margin:2px 0 0; color:#fff; font-size:clamp(1.65rem,3vw,2.35rem); }
.ofm-public-profile-mixes .ofm-playlist-grid { margin-top:0; }
@media (max-width:700px) { .ofm-public-profile-mixes { margin-top:34px; } }

/* v0.1.28 — private account details and public @profile are separate choices. */
.ofm-member-profile__public-profile>summary { display:flex; align-items:center; justify-content:space-between; gap:16px; }
.ofm-member-profile__public-profile>summary::after { content:none; }
.ofm-member-profile__public-profile>summary span { display:grid; gap:4px; }
.ofm-member-profile__public-profile>summary strong { font-size:1rem; }
.ofm-member-profile__public-profile>summary small { color:#aaa; font-size:.82rem; font-weight:400; line-height:1.35; }
.ofm-member-profile__public-profile>summary svg { width:18px; height:18px; flex:0 0 auto; fill:none; stroke:currentColor; stroke-width:1.8; transition:transform .2s ease; }
.ofm-member-profile__public-profile[open]>summary svg { transform:rotate(180deg); }
.ofm-member-profile__public-profile-content { display:grid; gap:14px; margin-top:18px; }
.ofm-member-profile__public-profile .ofm-member-profile__handle { margin:0; }
.ofm-member-profile__public-profile .ofm-member-profile__public-profile-note { margin:0; padding-top:2px; color:#d1c38a; font-size:.88rem; }
.ofm-member-profile__public-profile--artist { border-color:rgb(255 255 255 / .16); background:rgb(255 255 255 / .025); }
/* Once a handle is permanently claimed, keep its management panel focused on
   profile settings and make the public destination the obvious next action. */
.ofm-member-profile__public-profile--claimed .ofm-member-profile__handle--claimed { grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:6px 14px; padding:0; border:0; border-radius:0; background:transparent; }
.ofm-member-profile__public-profile--claimed .ofm-member-profile__handle--claimed>span { grid-column:1; }
.ofm-member-profile__public-profile--claimed .ofm-member-profile__handle--claimed strong { grid-column:1; font-size:1.12rem; }
.ofm-member-profile__avatar { overflow:hidden; }
.ofm-member-profile__avatar img { display:block; inline-size:100%; block-size:100%; object-fit:cover; }
.ofm-member-profile__avatar-upload { display:grid; grid-template-columns:64px minmax(0,1fr); gap:12px; align-items:center; margin-top:2px; }
.ofm-member-profile__avatar--preview { inline-size:64px; block-size:64px; flex-basis:64px; font-size:1.08rem; }
.ofm-member-profile__avatar-upload label { margin-top:0!important; }
.ofm-member-profile__avatar-upload input[type="file"] { min-height:43px; padding:8px 10px; cursor:pointer; }
.ofm-member-profile__avatar-upload input[type="file"]::file-selector-button { margin-right:10px; padding:6px 9px; border:1px solid rgb(244 196 48 / .42); border-radius:7px; background:rgb(244 196 48 / .08); color:#f4c430; cursor:pointer; font:700 .76rem/1 inherit; }
.ofm-member-profile__avatar-upload input[type="file"]:hover::file-selector-button { background:rgb(244 196 48 / .15); }
@media(max-width:420px){.ofm-member-profile__avatar-upload{grid-template-columns:1fr}.ofm-member-profile__avatar--preview{justify-self:start}}
.ofm-member-profile__view-public { display:flex; align-items:center; justify-content:flex-start; gap:8px; min-block-size:46px; padding:12px 15px; border:1px solid #f4c430; border-radius:12px; background:linear-gradient(135deg,#f8d349,#e7b81c); box-shadow:0 8px 20px rgb(0 0 0 / .18); color:#171717; font-size:.9rem; font-weight:850; line-height:1.1; text-decoration:none; transition:background .18s ease,box-shadow .18s ease,transform .18s ease; }
.ofm-member-profile__view-public strong { color:inherit; font-size:.88rem; font-weight:800; }
.ofm-member-profile__view-public svg { inline-size:17px; block-size:17px; margin-inline-start:auto; fill:none; stroke:currentColor; stroke-linecap:round; stroke-linejoin:round; stroke-width:1.8; }
.ofm-member-profile__view-public:hover,.ofm-member-profile__view-public:focus-visible { background:linear-gradient(135deg,#ffe27a,#f4c430); box-shadow:0 10px 24px rgb(0 0 0 / .28); color:#111; outline:none; transform:translateY(-1px); }
@media(max-width:520px){.ofm-member-profile__view-public{min-block-size:48px;padding:13px 14px}.ofm-member-profile__view-public strong{font-size:.84rem}}
.ofm-member-profile__private-note { display:grid; gap:10px; margin-top:24px; padding-top:24px; border-top:1px solid rgb(255 255 255 / .12); }
.ofm-member-profile__private-note h3 { margin:0; color:#fff; font-size:1.05rem; }
.ofm-member-profile__private-note>p:not(.ofm-eyebrow) { margin:0; color:#b8b8b8; line-height:1.5; }
.ofm-member-profile__private-note label { display:grid; gap:8px; color:#fff; font-weight:700; }
.ofm-member-profile__private-note textarea { width:100%; min-height:108px; box-sizing:border-box; resize:vertical; border:1px solid rgb(255 255 255 / .18); border-radius:10px; background:#111; color:#fff; font:inherit; padding:12px 14px; }
.ofm-member-profile__private-note textarea:focus { outline:2px solid #f4c430; outline-offset:2px; }
.ofm-member-profile__private-note small { color:#a7a7a7; font-size:.82rem; line-height:1.4; }
.ofm-member-profile__private-note-save { margin-top:2px; }
/* Security stays deliberately dormant until the member asks to manage it. */
.ofm-member-profile__panel--security { align-self:start; }
.ofm-member-profile__security--account { margin:0; padding:0; border:0; }
.ofm-member-profile__security--account>.ofm-member-profile__security-content { display:grid; gap:18px; margin-top:18px; }
.ofm-member-profile__security--account .ofm-member-profile__meta,
.ofm-member-profile__security--account .ofm-member-profile__link-list { margin:0; }
.ofm-member-profile__security--email { margin:0; padding-top:18px; border-top:1px solid rgb(255 255 255 / .12); }
.ofm-member-profile__security--email>.ofm-member-profile__security-content { margin-top:16px; }
.ofm-member-profile__security--account .ofm-member-profile__private-note { margin-top:0; }

/* Source: assets/css/page-motion.css */
/* Lightweight page transitions: opacity and transform only, with a full
 * reduced-motion opt-out. These are scoped to route content, not the player. */
@media (prefers-reduced-motion: no-preference) {
    body.ofm-app-route :is([data-ofm-app-shell-content],#content,.site-content).ofm-page-enter,
    body.ofm-app-route :is([data-ofm-app-shell-content],#content,.site-content) .ofm-page-enter {
        animation:ofm-page-enter .32s cubic-bezier(.2,.72,.25,1) both;
    }

    @keyframes ofm-page-enter {
        from { opacity:0; transform:translateY(10px); }
        to { opacity:1; transform:translateY(0); }
    }
}

/* Public mixes use a deliberately light glass treatment. The opaque gradient
 * remains the fallback for browsers without backdrop-filter support. */
.ofm-public-playlists__card {
    position:relative;
    isolation:isolate;
    min-height:clamp(178px,16vw,218px);
    overflow:hidden;
    border-color:rgb(255 255 255 / .15);
    background:linear-gradient(145deg,rgb(48 48 48 / .82),rgb(15 15 15 / .92));
    box-shadow:0 18px 42px rgb(0 0 0 / .18);
}

.ofm-public-playlists__card::before {
    position:absolute;
    z-index:0;
    inset:0;
    content:'';
    background:radial-gradient(120% 90% at 0 0,rgb(244 196 48 / .12),transparent 58%);
    opacity:.58;
    pointer-events:none;
    transition:opacity .28s ease,transform .35s cubic-bezier(.2,.72,.25,1);
}

.ofm-public-playlists__card .ofm-playlist-card__link {
    position:relative;
    z-index:1;
    grid-template-columns:clamp(122px,10.8vw,154px) minmax(0,1fr);
    min-height:clamp(178px,16vw,218px);
    padding:14px;
}

.ofm-public-playlists__card .ofm-playlist-card__cover {
    width:clamp(122px,10.8vw,154px);
    height:clamp(122px,10.8vw,154px);
}

.ofm-public-playlists__card .ofm-playlist-card__cover img {
    transition:transform .38s cubic-bezier(.2,.72,.25,1);
}

@media (hover:hover) and (prefers-reduced-motion:no-preference) {
    .ofm-public-playlists__card {
        transition:border-color .24s ease,box-shadow .28s ease,transform .28s cubic-bezier(.2,.72,.25,1),background-color .24s ease;
    }

    .ofm-public-playlists__card:hover,
    .ofm-public-playlists__card:focus-within {
        transform:translateY(-4px);
        border-color:rgb(244 196 48 / .52);
        box-shadow:0 28px 58px rgb(0 0 0 / .32),0 0 0 1px rgb(244 196 48 / .08);
    }

    .ofm-public-playlists__card:hover::before,
    .ofm-public-playlists__card:focus-within::before {
        opacity:1;
        transform:scale(1.04);
    }

    .ofm-public-playlists__card:hover .ofm-playlist-card__cover img,
    .ofm-public-playlists__card:focus-within .ofm-playlist-card__cover img {
        transform:scale(1.045);
    }
}

@media (prefers-reduced-motion:no-preference) {
    .ofm-public-playlists__grid .ofm-public-playlists__card {
        animation:ofm-public-mix-enter .46s cubic-bezier(.2,.72,.25,1) both;
    }

    .ofm-public-playlists__grid .ofm-public-playlists__card:nth-child(2) { animation-delay:.05s; }
    .ofm-public-playlists__grid .ofm-public-playlists__card:nth-child(3) { animation-delay:.1s; }
    .ofm-public-playlists__grid .ofm-public-playlists__card:nth-child(4) { animation-delay:.15s; }

    @keyframes ofm-public-mix-enter {
        from { opacity:0; transform:translateY(14px); }
        to { opacity:1; transform:translateY(0); }
    }
}

@supports ((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))) {
    .ofm-public-playlists__card {
        background:linear-gradient(145deg,rgb(48 48 48 / .49),rgb(13 13 13 / .66));
        -webkit-backdrop-filter:blur(12px) saturate(112%);
        backdrop-filter:blur(12px) saturate(112%);
    }
}

@media (max-width:560px) {
    .ofm-public-playlists__card,
    .ofm-public-playlists__card .ofm-playlist-card__link {
        min-height:154px;
    }

    .ofm-public-playlists__card .ofm-playlist-card__link {
        grid-template-columns:112px minmax(0,1fr);
    }

    .ofm-public-playlists__card .ofm-playlist-card__cover {
        width:112px;
        height:112px;
    }
}

@media (prefers-reduced-motion:reduce) {
    .ofm-public-playlists__card,
    .ofm-public-playlists__card::before,
    .ofm-public-playlists__card .ofm-playlist-card__cover img {
        transition:none;
        animation:none;
    }
}
/* Keep child release and Station titles easy to scan without touching an
 * authored .song-info block that happens to appear in generic content. */
body.ofm-app-route [data-ofm-app-shell-content] :is(
    [data-ofm-release-card] .song-info h3,
    .ofm-release-card__body.song-info h3,
    .ofm-release-row__main > a,
    .ofm-station-track__title
) {
    font-family:var(--ofm-font-ui);
    font-weight:600 !important;
    letter-spacing:-.01em;
}

/* The data hook is the child contract. #content/.site-content remain a
 * body-scoped compatibility fallback for a PJAX implementation that replaces
 * that wrapper identity, while the persistent player remains outside it. */
@media (prefers-reduced-motion:no-preference){
    body.ofm-app-route :is([data-ofm-app-shell-content],#content,.site-content){transition:opacity .18s ease}
    html.ofm-route-transitioning body.ofm-app-route :is([data-ofm-app-shell-content],#content,.site-content){opacity:.88}
    body.ofm-app-route :is([data-ofm-app-shell-content],#content,.site-content).ofm-page-enter,
    body.ofm-app-route :is([data-ofm-app-shell-content],#content,.site-content) .ofm-page-enter{animation-duration:.38s;will-change:opacity,transform}
}
@media (prefers-reduced-motion:reduce){body.ofm-app-route :is([data-ofm-app-shell-content],#content,.site-content){transition:none}}

/* Source: assets/css/creator-profile.css */
.ofm-creator{max-width:1280px;min-height:100vh;margin:auto;padding:clamp(28px,6vw,80px) 24px calc(170px + env(safe-area-inset-bottom));background:radial-gradient(800px 480px at 20% 0,rgba(244,196,48,.08),transparent 65%),#090909;color:#fff}.ofm-creator__hero{display:grid;grid-template-columns:clamp(110px,18vw,220px) minmax(0,1fr) auto;gap:clamp(22px,4vw,54px);align-items:center;padding:clamp(24px,4vw,48px);border:1px solid #2c2c2c;border-radius:28px;background:linear-gradient(135deg,#181818,#111)}.ofm-creator__avatar img{display:block;width:100%;aspect-ratio:1;object-fit:cover;border-radius:50%;background:#242424;box-shadow:0 18px 45px rgba(0,0,0,.35)}.ofm-creator h1{margin:0;font-size:clamp(2.3rem,5vw,5rem);letter-spacing:-.05em;line-height:1}.ofm-creator__tagline{margin:12px 0 0;font-size:1.15rem;color:#f4c430}.ofm-creator__bio{max-width:600px;margin:14px 0 0;color:#b7b7b7;line-height:1.7}.ofm-creator__links{display:flex;flex-wrap:wrap;gap:10px;margin-top:20px}.ofm-creator__links a{padding:8px 13px;border:1px solid #3a3a3a;border-radius:999px;color:#fff;text-decoration:none;font-size:.88rem}.ofm-creator__links a:hover{border-color:#f4c430;color:#f4c430}.ofm-creator__stats{display:grid;justify-items:end;gap:3px;min-width:76px}.ofm-creator__stats strong{font-size:2rem;color:#f4c430}.ofm-creator__stats span{color:#aaa;font-size:.8rem;text-transform:uppercase;letter-spacing:.1em}.ofm-creator__releases{margin-top:56px}.ofm-creator__section-heading{display:flex;justify-content:space-between;align-items:end;margin-bottom:26px}.ofm-creator__section-heading h2{margin:0;font-size:clamp(1.8rem,3vw,2.6rem)}.ofm-creator__empty{max-width:560px;margin:40px auto;padding:40px;border:1px dashed #454545;border-radius:20px;text-align:center;color:#bbb}@media(max-width:700px){.ofm-creator{padding:30px 16px calc(174px + env(safe-area-inset-bottom))}.ofm-creator__hero{grid-template-columns:92px minmax(0,1fr);gap:20px;padding:24px;border-radius:22px}.ofm-creator__stats{grid-column:1/-1;justify-items:start;display:flex;align-items:baseline;gap:9px}.ofm-creator__stats strong{font-size:1.4rem}.ofm-creator__identity{min-width:0}.ofm-creator h1{font-size:2.2rem}.ofm-creator__tagline{font-size:1rem}.ofm-creator__bio{font-size:.94rem}.ofm-creator__releases{margin-top:38px}}

.ofm-creator__title-row {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    align-items: center;
}

.ofm-creator__verification {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 6px 10px;
    border: 1px solid rgba(244, 196, 48, .55);
    border-radius: 999px;
    color: #f4c430;
    font-size: .78rem;
    font-weight: 700;
    letter-spacing: .03em;
    white-space: nowrap;
}

.ofm-creator__verification svg {
    width: 17px;
    height: 17px;
    fill: currentColor;
}

@media (max-width: 700px) {
    .ofm-creator__verification {
        padding: 5px 8px;
        font-size: .72rem;
    }
}

.ofm-creator__handle {
    margin: 9px 0 0;
    color: #a9a9a9;
    font-size: .92rem;
    font-weight: 700;
    letter-spacing: .025em;
}

/* Compact public verification mark: familiar check silhouette in Oluwafemix gold. */
.ofm-creator__verification{display:inline-grid;place-items:center;width:22px;height:22px;margin-left:1px;padding:0;border:0;border-radius:50%;background:radial-gradient(circle at 34% 28%,#ffe58a 0 16%,#f4c430 43%,#d99d00 100%);box-shadow:0 0 0 2px rgba(244,196,48,.14),0 4px 10px rgba(0,0,0,.22);color:#151515;vertical-align:middle}.ofm-creator__verification svg{display:block;width:100%;height:100%;overflow:visible}.ofm-creator__verification circle{fill:currentColor}.ofm-creator__verification path{fill:none;stroke:#171717;stroke-linecap:round;stroke-linejoin:round;stroke-width:2.35}.ofm-creator__verification:hover{filter:brightness(1.08);transform:translateY(-1px)}@media(max-width:700px){.ofm-creator__verification{width:20px;height:20px}}
/* The Oluwafemix verified identity is a compact gold play mark, not a text pill. */
.ofm-verification-badge{display:inline-grid;place-items:center;inline-size:22px;block-size:22px;margin-inline-start:2px;padding:0;border:0;border-radius:50%;background:radial-gradient(circle at 34% 28%,#ffe58a 0 16%,#f4c430 43%,#d99d00 100%);box-shadow:0 0 0 2px rgb(244 196 48 / .14),0 4px 10px rgb(0 0 0 / .22);color:#171717;vertical-align:middle;transition:filter .18s ease,transform .18s ease}.ofm-verification-badge svg{display:block;inline-size:58%;block-size:58%;overflow:visible}.ofm-verification-badge svg path{fill:currentColor;stroke:none}.ofm-verification-badge:hover{filter:brightness(1.08);transform:translateY(-1px)}.ofm-creator__verification{inline-size:22px;block-size:22px}.ofm-member-profile__verification{inline-size:19px;block-size:19px;margin-inline-start:6px;box-shadow:0 0 0 1px rgb(244 196 48 / .16),0 3px 8px rgb(0 0 0 / .2)}@media(max-width:700px){.ofm-creator__verification{inline-size:20px;block-size:20px}}

/* Compact, dark Oluwafemix verification mark used across public artist surfaces. */
.ofm-verification-badge{display:inline-grid;place-items:center;inline-size:22px;block-size:22px;margin-inline-start:2px;padding:0;border:1px solid rgb(244 196 48 / .76);border-radius:50%;background:radial-gradient(circle at 34% 28%,#373016 0 10%,#19170e 48%,#090909 100%);box-shadow:inset 0 1px 0 rgb(255 237 163 / .16),0 3px 9px rgb(0 0 0 / .36);color:#f4c430;vertical-align:middle;transition:border-color .18s ease,box-shadow .22s ease,transform .22s ease}.ofm-verification-badge svg{display:block;inline-size:53%;block-size:53%;overflow:visible}.ofm-verification-badge svg path{fill:currentColor;stroke:none}.ofm-verification-badge:hover,.ofm-verification-badge:focus-visible{border-color:#ffe28a;box-shadow:inset 0 1px 0 rgb(255 237 163 / .22),0 0 0 3px rgb(244 196 48 / .09),0 5px 13px rgb(0 0 0 / .46);outline:none;transform:translateY(-1px) scale(1.04)}.ofm-member-profile__identity h2,.ofm-artist-studio__identity-copy h3{display:inline-flex;align-items:center;gap:6px}.ofm-member-profile__verification{inline-size:19px;block-size:19px;margin-inline-start:0}.ofm-artist-studio__verification{inline-size:18px;block-size:18px;margin-inline-start:0}@media(prefers-reduced-motion:no-preference){.ofm-verification-badge:hover{animation:ofm-verification-badge-pulse 1.25s ease-in-out infinite}}@keyframes ofm-verification-badge-pulse{0%,100%{box-shadow:inset 0 1px 0 rgb(255 237 163 / .16),0 0 0 0 rgb(244 196 48 / .3),0 5px 13px rgb(0 0 0 / .46)}55%{box-shadow:inset 0 1px 0 rgb(255 237 163 / .22),0 0 0 6px rgb(244 196 48 / 0),0 5px 16px rgb(0 0 0 / .52)}}

/* Source: assets/css/artist-studio.css */
/* Invite-only Artist Studio. All rules are scoped so this small global sheet is PJAX-safe. */
.ofm-artist-studio{min-height:100vh;padding:clamp(32px,6vw,78px) max(20px,calc((100vw - 1180px)/2)) calc(166px + env(safe-area-inset-bottom));background:radial-gradient(820px 460px at 12% 0,rgba(244,196,48,.11),transparent 68%),#090909;color:#fff}.ofm-artist-studio__hero{max-width:760px;margin:0 0 clamp(28px,5vw,54px)}.ofm-artist-studio__hero h1{max-width:680px;margin:8px 0 12px;font-size:clamp(2.4rem,6vw,5.2rem);letter-spacing:-.055em;line-height:.98}.ofm-artist-studio__hero>p:last-child{max-width:570px;margin:0;color:#b9b9b9;font-size:clamp(1rem,1.8vw,1.2rem);line-height:1.6}.ofm-artist-studio__grid{display:grid;grid-template-columns:minmax(0,.88fr) minmax(0,1.12fr);gap:20px;align-items:start}.ofm-artist-studio__panel,.ofm-artist-studio__submissions,.ofm-artist-studio__locked{border:1px solid #303030;border-radius:24px;background:linear-gradient(145deg,#191919,#111);box-shadow:0 22px 55px rgba(0,0,0,.24)}.ofm-artist-studio__panel{padding:clamp(20px,3vw,34px)}.ofm-artist-studio__submissions{margin-top:20px;padding:clamp(20px,3vw,34px)}.ofm-artist-studio__locked{max-width:620px;padding:clamp(28px,5vw,54px);text-align:center}.ofm-artist-studio__locked h2{margin:0;font-size:clamp(1.6rem,3vw,2.3rem)}.ofm-artist-studio__locked p{margin:10px auto 24px;color:#b9b9b9;line-height:1.6}.ofm-artist-studio__notice{max-width:850px;margin:0 0 22px;padding:13px 16px;border:1px solid;border-radius:14px;line-height:1.45}.ofm-artist-studio__notice--success{border-color:rgba(99,190,132,.48);background:rgba(50,119,74,.19);color:#d1f5dc}.ofm-artist-studio__notice--error{border-color:rgba(220,118,118,.52);background:rgba(133,49,49,.18);color:#ffd8d8}.ofm-artist-studio__section-heading{display:flex;align-items:end;justify-content:space-between;gap:16px;margin-bottom:22px}.ofm-artist-studio__section-heading h2{margin:3px 0 0;font-size:clamp(1.45rem,2.4vw,2rem);letter-spacing:-.025em}.ofm-artist-studio__section-heading>span{display:grid;place-items:center;min-width:32px;height:32px;padding:0 9px;border-radius:999px;background:#2a2a2a;color:#f4c430;font-size:.82rem;font-weight:800}.ofm-artist-studio__form{display:grid;gap:16px}.ofm-artist-studio__form label{display:grid;gap:7px;color:#e9e9e9;font-size:.9rem;font-weight:700}.ofm-artist-studio__form label>span{color:#969696;font-size:.76rem;font-weight:500}.ofm-artist-studio__form input:not([type=radio]):not([type=checkbox]),.ofm-artist-studio__form textarea,.ofm-artist-studio__form select{width:100%;box-sizing:border-box;border:1px solid #3a3a3a;border-radius:11px;background:#101010;color:#fff;font:inherit;font-size:.94rem;line-height:1.35;padding:11px 12px;transition:border-color .18s ease,box-shadow .18s ease}.ofm-artist-studio__form input[type=file]{padding:9px!important;background:#151515!important;color:#c9c9c9!important;font-size:.82rem!important}.ofm-artist-studio__form textarea{resize:vertical;min-height:104px}.ofm-artist-studio__form input:focus,.ofm-artist-studio__form textarea:focus,.ofm-artist-studio__form select:focus{border-color:#f4c430;box-shadow:0 0 0 3px rgba(244,196,48,.12);outline:none}.ofm-artist-studio__two-up{display:grid;grid-template-columns:1fr 1fr;gap:12px}.ofm-artist-studio__choices{display:flex;flex-wrap:wrap;gap:10px;margin:0;padding:0;border:0}.ofm-artist-studio__choices legend{width:100%;margin-bottom:2px;color:#e9e9e9;font-size:.9rem;font-weight:700}.ofm-artist-studio__choices label{display:flex;align-items:center;gap:7px;padding:10px 12px;border:1px solid #3b3b3b;border-radius:12px;background:#151515;cursor:pointer}.ofm-artist-studio__choices input{accent-color:#f4c430}.ofm-artist-studio__choices span{color:#969696;font-size:.78rem;font-weight:500}.ofm-artist-studio__track-titles{display:grid;gap:9px;padding:13px;border:1px dashed #454545;border-radius:13px;background:#121212}.ofm-artist-studio__track-titles>p{margin:0;color:#999;font-size:.8rem;line-height:1.45}.ofm-artist-studio__track-titles label{font-size:.82rem}.ofm-artist-studio__track-titles input{padding:8px 10px!important;font-size:.86rem!important}.ofm-artist-studio__rights{grid-template-columns:auto minmax(0,1fr);align-items:start;gap:9px!important;padding:12px;border:1px solid #3a3a3a;border-radius:12px;background:#141414;color:#cfcfcf!important;font-size:.82rem!important;font-weight:500!important;line-height:1.45}.ofm-artist-studio__rights input{margin:3px 0 0;accent-color:#f4c430}.ofm-artist-studio__help{margin:-4px 0 0;color:#9a9a9a;font-size:.8rem;line-height:1.45}.ofm-artist-studio__button{justify-self:start;padding:11px 17px;border:1px solid #f4c430;border-radius:999px;background:#f4c430;color:#171717;cursor:pointer;font:inherit;font-size:.88rem;font-weight:800;line-height:1.2;text-decoration:none;transition:transform .18s ease,background .18s ease}.ofm-artist-studio__button:hover,.ofm-artist-studio__button:focus-visible{background:#ffd34d;outline:none;transform:translateY(-1px)}.ofm-artist-studio__submission-list{display:grid;gap:9px}.ofm-artist-studio__submission{display:grid;grid-template-columns:54px minmax(0,1fr) auto;align-items:center;gap:13px;padding:9px;border:1px solid #303030;border-radius:14px;background:#141414}.ofm-artist-studio__submission-cover{width:54px;height:54px;overflow:hidden;border-radius:9px;background:#292929}.ofm-artist-studio__submission-cover img{display:block;width:100%;height:100%;object-fit:cover}.ofm-artist-studio__submission-cover span{display:grid;place-items:center;width:100%;height:100%;color:#f4c430;font-size:1.4rem}.ofm-artist-studio__submission-main{min-width:0}.ofm-artist-studio__submission h3{overflow:hidden;margin:0;color:#fff;font-size:.98rem;text-overflow:ellipsis;white-space:nowrap}.ofm-artist-studio__submission h3 a{color:inherit;text-decoration:none}.ofm-artist-studio__submission h3 a:hover{color:#f4c430}.ofm-artist-studio__submission p{margin:4px 0 0;color:#999;font-size:.78rem}.ofm-artist-studio__status{padding:5px 9px;border:1px solid #484848;border-radius:999px;color:#ccc;font-size:.72rem;font-weight:800;white-space:nowrap}.ofm-artist-studio__status--pending{border-color:rgba(244,196,48,.45);background:rgba(244,196,48,.08);color:#f4c430}.ofm-artist-studio__status--publish{border-color:rgba(94,193,129,.43);background:rgba(94,193,129,.08);color:#9ae7b5}.ofm-artist-studio__empty{padding:22px;border:1px dashed #454545;border-radius:15px;color:#aaa;text-align:center}.ofm-artist-studio__empty h3{margin:0;color:#eee}.ofm-artist-studio__empty p{margin:8px 0 0;font-size:.9rem}@media(max-width:820px){.ofm-artist-studio__grid{grid-template-columns:1fr}.ofm-artist-studio__panel,.ofm-artist-studio__submissions,.ofm-artist-studio__locked{border-radius:19px}}@media(max-width:560px){.ofm-artist-studio{padding:28px 14px calc(174px + env(safe-area-inset-bottom))}.ofm-artist-studio__hero{margin-bottom:30px}.ofm-artist-studio__hero h1{font-size:2.55rem}.ofm-artist-studio__two-up{grid-template-columns:1fr}.ofm-artist-studio__submission{grid-template-columns:46px minmax(0,1fr);gap:10px}.ofm-artist-studio__submission-cover{width:46px;height:46px}.ofm-artist-studio__status{grid-column:2;justify-self:start}.ofm-artist-studio__panel,.ofm-artist-studio__submissions{padding:18px}.ofm-artist-studio__choices label{padding:9px 10px}}
/* Artist Studio V1.2: make the selected release type and track requirement unmistakable. */
.ofm-artist-studio__field-label{color:#e9e9e9!important;font-size:.9rem!important;font-weight:700!important}.ofm-artist-studio__choices label{transition:border-color .18s ease,background .18s ease,box-shadow .18s ease}.ofm-artist-studio__choices label.is-selected{border-color:rgba(244,196,48,.8);background:rgba(244,196,48,.09);box-shadow:0 0 0 2px rgba(244,196,48,.08)}
.ofm-artist-studio__track-files{display:grid;gap:12px}.ofm-artist-studio__track-file-row{display:grid;gap:8px;padding:12px;border:1px dashed #414141;border-radius:13px;background:#121212}.ofm-artist-studio__track-file-row[hidden]{display:none}.ofm-artist-studio__add-track,.ofm-artist-studio__remove-track{justify-self:start;padding:9px 13px;border:1px solid #555;border-radius:999px;background:#181818;color:#eee;cursor:pointer;font:inherit;font-size:.8rem;font-weight:800;line-height:1.2;transition:border-color .18s ease,background .18s ease,color .18s ease,transform .18s ease}.ofm-artist-studio__add-track:hover,.ofm-artist-studio__add-track:focus-visible{border-color:#f4c430;background:rgba(244,196,48,.09);color:#f4c430;outline:none;transform:translateY(-1px)}.ofm-artist-studio__remove-track{padding:7px 10px;border-color:#5b4141;color:#dfa7a7;font-size:.74rem}.ofm-artist-studio__remove-track:hover,.ofm-artist-studio__remove-track:focus-visible{border-color:#e17a7a;background:rgba(172,63,63,.15);color:#ffd0d0;outline:none}.ofm-artist-studio__add-track[hidden],.ofm-artist-studio__remove-track[hidden]{display:none}
/* Artist Studio V1.1: compact identity, upload states, and submission controls. */
.ofm-artist-studio__identity-card{display:grid;grid-template-columns:82px minmax(0,1fr);gap:15px;align-items:center;margin:0 0 16px;padding:14px;border:1px solid #343434;border-radius:17px;background:linear-gradient(135deg,#1b1b1b,#141414)}.ofm-artist-studio__identity-avatar,.ofm-artist-studio__identity-avatar img{width:82px;height:82px;border-radius:50%}.ofm-artist-studio__identity-avatar{overflow:hidden;background:#292929}.ofm-artist-studio__identity-avatar img{display:block;object-fit:cover}.ofm-artist-studio__identity-copy{min-width:0}.ofm-artist-studio__identity-copy h3{margin:0;color:#fff;font-size:1.12rem}.ofm-artist-studio__identity-copy p{margin:5px 0 0;color:#aaa;font-size:.84rem;line-height:1.48}.ofm-artist-studio__identity-copy .ofm-artist-studio__identity-tagline{color:#f4c430;font-weight:700}.ofm-artist-studio__identity-editor{border:1px solid #343434;border-radius:14px;background:#121212}.ofm-artist-studio__identity-editor>summary{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 14px;color:#eee;cursor:pointer;font-size:.88rem;font-weight:800;list-style:none}.ofm-artist-studio__identity-editor>summary::-webkit-details-marker{display:none}.ofm-artist-studio__identity-editor>summary small{color:#9a9a9a;font-size:.74rem;font-weight:500}.ofm-artist-studio__identity-editor>summary::after{content:'+';display:grid;place-items:center;width:24px;height:24px;margin-left:auto;border:1px solid #414141;border-radius:50%;color:#f4c430;font-size:1.15rem;font-weight:400}.ofm-artist-studio__identity-editor[open]>summary{border-bottom:1px solid #343434}.ofm-artist-studio__identity-editor[open]>summary::after{content:'\2212'}.ofm-artist-studio__identity-editor>.ofm-artist-studio__form{padding:16px}.ofm-artist-studio__form select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='%23f4c430' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m7 10 5 5 5-5'/%3E%3C/svg%3E");background-position:calc(100% - 12px) 50%;background-repeat:no-repeat;background-size:18px;padding-right:40px}.ofm-artist-studio__upload-status,.ofm-artist-studio__form-status{display:flex;align-items:center;gap:8px;min-height:34px;margin:-5px 0 0;padding:7px 10px;border:1px solid #333;border-radius:10px;background:#121212;color:#a6a6a6;font-size:.77rem;line-height:1.4}.ofm-artist-studio__upload-status::before,.ofm-artist-studio__form-status::before{content:'';flex:0 0 7px;width:7px;height:7px;border-radius:50%;background:#777}.ofm-artist-studio__upload-status.is-ready{border-color:rgba(94,193,129,.4);color:#cdeed8}.ofm-artist-studio__upload-status.is-ready::before{background:#67c785}.ofm-artist-studio__upload-status.is-error{border-color:rgba(220,118,118,.52);color:#ffd1d1}.ofm-artist-studio__upload-status.is-error::before{background:#e67d7d}.ofm-artist-studio__upload-status.is-checking,.ofm-artist-studio__form-status.is-busy{border-color:rgba(244,196,48,.44);color:#f2d98a}.ofm-artist-studio__upload-status.is-checking::before,.ofm-artist-studio__form-status.is-busy::before{width:13px;height:13px;border:2px solid rgba(244,196,48,.28);border-top-color:#f4c430;background:transparent;animation:ofm-artist-studio-spin .7s linear infinite}.ofm-artist-studio__form-status:empty{display:none}@keyframes ofm-artist-studio-spin{to{transform:rotate(360deg)}}.ofm-artist-studio__rights--conditional[hidden]{display:none}.ofm-artist-studio__button{position:relative;overflow:hidden}.ofm-artist-studio__button:active{transform:translateY(0) scale(.98)}.ofm-artist-studio__button.is-loading{min-width:145px;cursor:wait;opacity:.82}.ofm-artist-studio__button.is-loading::after{content:'';width:14px;height:14px;margin-left:8px;border:2px solid rgba(23,23,23,.28);border-top-color:#171717;border-radius:50%;animation:ofm-artist-studio-spin .7s linear infinite}.ofm-artist-studio__submission-actions{display:grid;justify-items:end;gap:7px}.ofm-artist-studio__submission-actions .ofm-artist-studio__status{grid-column:auto;justify-self:auto}.ofm-artist-studio__delete-form{margin:0}.ofm-artist-studio__delete-button{display:inline-flex;align-items:center;gap:5px;min-height:30px;padding:5px 9px;border:1px solid #564040;border-radius:999px;background:transparent;color:#d9aaaa;cursor:pointer;font:inherit;font-size:.72rem;font-weight:800;line-height:1;transition:border-color .18s ease,background .18s ease,color .18s ease,transform .18s ease}.ofm-artist-studio__delete-button svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.ofm-artist-studio__delete-button:hover,.ofm-artist-studio__delete-button:focus-visible{border-color:#e17a7a;background:rgba(172,63,63,.15);color:#ffd0d0;outline:none;transform:translateY(-1px)}.ofm-artist-studio__delete-button.is-loading{cursor:wait;opacity:.65}@media(max-width:560px){.ofm-artist-studio__identity-card{grid-template-columns:66px minmax(0,1fr);gap:12px}.ofm-artist-studio__identity-avatar,.ofm-artist-studio__identity-avatar img{width:66px;height:66px}.ofm-artist-studio__identity-editor>summary small{display:none}.ofm-artist-studio__submission-actions{grid-column:2;display:flex;justify-items:initial;align-items:center;gap:8px}.ofm-artist-studio__delete-button{min-height:32px}.ofm-artist-studio__upload-status,.ofm-artist-studio__form-status{font-size:.74rem}}
/* Artist Studio review feedback. */
.ofm-artist-studio__status--returned{border-color:rgba(224,139,104,.52);background:rgba(157,73,47,.13);color:#f3b29d}.ofm-artist-studio__review-note{margin:10px 0 0;padding:10px 11px;border:1px solid rgba(224,139,104,.38);border-radius:10px;background:rgba(124,61,40,.13);color:#e5c2b6;font-size:.78rem;line-height:1.45}.ofm-artist-studio__review-note strong{color:#f6c0aa}.ofm-artist-studio__review-note p{margin:4px 0;color:inherit;font-size:inherit}.ofm-artist-studio__review-note small{display:block;color:#cbaea4;font-size:.72rem}
.ofm-artist-studio__status--editor_approved{border-color:rgba(94,193,129,.43);background:rgba(94,193,129,.08);color:#9ae7b5}
.ofm-artist-studio__handle{margin:-6px 2px 16px;color:#aaa;font-size:.78rem;line-height:1.45}.ofm-artist-studio__handle strong,.ofm-artist-studio__handle a{color:#f4c430;font-weight:800}.ofm-artist-studio__handle a{text-decoration:none}.ofm-artist-studio__handle a:hover,.ofm-artist-studio__handle a:focus-visible{text-decoration:underline;outline:none}
/* A single uses one listener-facing title; future EPs deliberately expose a
 * separate release name and track list rather than making creators guess. */
.ofm-artist-studio__title-model{display:grid;gap:3px;margin:-5px 0 0;padding:11px 12px;border:1px solid rgba(244,196,48,.28);border-radius:12px;background:linear-gradient(135deg,rgba(244,196,48,.08),rgba(244,196,48,.025));color:#cfcfcf;font-size:.8rem;line-height:1.45}.ofm-artist-studio__title-model strong{color:#f4c430;font-size:.72rem;letter-spacing:.11em;text-transform:uppercase}.ofm-artist-studio__title-model span:last-child{color:#999}

/* Artist Studio V1.3: compact public catalogue identity. */
.ofm-artist-studio__submission-meta{display:flex;flex-wrap:wrap;gap:4px 6px}.ofm-artist-studio__submission-identity{display:flex;flex-wrap:wrap;align-items:center;gap:7px;min-width:0}.ofm-artist-studio__submission-identity-avatar{display:grid;flex:0 0 24px;width:24px;height:24px;overflow:hidden;place-items:center;border:1px solid #4a4a4a;border-radius:50%;background:#242424;color:#f4c430;text-decoration:none}.ofm-artist-studio__submission-identity-avatar img{display:block;width:100%;height:100%;object-fit:cover}.ofm-artist-studio__submission-identity>a:not(.ofm-artist-studio__submission-identity-avatar){min-width:0;overflow:hidden;color:#e9e9e9;text-decoration:none;text-overflow:ellipsis;white-space:nowrap}.ofm-artist-studio__submission-identity>a:not(.ofm-artist-studio__submission-identity-avatar):hover,.ofm-artist-studio__submission-identity>a:not(.ofm-artist-studio__submission-identity-avatar):focus-visible{color:#f4c430;text-decoration:underline;outline:none}.ofm-artist-studio__submission-handle{color:#f4c430;font-weight:700;white-space:nowrap}

/* Compact post-publication review disclosure. */
.ofm-artist-studio__review-disclosure{width:min(272px,100%);margin:0}.ofm-artist-studio__review-disclosure>summary{display:flex;align-items:center;justify-content:flex-end;gap:7px;list-style:none;cursor:pointer}.ofm-artist-studio__review-disclosure>summary::-webkit-details-marker{display:none}.ofm-artist-studio__review-disclosure>summary>svg{width:15px;height:15px;flex:0 0 15px;fill:none;stroke:#a8a8a8;stroke-linecap:round;stroke-linejoin:round;stroke-width:2;transition:transform .2s ease,stroke .2s ease}.ofm-artist-studio__review-disclosure[open]>summary>svg{transform:rotate(180deg);stroke:#f4c430}.ofm-artist-studio__review-disclosure-body{display:grid;gap:8px;min-width:0;margin-top:8px;padding:9px;border:1px solid #343434;border-radius:11px;background:rgba(12,12,12,.78);box-shadow:0 12px 22px rgba(0,0,0,.18)}.ofm-artist-studio__review-disclosure-state{display:flex;align-items:center;gap:6px!important;margin:0!important;color:#c7c7c7!important;font-size:.72rem!important;line-height:1.35}.ofm-artist-studio__review-disclosure-state svg{width:15px;height:15px;flex:0 0 15px;fill:none;stroke:#f4c430;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.9}.ofm-artist-studio__review-disclosure-note{margin:0!important;padding:7px 8px;border-left:2px solid rgba(244,196,48,.52);border-radius:0 7px 7px 0;background:rgba(244,196,48,.055);color:#d1c8aa!important;font-size:.72rem!important;line-height:1.45}.ofm-artist-studio__editorial-request{display:flex;justify-content:flex-end;margin:0}.ofm-artist-studio__editorial-request-button{display:grid;place-items:center;width:29px;height:29px;padding:0;border:1px solid rgba(244,196,48,.48);border-radius:50%;background:rgba(244,196,48,.075);color:#f4c430;cursor:pointer;transition:transform .2s cubic-bezier(.2,.8,.2,1),background .2s ease,box-shadow .2s ease}.ofm-artist-studio__editorial-request-button svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8}.ofm-artist-studio__editorial-request-button:hover,.ofm-artist-studio__editorial-request-button:focus-visible{background:rgba(244,196,48,.16);box-shadow:0 0 0 3px rgba(244,196,48,.1),0 0 13px rgba(244,196,48,.16);outline:none;transform:translateY(-1px) scale(1.06)}.ofm-artist-studio__status--editorial-requested{border-color:rgba(244,196,48,.48);background:rgba(244,196,48,.09);color:#f4c430}.ofm-artist-studio__status--editorial-reviewed{border-color:rgba(94,193,129,.48);background:rgba(94,193,129,.08);color:#a9ecc0}.ofm-artist-studio__status--editorial-changes-requested{border-color:rgba(224,139,104,.52);background:rgba(157,73,47,.13);color:#f3b29d}.ofm-artist-studio__ratings{display:grid;gap:6px;margin:0;padding:0;border:0}.ofm-artist-studio__ratings h3{margin:0;color:#dedede;font-size:.7rem;letter-spacing:.02em}.ofm-artist-studio__ratings dl{display:grid;gap:5px;margin:0}.ofm-artist-studio__ratings dl>div{display:flex;align-items:center;justify-content:space-between;gap:8px;min-width:0;padding:5px 7px;border:1px solid #303030;border-radius:8px;background:#101010}.ofm-artist-studio__ratings dt{display:grid;place-items:center;flex:0 0 17px;width:17px;height:17px;color:#e9ca65}.ofm-artist-studio__ratings dt svg{width:13px;height:13px;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2}.ofm-artist-studio__ratings dd{margin:0}.ofm-artist-studio__rating-score{display:inline-flex;align-items:center;gap:3px;color:#a9a9a9;font-size:.65rem;font-variant-numeric:tabular-nums;line-height:1}.ofm-artist-studio__rating-score b{color:#f6d060;font-size:.7rem}.ofm-artist-studio__rating-bars{display:inline-flex;gap:1px}.ofm-artist-studio__rating-bars i{display:block;width:2px;height:8px;border-radius:1px;background:#404040}.ofm-artist-studio__rating-bars i.is-filled{background:#f4c430}.ofm-artist-studio__rating-verdict{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:0;padding:7px 8px;border:1px solid rgba(244,196,48,.26);border-radius:8px;background:rgba(244,196,48,.055);color:#bfb49a;font-size:.68rem}.ofm-artist-studio__rating-verdict strong{color:#ffe193;font-size:.8rem;font-variant-numeric:tabular-nums}.ofm-artist-studio__rating-verdict small{margin-left:2px;color:#bfb49a;font-size:.64rem}@media(max-width:560px){.ofm-artist-studio__review-disclosure{width:auto;min-width:0}.ofm-artist-studio__review-disclosure>summary{justify-content:flex-start}.ofm-artist-studio__review-disclosure-body{width:min(272px,calc(100vw - 118px))}.ofm-artist-studio__editorial-request{justify-content:flex-start}}@media(prefers-reduced-motion:reduce){.ofm-artist-studio__review-disclosure>summary>svg,.ofm-artist-studio__editorial-request-button{transition:none!important}}

/* Artist Studio v1.34: staged single uploads, compact identity controls, and full-width catalogue results. */
.ofm-artist-studio__guided-submission{gap:14px}.ofm-artist-studio__submission-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin:0;padding:0;list-style:none}.ofm-artist-studio__submission-steps li{display:flex;align-items:center;justify-content:center;gap:6px;min-height:34px;padding:6px 8px;border:1px solid #363636;border-radius:10px;background:#111;color:#777;font-size:.72rem;transition:color .22s ease,border-color .22s ease,background .22s ease,box-shadow .22s ease}.ofm-artist-studio__submission-steps li span{display:grid;place-items:center;width:17px;height:17px;border-radius:50%;background:#2c2c2c;color:#a5a5a5;font-size:.64rem;font-variant-numeric:tabular-nums}.ofm-artist-studio__submission-steps li.is-active{border-color:rgba(244,196,48,.68);background:linear-gradient(135deg,rgba(244,196,48,.15),rgba(244,196,48,.035));color:#ffe49c;box-shadow:0 0 18px rgba(244,196,48,.08)}.ofm-artist-studio__submission-steps li.is-active span,.ofm-artist-studio__submission-steps li.is-complete span{background:#f4c430;color:#151515}.ofm-artist-studio__submission-steps li.is-complete{color:#cfcbba}.ofm-artist-studio__submission-step{display:grid;gap:14px;padding:16px;border:1px solid #343434;border-radius:16px;background:linear-gradient(135deg,rgba(255,255,255,.025),rgba(244,196,48,.035));animation:ofm-artist-studio-step-in .3s cubic-bezier(.2,.8,.2,1)}.ofm-artist-studio__submission-step[hidden]{display:none}.ofm-artist-studio__step-heading{display:flex;align-items:center;gap:10px}.ofm-artist-studio__step-heading h3{margin:0;color:#f4f4f4;font-size:1rem}.ofm-artist-studio__step-heading p{margin:2px 0 0;color:#999;font-size:.76rem}.ofm-artist-studio__step-number{display:grid;place-items:center;width:29px;height:29px;border:1px solid rgba(244,196,48,.56);border-radius:9px;background:rgba(244,196,48,.08);color:#f4c430;font-size:.68rem;font-weight:800;letter-spacing:.06em}.ofm-artist-studio__step-actions{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:2px}.ofm-artist-studio__guided-submission .ofm-artist-studio__button{min-height:38px;padding:9px 15px;border-radius:11px;background:linear-gradient(135deg,#ffd54a,#e7ad11);box-shadow:inset 0 1px rgba(255,255,255,.45),0 8px 17px rgba(0,0,0,.18)}.ofm-artist-studio__guided-submission .ofm-artist-studio__button:hover,.ofm-artist-studio__guided-submission .ofm-artist-studio__button:focus-visible{background:linear-gradient(135deg,#ffe071,#f4be22);box-shadow:inset 0 1px rgba(255,255,255,.55),0 10px 22px rgba(244,196,48,.14)}.ofm-artist-studio__text-button{min-height:36px;padding:8px 11px;border:0;background:transparent;color:#bdbdbd;cursor:pointer;font:inherit;font-size:.78rem;font-weight:700}.ofm-artist-studio__text-button:hover,.ofm-artist-studio__text-button:focus-visible{color:#f4c430;outline:none}.ofm-artist-studio__file-picker{position:relative;display:grid!important;gap:8px;min-width:0;cursor:pointer}.ofm-artist-studio__file-picker input[type=file]{position:absolute!important;inset:0!important;z-index:2;width:100%!important;height:100%!important;min-height:48px!important;margin:0!important;padding:0!important;opacity:0!important;cursor:pointer}.ofm-artist-studio__file-picker-surface{display:flex;align-items:center;gap:10px;min-height:54px;padding:9px 11px;border:1px solid #414141;border-radius:12px;background:linear-gradient(135deg,#191919,#101010);box-shadow:inset 0 1px rgba(255,255,255,.035);transition:border-color .22s ease,background .22s ease,transform .22s ease,box-shadow .22s ease}.ofm-artist-studio__file-picker-surface svg{flex:0 0 18px;width:18px;height:18px;fill:none;stroke:#f4c430;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.9}.ofm-artist-studio__file-picker-surface span{display:grid;gap:2px;min-width:0}.ofm-artist-studio__file-picker-surface b{overflow:hidden;color:#eee;font-size:.82rem;text-overflow:ellipsis;white-space:nowrap}.ofm-artist-studio__file-picker-surface small{color:#979797;font-size:.7rem;font-weight:500}.ofm-artist-studio__file-picker-surface i{display:grid;place-items:center;width:22px;height:22px;margin-left:auto;border:1px solid rgba(244,196,48,.36);border-radius:7px;color:#f4c430;font-size:1rem;font-style:normal;line-height:1}.ofm-artist-studio__file-picker:hover .ofm-artist-studio__file-picker-surface,.ofm-artist-studio__file-picker:focus-within .ofm-artist-studio__file-picker-surface{border-color:rgba(244,196,48,.82);background:linear-gradient(135deg,rgba(244,196,48,.1),#141414);box-shadow:0 0 0 3px rgba(244,196,48,.08),inset 0 1px rgba(255,255,255,.05);transform:translateY(-1px)}.ofm-artist-studio__file-picker.has-file .ofm-artist-studio__file-picker-surface{border-color:rgba(94,193,129,.55)}.ofm-artist-studio__file-picker.has-file .ofm-artist-studio__file-picker-surface i{border-color:rgba(94,193,129,.55);color:#93ddb0}.ofm-artist-studio__cover-picker{gap:8px!important}.ofm-artist-studio__cover-picker>.ofm-artist-studio__file-picker{margin-top:1px}.ofm-artist-studio__label-row{display:flex;align-items:center;gap:7px}.ofm-artist-studio__label-row b{color:#e9e9e9;font-size:.9rem}.ofm-artist-studio__info{position:relative;display:inline-block}.ofm-artist-studio__info>summary{display:grid;place-items:center;width:17px;height:17px;margin:0;border:0;border-radius:50%;background:transparent;color:#a8a8a8;cursor:pointer;list-style:none}.ofm-artist-studio__info>summary::-webkit-details-marker{display:none}.ofm-artist-studio__info>summary svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:1.8}.ofm-artist-studio__info>summary:hover,.ofm-artist-studio__info[open]>summary{color:#f4c430}.ofm-artist-studio__info p{position:absolute;z-index:4;top:22px;left:0;width:min(230px,calc(100vw - 72px));margin:0;padding:9px 10px;border:1px solid #424242;border-radius:9px;background:#171717;color:#c5c5c5;font-size:.72rem;font-weight:500;line-height:1.45;box-shadow:0 12px 28px rgba(0,0,0,.36)}.ofm-artist-studio__bio-field textarea{min-height:74px}.ofm-artist-studio__compact-field input{min-height:42px}.ofm-artist-studio__identity-status{display:flex;align-items:center;gap:6px;margin:0!important;color:#aaa!important;font-size:.75rem!important}.ofm-artist-studio__identity-status a{margin-left:auto;color:#f4c430;text-decoration:none;font-weight:800}.ofm-artist-studio__verified-mark{display:grid;place-items:center;width:16px;height:16px;border-radius:5px;background:#f4c430;color:#151515;font-size:.68rem;font-weight:900}.ofm-artist-studio__form select{background-color:#131313!important;background-image:linear-gradient(90deg,transparent,rgba(244,196,48,.06)),url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='%23f4c430' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m7 10 5 5 5-5'/%3E%3C/svg%3E")!important}.ofm-artist-studio__awaiting{display:grid;place-items:center;width:28px;height:28px;border:1px solid rgba(244,196,48,.55);border-radius:50%;background:rgba(244,196,48,.08);color:#f4c430;animation:ofm-artist-studio-awaiting 1.8s ease-in-out infinite}.ofm-artist-studio__awaiting svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.9}.ofm-artist-studio__submission{grid-template-columns:54px minmax(0,1fr)}.ofm-artist-studio__submission-actions{grid-column:1/-1;width:100%;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:9px}.ofm-artist-studio__review-disclosure{grid-column:1/-1;width:100%;min-width:0}.ofm-artist-studio__review-disclosure>summary{justify-content:space-between;min-height:30px;padding:0 2px}.ofm-artist-studio__review-disclosure-body{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;width:auto;margin-top:9px;padding:12px}.ofm-artist-studio__review-disclosure-state,.ofm-artist-studio__ratings,.ofm-artist-studio__review-disclosure-note{grid-column:1/-1}.ofm-artist-studio__review-disclosure-state b{margin-left:auto;color:#f4c430;font-size:.7rem}.ofm-artist-studio__review-disclosure-note{padding:9px 10px;font-size:.76rem!important}.ofm-artist-studio__ratings dl{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.ofm-artist-studio__ratings dl>div{min-width:0}.ofm-artist-studio__editorial-request{grid-column:1/-1;justify-content:flex-end}.ofm-artist-studio__delete-form{justify-self:end}.ofm-artist-studio__submission-actions .ofm-artist-studio__status{justify-self:start}@keyframes ofm-artist-studio-step-in{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes ofm-artist-studio-awaiting{0%,100%{box-shadow:0 0 0 0 rgba(244,196,48,.08)}50%{box-shadow:0 0 0 5px rgba(244,196,48,0)}}@media(max-width:640px){.ofm-artist-studio__submission-steps li b{display:none}.ofm-artist-studio__submission-step{padding:13px}.ofm-artist-studio__review-disclosure-body{grid-template-columns:1fr}.ofm-artist-studio__ratings dl{grid-template-columns:1fr}.ofm-artist-studio__submission-actions{grid-template-columns:1fr}.ofm-artist-studio__delete-form{justify-self:start}.ofm-artist-studio__step-actions{align-items:stretch}.ofm-artist-studio__step-actions .ofm-artist-studio__button{flex:1;justify-self:stretch}.ofm-artist-studio__identity-editor>.ofm-artist-studio__form{padding:13px}}@media(prefers-reduced-motion:reduce){.ofm-artist-studio__submission-step,.ofm-artist-studio__file-picker-surface,.ofm-artist-studio__awaiting{animation:none;transition:none}}.ofm-artist-studio__info{display:grid;place-items:center;width:17px;height:17px;border-radius:50%;color:#a8a8a8}.ofm-artist-studio__info svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:1.8}.ofm-artist-studio__info:hover{color:#f4c430}
/* Artist Studio v0.1.36: guided-upload clarity and deferred editorial request. */
.ofm-artist-studio__genre-picker{display:grid;gap:7px}.ofm-artist-studio__genre-picker>.ofm-artist-studio__label-row{display:flex;align-items:center;gap:7px}.ofm-artist-studio__genre-picker>.ofm-artist-studio__label-row label{display:block;gap:0;color:#e9e9e9;font-size:.9rem;font-weight:700}.ofm-artist-studio__genre-picker>.ofm-artist-studio__label-row .ofm-artist-studio__info{margin-left:1px}.ofm-artist-studio__genre-picker select{min-height:48px;border-color:rgba(244,196,48,.25)!important;background-color:rgba(20,20,20,.82)!important;background-image:linear-gradient(115deg,rgba(255,255,255,.055),rgba(244,196,48,.09)),url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='%23f4c430' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m7 10 5 5 5-5'/%3E%3C/svg%3E")!important;box-shadow:inset 0 1px rgba(255,255,255,.06),0 8px 22px rgba(0,0,0,.16);backdrop-filter:blur(14px);transition:border-color .22s ease,box-shadow .22s ease,background-color .22s ease,transform .22s ease}.ofm-artist-studio__genre-picker select:hover{border-color:rgba(244,196,48,.58)!important;background-color:rgba(32,29,19,.9)!important;transform:translateY(-1px)}.ofm-artist-studio__genre-picker select:focus{border-color:#f4c430!important;box-shadow:0 0 0 3px rgba(244,196,48,.12),0 10px 25px rgba(0,0,0,.2)!important}.ofm-artist-studio__genre-picker small{color:#9b9b9b;font-size:.72rem;font-weight:500;line-height:1.35}.ofm-artist-studio__editorial-follow-up{grid-template-columns:auto minmax(0,1fr) auto;background:linear-gradient(115deg,rgba(244,196,48,.08),rgba(20,20,20,.96));border-color:rgba(244,196,48,.28)}.ofm-artist-studio__editorial-follow-up .ofm-artist-studio__info{align-self:center}.ofm-artist-studio__guided-submission .ofm-artist-studio__button:disabled{cursor:not-allowed;opacity:.54;transform:none;box-shadow:inset 0 1px rgba(255,255,255,.22),0 4px 10px rgba(0,0,0,.12)}.ofm-artist-studio__guided-submission .ofm-artist-studio__button:disabled:hover{background:linear-gradient(135deg,#ffd54a,#e7ad11);transform:none}@media(prefers-reduced-motion:reduce){.ofm-artist-studio__genre-picker select{transition:none}.ofm-artist-studio__genre-picker select:hover{transform:none}}
/* Direct final-upload flow: server markup always begins on the track step. */
.ofm-artist-studio__guided-submission [data-ofm-artist-submission-step][hidden],.ofm-artist-studio__guided-submission [data-ofm-artist-submission-step]:not(.is-active){display:none!important}
/* Native catalogue disclosure keeps the full action layout available on demand. */
.ofm-artist-studio__submissions-disclosure>summary{display:flex;align-items:center;justify-content:space-between;gap:16px;cursor:pointer;list-style:none}.ofm-artist-studio__submissions-disclosure>summary::-webkit-details-marker{display:none}.ofm-artist-studio__submissions-summary-copy{display:grid;gap:3px;min-width:0}.ofm-artist-studio__submissions-title{color:#fff;font-size:clamp(1.45rem,2.4vw,2rem);font-weight:700;letter-spacing:-.025em;line-height:1.12}.ofm-artist-studio__submissions-summary-actions{display:inline-flex;align-items:center;gap:10px;flex:0 0 auto}.ofm-artist-studio__submissions-count{display:grid;place-items:center;min-width:32px;height:32px;padding:0 9px;border-radius:999px;background:#2a2a2a;color:#f4c430;font-size:.82rem;font-weight:800;font-variant-numeric:tabular-nums}.ofm-artist-studio__submissions-summary-actions>svg{width:18px;height:18px;fill:none;stroke:#f4c430;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8;transition:transform .2s ease}.ofm-artist-studio__submissions-disclosure[open]>.ofm-artist-studio__submissions-summary .ofm-artist-studio__submissions-summary-actions>svg{transform:rotate(180deg)}.ofm-artist-studio__submissions-disclosure>summary:focus-visible{outline:2px solid #f4c430;outline-offset:6px;border-radius:7px}.ofm-artist-studio__submissions-body{margin-top:20px;padding-top:20px;border-top:1px solid rgba(255,255,255,.1)}@media(max-width:560px){.ofm-artist-studio__submissions-disclosure>summary{gap:12px}.ofm-artist-studio__submissions-body{margin-top:16px;padding-top:16px}}

/* Artist Studio audio drop target: the file input remains the only upload path. */
/* Artist requests remain private until this exact revision is Editor approved. */
.ofm-artist-studio__public-credit-requests{display:grid;gap:10px;margin:0;padding:14px;border:1px solid rgba(244,196,48,.28);border-radius:13px;background:linear-gradient(135deg,rgba(244,196,48,.06),rgba(18,18,18,.88))}
.ofm-artist-studio__public-credit-requests>legend{padding:0 5px;color:#f4c430;font-size:.86rem;font-weight:800}
.ofm-artist-studio__public-credit-requests>p{margin:0;color:#b9b19c;font-size:.76rem;line-height:1.48}
.ofm-artist-studio__public-credit-request-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.ofm-artist-studio__public-credit-request-options label{display:flex!important;align-items:flex-start;gap:8px;min-height:44px;padding:9px 10px;border:1px solid rgba(244,196,48,.2);border-radius:10px;background:rgba(10,10,10,.5);color:#e8e0ca!important;cursor:pointer;font-size:.76rem!important;line-height:1.35}
.ofm-artist-studio__public-credit-request-options input{flex:0 0 auto;margin:2px 0 0;accent-color:#f4c430}
.ofm-artist-studio__public-credit-request-options span{color:inherit!important;font-size:inherit!important;font-weight:700!important}
@media(max-width:680px){.ofm-artist-studio__public-credit-request-options{grid-template-columns:1fr}}

/* Private artist-facing workflow history. This is scoped to the owned Studio
 * catalogue disclosure and never appears on public release/profile pages. */
.ofm-artist-studio__review-timeline{display:grid;grid-column:1/-1;gap:9px;min-width:0;margin:2px 0 0;padding:11px 0 0;border-top:1px solid rgba(255,255,255,.12)}
.ofm-artist-studio__review-timeline-heading{display:flex;align-items:baseline;justify-content:space-between;gap:10px;min-width:0}.ofm-artist-studio__review-timeline-heading h4{margin:0;color:#eee;font-size:.76rem;letter-spacing:.01em}.ofm-artist-studio__review-timeline-heading span{flex:0 0 auto;color:#a99d78;font-size:.67rem;font-weight:700;white-space:nowrap}
.ofm-artist-studio__review-next-step{margin:0!important;color:#bdb7a5!important;font-size:.72rem!important;line-height:1.48}.ofm-artist-studio__review-next-step strong{color:#f4c430}
.ofm-artist-studio__review-timeline ol{display:grid;gap:8px;margin:0;padding:0;list-style:none}.ofm-artist-studio__review-timeline li{position:relative;display:grid;grid-template-columns:13px minmax(0,1fr);gap:8px;min-width:0}.ofm-artist-studio__review-timeline-marker{position:relative;display:block;width:9px;height:9px;margin-top:4px;border:2px solid #8a8a8a;border-radius:50%;background:#151515}.ofm-artist-studio__review-timeline li:not(:last-child) .ofm-artist-studio__review-timeline-marker::after{position:absolute;top:8px;left:2px;width:1px;height:calc(100% + 10px);background:#454545;content:''}.ofm-artist-studio__review-timeline li.is-submitted .ofm-artist-studio__review-timeline-marker{border-color:#f4c430;background:#f4c430}.ofm-artist-studio__review-timeline li.is-returned .ofm-artist-studio__review-timeline-marker{border-color:#df977e;background:#a34b35}.ofm-artist-studio__review-timeline li.is-approved .ofm-artist-studio__review-timeline-marker,.ofm-artist-studio__review-timeline li.is-published .ofm-artist-studio__review-timeline-marker{border-color:#6ac88a;background:#6ac88a}
.ofm-artist-studio__review-timeline li>div{display:flex;align-items:baseline;justify-content:space-between;gap:8px;min-width:0}.ofm-artist-studio__review-timeline li strong{min-width:0;color:#e7e7e7;font-size:.72rem;line-height:1.35}.ofm-artist-studio__review-timeline time{flex:0 0 auto;color:#9a9a9a;font-size:.65rem;line-height:1.35;text-align:right}
@media(max-width:560px){.ofm-artist-studio__review-timeline-heading{align-items:flex-start;flex-direction:column;gap:3px}.ofm-artist-studio__review-timeline li>div{align-items:flex-start;flex-direction:column;gap:1px}.ofm-artist-studio__review-timeline time{text-align:left}}
.ofm-artist-studio__file-picker[data-ofm-artist-audio-dropzone] .ofm-artist-studio__file-picker-surface{min-height:68px;border-style:dashed}.ofm-artist-studio__file-picker[data-ofm-artist-audio-dropzone].is-dragging .ofm-artist-studio__file-picker-surface{border-color:#f4c430;background:linear-gradient(135deg,rgba(244,196,48,.2),rgba(31,25,12,.96));box-shadow:0 0 0 4px rgba(244,196,48,.11),inset 0 1px rgba(255,255,255,.09);transform:translateY(-1px)}.ofm-artist-studio__file-picker[data-ofm-artist-audio-dropzone].is-dragging .ofm-artist-studio__file-picker-surface svg{filter:drop-shadow(0 0 7px rgba(244,196,48,.52));transform:translateY(-1px)}@media(max-width:560px){.ofm-artist-studio__file-picker[data-ofm-artist-audio-dropzone] .ofm-artist-studio__file-picker-surface{min-height:64px}}@media(prefers-reduced-motion:reduce){.ofm-artist-studio__file-picker[data-ofm-artist-audio-dropzone] .ofm-artist-studio__file-picker-surface,.ofm-artist-studio__file-picker[data-ofm-artist-audio-dropzone] .ofm-artist-studio__file-picker-surface svg{transition:none!important;transform:none!important}}

/* Private artist timing requests. A Controller confirms any actual schedule. */
.ofm-artist-studio__schedule-request{display:grid;gap:10px;margin:0;padding:14px;border:1px solid rgba(244,196,48,.3);border-radius:13px;background:linear-gradient(135deg,rgba(244,196,48,.065),rgba(18,18,18,.9))}.ofm-artist-studio__schedule-request>legend{padding:0 5px;color:#f4c430;font-size:.86rem;font-weight:800}.ofm-artist-studio__schedule-request>p{margin:0;color:#c8c0a8;font-size:.76rem;line-height:1.48}.ofm-artist-studio__schedule-request>small{color:#99917d;font-size:.72rem;line-height:1.42}.ofm-artist-studio__schedule-request input[type=datetime-local]{min-height:44px;border-color:rgba(244,196,48,.28)!important;background:rgba(12,12,12,.72)!important}.ofm-artist-studio__status--scheduled{border-color:rgba(101,200,142,.52);background:rgba(101,200,142,.09);color:#a7e6bd}
.ofm-artist-studio__review-timeline li.is-scheduled .ofm-artist-studio__review-timeline-marker{border-color:#77ca92;background:#77ca92}
.ofm-artist-studio__schedule-requests{margin-top:20px;padding:clamp(20px,3vw,34px);border:1px solid #303030;border-radius:24px;background:linear-gradient(145deg,#191919,#111);box-shadow:0 22px 55px rgba(0,0,0,.24)}.ofm-artist-studio__schedule-requests-heading{display:flex;align-items:end;justify-content:space-between;gap:16px}.ofm-artist-studio__schedule-requests-heading h2{margin:3px 0 0;color:#fff;font-size:clamp(1.45rem,2.4vw,2rem);letter-spacing:-.025em}.ofm-artist-studio__schedule-requests-heading>span{display:grid;place-items:center;min-width:32px;height:32px;padding:0 9px;border-radius:999px;background:#2a2a2a;color:#f4c430;font-size:.82rem;font-weight:800;font-variant-numeric:tabular-nums}.ofm-artist-studio__schedule-requests-help{margin:12px 0 0;color:#aaa38e;font-size:.78rem;line-height:1.5}.ofm-artist-studio__schedule-requests-list{display:grid;gap:9px;margin:17px 0 0;padding:0;list-style:none}.ofm-artist-studio__schedule-requests-list>li{display:grid;grid-template-columns:minmax(156px,.78fr) minmax(0,1.3fr) auto;align-items:center;gap:14px;padding:13px;border:1px solid #333;border-radius:13px;background:#131313}.ofm-artist-studio__schedule-requests-list time{display:grid;gap:3px}.ofm-artist-studio__schedule-requests-list time strong{color:#f3f0e8;font-size:.83rem;line-height:1.35}.ofm-artist-studio__schedule-requests-list time span{color:#9b9b9b;font-size:.69rem}.ofm-artist-studio__schedule-requests-list h3{margin:0;color:#fff;font-size:.92rem;line-height:1.35}.ofm-artist-studio__schedule-requests-list p{margin:3px 0 0;color:#aaa;font-size:.73rem;line-height:1.4}.ofm-artist-studio__schedule-request-state{justify-self:end;padding:5px 8px;border:1px solid rgba(244,196,48,.36);border-radius:999px;background:rgba(244,196,48,.07);color:#f4c430;font-size:.67rem;font-weight:800;white-space:nowrap}.ofm-artist-studio__schedule-request-state.is-scheduled{border-color:rgba(101,200,142,.48);background:rgba(101,200,142,.08);color:#a7e6bd}.ofm-artist-studio__schedule-requests-empty{margin-top:16px;padding:19px;border:1px dashed #454545;border-radius:13px;text-align:center}.ofm-artist-studio__schedule-requests-empty h3{margin:0;color:#eee;font-size:.95rem}.ofm-artist-studio__schedule-requests-empty p{margin:6px 0 0;color:#a9a9a9;font-size:.78rem;line-height:1.45}
@media(max-width:820px){.ofm-artist-studio__schedule-requests{border-radius:19px}}@media(max-width:640px){.ofm-artist-studio__schedule-requests-list>li{grid-template-columns:1fr;gap:8px}.ofm-artist-studio__schedule-request-state{justify-self:start}}@media(max-width:560px){.ofm-artist-studio__schedule-requests{padding:18px}.ofm-artist-studio__schedule-requests-heading{align-items:center}}

/* Artist profile and optional release-credit controls. */
.ofm-artist-studio__profile-link{display:inline-flex;align-items:center;justify-content:center;min-height:34px;padding:8px 11px;border:1px solid rgba(244,196,48,.54);border-radius:999px;background:rgba(244,196,48,.06);color:#f4c430;font-size:.76rem;font-weight:800;line-height:1.2;text-align:center;text-decoration:none;transition:border-color .18s ease,background .18s ease,color .18s ease,transform .18s ease}.ofm-artist-studio__profile-link:hover,.ofm-artist-studio__profile-link:focus-visible{border-color:#f4c430;background:rgba(244,196,48,.14);color:#ffe083;outline:none;transform:translateY(-1px)}.ofm-artist-studio__release-credits{align-items:start}.ofm-artist-studio__release-date{max-width:220px}@media(max-width:560px){.ofm-artist-studio__section-heading{align-items:center}.ofm-artist-studio__profile-link{min-height:32px;padding:7px 10px;font-size:.72rem}.ofm-artist-studio__release-date{max-width:none}}@media(prefers-reduced-motion:reduce){.ofm-artist-studio__profile-link{transition:none}}/* Artist-owned draft revision controls. */
.ofm-artist-studio__submission-revisit{grid-column:1/-1;margin:0;justify-self:start}.ofm-artist-studio__submission-revisit-button{display:inline-flex;align-items:center;justify-content:center;min-height:34px;padding:8px 11px;border:1px solid rgba(244,196,48,.56);border-radius:999px;background:rgba(244,196,48,.07);color:#f4c430;cursor:pointer;font:inherit;font-size:.76rem;font-weight:800;line-height:1.2;transition:border-color .18s ease,background .18s ease,color .18s ease,transform .18s ease}.ofm-artist-studio__submission-revisit-button:hover,.ofm-artist-studio__submission-revisit-button:focus-visible{border-color:#f4c430;background:rgba(244,196,48,.15);color:#ffe083;outline:none;transform:translateY(-1px)}.ofm-artist-studio__submission-editor{grid-column:1/-1;width:100%;border:1px solid #373737;border-radius:13px;background:#111}.ofm-artist-studio__submission-editor>summary{display:flex;align-items:center;gap:10px;min-height:44px;padding:10px 12px;color:#f1f1f1;cursor:pointer;font-size:.82rem;font-weight:800;list-style:none}.ofm-artist-studio__submission-editor>summary::-webkit-details-marker{display:none}.ofm-artist-studio__submission-editor>summary small{margin-left:auto;color:#a8a8a8;font-size:.7rem;font-weight:500;line-height:1.35;text-align:right}.ofm-artist-studio__submission-editor>summary::after{content:'+';display:grid;place-items:center;flex:0 0 23px;width:23px;height:23px;border:1px solid #444;border-radius:50%;color:#f4c430;font-size:1.08rem;font-weight:400}.ofm-artist-studio__submission-editor[open]>summary{border-bottom:1px solid #343434}.ofm-artist-studio__submission-editor[open]>summary::after{content:'\2212'}.ofm-artist-studio__submission-editor>.ofm-artist-studio__form{padding:14px}.ofm-artist-studio__revision-help{margin:0!important;padding:10px 11px;border:1px solid rgba(244,196,48,.23);border-radius:10px;background:rgba(244,196,48,.05);color:#c7bf9d!important;font-size:.75rem!important;line-height:1.45}.ofm-artist-studio__revision-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.ofm-artist-studio__revision-actions .ofm-artist-studio__button{margin-left:auto}.ofm-artist-studio__revision-actions .ofm-artist-studio__text-button{border:1px solid #414141;border-radius:999px;color:#d1d1d1}.ofm-artist-studio__revision-actions .ofm-artist-studio__text-button:hover,.ofm-artist-studio__revision-actions .ofm-artist-studio__text-button:focus-visible{border-color:rgba(244,196,48,.52);background:rgba(244,196,48,.06)}@media(max-width:560px){.ofm-artist-studio__submission-editor>summary{align-items:flex-start}.ofm-artist-studio__submission-editor>summary small{margin-left:0;text-align:left}.ofm-artist-studio__revision-actions{align-items:stretch}.ofm-artist-studio__revision-actions .ofm-artist-studio__button{flex:1;margin-left:0;justify-self:stretch}}@media(prefers-reduced-motion:reduce){.ofm-artist-studio__submission-revisit-button{transition:none}}

/* Source: assets/css/editor-review-portal.css */
/* Approved Editor portal. This is front-end only; review access is enforced in PHP. */
.ofm-editor-review-portal{min-height:100vh;padding:clamp(32px,6vw,78px) max(20px,calc((100vw - 1240px)/2)) calc(166px + env(safe-area-inset-bottom));background:radial-gradient(820px 460px at 12% 0,rgba(244,196,48,.12),transparent 68%),#090909;color:#fff}.ofm-editor-review-portal *{box-sizing:border-box}.ofm-editor-review-portal__hero{display:flex;align-items:end;justify-content:space-between;gap:24px;max-width:1180px;margin:0 0 clamp(26px,4vw,42px)}.ofm-editor-review-portal__eyebrow{margin:0 0 12px;color:#f4c430;font-size:.72rem;font-weight:800;letter-spacing:.19em;text-transform:uppercase}.ofm-editor-review-portal__hero h1{max-width:720px;margin:0;color:#fff;font-size:clamp(2.4rem,6vw,5.15rem);letter-spacing:-.055em;line-height:.98}.ofm-editor-review-portal__hero>div>p:last-child{max-width:620px;margin:14px 0 0;color:#b9b9b9;font-size:clamp(1rem,1.8vw,1.18rem);line-height:1.58}.ofm-editor-review-portal__hero-count{flex:0 0 auto;display:grid;place-items:center;min-width:46px;height:46px;padding:0 13px;border:1px solid rgba(244,196,48,.46);border-radius:999px;background:rgba(244,196,48,.08);color:#f7d45a;font-size:.86rem;font-weight:800;white-space:nowrap}.ofm-editor-review-portal__notice{max-width:960px;margin:0 0 20px;padding:13px 16px;border:1px solid #3a3a3a;border-radius:14px;background:#151515;color:#e1e1e1;font-size:.9rem;line-height:1.5}.ofm-editor-review-portal__notice--success{border-color:rgba(99,190,132,.48);background:rgba(50,119,74,.19);color:#d1f5dc}.ofm-editor-review-portal__notice--error{border-color:rgba(220,118,118,.52);background:rgba(133,49,49,.18);color:#ffd8d8}.ofm-editor-review-portal__locked,.ofm-editor-review-portal__empty{max-width:660px;padding:clamp(28px,5vw,54px);border:1px solid #303030;border-radius:24px;background:linear-gradient(145deg,#191919,#111);box-shadow:0 22px 55px rgba(0,0,0,.24);text-align:center}.ofm-editor-review-portal__locked h2,.ofm-editor-review-portal__empty h2{margin:0;color:#fff;font-size:clamp(1.55rem,3vw,2.25rem);letter-spacing:-.025em}.ofm-editor-review-portal__locked p,.ofm-editor-review-portal__empty p{margin:10px auto 0;color:#b9b9b9;line-height:1.6}.ofm-editor-review-portal__list{display:grid;gap:20px;max-width:1180px}.ofm-editor-review-portal__card{display:grid;grid-template-columns:176px minmax(0,1fr) minmax(268px,.5fr);gap:20px;align-items:start;padding:18px;border:1px solid #303030;border-radius:20px;background:linear-gradient(145deg,#191919,#111);box-shadow:0 17px 38px rgba(0,0,0,.16)}.ofm-editor-review-portal__cover{width:176px;aspect-ratio:1;overflow:hidden;border-radius:14px;background:#292929}.ofm-editor-review-portal__cover img{display:block;width:100%;height:100%;object-fit:cover}.ofm-editor-review-portal__cover span{display:grid;place-items:center;width:100%;height:100%;color:#f4c430;font-size:2.5rem}.ofm-editor-review-portal__body{min-width:0}.ofm-editor-review-portal__heading{display:flex;align-items:start;justify-content:space-between;gap:16px}.ofm-editor-review-portal__heading p{margin:0 0 5px;color:#f4c430;font-size:.68rem;font-weight:800;letter-spacing:.15em;text-transform:uppercase}.ofm-editor-review-portal__heading h2{margin:0;color:#fff;font-size:clamp(1.2rem,2.1vw,1.55rem);letter-spacing:-.025em;line-height:1.18}.ofm-editor-review-portal__heading h2 a{color:inherit;text-decoration:none}.ofm-editor-review-portal__heading h2 a:hover,.ofm-editor-review-portal__heading h2 a:focus-visible{color:#f4c430;outline:none}.ofm-editor-review-portal__state{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;min-height:28px;padding:5px 9px;border:1px solid #555;border-radius:999px;background:#171717;color:#d5d5d5;font-size:.7rem;font-weight:800;line-height:1;white-space:nowrap}.ofm-editor-review-portal__state--pending{border-color:rgba(244,196,48,.46);background:rgba(244,196,48,.08);color:#f4c430}.ofm-editor-review-portal__state--approved,.ofm-editor-review-portal__state--editor-approved{border-color:rgba(94,193,129,.43);background:rgba(94,193,129,.08);color:#9ae7b5}.ofm-editor-review-portal__state--returned{border-color:rgba(224,139,104,.52);background:rgba(157,73,47,.13);color:#f3b29d}.ofm-editor-review-portal__meta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px 16px;margin:19px 0 13px}.ofm-editor-review-portal__meta div{min-width:0}.ofm-editor-review-portal__meta dt{margin:0 0 3px;color:#858585;font-size:.63rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.ofm-editor-review-portal__meta dd{overflow:hidden;margin:0;color:#dedede;font-size:.82rem;line-height:1.35;text-overflow:ellipsis;white-space:nowrap}.ofm-editor-review-portal__rights{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 11px;border:1px solid #343434;border-radius:11px;background:#101010;color:#aaa;font-size:.77rem;line-height:1.4}.ofm-editor-review-portal__rights strong{color:#dedede}.ofm-editor-review-portal__rights span{color:#9fe0b6;font-weight:700}.ofm-editor-review-portal__notes,.ofm-editor-review-portal__audio,.ofm-editor-review-portal__audit{margin-top:14px;padding-top:14px;border-top:1px solid #303030}.ofm-editor-review-portal__notes h3,.ofm-editor-review-portal__audio h3,.ofm-editor-review-portal__audit h3{margin:0 0 7px;color:#dedede;font-size:.79rem}.ofm-editor-review-portal__notes p,.ofm-editor-review-portal__audio>p,.ofm-editor-review-portal__audit p{margin:0;color:#aaa;font-size:.84rem;line-height:1.55}.ofm-editor-review-portal__audio{display:grid;gap:8px}.ofm-editor-review-portal__audio>div{display:grid;gap:6px;padding:10px 11px;border:1px solid #303030;border-radius:11px;background:#101010}.ofm-editor-review-portal__audio strong{overflow:hidden;color:#dedede;font-size:.78rem;text-overflow:ellipsis;white-space:nowrap}.ofm-editor-review-portal__audio audio{width:100%;height:34px;accent-color:#f4c430}.ofm-editor-review-portal__audit{display:grid;gap:8px}.ofm-editor-review-portal__audit>div,.ofm-editor-review-portal__audit li{padding:9px 10px;border:1px solid #303030;border-radius:10px;background:#101010;color:#bdbdbd;font-size:.77rem;line-height:1.45}.ofm-editor-review-portal__audit ul{display:grid;gap:8px;margin:0;padding:0;list-style:none}.ofm-editor-review-portal__audit strong{color:#e5e5e5}.ofm-editor-review-portal__form{display:grid;gap:11px;padding:14px;border:1px solid #3a3a3a;border-radius:15px;background:#101010}.ofm-editor-review-portal__form label{display:grid;gap:7px;color:#e8e8e8;font-size:.82rem;font-weight:800}.ofm-editor-review-portal__form label span{color:#999;font-size:.72rem;font-weight:500}.ofm-editor-review-portal__form textarea{width:100%;min-height:108px;resize:vertical;border:1px solid #454545;border-radius:10px;background:#181818;color:#f2f2f2;font:inherit;font-size:.87rem;line-height:1.48;padding:10px 11px;transition:border-color .18s ease,box-shadow .18s ease}.ofm-editor-review-portal__form textarea:focus{border-color:#f4c430;box-shadow:0 0 0 3px rgba(244,196,48,.12);outline:none}.ofm-editor-review-portal__form>p{margin:0;color:#999;font-size:.73rem;line-height:1.5}.ofm-editor-review-portal__form-actions{display:flex;flex-wrap:wrap;gap:9px}.ofm-editor-review-portal__button{display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:10px 15px;border:1px solid #f4c430;border-radius:999px;background:#f4c430;color:#171717;cursor:pointer;font:inherit;font-size:.82rem;font-weight:800;line-height:1.2;transition:transform .18s ease,background .18s ease,border-color .18s ease,color .18s ease}.ofm-editor-review-portal__button:hover,.ofm-editor-review-portal__button:focus-visible{background:#ffd34d;border-color:#ffd34d;outline:none;transform:translateY(-1px)}.ofm-editor-review-portal__button:active{transform:translateY(0) scale(.98)}.ofm-editor-review-portal__button--return{border-color:#725448;background:#251b18;color:#f2c0ae}.ofm-editor-review-portal__button--return:hover,.ofm-editor-review-portal__button--return:focus-visible{border-color:#d57c61;background:#3a241e;color:#ffd0bf}.ofm-editor-review-portal__form-status{display:flex;align-items:center;gap:8px;min-height:34px;margin:0;padding:7px 10px;border:1px solid #3a3a3a;border-radius:10px;background:#151515;color:#a6a6a6;font-size:.76rem;line-height:1.4}.ofm-editor-review-portal__form-status:empty{display:none}.ofm-editor-review-portal__form-status::before{content:'';flex:0 0 7px;width:7px;height:7px;border-radius:50%;background:#777}.ofm-editor-review-portal__form-status.is-busy{border-color:rgba(244,196,48,.44);color:#f2d98a}.ofm-editor-review-portal__form-status.is-busy::before{width:13px;height:13px;border:2px solid rgba(244,196,48,.28);border-top-color:#f4c430;background:transparent;animation:ofm-editor-review-portal-spin .7s linear infinite}.ofm-editor-review-portal__button.is-loading{cursor:wait;opacity:.75}@keyframes ofm-editor-review-portal-spin{to{transform:rotate(360deg)}}@media(max-width:960px){.ofm-editor-review-portal__card{grid-template-columns:136px minmax(0,1fr)}.ofm-editor-review-portal__cover{width:136px}.ofm-editor-review-portal__form{grid-column:1/-1}.ofm-editor-review-portal__audit{grid-column:1/-1}}@media(max-width:620px){.ofm-editor-review-portal{padding:28px 14px calc(174px + env(safe-area-inset-bottom))}.ofm-editor-review-portal__hero{display:block;margin-bottom:30px}.ofm-editor-review-portal__hero h1{font-size:2.55rem}.ofm-editor-review-portal__hero-count{display:inline-grid;margin-top:18px}.ofm-editor-review-portal__card{grid-template-columns:78px minmax(0,1fr);gap:13px;padding:13px;border-radius:16px}.ofm-editor-review-portal__cover{width:78px;border-radius:10px}.ofm-editor-review-portal__heading{display:block}.ofm-editor-review-portal__state{display:inline-flex;margin-top:9px}.ofm-editor-review-portal__meta{grid-template-columns:1fr;margin-top:14px}.ofm-editor-review-portal__rights{align-items:flex-start;flex-direction:column;gap:5px}.ofm-editor-review-portal__form,.ofm-editor-review-portal__audit{grid-column:1/-1}.ofm-editor-review-portal__button{flex:1}.ofm-editor-review-portal__locked,.ofm-editor-review-portal__empty{border-radius:19px}}@media(prefers-reduced-motion:reduce){.ofm-editor-review-portal *{scroll-behavior:auto!important;transition:none!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}

/* Internal release-credit verification stays at the bottom of the review card. */
.ofm-editor-review-portal__metadata-correction{grid-column:1/-1;border:1px solid rgba(244,196,48,.3);border-radius:15px;background:linear-gradient(145deg,rgba(31,28,18,.98),rgba(18,18,16,.98));overflow:hidden}
.ofm-editor-review-portal__metadata-correction>summary{display:grid;grid-template-columns:minmax(0,1fr) 28px;align-items:center;gap:12px;padding:13px 15px;cursor:pointer;list-style:none}
.ofm-editor-review-portal__metadata-correction>summary::-webkit-details-marker{display:none}
.ofm-editor-review-portal__metadata-correction>summary>span{display:grid;gap:3px;min-width:0}
.ofm-editor-review-portal__metadata-correction>summary strong{color:#f6d060;font-size:.82rem;line-height:1.2}
.ofm-editor-review-portal__metadata-correction>summary small{color:#a9a090;font-size:.66rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
.ofm-editor-review-portal__metadata-correction>summary::after{content:'+';display:grid;place-items:center;width:26px;height:26px;border:1px solid rgba(244,196,48,.45);border-radius:50%;color:#f4c430;font-size:1.1rem;line-height:1}
.ofm-editor-review-portal__metadata-correction[open]>summary{border-bottom:1px solid rgba(244,196,48,.2);background:rgba(244,196,48,.045)}
.ofm-editor-review-portal__metadata-correction[open]>summary::after{content:'−'}
.ofm-editor-review-portal__metadata-correction>summary:hover{background:rgba(244,196,48,.045)}
.ofm-editor-review-portal__metadata-correction>summary:focus-visible{outline:2px solid #f4c430;outline-offset:-3px}
.ofm-editor-review-portal__metadata-correction-body{display:grid;gap:12px;padding:14px 15px 15px}
.ofm-editor-review-portal__metadata-correction-body>p{margin:0;max-width:760px;color:#aaa496;font-size:.77rem;line-height:1.48}
.ofm-editor-review-portal__metadata-form{padding:0;border:0;background:transparent}
.ofm-editor-review-portal__metadata-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.ofm-editor-review-portal__metadata-form input:not([type=checkbox]){width:100%;min-height:39px;border:1px solid #454545;border-radius:10px;background:#181818;color:#f2f2f2;font:inherit;font-size:.84rem;padding:8px 10px;transition:border-color .18s ease,box-shadow .18s ease}
.ofm-editor-review-portal__metadata-form input:not([type=checkbox]):focus{border-color:#f4c430;box-shadow:0 0 0 3px rgba(244,196,48,.12);outline:none}
.ofm-editor-review-portal__metadata-confirm{display:flex!important;align-items:flex-start;gap:9px;padding:9px 10px;border:1px solid #383632;border-radius:10px;background:#121212;color:#d9d4c8!important;cursor:pointer}
.ofm-editor-review-portal__metadata-confirm input{flex:0 0 auto;margin:2px 0 0;accent-color:#f4c430}
.ofm-editor-review-portal__metadata-confirm span{color:inherit!important;font-size:.76rem!important;font-weight:700!important;line-height:1.42}
@media(max-width:760px){.ofm-editor-review-portal__metadata-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
/* Editor-only, revision-bound approval for artist-requested public credits. */
.ofm-editor-review-portal__public-credit-approval{grid-column:1/-1;border:1px solid rgba(94,193,129,.35);border-radius:15px;background:linear-gradient(145deg,rgba(17,34,24,.92),rgba(16,17,16,.98));overflow:hidden}
.ofm-editor-review-portal__public-credit-approval>summary{display:grid;grid-template-columns:minmax(0,1fr) 28px;align-items:center;gap:12px;padding:13px 15px;cursor:pointer;list-style:none}
.ofm-editor-review-portal__public-credit-approval>summary::-webkit-details-marker{display:none}
.ofm-editor-review-portal__public-credit-approval>summary>span{display:grid;gap:3px;min-width:0}
.ofm-editor-review-portal__public-credit-approval>summary strong{color:#b6edca;font-size:.82rem;line-height:1.2}
.ofm-editor-review-portal__public-credit-approval>summary small{color:#8fb29a;font-size:.66rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
.ofm-editor-review-portal__public-credit-approval>summary::after{content:'+';display:grid;place-items:center;width:26px;height:26px;border:1px solid rgba(94,193,129,.48);border-radius:50%;color:#9ae7b5;font-size:1.1rem;line-height:1}
.ofm-editor-review-portal__public-credit-approval[open]>summary{border-bottom:1px solid rgba(94,193,129,.2);background:rgba(94,193,129,.05)}
.ofm-editor-review-portal__public-credit-approval[open]>summary::after{content:'−'}
.ofm-editor-review-portal__public-credit-approval-body{display:grid;gap:12px;padding:14px 15px 15px}
.ofm-editor-review-portal__public-credit-approval-body>p{margin:0;max-width:760px;color:#a7b9ac;font-size:.77rem;line-height:1.48}
.ofm-editor-review-portal__public-credit-form{padding:0;border:0;background:transparent}
.ofm-editor-review-portal__public-credit-options{display:grid;gap:8px;margin:0;padding:0;border:0}.ofm-editor-review-portal__public-credit-options legend{margin:0 0 2px;color:#e4eee7;font-size:.78rem;font-weight:800}.ofm-editor-review-portal__public-credit-options label{display:flex!important;align-items:flex-start;gap:9px;padding:10px 11px;border:1px solid rgba(94,193,129,.22);border-radius:10px;background:rgba(9,18,12,.55);cursor:pointer}.ofm-editor-review-portal__public-credit-options input{flex:0 0 auto;margin:2px 0 0;accent-color:#78cb95}.ofm-editor-review-portal__public-credit-options label span{display:grid;gap:3px;color:inherit!important}.ofm-editor-review-portal__public-credit-options label strong{color:#e6eee8;font-size:.78rem}.ofm-editor-review-portal__public-credit-options label small{color:#a8b8ac;font-size:.72rem;font-weight:500;line-height:1.35}
@media(max-width:620px){.ofm-editor-review-portal__public-credit-approval{border-radius:13px}.ofm-editor-review-portal__public-credit-approval>summary{padding:12px}.ofm-editor-review-portal__public-credit-approval-body{padding:12px}.ofm-editor-review-portal__public-credit-form .ofm-editor-review-portal__button{width:100%}}
@media(max-width:620px){.ofm-editor-review-portal__metadata-correction{border-radius:13px}.ofm-editor-review-portal__metadata-correction>summary{padding:12px}.ofm-editor-review-portal__metadata-correction-body{padding:12px}.ofm-editor-review-portal__metadata-grid{grid-template-columns:1fr}.ofm-editor-review-portal__metadata-form .ofm-editor-review-portal__button{width:100%}}

/* Source: assets/css/editor-review-portal-polish.css */
/* Brand-led review controls and unreleased preview rows. */
.ofm-editor-review-portal{--ofm-review-gold:#fcbe0d;--ofm-review-gold-light:#fdcf36;--ofm-review-ink:#111;--ofm-review-charcoal:#171717;--ofm-review-border:#303030;--ofm-review-muted:#9a9a9a;--ofm-review-radius:14px;--ofm-review-shadow:0 12px 34px rgba(0,0,0,.32);--ofm-review-gold-shadow:0 0 26px rgba(252,190,13,.22)}.ofm-editor-review-portal__hero-copy{position:relative;display:grid;gap:0}.ofm-editor-review-portal__brand-mark{display:grid;place-items:center;width:48px;height:48px;margin:0 0 14px;border-radius:14px;background:#171717;box-shadow:var(--ofm-review-shadow);overflow:hidden}.ofm-editor-review-portal__brand-mark img{display:block;width:100%;height:100%;object-fit:cover;animation:ofm-editor-review-brand-breathe 4s ease-in-out infinite}.ofm-editor-review-portal__hero-count{border-color:rgba(252,190,13,.46);background:rgba(252,190,13,.08);color:var(--ofm-review-gold)}@keyframes ofm-editor-review-brand-breathe{50%{transform:scale(1.045);filter:drop-shadow(0 0 9px rgba(252,190,13,.3))}}.ofm-editor-review-portal__cover{position:relative;isolation:isolate}.ofm-editor-review-portal__cover-button{position:relative;display:block;width:100%;height:100%;margin:0;padding:0;border:0;border-radius:inherit;background:#292929;cursor:zoom-in;overflow:hidden}.ofm-editor-review-portal__cover-button img{transition:transform .32s ease,filter .24s ease}.ofm-editor-review-portal__cover-button:hover img,.ofm-editor-review-portal__cover-button:focus-visible img{transform:scale(1.055);filter:brightness(.78)}.ofm-editor-review-portal__cover-button:focus-visible{outline:2px solid var(--ofm-review-gold);outline-offset:3px}.ofm-editor-review-portal__cover-inspect{position:absolute;right:9px;bottom:9px;display:inline-flex;align-items:center;gap:6px;min-height:30px;padding:5px 9px;border:1px solid rgba(255,255,255,.28);border-radius:999px;background:rgba(8,8,8,.78);color:#f7f7f7;font-size:.68rem;font-weight:800;line-height:1;opacity:0;transform:translateY(5px);transition:opacity .18s ease,transform .18s ease,background .18s ease}.ofm-editor-review-portal__cover-inspect svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2}.ofm-editor-review-portal__cover-button:hover .ofm-editor-review-portal__cover-inspect,.ofm-editor-review-portal__cover-button:focus-visible .ofm-editor-review-portal__cover-inspect{opacity:1;transform:translateY(0)}.ofm-editor-review-portal__cover-button:hover .ofm-editor-review-portal__cover-inspect{background:rgba(23,23,23,.95)}.ofm-editor-review-portal__cover--empty{padding:22px;background:#171717}.ofm-editor-review-portal__cover--empty img{object-fit:contain}.ofm-editor-review-portal .ofm-station-track{width:100%;grid-template-columns:minmax(0,1fr) auto;gap:10px;margin:0;padding:8px 10px 8px 8px;border-color:var(--ofm-review-border);border-radius:16px;background:var(--ofm-review-charcoal);box-shadow:none}.ofm-editor-review-portal .ofm-station-track:hover{border-color:rgba(252,190,13,.5);background:#1d1d1d;transform:translateY(-1px)}.ofm-editor-review-portal .ofm-station-track.is-current{border-color:rgba(252,190,13,.75);background:rgba(252,190,13,.1)}.ofm-editor-review-portal .ofm-station-track__trigger{grid-template-columns:44px minmax(0,1fr);gap:14px;padding:5px}.ofm-editor-review-portal .ofm-station-track__play{background:var(--ofm-review-gold);color:var(--ofm-review-ink);box-shadow:0 8px 18px rgba(252,190,13,.18)}.ofm-editor-review-portal .ofm-station-track.is-playing .ofm-station-track__play{box-shadow:0 0 0 7px rgba(252,190,13,.12);animation:ofm-editor-review-track-pulse 1.6s ease-in-out infinite}.ofm-editor-review-portal .ofm-station-track__number{color:var(--ofm-review-muted)}.ofm-editor-review-portal .ofm-station-track__title{color:#fff}.ofm-editor-review-portal .ofm-station-track__stats{margin-left:auto;color:var(--ofm-review-muted);font-size:.72rem;font-weight:700;white-space:nowrap}.ofm-editor-review-portal .ofm-station-track__trigger:focus-visible{outline-color:var(--ofm-review-gold)}@keyframes ofm-editor-review-track-pulse{50%{transform:scale(1.05)}}.ofm-editor-review-portal__track-private{display:inline-flex;align-items:center;gap:5px;padding:6px 8px;border:1px solid rgba(252,190,13,.26);border-radius:999px;background:rgba(252,190,13,.07);color:var(--ofm-review-gold-light);font-size:.65rem;font-weight:800;line-height:1;white-space:nowrap}.ofm-editor-review-portal__track-private svg{width:13px;height:13px;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2}.ofm-editor-review-portal__button:not(.ofm-editor-review-portal__button--return){border-color:var(--ofm-review-gold);background:var(--ofm-review-gold);box-shadow:0 7px 16px rgba(252,190,13,.17)}.ofm-editor-review-portal__button:not(.ofm-editor-review-portal__button--return):hover,.ofm-editor-review-portal__button:not(.ofm-editor-review-portal__button--return):focus-visible{border-color:var(--ofm-review-gold-light);background:var(--ofm-review-gold-light);box-shadow:var(--ofm-review-gold-shadow)}.ofm-editor-review-portal__action-icon{width:16px;height:16px;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2;transition:transform .18s ease}.ofm-editor-review-portal__button:hover .ofm-editor-review-portal__action-icon--approve,.ofm-editor-review-portal__button:focus-visible .ofm-editor-review-portal__action-icon--approve{transform:scale(1.12)}.ofm-editor-review-portal__button--return:hover .ofm-editor-review-portal__action-icon--return,.ofm-editor-review-portal__button--return:focus-visible .ofm-editor-review-portal__action-icon--return{transform:translateX(-2px)}.ofm-editor-review-portal__artwork-modal{position:fixed;z-index:100010;inset:0;display:grid;place-items:center;padding:16px;background:rgba(0,0,0,.82);opacity:0;transition:opacity .18s ease}.ofm-editor-review-portal__artwork-modal.is-open{opacity:1}.ofm-editor-review-portal__artwork-dialog{position:relative;display:grid;max-width:min(960px,calc(100vw - 32px));max-height:calc(100dvh - 32px);padding:13px;border:1px solid rgba(255,255,255,.13);border-radius:20px;background:#111;box-shadow:0 28px 80px rgba(0,0,0,.52);transform:translateY(12px) scale(.98);transition:transform .18s ease}.ofm-editor-review-portal__artwork-modal.is-open .ofm-editor-review-portal__artwork-dialog{transform:translateY(0) scale(1)}.ofm-editor-review-portal__artwork-dialog figure{display:grid;gap:10px;margin:0}.ofm-editor-review-portal__artwork-dialog img{display:block;max-width:100%;max-height:calc(100dvh - 92px);border-radius:12px;object-fit:contain}.ofm-editor-review-portal__artwork-dialog figcaption{overflow:hidden;padding:0 4px;color:#d9d9d9;font-size:.82rem;font-weight:700;text-align:center;text-overflow:ellipsis;white-space:nowrap}.ofm-editor-review-portal__artwork-close{position:absolute;z-index:1;top:22px;right:22px}.ofm-editor-review-portal__ready-icon{display:grid;place-items:center;width:34px;height:34px;margin:0 0 9px;border:1px solid rgba(94,193,129,.45);border-radius:50%;background:rgba(94,193,129,.09);color:#9ae7b5}.ofm-editor-review-portal__ready-icon svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2.3}@media(max-width:620px){.ofm-editor-review-portal__cover-inspect{opacity:1;transform:none}.ofm-editor-review-portal .ofm-station-track{gap:7px;padding:7px}.ofm-editor-review-portal .ofm-station-track__trigger{grid-template-columns:38px minmax(0,1fr);gap:10px}.ofm-editor-review-portal .ofm-station-track__play{width:34px;height:34px}.ofm-editor-review-portal .ofm-station-track__stats{display:none}.ofm-editor-review-portal__track-private span{display:none}.ofm-editor-review-portal__track-private{padding:7px}.ofm-editor-review-portal__artwork-dialog{padding:8px;border-radius:16px}.ofm-editor-review-portal__artwork-close{top:14px;right:14px}}@media(prefers-reduced-motion:reduce){.ofm-editor-review-portal__brand-mark img,.ofm-editor-review-portal .ofm-station-track.is-playing .ofm-station-track__play{animation:none}.ofm-editor-review-portal__cover-button img,.ofm-editor-review-portal__cover-inspect,.ofm-editor-review-portal__action-icon,.ofm-editor-review-portal__artwork-modal,.ofm-editor-review-portal__artwork-dialog{transition:none}}
/* Keep review previews complete when the portal is reached through PJAX. */
.ofm-editor-review-portal__artwork-modal[hidden]{display:none}
.ofm-editor-review-portal__cover .ofm-editor-review-portal__cover-inspect{display:inline-flex;width:auto;height:auto;color:#f7f7f7;font-size:.68rem}.ofm-editor-review-portal__cover .ofm-editor-review-portal__cover-inspect>span{display:inline;width:auto;height:auto;color:inherit;font-size:inherit}
.ofm-editor-review-portal__audio h3{display:flex;align-items:center;gap:7px}.ofm-editor-review-portal__audio h3 svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2}.ofm-editor-review-portal__cover-button:focus-visible{outline:0;box-shadow:inset 0 0 0 2px var(--ofm-review-gold)}
@media(max-width:620px){.ofm-editor-review-portal .ofm-station-track__play{width:34px;height:34px}}
body.ofm-editor-review-portal-artwork-open{overflow:hidden}.ofm-editor-review-portal .ofm-station-track{display:grid;align-items:center;border:1px solid var(--ofm-review-border);color:#fff;transition:border-color .18s ease,background .18s ease,transform .18s ease}.ofm-editor-review-portal .ofm-station-track__trigger{display:grid;align-items:center;width:100%;border:0;background:transparent;color:inherit;text-align:left;cursor:pointer}.ofm-editor-review-portal .ofm-station-track__play{width:38px;height:38px;display:grid;place-items:center;border-radius:50%;transition:transform .2s,box-shadow .2s}.ofm-editor-review-portal .ofm-station-track__play svg{width:17px;height:17px;fill:currentColor;stroke:none}.ofm-editor-review-portal .ofm-station-track__play .icon-pause{display:none;fill:none;stroke:currentColor;stroke-width:2.5}.ofm-editor-review-portal .ofm-station-track.is-playing .icon-play{display:none}.ofm-editor-review-portal .ofm-station-track.is-playing .icon-pause{display:block}.ofm-editor-review-portal .ofm-station-track__details{min-width:0;display:flex;align-items:center;gap:13px}.ofm-editor-review-portal .ofm-station-track__title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:700}

/* V1.28: completed release reviews stay out of the active decision queue. */
.ofm-editor-review-portal__approved{max-width:1180px;margin:24px 0 0;border:1px solid rgba(94,193,129,.38);border-radius:20px;background:linear-gradient(145deg,rgba(21,31,24,.98),rgba(16,19,17,.98));box-shadow:0 17px 38px rgba(0,0,0,.16);overflow:hidden}.ofm-editor-review-portal__approved>summary{display:grid;grid-template-columns:minmax(0,1fr) auto 30px;align-items:center;gap:18px;padding:18px 20px;color:#fff;cursor:pointer;list-style:none;transition:background .18s ease}.ofm-editor-review-portal__approved>summary::-webkit-details-marker{display:none}.ofm-editor-review-portal__approved>summary::after{content:'+';display:grid;place-items:center;width:28px;height:28px;border:1px solid rgba(94,193,129,.45);border-radius:50%;color:#9ae7b5;font-size:1.25rem;font-weight:400;line-height:1}.ofm-editor-review-portal__approved>summary:hover{background:rgba(94,193,129,.055)}.ofm-editor-review-portal__approved>summary:focus-visible{outline:2px solid var(--ofm-review-gold);outline-offset:-3px}.ofm-editor-review-portal__approved[open]>summary{border-bottom:1px solid rgba(94,193,129,.28);background:rgba(94,193,129,.055)}.ofm-editor-review-portal__approved[open]>summary::after{content:'\2212'}.ofm-editor-review-portal__approved-copy{display:grid;gap:4px;min-width:0}.ofm-editor-review-portal__approved-eyebrow{color:#9ae7b5;font-size:.66rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase}.ofm-editor-review-portal__approved-copy strong{font-size:1rem;line-height:1.2}.ofm-editor-review-portal__approved-copy small{max-width:680px;color:#aeb9b0;font-size:.78rem;line-height:1.45}.ofm-editor-review-portal__approved-count{display:grid;place-items:center;min-width:30px;height:30px;border-radius:999px;background:rgba(94,193,129,.12);color:#b5f0c8;font-size:.76rem;font-weight:800}.ofm-editor-review-portal__approved-body{padding:20px}.ofm-editor-review-portal__approved .ofm-editor-review-portal__list{max-width:none}@media(max-width:620px){.ofm-editor-review-portal__approved{margin-top:18px;border-radius:16px}.ofm-editor-review-portal__approved>summary{grid-template-columns:minmax(0,1fr) auto 28px;gap:11px;padding:15px}.ofm-editor-review-portal__approved-copy small{font-size:.73rem}.ofm-editor-review-portal__approved-body{padding:13px}.ofm-editor-review-portal__approved>summary::after{width:26px;height:26px}}
/* Compact internal scoring for release reviews. */
.ofm-editor-review-portal__form .ofm-editor-review-portal__rating-meter{min-width:0;margin:0;padding:0;border:0}.ofm-editor-review-portal__rating-meter legend{display:grid;gap:3px;margin:0 0 9px;padding:0;color:#f0f0f0;font-size:.82rem;font-weight:800}.ofm-editor-review-portal__rating-meter legend span{color:var(--ofm-review-muted);font-size:.7rem;font-weight:500;line-height:1.35}.ofm-editor-review-portal__rating-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.ofm-editor-review-portal__rating-field{display:flex;align-items:center;justify-content:space-between;gap:8px;min-width:0;padding:7px 8px;border:1px solid #343434;border-radius:10px;background:#151515}.ofm-editor-review-portal__rating-label{overflow:hidden;color:#dcdcdc;font-size:.72rem;font-weight:700;text-overflow:ellipsis;white-space:nowrap}.ofm-editor-review-portal__rating-options{display:inline-flex;align-items:center;gap:3px;flex:0 0 auto}.ofm-editor-review-portal__rating-options input{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap}.ofm-editor-review-portal__form .ofm-editor-review-portal__rating-options label{display:grid;place-items:center;gap:0;width:17px;height:17px;margin:0;padding:0;border:0;border-radius:50%;background:transparent;color:#606060;cursor:pointer;transition:color .16s ease,transform .16s ease,filter .16s ease}.ofm-editor-review-portal__form .ofm-editor-review-portal__rating-options label:not(.is-clear)::before{content:'';display:block;width:10px;height:10px;border-radius:50%;background:currentColor;box-shadow:inset 0 0 0 1px rgba(255,255,255,.11)}.ofm-editor-review-portal__form .ofm-editor-review-portal__rating-options label.is-clear{width:18px;height:18px;margin-right:2px;color:#797979}.ofm-editor-review-portal__rating-options label.is-clear svg{width:12px;height:12px;fill:none;stroke:currentColor;stroke-linecap:round;stroke-width:2}.ofm-editor-review-portal__rating-options label:hover{color:var(--ofm-review-gold-light);transform:translateY(-1px)}.ofm-editor-review-portal__rating-options input:focus-visible+label{outline:2px solid var(--ofm-review-gold);outline-offset:2px}.ofm-editor-review-portal__rating-options input:checked+label:not(.is-clear){color:var(--ofm-review-gold);filter:drop-shadow(0 0 4px rgba(252,190,13,.42))}.ofm-editor-review-portal__rating-options input:checked+label.is-clear{color:#bdbdbd}.ofm-editor-review-portal__form .ofm-editor-review-portal__note-field{gap:5px}.ofm-editor-review-portal__note-field>span{display:flex;align-items:center;justify-content:space-between;gap:8px}.ofm-editor-review-portal__note-field em{padding:2px 6px;border-radius:999px;background:rgba(255,255,255,.06);color:#9d9d9d;font-size:.63rem;font-style:normal;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.ofm-editor-review-portal__form .ofm-editor-review-portal__note-field textarea{min-height:58px;max-height:128px;padding:8px 10px;font-size:.8rem;line-height:1.4}.ofm-editor-review-portal__ratings{display:grid;gap:8px;margin-top:14px;padding-top:14px;border-top:1px solid #303030}.ofm-editor-review-portal__ratings h3{margin:0;color:#dedede;font-size:.79rem}.ofm-editor-review-portal__ratings dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin:0}.ofm-editor-review-portal__ratings dl>div{display:flex;align-items:center;justify-content:space-between;gap:8px;min-width:0;padding:7px 8px;border:1px solid #303030;border-radius:9px;background:#101010}.ofm-editor-review-portal__ratings dt{overflow:hidden;color:#aaa;font-size:.68rem;font-weight:700;text-overflow:ellipsis;white-space:nowrap}.ofm-editor-review-portal__ratings dd{margin:0}.ofm-editor-review-portal__rating-score{display:inline-flex;align-items:center;gap:3px;color:#9c9c9c;font-size:.66rem;font-variant-numeric:tabular-nums;line-height:1}.ofm-editor-review-portal__rating-score b{color:#f6d060;font-size:.72rem}.ofm-editor-review-portal__rating-bars{display:inline-flex;gap:2px}.ofm-editor-review-portal__rating-bars i{display:block;width:3px;height:10px;border-radius:999px;background:#404040}.ofm-editor-review-portal__rating-bars i.is-filled{background:var(--ofm-review-gold)}.ofm-editor-review-portal__audit-ratings{display:flex;flex-wrap:wrap;gap:4px;margin-top:6px}.ofm-editor-review-portal__audit-ratings span{padding:2px 5px;border-radius:999px;background:rgba(252,190,13,.08);color:#f1d274;font-size:.63rem;font-weight:700;line-height:1.25}@media(max-width:620px){.ofm-editor-review-portal__rating-grid,.ofm-editor-review-portal__ratings dl{grid-template-columns:1fr}.ofm-editor-review-portal__rating-field{padding:7px 9px}.ofm-editor-review-portal__form .ofm-editor-review-portal__rating-options label{width:18px;height:18px}}
/* Native comment moderation, deliberately compact inside the editor portal. */
.ofm-editor-review-portal__comments{max-width:1180px;margin:24px 0 0;border:1px solid rgba(252,190,13,.3);border-radius:18px;background:linear-gradient(145deg,#171717,#111);overflow:hidden}.ofm-editor-review-portal__comments>summary{display:grid;grid-template-columns:minmax(0,1fr) auto 28px;align-items:center;gap:14px;padding:15px 18px;color:#fff;cursor:pointer;list-style:none}.ofm-editor-review-portal__comments>summary::-webkit-details-marker{display:none}.ofm-editor-review-portal__comments>summary::after{content:'−';display:grid;place-items:center;width:26px;height:26px;border:1px solid rgba(252,190,13,.48);border-radius:50%;color:var(--ofm-review-gold);font-size:1.1rem;line-height:1}.ofm-editor-review-portal__comments:not([open])>summary::after{content:'+'}.ofm-editor-review-portal__comments>summary:hover{background:rgba(252,190,13,.045)}.ofm-editor-review-portal__comments>summary:focus-visible{outline:2px solid var(--ofm-review-gold);outline-offset:-3px}.ofm-editor-review-portal__comments-copy{display:grid;gap:3px;min-width:0}.ofm-editor-review-portal__comments-eyebrow{color:var(--ofm-review-gold);font-size:.63rem;font-weight:800;letter-spacing:.15em;text-transform:uppercase}.ofm-editor-review-portal__comments-copy strong{font-size:.95rem}.ofm-editor-review-portal__comments-count{display:grid;place-items:center;min-width:26px;height:26px;border-radius:50%;background:rgba(252,190,13,.11);color:#f8dc78;font-size:.7rem;font-weight:800}.ofm-editor-review-portal__comments-body{padding:14px 18px 18px;border-top:1px solid rgba(255,255,255,.1)}.ofm-editor-review-portal__comments-body>ul{display:grid;gap:9px;margin:0;padding:0;list-style:none}.ofm-editor-review-portal__comment{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px 14px;padding:12px;border:1px solid #303030;border-radius:13px;background:#141414}.ofm-editor-review-portal__comment-meta{display:flex;align-items:center;gap:9px;min-width:0}.ofm-editor-review-portal__comment-meta time{color:var(--ofm-review-muted);font-size:.7rem;white-space:nowrap}.ofm-editor-review-portal__comment-text{grid-column:1/-1;color:#ddd;font-size:.84rem;line-height:1.45}.ofm-editor-review-portal__comment-text p{margin:0}.ofm-editor-review-portal__comment-station{display:flex;gap:5px;min-width:0;margin:0;color:var(--ofm-review-muted);font-size:.7rem}.ofm-editor-review-portal__comment-station a{overflow:hidden;color:#f2d66c;text-decoration:none;text-overflow:ellipsis;white-space:nowrap}.ofm-editor-review-portal__comment-station a:hover,.ofm-editor-review-portal__comment-station a:focus-visible{color:#fff;text-decoration:underline}.ofm-editor-review-portal__comment-actions{display:flex;align-items:center;gap:5px}.ofm-editor-review-portal__comment-action{display:grid;place-items:center;width:31px;height:31px;margin:0;padding:0;border:1px solid #414141;border-radius:50%;background:transparent;color:#bbb;cursor:pointer;transition:color .16s ease,border-color .16s ease,background .16s ease,transform .16s ease}.ofm-editor-review-portal__comment-action svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2}.ofm-editor-review-portal__comment-action:hover,.ofm-editor-review-portal__comment-action:focus-visible{border-color:var(--ofm-review-gold);background:rgba(252,190,13,.1);color:var(--ofm-review-gold);outline:none;transform:translateY(-1px)}.ofm-editor-review-portal__comment-action--approve{border-color:rgba(94,193,129,.52);color:#9ae7b5}.ofm-editor-review-portal__comment-action--approve:hover,.ofm-editor-review-portal__comment-action--approve:focus-visible{border-color:#9ae7b5;background:rgba(94,193,129,.12);color:#c4f5d1}.ofm-editor-review-portal__comment-action--remove:hover,.ofm-editor-review-portal__comment-action--remove:focus-visible{border-color:#d78572;background:rgba(215,133,114,.1);color:#f0a490}@media(max-width:620px){.ofm-editor-review-portal__comments{margin-top:18px;border-radius:15px}.ofm-editor-review-portal__comments>summary{padding:13px;gap:10px}.ofm-editor-review-portal__comments-body{padding:11px}.ofm-editor-review-portal__comment{grid-template-columns:minmax(0,1fr);gap:8px;padding:10px}.ofm-editor-review-portal__comment-meta{align-items:flex-start;flex-wrap:wrap}.ofm-editor-review-portal__comment-actions{grid-row:4;justify-self:start}.ofm-editor-review-portal__comment-station{grid-row:3}.ofm-editor-review-portal__comment-text{grid-column:1}.ofm-editor-review-portal__comment-meta time{width:100%}}

/* V1.31: icon-led 1–10 editorial scorecard. */
.ofm-editor-review-portal__rating-meter{display:grid;gap:9px}.ofm-editor-review-portal__rating-grid{grid-template-columns:1fr;gap:7px}.ofm-editor-review-portal__rating-field{min-height:38px;padding:7px 9px}.ofm-editor-review-portal__rating-label{display:grid;place-items:center;flex:0 0 24px;width:24px;height:24px;color:var(--ofm-review-gold-light)}.ofm-editor-review-portal__rating-label svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.9}.ofm-editor-review-portal__rating-options{gap:2px;min-width:0}.ofm-editor-review-portal__form .ofm-editor-review-portal__rating-options label{width:18px;height:18px;color:#505050;transition:color .2s ease,transform .2s cubic-bezier(.2,.8,.2,1),filter .2s ease}.ofm-editor-review-portal__form .ofm-editor-review-portal__rating-options label:not(.is-clear)::before{width:9px;height:9px;transition:transform .2s cubic-bezier(.2,.8,.2,1),box-shadow .2s ease}.ofm-editor-review-portal__rating-options label.is-preview{color:rgba(252,190,13,.62);transform:translateY(-1px) scale(1.08)}.ofm-editor-review-portal__rating-options label.is-preview::before{transform:scale(1.12)}.ofm-editor-review-portal__rating-options input:checked+label:not(.is-clear){color:var(--ofm-review-gold);filter:drop-shadow(0 0 5px rgba(252,190,13,.55));transform:translateY(-1px) scale(1.12)}.ofm-editor-review-portal__rating-options input:checked+label:not(.is-clear)::before{box-shadow:0 0 0 2px rgba(252,190,13,.16),0 0 11px rgba(252,190,13,.42)}.ofm-editor-review-portal__rating-live,.ofm-editor-review-portal__rating-verdict{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:0;padding:8px 9px;border:1px solid rgba(252,190,13,.25);border-radius:10px;background:rgba(252,190,13,.055);color:#bfb49a;font-size:.7rem}.ofm-editor-review-portal__rating-live strong,.ofm-editor-review-portal__rating-verdict strong{color:#ffe193;font-size:.84rem;font-variant-numeric:tabular-nums}.ofm-editor-review-portal__rating-verdict small{margin-left:2px;color:#bfb49a;font-size:.66rem}.ofm-editor-review-portal__ratings{margin-top:12px;padding-top:12px}.ofm-editor-review-portal__ratings h3{font-size:.72rem}.ofm-editor-review-portal__ratings dl{grid-template-columns:1fr;gap:5px}.ofm-editor-review-portal__ratings dl>div{min-height:31px;padding:5px 7px}.ofm-editor-review-portal__ratings dt{display:grid;place-items:center;flex:0 0 18px;width:18px;height:18px;color:#e9ca65}.ofm-editor-review-portal__ratings dt svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2}.ofm-editor-review-portal__rating-bars{gap:1px}.ofm-editor-review-portal__rating-bars i{width:2px;height:9px}.ofm-editor-review-portal__ratings .ofm-editor-review-portal__rating-verdict{margin-top:2px}.ofm-editor-review-portal__form>.ofm-editor-review-portal__ratings{margin-top:14px}.ofm-editor-review-portal__audit-ratings span{font-variant-numeric:tabular-nums}@media(hover:hover) and (prefers-reduced-motion:no-preference){.ofm-editor-review-portal__rating-options label:hover{color:var(--ofm-review-gold-light);transform:translateY(-2px) scale(1.13)}}@media(max-width:620px){.ofm-editor-review-portal__form .ofm-editor-review-portal__rating-options label{width:16px;height:16px}.ofm-editor-review-portal__form .ofm-editor-review-portal__rating-options label:not(.is-clear)::before{width:8px;height:8px}.ofm-editor-review-portal__rating-field{padding:7px}.ofm-editor-review-portal__rating-live{font-size:.66rem}}@media(prefers-reduced-motion:reduce){.ofm-editor-review-portal__rating-options label,.ofm-editor-review-portal__rating-options label::before{transition:none!important}}
/* Compact bar meter and editorial-request queue. */
.ofm-editor-review-portal__list--editorial{margin-top:22px}
.ofm-editor-review-portal__list--editorial::before{content:'Editorial requests';display:block;margin:0 0 10px;color:var(--ofm-review-gold);font-size:.67rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase}
.ofm-editor-review-portal__form .ofm-editor-review-portal__rating-options label:not(.is-clear)::before{width:3px;height:13px;border-radius:1px;box-shadow:none;background:currentColor}
.ofm-editor-review-portal__form .ofm-editor-review-portal__rating-options label.is-preview::before{transform:scaleY(1.22);box-shadow:0 0 8px rgba(252,190,13,.32)}
.ofm-editor-review-portal__form .ofm-editor-review-portal__rating-options input:checked+label:not(.is-clear)::before{transform:scaleY(1.28);box-shadow:0 0 9px rgba(252,190,13,.44)}
.ofm-editor-review-portal__card--editorial .ofm-editor-review-portal__state{border-color:rgba(252,190,13,.42);background:rgba(252,190,13,.1);color:#f8d25d}
@media (hover:hover) and (prefers-reduced-motion:no-preference){.ofm-editor-review-portal__form .ofm-editor-review-portal__rating-options label:hover::before{transform:translateY(-1px) scaleY(1.3);box-shadow:0 0 10px rgba(252,190,13,.46)}}.ofm-editor-review-portal__button--icon{display:grid!important;place-items:center;flex:0 0 36px;width:36px;min-width:36px;height:36px;min-height:36px;padding:0;border-radius:50%}.ofm-editor-review-portal__button--icon .ofm-editor-review-portal__action-icon{margin:0}.ofm-editor-review-portal__form-actions{gap:8px}
/* Reported approved comments share the existing compact queue without exposing
   reporter identities. The small flag/count simply tells an editor why it is back. */
.ofm-editor-review-portal__comment--reported{border-color:rgba(224,139,104,.46);background:linear-gradient(135deg,rgba(126,58,39,.14),#141414 55%)}
.ofm-editor-review-portal__comment-state{display:inline-flex;align-items:center;gap:3px;min-height:22px;padding:3px 6px;border:1px solid rgba(224,139,104,.42);border-radius:999px;background:rgba(157,73,47,.14);color:#f3b29d;font-size:.66rem;font-weight:800;line-height:1}
.ofm-editor-review-portal__comment-state svg{width:12px;height:12px;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.9}
.ofm-editor-review-portal__comment-state b{font-variant-numeric:tabular-nums}
/* V1.35: server-timed review evidence and editor exports. */
.ofm-editor-review-portal__state--pending{position:relative;width:28px;min-width:28px;height:28px;min-height:28px;padding:0;border-radius:50%;font-size:0}
.ofm-editor-review-portal__state--pending::before{content:'';display:block;width:11px;height:11px;border:1.7px solid currentColor;border-radius:50%}
.ofm-editor-review-portal__state--pending::after{content:'';position:absolute;top:8px;left:13px;width:1.7px;height:6px;border-radius:2px;background:currentColor;box-shadow:2px 5px 0 -0.2px currentColor;transform-origin:50% 100%;transform:rotate(-36deg)}
.ofm-editor-review-portal__button--return{flex:0 0 48px;min-width:48px;min-height:36px;height:36px;padding:0 10px;border-radius:9px}
.ofm-editor-review-portal__button--return .ofm-editor-review-portal__action-icon{width:17px;height:17px;margin:0}
.ofm-editor-review-portal__form:not(.is-listen-qualified) .ofm-editor-review-portal__rating-meter,.ofm-editor-review-portal__form:not(.is-listen-qualified) .ofm-editor-review-portal__note-field{opacity:.54}
.ofm-editor-review-portal__form .ofm-editor-review-portal__rating-options input:disabled+label{cursor:not-allowed;filter:none;transform:none}
.ofm-editor-review-portal__form .ofm-editor-review-portal__button:disabled{cursor:not-allowed;opacity:.42;transform:none}
.ofm-editor-review-portal__listen-status{display:flex;align-items:center;gap:7px;min-height:31px;margin:0;padding:7px 8px;border:1px solid rgba(244,196,48,.32);border-radius:9px;background:rgba(244,196,48,.055);color:#d9ca93;font-size:.69rem;line-height:1.35}
.ofm-editor-review-portal__listen-status svg{width:14px;height:14px;flex:0 0 14px;fill:none;stroke:#f4c430;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.9}
.ofm-editor-review-portal__listen-status.is-qualified{border-color:rgba(94,193,129,.42);background:rgba(94,193,129,.07);color:#bee5c7}
.ofm-editor-review-portal__listen-status.is-qualified svg{stroke:#8ddda9}
.ofm-editor-review-portal__reviewed-by{display:inline-flex;align-items:center;gap:5px;color:#cfcfcf;font-size:.71rem;line-height:1.35}.ofm-editor-review-portal__reviewed-by svg{width:14px;height:14px;fill:none;stroke:#e7ca62;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8}
.ofm-editor-review-portal__pdf{display:grid;place-items:center;flex:0 0 34px;width:34px;height:34px;border:1px solid rgba(244,196,48,.42);border-radius:9px;background:rgba(244,196,48,.055);color:#f4c430;text-decoration:none;transition:background .18s ease,border-color .18s ease,box-shadow .18s ease,transform .18s ease}
.ofm-editor-review-portal__pdf svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8}
.ofm-editor-review-portal__pdf:hover,.ofm-editor-review-portal__pdf:focus-visible{border-color:#f4c430;background:rgba(244,196,48,.15);box-shadow:0 0 0 3px rgba(244,196,48,.08),0 0 13px rgba(244,196,48,.16);outline:none;transform:translateY(-1px)}
@media(prefers-reduced-motion:reduce){.ofm-editor-review-portal__pdf{transition:none!important}}
/* V1.35: editor-owned review result ledger. */
.ofm-editor-review-portal__results{max-width:1180px;margin:22px 0 0;border:1px solid rgba(94,193,129,.34);border-radius:17px;background:linear-gradient(145deg,rgba(19,28,21,.96),#111);overflow:hidden}
.ofm-editor-review-portal__results>summary{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:14px;padding:14px 17px;cursor:pointer;list-style:none}
.ofm-editor-review-portal__results>summary::-webkit-details-marker{display:none}
.ofm-editor-review-portal__results>summary>span{display:grid;gap:3px}.ofm-editor-review-portal__results>summary>span>span{color:#9ae7b5;font-size:.62rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase}.ofm-editor-review-portal__results>summary strong{font-size:.95rem}.ofm-editor-review-portal__results>summary>b{display:grid;place-items:center;min-width:26px;height:26px;border-radius:50%;background:rgba(94,193,129,.11);color:#b5f0c8;font-size:.71rem}
.ofm-editor-review-portal__results-body{display:grid;gap:10px;padding:14px 17px 17px;border-top:1px solid rgba(94,193,129,.22)}
.ofm-editor-review-portal__result{display:grid;grid-template-columns:58px minmax(0,1fr) minmax(228px,.48fr);gap:13px;align-items:start;padding:11px;border:1px solid #303730;border-radius:13px;background:#121412}
.ofm-editor-review-portal__result-cover{width:58px;height:58px;overflow:hidden;border-radius:10px;background:#292929}.ofm-editor-review-portal__result-cover img{display:block;width:100%;height:100%;object-fit:cover}.ofm-editor-review-portal__result-cover>span{display:grid;place-items:center;width:100%;height:100%;color:#f4c430;font-size:1.35rem}
.ofm-editor-review-portal__result-main{min-width:0}.ofm-editor-review-portal__result-main>p:first-child{margin:0 0 4px;color:#9ae7b5;font-size:.62rem;font-weight:800;letter-spacing:.13em;text-transform:uppercase}.ofm-editor-review-portal__result-main h2{overflow:hidden;margin:0;color:#fff;font-size:1rem;line-height:1.2;text-overflow:ellipsis;white-space:nowrap}.ofm-editor-review-portal__result-by{display:inline-flex;align-items:center;gap:5px;margin-top:7px;color:#d7d7d7;font-size:.72rem}.ofm-editor-review-portal__result-by svg{width:14px;height:14px;fill:none;stroke:#e7ca62;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8}.ofm-editor-review-portal__result-note{margin:7px 0 0;color:#bdbdbd;font-size:.75rem;line-height:1.42}
.ofm-editor-review-portal__result-summary{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:7px;min-width:0}.ofm-editor-review-portal__result-summary .ofm-editor-review-portal__ratings{grid-column:1/-1;margin:0;padding:0;border:0}.ofm-editor-review-portal__result-summary .ofm-editor-review-portal__ratings h3{display:none}.ofm-editor-review-portal__result-summary .ofm-editor-review-portal__ratings dl{grid-template-columns:1fr 1fr 1fr}.ofm-editor-review-portal__result-summary .ofm-editor-review-portal__ratings dl>div{min-height:28px;padding:4px 6px}.ofm-editor-review-portal__result-summary .ofm-editor-review-portal__rating-verdict{grid-column:1/-1}
.ofm-editor-review-portal__result-state{display:inline-flex;align-items:center;min-height:25px;padding:4px 7px;border:1px solid rgba(94,193,129,.42);border-radius:7px;background:rgba(94,193,129,.08);color:#aaecc0;font-size:.65rem;font-weight:800;line-height:1}.ofm-editor-review-portal__result-state.is-returned{border-color:rgba(224,139,104,.48);background:rgba(157,73,47,.13);color:#f3b29d}
@media(max-width:720px){.ofm-editor-review-portal__result{grid-template-columns:48px minmax(0,1fr)}.ofm-editor-review-portal__result-cover{width:48px;height:48px}.ofm-editor-review-portal__result-summary{grid-column:1/-1;grid-template-columns:minmax(0,1fr) auto}.ofm-editor-review-portal__result-summary .ofm-editor-review-portal__ratings dl{grid-template-columns:1fr}.ofm-editor-review-portal__results-body{padding:11px}.ofm-editor-review-portal__results>summary{padding:13px}}
/* V1.36: the proof bar is visual only; the server still unlocks scores. */
.ofm-editor-review-portal__listen-status{--ofm-review-listen-fill:0%;position:relative;min-width:0;padding-right:68px;overflow:hidden;transition:border-color .24s ease,background .24s ease,color .24s ease}.ofm-editor-review-portal__listen-status>svg,.ofm-editor-review-portal__listen-status>span{position:relative;z-index:1}.ofm-editor-review-portal__listen-status::after{content:'';position:absolute;top:50%;right:10px;width:48px;height:6px;border:1px solid rgba(244,196,48,.28);border-radius:999px;background:linear-gradient(90deg,#f4c430 0 var(--ofm-review-listen-fill),rgba(255,255,255,.12) var(--ofm-review-listen-fill) 100%);box-shadow:inset 0 0 0 1px rgba(0,0,0,.18);transform:translateY(-50%);transition:background .32s ease,border-color .24s ease,box-shadow .24s ease}.ofm-editor-review-portal__listen-status.is-listening::after{animation:ofm-editor-review-listen-glow 1.35s ease-in-out infinite}.ofm-editor-review-portal__listen-status.is-qualified::after{border-color:rgba(94,193,129,.54);background:linear-gradient(90deg,#8ddda9 0 100%);box-shadow:0 0 12px rgba(94,193,129,.26)}@keyframes ofm-editor-review-listen-glow{50%{box-shadow:0 0 0 4px rgba(244,196,48,.07),0 0 14px rgba(244,196,48,.38)}}@media(max-width:620px){.ofm-editor-review-portal__listen-status{padding-right:61px}.ofm-editor-review-portal__listen-status::after{right:8px;width:43px}}@media(prefers-reduced-motion:reduce){.ofm-editor-review-portal__listen-status,.ofm-editor-review-portal__listen-status::after{transition:none!important}.ofm-editor-review-portal__listen-status.is-listening::after{animation:none!important}}
/* V1.36: completed scores use the full row as their solid bar scale. */
.ofm-editor-review-portal__ratings dl>div{display:grid;grid-template-columns:24px minmax(72px,1fr) minmax(0,2.8fr) auto;align-items:center;column-gap:10px}.ofm-editor-review-portal__ratings dt{grid-column:1}.ofm-editor-review-portal__ratings dd{display:contents}.ofm-editor-review-portal__rating-score{display:contents}.ofm-editor-review-portal__rating-bars{grid-column:3;display:grid;grid-template-columns:repeat(10,minmax(0,1fr));gap:3px;min-width:0;height:12px}.ofm-editor-review-portal__rating-bars i{display:block;width:auto;height:100%;border-radius:1px;background:#343434}.ofm-editor-review-portal__rating-bars i.is-filled{background:linear-gradient(180deg,#ffe07a,#f4c430);box-shadow:0 0 7px rgba(244,196,48,.2)}.ofm-editor-review-portal__rating-value{grid-column:4;display:inline-flex;align-items:baseline;gap:1px;min-width:34px;color:#a6a6a6;font-size:.66rem;white-space:nowrap}.ofm-editor-review-portal__rating-value b{min-width:19px;color:#f6d060;text-align:right}.ofm-editor-review-portal__ratings dl>div::after{content:attr(data-ofm-rating-label);grid-column:2;overflow:hidden;color:#bdbdbd;font-size:.68rem;font-weight:700;text-overflow:ellipsis;white-space:nowrap}.ofm-editor-review-portal__ratings dl>div{position:relative}.ofm-editor-review-portal__ratings dl>div>dt{position:relative;z-index:1}.ofm-editor-review-portal__ratings dl>div>dd{position:relative;z-index:1}.ofm-editor-review-portal__ratings .ofm-editor-review-portal__rating-verdict{display:flex}.ofm-editor-review-portal__result-summary .ofm-editor-review-portal__ratings dl>div{grid-template-columns:18px minmax(0,2fr) minmax(96px,3fr) auto;column-gap:6px}.ofm-editor-review-portal__result-summary .ofm-editor-review-portal__rating-bars{height:9px;gap:2px}.ofm-editor-review-portal__result-summary .ofm-editor-review-portal__ratings dl>div::after{font-size:.62rem}@media(max-width:620px){.ofm-editor-review-portal__ratings dl>div{grid-template-columns:20px minmax(0,1fr) minmax(90px,1.65fr) auto;column-gap:7px}.ofm-editor-review-portal__rating-bars{gap:2px;height:10px}.ofm-editor-review-portal__ratings dl>div::after{font-size:.63rem}}
/* V1.36: catalogue results use the full release width for the solid score scale. */
.ofm-editor-review-portal__result{grid-template-columns:58px minmax(0,1fr)}
.ofm-editor-review-portal__result-summary{grid-column:1/-1;grid-template-columns:minmax(0,1fr) auto}
.ofm-editor-review-portal__result-summary .ofm-editor-review-portal__ratings dl{grid-template-columns:1fr}

/* V1.37: keep completed score gauges intentional, labelled, and half-column wide. */
.ofm-editor-review-portal__ratings dl>div{grid-template-columns:24px minmax(78px,124px) minmax(0,1fr);column-gap:10px}
.ofm-editor-review-portal__ratings dt{grid-column:1;display:grid;place-items:center}
.ofm-editor-review-portal__ratings dl>div::after{display:block;grid-column:2;align-self:center}
.ofm-editor-review-portal__ratings dd{display:block;grid-column:3;min-width:0;margin:0}
.ofm-editor-review-portal__rating-score{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;width:min(50%,420px);min-width:0;color:#9c9c9c;font-size:.66rem;font-variant-numeric:tabular-nums;line-height:1}
.ofm-editor-review-portal__rating-bars{grid-column:auto;width:100%;min-width:0;height:10px;gap:3px}
.ofm-editor-review-portal__rating-value{grid-column:auto;display:inline-flex;align-items:baseline;gap:1px;min-width:34px;justify-self:end;white-space:nowrap}
.ofm-editor-review-portal__result-summary .ofm-editor-review-portal__ratings dl>div{grid-template-columns:20px minmax(72px,112px) minmax(0,1fr);column-gap:8px}
.ofm-editor-review-portal__result-summary .ofm-editor-review-portal__rating-score{width:min(50%,360px);gap:7px}
.ofm-editor-review-portal__result-summary .ofm-editor-review-portal__rating-bars{height:9px;gap:2px}
@media(max-width:620px){.ofm-editor-review-portal__ratings dl>div,.ofm-editor-review-portal__result-summary .ofm-editor-review-portal__ratings dl>div{grid-template-columns:20px minmax(56px,1fr) minmax(110px,1.35fr);column-gap:7px}.ofm-editor-review-portal__ratings dl>div::after{font-size:.63rem}.ofm-editor-review-portal__rating-score,.ofm-editor-review-portal__result-summary .ofm-editor-review-portal__rating-score{width:100%;max-width:260px;gap:6px}.ofm-editor-review-portal__rating-bars,.ofm-editor-review-portal__result-summary .ofm-editor-review-portal__rating-bars{height:9px;gap:2px}.ofm-editor-review-portal__rating-value{min-width:30px;font-size:.62rem}}

/* Dated, deterministic editor result history. */
.ofm-editor-review-portal__result-date{display:block;margin-top:4px;color:#9d9d9d;font-size:.67rem;font-variant-numeric:tabular-nums;line-height:1.3}.ofm-editor-review-portal__result-sort{display:flex;align-items:center;justify-content:flex-end;gap:7px;margin:0 0 2px;color:#a9a9a9;font-size:.68rem;font-weight:700}.ofm-editor-review-portal__result-sort select{min-height:29px;padding:4px 25px 4px 8px;border:1px solid rgba(94,193,129,.36);border-radius:8px;background:#141814;color:#e9e9e9;font:inherit;cursor:pointer}

/* A declined optional score stays visible without changing required moderation. */
.ofm-editor-review-portal__heading-actions{display:inline-flex;align-items:center;justify-content:flex-end;gap:6px;flex:0 0 auto}.ofm-editor-review-portal__review-choice{display:inline-flex;align-items:center;gap:4px;min-height:24px;padding:4px 7px;border:1px solid #353535;border-radius:999px;background:rgba(255,255,255,.025);color:#8d8d8d;font-size:.62rem;font-weight:700;line-height:1;white-space:nowrap}.ofm-editor-review-portal__review-choice svg{width:12px;height:12px;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8}.ofm-editor-review-portal__card--no-review-request{border-color:#2c2c2c;background:linear-gradient(145deg,#171717,#101010)}@media(max-width:620px){.ofm-editor-review-portal__heading-actions{display:inline-flex;margin-top:9px;gap:5px}.ofm-editor-review-portal__review-choice{min-height:23px;font-size:.6rem}}

/* The artist may opt out of the optional scorecard. Keep the required release
   check usable, while making the unrequested review surfaces deliberately muted. */
.ofm-editor-review-portal__card--no-review-request{border-color:#292929;background:linear-gradient(145deg,#151515,#0e0e0e);box-shadow:none}
.ofm-editor-review-portal__card--no-review-request>.ofm-editor-review-portal__cover{background:#202020}
.ofm-editor-review-portal__card--no-review-request>.ofm-editor-review-portal__cover>*{opacity:.58;filter:grayscale(1) saturate(.15) brightness(.8)}
.ofm-editor-review-portal__card--no-review-request .ofm-editor-review-portal__heading>div,.ofm-editor-review-portal__card--no-review-request .ofm-editor-review-portal__meta,.ofm-editor-review-portal__card--no-review-request .ofm-editor-review-portal__audio{opacity:.62;filter:grayscale(1) saturate(.15)}
.ofm-editor-review-portal__card--no-review-request .ofm-editor-review-portal__review-choice{border-color:#3b3b3b;background:rgba(255,255,255,.035);color:#a8a8a8;cursor:help}
.ofm-editor-review-portal__rating-meter.is-not-requested{padding:10px;border:1px dashed #3b3b3b;border-radius:11px;background:rgba(255,255,255,.018)}
.ofm-editor-review-portal__rating-meter.is-not-requested legend,.ofm-editor-review-portal__rating-meter.is-not-requested legend span{color:#999}
.ofm-editor-review-portal__rating-meter.is-not-requested .ofm-editor-review-portal__rating-field{border-color:#303030;background:#121212}
.ofm-editor-review-portal__rating-meter.is-not-requested .ofm-editor-review-portal__rating-label{color:#777}
.ofm-editor-review-portal__rating-meter.is-not-requested .ofm-editor-review-portal__rating-options label{color:#626262}
.ofm-editor-review-portal__rating-meter.is-not-requested .ofm-editor-review-portal__rating-options label.is-preview{color:#858585;filter:none}
.ofm-editor-review-portal__rating-meter.is-not-requested .ofm-editor-review-portal__rating-options label.is-preview::before,.ofm-editor-review-portal__rating-meter.is-not-requested .ofm-editor-review-portal__rating-options label:hover::before{box-shadow:0 0 7px rgba(255,255,255,.14)}
.ofm-editor-review-portal__rating-meter.is-not-requested .ofm-editor-review-portal__rating-options input:checked+label:not(.is-clear){color:#b2b2b2;filter:none}
.ofm-editor-review-portal__rating-meter.is-not-requested .ofm-editor-review-portal__rating-options input:checked+label:not(.is-clear)::before{box-shadow:0 0 0 1px rgba(255,255,255,.16)}
.ofm-editor-review-portal__rating-meter.is-not-requested .ofm-editor-review-portal__rating-options input:focus-visible+label{outline-color:#c3c3c3}
.ofm-editor-review-portal__rating-meter.is-not-requested .ofm-editor-review-portal__rating-live{border-color:#363636;background:rgba(255,255,255,.025);color:#929292}
.ofm-editor-review-portal__rating-meter.is-not-requested .ofm-editor-review-portal__rating-live strong{color:#bebebe}

/* Editor-owned queue clears are visual only; the eye-off icon never deletes
   a release, mix, or comment from the site. */
.ofm-editor-review-portal__queue-dismiss{margin:0;line-height:0}.ofm-editor-review-portal__queue-dismiss-button{display:grid;place-items:center;width:31px;height:31px;margin:0;padding:0;border:1px solid #414141;border-radius:50%;background:transparent;color:#9d9d9d;cursor:pointer;transition:border-color .16s ease,background .16s ease,color .16s ease,transform .16s ease}.ofm-editor-review-portal__queue-dismiss-button svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8}.ofm-editor-review-portal__queue-dismiss-button:hover,.ofm-editor-review-portal__queue-dismiss-button:focus-visible{border-color:#b8b8b8;background:rgba(255,255,255,.07);color:#f5f5f5;outline:none;transform:translateY(-1px)}.ofm-editor-review-portal__result-summary>.ofm-editor-review-portal__queue-dismiss--result{grid-column:2;grid-row:1;justify-self:end}.ofm-editor-review-portal__comment>.ofm-editor-review-portal__queue-dismiss--comment{justify-self:end;align-self:end}@media(max-width:620px){.ofm-editor-review-portal__comment>.ofm-editor-review-portal__queue-dismiss--comment{grid-column:1;grid-row:5;justify-self:start}.ofm-editor-review-portal__queue-dismiss-button{width:30px;height:30px}}
@media(prefers-reduced-motion:reduce){.ofm-editor-review-portal__queue-dismiss-button{transition:none!important}}

/* V1.49: completed editor results read as one integrated score, not stacked cards. */
.ofm-editor-review-portal__result{padding:8px 0 12px;border:0;border-radius:0;background:transparent}
.ofm-editor-review-portal__result-state{min-height:0;padding:0;border:0;border-radius:0;background:transparent;color:#aaecc0}
.ofm-editor-review-portal__result-state.is-returned{border:0;background:transparent;color:#f3b29d}
.ofm-editor-review-portal__result-summary .ofm-editor-review-portal__ratings dl>div{min-height:28px;padding:5px 0;border:0;border-radius:0;background:transparent}
.ofm-editor-review-portal__result-summary .ofm-editor-review-portal__rating-verdict{margin-top:4px;padding:8px 0 0;border:0;border-radius:0;background:transparent;color:#d2c690}
.ofm-editor-review-portal__result-summary .ofm-editor-review-portal__rating-verdict strong{color:#ffe193}

/* Keep the muted ten-bar controls inside their score rows at every viewport. */
.ofm-editor-review-portal__rating-meter.is-not-requested{min-width:0;max-width:100%}.ofm-editor-review-portal__rating-meter.is-not-requested .ofm-editor-review-portal__rating-field{overflow:hidden}.ofm-editor-review-portal__rating-meter.is-not-requested .ofm-editor-review-portal__rating-options{display:grid;grid-template-columns:repeat(10,minmax(0,1fr));flex:1 1 0;min-width:0;max-width:100%;gap:2px}.ofm-editor-review-portal__rating-meter.is-not-requested .ofm-editor-review-portal__rating-options label{width:auto;min-width:0}

/* The shared document-level overlay owns the stack. Keep this preview below
   the sign-in layer, rather than competing with it through a raw z-index. */
.ofm-editor-review-portal__artwork-modal{z-index:var(--ofm-layer-dialog,100000)}
.ofm-editor-review-portal__artwork-modal[aria-hidden="true"]{pointer-events:none}
html.ofm-access-modal-open .ofm-editor-review-portal__artwork-modal{visibility:hidden;pointer-events:none}

/* Safe recovery actions for a failed preview proof. */
.ofm-editor-review-portal__listen-status.is-listen-error{padding-right:8px;border-color:rgba(224,139,104,.5);background:rgba(157,73,47,.13);color:#f4c1ab}
.ofm-editor-review-portal__listen-status.is-listen-error::after{display:none}
.ofm-editor-review-portal__listen-status.is-listen-error svg{stroke:#f3b29d}
.ofm-editor-review-portal__listen-status.is-listen-error>span{min-width:0;flex:1}
.ofm-editor-review-portal__listen-recovery{position:relative;z-index:1;flex:0 0 auto;min-height:27px;margin-left:auto;padding:5px 8px;border:1px solid rgba(243,178,157,.52);border-radius:7px;background:rgba(157,73,47,.14);color:#ffd0bf;cursor:pointer;font:inherit;font-size:.62rem;font-weight:800;line-height:1;white-space:nowrap;transition:border-color .16s ease,background .16s ease,color .16s ease,transform .16s ease}
.ofm-editor-review-portal__listen-recovery:hover,.ofm-editor-review-portal__listen-recovery:focus-visible{border-color:#f3b29d;background:rgba(157,73,47,.27);color:#fff;outline:none;transform:translateY(-1px)}
.ofm-editor-review-portal__listen-recovery:active{transform:translateY(0)}
@media(max-width:460px){.ofm-editor-review-portal__listen-status.is-listen-error{align-items:flex-start;flex-wrap:wrap}.ofm-editor-review-portal__listen-recovery{margin-left:21px}}
@media(prefers-reduced-motion:reduce){.ofm-editor-review-portal__listen-recovery{transition:none!important}}

/* Source: assets/css/action-centre.css */
/* Shared, live workflow summaries. Notifications remain a separate immutable inbox. */
.ofm-action-centre{margin:0 0 22px;padding:clamp(18px,2.7vw,28px);border:1px solid rgba(244,196,48,.25);border-radius:22px;background:linear-gradient(135deg,rgba(244,196,48,.09),rgba(23,23,23,.98) 48%,rgba(16,16,16,.98));box-shadow:0 20px 48px rgba(0,0,0,.14);color:#f5f5f5}.ofm-action-centre--compact{margin:0 0 24px;padding:18px 20px}.ofm-action-centre__heading{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin:0 0 16px}.ofm-action-centre__heading .ofm-eyebrow{margin:0;color:#f4c430;font-size:.7rem;font-weight:850;letter-spacing:.14em;line-height:1;text-transform:uppercase}.ofm-action-centre__heading h2{margin:6px 0 0;color:#fff;font-size:clamp(1.25rem,2.7vw,2rem);letter-spacing:-.045em;line-height:1}.ofm-action-centre__heading p:not(.ofm-eyebrow){max-width:570px;margin:8px 0 0;color:#aaa;font-size:.78rem;font-weight:650;line-height:1.48}.ofm-action-centre__count{display:grid;flex:0 0 auto;place-items:center;min-width:64px;min-height:64px;padding:7px;border:1px solid rgba(244,196,48,.37);border-radius:18px;background:rgba(244,196,48,.08)}.ofm-action-centre__count strong{color:#ffe28a;font-size:1.35rem;font-variant-numeric:tabular-nums;letter-spacing:-.06em;line-height:1}.ofm-action-centre__count small{margin-top:4px;color:#bda85c;font-size:.54rem;font-weight:850;letter-spacing:.1em;text-transform:uppercase}.ofm-action-centre__all{display:inline-flex;align-items:center;gap:7px;margin-top:4px;color:#f6d465;font-size:.68rem;font-weight:850;text-decoration:none}.ofm-action-centre__all:hover,.ofm-action-centre__all:focus-visible{color:#fff;text-decoration:underline;outline:0}.ofm-action-centre__all span{font-size:1rem;line-height:1}.ofm-action-centre__list{display:grid;gap:8px;margin:0;padding:0;list-style:none}.ofm-action-centre__list a{display:grid;grid-template-columns:36px minmax(0,1fr) auto 14px;gap:11px;align-items:center;min-width:0;padding:11px;border:1px solid rgba(255,255,255,.1);border-radius:14px;background:rgba(255,255,255,.025);color:#f2f2f2;text-decoration:none;transition:border-color .18s ease,background .18s ease,transform .18s ease}.ofm-action-centre__list a:hover,.ofm-action-centre__list a:focus-visible{border-color:rgba(244,196,48,.55);background:rgba(244,196,48,.075);outline:0;transform:translateY(-1px)}.ofm-action-centre__icon,.ofm-action-centre__empty>span{display:grid;place-items:center;width:34px;height:34px;border:1px solid rgba(244,196,48,.34);border-radius:10px;background:rgba(244,196,48,.08);color:#f4c430}.ofm-action-centre__icon svg,.ofm-action-centre__empty>span svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8}.ofm-action-centre__copy{display:grid;min-width:0;gap:3px}.ofm-action-centre__copy strong{overflow:hidden;color:#f5f5f5;font-size:.78rem;font-weight:820;line-height:1.25;text-overflow:ellipsis;white-space:nowrap}.ofm-action-centre__copy small{overflow:hidden;color:#aaa;font-size:.66rem;font-weight:650;line-height:1.35;text-overflow:ellipsis;white-space:nowrap}.ofm-action-centre__list b{min-width:24px;color:#ffe28a;font-size:.76rem;font-variant-numeric:tabular-nums;text-align:center}.ofm-action-centre__list i{color:#c9ae51;font-size:1rem;font-style:normal;line-height:1}.ofm-action-centre__empty{display:flex;align-items:center;gap:12px;padding:13px;border:1px dashed rgba(255,255,255,.15);border-radius:14px;background:rgba(255,255,255,.015)}.ofm-action-centre__empty>div{display:grid;gap:3px}.ofm-action-centre__empty h3{margin:0;color:#f1f1f1;font-size:.82rem;line-height:1.25}.ofm-action-centre__empty p{margin:0;color:#aaa;font-size:.68rem;font-weight:650;line-height:1.45}.ofm-notifications .ofm-action-centre{margin-bottom:18px}@media(max-width:620px){.ofm-action-centre,.ofm-action-centre--compact{padding:17px}.ofm-action-centre__heading{gap:12px;margin-bottom:14px}.ofm-action-centre__heading h2{font-size:1.3rem}.ofm-action-centre__heading p:not(.ofm-eyebrow){font-size:.72rem}.ofm-action-centre__list a{grid-template-columns:34px minmax(0,1fr) auto 12px;gap:9px;padding:10px}.ofm-action-centre__copy small{white-space:normal}.ofm-action-centre__count{min-width:56px;min-height:56px;border-radius:16px}.ofm-action-centre__empty{align-items:flex-start}}

/* Source: assets/css/analytics-insights.css */
/* Private manager analytics: aggregate presentation only, never raw events. */
.ofm-insights{--ofm-insights-gold:#f4c430;--ofm-insights-green:#83d9a1;--ofm-insights-ink:#090909;--ofm-insights-panel:#151515;--ofm-insights-line:rgba(255,255,255,.13);max-width:1240px;min-height:calc(100vh - 160px);margin:0 auto;padding:clamp(68px,9vw,122px) clamp(16px,4vw,42px) clamp(116px,15vw,190px);color:#f7f7f7}.ofm-insights__hero{display:flex;align-items:end;justify-content:space-between;gap:28px;margin-bottom:clamp(28px,4vw,48px)}.ofm-insights__hero h1{max-width:780px;margin:8px 0 10px;color:#fff;font-size:clamp(2.45rem,6vw,5.55rem);letter-spacing:-.065em;line-height:.92}.ofm-insights__hero p:not(.ofm-eyebrow){max-width:500px;margin:0;color:#b8b8b8;font-size:1rem;line-height:1.5}.ofm-insights__periods{display:flex;flex:0 0 auto;gap:7px;padding:5px;border:1px solid var(--ofm-insights-line);border-radius:15px;background:rgba(24,24,24,.8);box-shadow:0 14px 34px rgba(0,0,0,.2)}.ofm-insights__periods a{display:inline-flex;align-items:center;justify-content:center;min-height:37px;padding:0 13px;border-radius:10px;color:#aaa;font-size:.76rem;font-weight:800;line-height:1;text-decoration:none;transition:background .18s ease,color .18s ease,transform .18s ease}.ofm-insights__periods a:hover,.ofm-insights__periods a:focus-visible{outline:0;color:#fff;background:rgba(255,255,255,.06);transform:translateY(-1px)}.ofm-insights__periods a.is-active{color:#17130a;background:var(--ofm-insights-gold);box-shadow:0 5px 15px rgba(244,196,48,.15)}.ofm-insights__metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:18px}.ofm-insights__metric,.ofm-insights__panel{border:1px solid var(--ofm-insights-line);border-radius:20px;background:linear-gradient(145deg,rgba(29,29,29,.94),rgba(15,15,15,.94));box-shadow:0 20px 48px rgba(0,0,0,.15)}.ofm-insights__metric{position:relative;display:grid;grid-template-columns:auto minmax(0,1fr);gap:12px;min-height:122px;padding:18px;overflow:hidden}.ofm-insights__metric:after{position:absolute;right:-20px;bottom:-34px;width:100px;height:100px;border-radius:50%;background:radial-gradient(circle,rgba(244,196,48,.14),transparent 68%);content:'';pointer-events:none}.ofm-insights__metric-icon{display:grid;place-items:center;width:36px;height:36px;border:1px solid rgba(244,196,48,.4);border-radius:12px;background:rgba(244,196,48,.1);color:var(--ofm-insights-gold)}.ofm-insights__metric-icon svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.9}.ofm-insights__metric-copy{display:grid;gap:5px;min-width:0}.ofm-insights__metric-copy>span{color:#aaa;font-size:.73rem;font-weight:750;line-height:1.2}.ofm-insights__metric-copy strong{color:#fff;font-size:clamp(1.45rem,2.3vw,2.15rem);font-variant-numeric:tabular-nums;letter-spacing:-.045em;line-height:1}.ofm-insights__metric small{grid-column:1/-1;align-self:end;color:#858585;font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.075em}.ofm-insights__panel{min-width:0;padding:clamp(18px,2.7vw,28px)}.ofm-insights__panel--listening{margin-bottom:18px}.ofm-insights__panel-head{display:flex;align-items:start;justify-content:space-between;gap:18px;margin-bottom:22px}.ofm-insights__panel-head h2{margin:5px 0 0;color:#fff;font-size:clamp(1.35rem,2.6vw,2rem);letter-spacing:-.04em;line-height:1}.ofm-insights__legend{display:flex;flex-wrap:wrap;gap:9px 15px;padding-top:8px;color:#a8a8a8;font-size:.7rem;font-weight:750}.ofm-insights__legend span{display:inline-flex;align-items:center;gap:6px}.ofm-insights__legend i,.ofm-insights__legend b{display:block;width:8px;height:8px;border-radius:50%;background:var(--ofm-insights-gold)}.ofm-insights__legend b{background:var(--ofm-insights-green)}.ofm-insights__series{display:grid;grid-template-columns:repeat(auto-fit,minmax(38px,1fr));align-items:end;gap:clamp(6px,1vw,12px);min-height:190px;padding-top:8px}.ofm-insights__series-day{display:grid;grid-template-rows:138px auto;gap:8px;min-width:0}.ofm-insights__series-bars{display:flex;align-items:end;justify-content:center;gap:3px;height:100%;padding:4px 0;border-bottom:1px solid rgba(255,255,255,.11)}.ofm-insights__series-bars i,.ofm-insights__series-bars b{display:block;width:min(13px,42%);min-height:3px;height:var(--ofm-insights-fill);border-radius:5px 5px 1px 1px;background:linear-gradient(180deg,#ffe28a,var(--ofm-insights-gold));box-shadow:0 0 15px rgba(244,196,48,.13);transition:height .35s cubic-bezier(.2,.75,.25,1)}.ofm-insights__series-bars b{background:linear-gradient(180deg,#c5f3d3,var(--ofm-insights-green));box-shadow:0 0 15px rgba(131,217,161,.12)}.ofm-insights__series-day small{overflow:hidden;color:#818181;font-size:.61rem;font-variant-numeric:tabular-nums;text-align:center;text-overflow:ellipsis;white-space:nowrap}.ofm-insights__grids{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-bottom:18px}.ofm-insights__rankings{display:grid;gap:8px;margin:0;padding:0;list-style:none;counter-reset:none}.ofm-insights__rankings li{display:grid;grid-template-columns:28px minmax(0,1fr) auto;align-items:center;gap:10px;min-height:48px;padding:8px 10px;border:1px solid rgba(255,255,255,.08);border-radius:12px;background:rgba(255,255,255,.018)}.ofm-insights__rankings li strong{overflow:hidden;color:#eee;font-size:.85rem;font-weight:700;text-overflow:ellipsis;white-space:nowrap}.ofm-insights__rankings li>span:last-child{color:#d2ad32;font-size:.8rem;font-weight:800;font-variant-numeric:tabular-nums}.ofm-insights__rank{display:grid;place-items:center;width:25px;height:25px;border-radius:8px;background:rgba(244,196,48,.1);color:var(--ofm-insights-gold);font-size:.7rem;font-weight:850}.ofm-insights__rankings .ofm-insights__empty{display:block;min-height:0;padding:15px;border-style:dashed;color:#999;font-size:.84rem;line-height:1.5}.ofm-insights__panel--origins{background:linear-gradient(145deg,rgba(31,30,22,.92),rgba(15,15,15,.98))}.ofm-insights__origins{display:flex;flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none}.ofm-insights__origins li{display:flex;align-items:center;gap:8px;min-height:33px;padding:6px 10px;border:1px solid rgba(244,196,48,.22);border-radius:10px;background:rgba(244,196,48,.055);color:#c9c9c9;font-size:.72rem;font-weight:700;text-transform:capitalize}.ofm-insights__origins li strong{color:var(--ofm-insights-gold);font-size:.77rem;font-variant-numeric:tabular-nums}.ofm-insights__empty{margin:0;color:#9a9a9a;font-size:.86rem;line-height:1.55}.ofm-insights--restricted{display:grid;min-height:calc(100vh - 160px);place-items:center;padding-top:70px}.ofm-insights__restricted{display:grid;justify-items:center;max-width:440px;padding:clamp(30px,5vw,54px);border:1px solid var(--ofm-insights-line);border-radius:24px;background:linear-gradient(145deg,#181818,#101010);text-align:center;box-shadow:0 24px 60px rgba(0,0,0,.28)}.ofm-insights__restricted-icon{display:grid;place-items:center;width:54px;height:54px;margin-bottom:17px;border:1px solid rgba(244,196,48,.4);border-radius:18px;background:rgba(244,196,48,.08);color:var(--ofm-insights-gold)}.ofm-insights__restricted-icon svg{width:26px;height:26px;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8}.ofm-insights__restricted h1{margin:8px 0 10px;font-size:clamp(1.7rem,4vw,2.4rem);letter-spacing:-.045em}.ofm-insights__restricted p:not(.ofm-eyebrow){margin:0;color:#aaa;line-height:1.55}@media(max-width:880px){.ofm-insights__metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.ofm-insights__hero{align-items:start;flex-direction:column}.ofm-insights__periods{width:100%;overflow:auto}.ofm-insights__periods a{flex:1 0 auto}}@media(max-width:620px){.ofm-insights{min-height:calc(100vh - 110px);padding-right:14px;padding-left:14px}.ofm-insights__metrics,.ofm-insights__grids{grid-template-columns:1fr}.ofm-insights__metric{min-height:104px}.ofm-insights__panel{padding:17px}.ofm-insights__panel-head{align-items:start;gap:10px}.ofm-insights__legend{display:grid;gap:5px;padding-top:2px}.ofm-insights__series{grid-template-columns:repeat(auto-fit,minmax(30px,1fr));gap:6px;min-height:160px}.ofm-insights__series-day{grid-template-rows:112px auto}.ofm-insights__series-day small{font-size:.55rem}.ofm-insights__origins li{font-size:.67rem}}@media(prefers-reduced-motion:reduce){.ofm-insights *,.ofm-insights *:before,.ofm-insights *:after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}}

/* Extended manager aggregates: all cards use summary counts only. */
.ofm-insights__overview{display:grid;grid-template-columns:minmax(0,1.18fr) minmax(290px,.82fr);gap:18px;margin-bottom:18px}.ofm-insights__overview .ofm-insights__panel{margin:0}.ofm-insights__panel--content,.ofm-insights__panel--location{margin-bottom:18px}.ofm-insights__signals{display:grid;grid-template-columns:1fr;gap:9px}.ofm-insights__signals--audience{grid-template-columns:repeat(2,minmax(0,1fr))}.ofm-insights__signals--content{grid-template-columns:repeat(3,minmax(0,1fr))}.ofm-insights__signal{display:grid;grid-template-columns:auto minmax(0,1fr);gap:10px;align-items:start;min-width:0;min-height:73px;padding:11px;border:1px solid rgba(255,255,255,.08);border-radius:13px;background:rgba(255,255,255,.018);transition:border-color .2s ease,background .2s ease,transform .2s ease}.ofm-insights__signal:hover{border-color:rgba(244,196,48,.26);background:rgba(244,196,48,.035);transform:translateY(-1px)}.ofm-insights__signal-icon{display:grid;place-items:center;width:30px;height:30px;border:1px solid rgba(244,196,48,.26);border-radius:10px;background:rgba(244,196,48,.07);color:var(--ofm-insights-gold)}.ofm-insights__signal-icon svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8}.ofm-insights__signal-copy{display:grid;min-width:0;gap:3px}.ofm-insights__signal-copy>span{overflow:hidden;color:#aaa;font-size:.67rem;font-weight:750;line-height:1.15;text-overflow:ellipsis;white-space:nowrap}.ofm-insights__signal-copy strong{color:#fff;font-size:1.25rem;font-variant-numeric:tabular-nums;letter-spacing:-.04em;line-height:1}.ofm-insights__signal-copy small{overflow:hidden;color:#777;font-size:.62rem;font-weight:700;line-height:1.2;text-overflow:ellipsis;white-space:nowrap}.ofm-insights__panel--content{background:linear-gradient(145deg,rgba(29,29,29,.96),rgba(18,17,12,.96))}.ofm-insights__panel--location{background:linear-gradient(145deg,rgba(19,24,27,.94),rgba(14,15,16,.98))}.ofm-insights__location-empty{display:flex;align-items:center;gap:15px;max-width:720px;padding:15px;border:1px dashed rgba(131,217,161,.28);border-radius:14px;background:rgba(131,217,161,.035)}.ofm-insights__location-icon{display:grid;flex:0 0 auto;place-items:center;width:40px;height:40px;border:1px solid rgba(131,217,161,.32);border-radius:13px;background:rgba(131,217,161,.07);color:var(--ofm-insights-green)}.ofm-insights__location-icon svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.7}.ofm-insights__location-empty strong{display:block;margin-bottom:4px;color:#eef8f1;font-size:.88rem}.ofm-insights__location-empty p{margin:0;color:#a9b5ad;font-size:.78rem;line-height:1.5}.ofm-insights__grids--discovery{margin-bottom:18px}
@media(max-width:1040px){.ofm-insights__overview{grid-template-columns:1fr}.ofm-insights__overview .ofm-insights__panel--engagement .ofm-insights__signals{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:700px){.ofm-insights__signals--content{grid-template-columns:1fr}.ofm-insights__overview .ofm-insights__panel--engagement .ofm-insights__signals{grid-template-columns:1fr}.ofm-insights__signal{min-height:66px}}
@media(max-width:470px){.ofm-insights__signals--audience{grid-template-columns:1fr}.ofm-insights__location-empty{align-items:flex-start}.ofm-insights__location-empty p{font-size:.74rem}}
.ofm-insights__geography{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.ofm-insights__geography-list{min-width:0;padding:12px;border:1px solid rgba(131,217,161,.16);border-radius:14px;background:rgba(131,217,161,.025)}.ofm-insights__geography-list h3{margin:0 0 9px;color:#c8ded0;font-size:.69rem;font-weight:800;letter-spacing:.09em;text-transform:uppercase}.ofm-insights__geography-list ul{display:grid;gap:6px;margin:0;padding:0;list-style:none}.ofm-insights__geography-list li{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:7px 0;border-top:1px solid rgba(255,255,255,.065)}.ofm-insights__geography-list li:first-child{border-top:0}.ofm-insights__geography-list li>strong{overflow:hidden;color:#e9f2ec;font-size:.78rem;font-weight:700;text-overflow:ellipsis;white-space:nowrap}.ofm-insights__geography-list li>span{display:flex;flex:0 0 auto;align-items:baseline;gap:4px;color:var(--ofm-insights-green);font-size:.76rem;font-weight:800;font-variant-numeric:tabular-nums}.ofm-insights__geography-list li small{color:#9fb9a8;font-size:.61rem;font-weight:700}.ofm-insights__geography-list li em{padding-left:6px;border-left:1px solid rgba(131,217,161,.22);color:#a7b7ab;font-size:.61rem;font-style:normal;font-weight:700}.ofm-insights__cohort-note{display:flex;align-items:center;gap:6px;margin:12px 0 0;color:#82978a;font-size:.68rem;font-weight:700;line-height:1.35}.ofm-insights__cohort-note svg{width:13px;height:13px;fill:none;stroke:var(--ofm-insights-green);stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8}@media(max-width:620px){.ofm-insights__geography{grid-template-columns:1fr}.ofm-insights__geography-list li>span{display:grid;gap:1px;justify-items:end}.ofm-insights__geography-list li em{padding-left:0;border-left:0}}

/* Country flags are decorative; the adjacent visible country name remains the accessible label. */
.ofm-insights__geography-list li>.ofm-insights__geography-name{display:flex;align-items:center;gap:7px;min-width:0;overflow:hidden;white-space:normal}.ofm-insights__country-flag{display:inline-grid;flex:0 0 auto;place-items:center;width:1.25em;font-family:"Apple Color Emoji","Segoe UI Emoji","Noto Color Emoji",sans-serif;font-size:1.05em;line-height:1}.ofm-insights__geography-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media(max-width:620px){.ofm-insights__geography-list li>.ofm-insights__geography-name{gap:6px}.ofm-insights__country-flag{font-size:1em}}
/* Report-contract density: aggregate queue states stay scannable without exposing records. */
.ofm-insights__panel--operations{margin-bottom:18px;background:linear-gradient(145deg,rgba(28,24,19,.96),rgba(15,15,15,.98))}.ofm-insights__signals--audience{grid-template-columns:repeat(3,minmax(0,1fr))}.ofm-insights__signals--engagement{grid-template-columns:repeat(2,minmax(0,1fr))}.ofm-insights__signals--content{grid-template-columns:repeat(4,minmax(0,1fr))}.ofm-insights__signals--operations{grid-template-columns:repeat(5,minmax(0,1fr))}
@media(max-width:1040px){.ofm-insights__signals--audience,.ofm-insights__signals--content{grid-template-columns:repeat(3,minmax(0,1fr))}.ofm-insights__signals--operations{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:700px){.ofm-insights__signals--audience,.ofm-insights__signals--engagement,.ofm-insights__signals--content,.ofm-insights__signals--operations{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:470px){.ofm-insights__signals--audience,.ofm-insights__signals--engagement,.ofm-insights__signals--content,.ofm-insights__signals--operations{grid-template-columns:1fr}}

/* Collapsible manager panels and manager-authorized aggregate drilldowns. */
.ofm-insights__disclosure{padding:0;overflow:clip}.ofm-insights__disclosure>summary{display:flex;box-sizing:border-box;min-height:84px;margin:0;padding:clamp(18px,2.7vw,28px);cursor:pointer;list-style:none;user-select:none}.ofm-insights__disclosure>summary::-webkit-details-marker{display:none}.ofm-insights__disclosure>summary:focus-visible{outline:2px solid var(--ofm-insights-gold);outline-offset:-5px}.ofm-insights__disclosure[open]>summary{margin-bottom:0;border-bottom:1px solid rgba(255,255,255,.09)}.ofm-insights__panel-content{padding:clamp(16px,2.3vw,25px) clamp(18px,2.7vw,28px) clamp(18px,2.7vw,28px)}.ofm-insights__panel-content>.ofm-insights__panel-actions{margin:-2px 0 14px}.ofm-insights__disclosure-meta,.ofm-insights__panel-actions{display:flex;align-items:center;justify-content:flex-end;gap:9px}.ofm-insights__disclosure-chevron{width:10px;height:10px;margin-left:2px;border-right:1.5px solid var(--ofm-insights-gold);border-bottom:1.5px solid var(--ofm-insights-gold);transform:rotate(45deg) translateY(-2px);transition:transform .2s ease}.ofm-insights__disclosure[open] .ofm-insights__disclosure-chevron{transform:rotate(225deg) translate(-2px,-2px)}.ofm-insights__detail-button{display:inline-flex;align-items:center;gap:6px;min-height:31px;padding:6px 9px;border:1px solid rgba(244,196,48,.3);border-radius:9px;background:rgba(244,196,48,.055);color:#e5c04a;font:inherit;font-size:.68rem;font-weight:800;line-height:1;text-decoration:none;cursor:pointer;transition:background .18s ease,border-color .18s ease,transform .18s ease}.ofm-insights__detail-button:hover,.ofm-insights__detail-button:focus-visible{border-color:rgba(244,196,48,.75);background:rgba(244,196,48,.12);outline:0;transform:translateY(-1px)}.ofm-insights__detail-button svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8}.ofm-insights__metric,.ofm-insights__signal{width:100%;font:inherit;text-align:left;appearance:none;cursor:pointer}.ofm-insights__metric:focus-visible,.ofm-insights__signal:focus-visible{border-color:rgba(244,196,48,.8);outline:2px solid rgba(244,196,48,.55);outline-offset:2px}.ofm-insights__tile-hint{position:absolute;right:13px;bottom:10px;color:rgba(244,196,48,.72);font-size:.57rem;font-weight:800;letter-spacing:.05em;text-transform:uppercase;opacity:0;transform:translateY(2px);transition:opacity .18s ease,transform .18s ease}.ofm-insights__metric:hover .ofm-insights__tile-hint,.ofm-insights__metric:focus-visible .ofm-insights__tile-hint,.ofm-insights__signal:hover .ofm-insights__tile-hint,.ofm-insights__signal:focus-visible .ofm-insights__tile-hint{opacity:1;transform:translateY(0)}.ofm-insights__signal{position:relative;padding-right:90px}.ofm-insights__signal .ofm-insights__tile-hint{right:10px;bottom:9px}.ofm-insights__dialog{width:min(740px,calc(100vw - 28px));max-width:none;max-height:min(82vh,760px);margin:auto;padding:0;border:1px solid rgba(244,196,48,.35);border-radius:20px;background:linear-gradient(145deg,#20201d,#111);color:#f7f7f7;box-shadow:0 30px 90px rgba(0,0,0,.7)}.ofm-insights__dialog::backdrop{background:rgba(0,0,0,.72);backdrop-filter:blur(5px)}.ofm-insights__dialog-shell{overflow:auto;max-height:min(82vh,760px);padding:clamp(18px,3vw,28px)}.ofm-insights__dialog-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding-bottom:16px;border-bottom:1px solid rgba(255,255,255,.11)}.ofm-insights__dialog-head h2{margin:5px 0 0;color:#fff;font-size:clamp(1.25rem,3vw,1.9rem);letter-spacing:-.04em;line-height:1.05}.ofm-insights__dialog-close{display:grid;flex:0 0 auto;place-items:center;width:36px;height:36px;padding:0;border:1px solid rgba(255,255,255,.18);border-radius:50%;background:rgba(255,255,255,.035);color:#eee;font:inherit;font-size:1.65rem;line-height:1;cursor:pointer;transition:background .18s ease,border-color .18s ease,transform .18s ease}.ofm-insights__dialog-close:hover,.ofm-insights__dialog-close:focus-visible{border-color:rgba(244,196,48,.7);background:rgba(244,196,48,.1);outline:0;transform:rotate(90deg)}.ofm-insights__dialog-body{padding-top:17px}.ofm-insights__dialog-state,.ofm-insights__dialog-empty{margin:0;padding:18px;border:1px dashed rgba(255,255,255,.15);border-radius:13px;color:#b6b6b6;font-size:.86rem;line-height:1.55}.ofm-insights__dialog-body.is-loading .ofm-insights__dialog-state:before{display:inline-block;width:10px;height:10px;margin-right:9px;border:2px solid rgba(244,196,48,.3);border-top-color:var(--ofm-insights-gold);border-radius:50%;content:'';animation:ofm-insights-spin .7s linear infinite}.ofm-insights__dialog-definition{margin:0 0 15px;color:#c5c5c5;font-size:.88rem;line-height:1.55}.ofm-insights__dialog-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:8px;margin:0 0 17px}.ofm-insights__dialog-summary div{padding:10px;border:1px solid rgba(244,196,48,.16);border-radius:11px;background:rgba(244,196,48,.035)}.ofm-insights__dialog-summary dt{color:#a9a9a9;font-size:.66rem;font-weight:750;line-height:1.2}.ofm-insights__dialog-summary dt small{display:block;margin-top:3px;color:#777;font-size:.58rem;font-weight:650}.ofm-insights__dialog-summary dd{margin:5px 0 0;color:#fff;font-size:1.18rem;font-weight:850;font-variant-numeric:tabular-nums;letter-spacing:-.04em}.ofm-insights__dialog-chart,.ofm-insights__dialog-breakdown{margin-top:18px}.ofm-insights__dialog-chart h3,.ofm-insights__dialog-breakdown h3{margin:0 0 10px;color:#cfcfcf;font-size:.72rem;font-weight:850;letter-spacing:.09em;text-transform:uppercase}.ofm-insights__dialog-chart ol{display:grid;grid-template-columns:repeat(auto-fit,minmax(14px,1fr));align-items:end;gap:5px;min-height:124px;margin:0;padding:10px 0 0;border-bottom:1px solid rgba(255,255,255,.1);list-style:none}.ofm-insights__dialog-chart li{display:grid;grid-template-rows:96px auto;gap:5px;align-items:end;min-width:0}.ofm-insights__dialog-chart li span{display:block;min-height:3px;height:var(--ofm-insights-detail-fill);border-radius:4px 4px 1px 1px;background:linear-gradient(180deg,#ffe28a,var(--ofm-insights-gold));box-shadow:0 0 12px rgba(244,196,48,.16)}.ofm-insights__dialog-chart li small{overflow:hidden;color:#777;font-size:.55rem;text-align:center;text-overflow:ellipsis;white-space:nowrap}.ofm-insights__dialog-breakdown ol{display:grid;gap:7px;margin:0;padding:0;list-style:none}.ofm-insights__dialog-breakdown li{display:grid;grid-template-columns:25px minmax(0,1fr) auto;align-items:center;gap:9px;min-height:42px;padding:7px 9px;border:1px solid rgba(255,255,255,.08);border-radius:11px;background:rgba(255,255,255,.022)}.ofm-insights__dialog-rank{display:grid;place-items:center;width:23px;height:23px;border-radius:7px;background:rgba(244,196,48,.1);color:var(--ofm-insights-gold);font-size:.66rem;font-weight:850}.ofm-insights__dialog-breakdown strong{overflow:hidden;color:#eee;font-size:.81rem;text-overflow:ellipsis;white-space:nowrap}.ofm-insights__dialog-total{display:grid;justify-items:end;color:var(--ofm-insights-gold);font-size:.8rem;font-weight:850;font-variant-numeric:tabular-nums}.ofm-insights__dialog-total small{margin-top:2px;color:#8e8e8e;font-size:.59rem;font-weight:700;white-space:nowrap}.ofm-insights__dialog-notice{margin:15px 0 0;padding:10px 12px;border-left:2px solid rgba(131,217,161,.7);background:rgba(131,217,161,.04);color:#b4c9ba;font-size:.72rem;line-height:1.5}.ofm-insights__dialog.is-fallback-open{position:fixed;inset:9vh 14px auto;z-index:99999}@keyframes ofm-insights-spin{to{transform:rotate(360deg)}}
@media(max-width:620px){.ofm-insights__disclosure>summary{min-height:74px;padding:17px}.ofm-insights__panel-content{padding:15px 17px 17px}.ofm-insights__panel-actions{justify-content:flex-start}.ofm-insights__metric .ofm-insights__tile-hint,.ofm-insights__signal .ofm-insights__tile-hint{display:none}.ofm-insights__dialog{width:calc(100vw - 20px);max-height:88vh;border-radius:16px}.ofm-insights__dialog-shell{max-height:88vh;padding:18px}.ofm-insights__dialog-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.ofm-insights__dialog-chart ol{grid-template-columns:repeat(auto-fit,minmax(10px,1fr));gap:3px}.ofm-insights__dialog-chart li{grid-template-rows:82px auto}.ofm-insights__dialog-breakdown li{grid-template-columns:23px minmax(0,1fr) auto}.ofm-insights__dialog-total small{display:none}}
@media(prefers-reduced-motion:reduce){.ofm-insights__dialog-body.is-loading .ofm-insights__dialog-state:before{animation:none}.ofm-insights__disclosure-chevron,.ofm-insights__detail-button,.ofm-insights__dialog-close,.ofm-insights__tile-hint{transition:none}}

/* Browsers with showModal() keep the native dialog in the top layer. This
   alternate presentation is only for the legacy fallback: it turns the
   existing dialog root into a full-viewport backdrop, so OFMOverlay receives
   outside clicks while the original shell remains the visible card. */
.ofm-insights__dialog.is-fallback-open{
    position:fixed;
    z-index:var(--ofm-layer-dialog,100000);
    inset:0;
    display:grid;
    box-sizing:border-box;
    width:100%;
    max-width:none;
    height:100dvh;
    max-height:none;
    margin:0;
    padding:max(14px,env(safe-area-inset-top)) max(14px,env(safe-area-inset-right)) max(14px,env(safe-area-inset-bottom)) max(14px,env(safe-area-inset-left));
    place-items:center;
    overflow:hidden;
    border:0;
    border-radius:0;
    background:rgb(3 4 6 / .76);
    box-shadow:none;
    isolation:isolate;
    overscroll-behavior:contain;
}
.ofm-insights__dialog.is-fallback-open .ofm-insights__dialog-shell{
    width:min(740px,100%);
    max-height:min(760px,calc(100dvh - 28px - env(safe-area-inset-top) - env(safe-area-inset-bottom)));
    overflow:auto;
    padding:clamp(18px,3vw,28px);
    border:1px solid rgb(244 196 48 / .35);
    border-radius:20px;
    background:linear-gradient(145deg,#20201d,#111);
    box-shadow:0 30px 90px rgb(0 0 0 / .7);
    touch-action:pan-y;
    -webkit-overflow-scrolling:touch;
}
html.ofm-access-modal-open .ofm-insights__dialog[open]{visibility:hidden;pointer-events:none}
@media(max-width:620px){
    .ofm-insights__dialog.is-fallback-open{padding:max(10px,env(safe-area-inset-top)) max(10px,env(safe-area-inset-right)) max(10px,env(safe-area-inset-bottom)) max(10px,env(safe-area-inset-left))}
    .ofm-insights__dialog.is-fallback-open .ofm-insights__dialog-shell{max-height:calc(100dvh - 20px - env(safe-area-inset-top) - env(safe-area-inset-bottom));padding:18px;border-radius:16px}
}
.ofm-insights__footnote{display:flex;align-items:center;gap:6px;margin:2px 4px 0;color:#858585;font-size:.68rem;font-weight:700}.ofm-insights__footnote svg{width:14px;height:14px;fill:none;stroke:#8d8d8d;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8}
/* Editorial performance is intentionally compact: summary signals, score bars,
   and public-safe reviewer aliases without submission records or notes. */
.ofm-insights__panel--editorial{margin-bottom:18px;background:linear-gradient(145deg,rgba(22,28,25,.96),rgba(14,15,14,.98))}.ofm-insights__signals--editorial{grid-template-columns:repeat(4,minmax(0,1fr))}.ofm-insights__editorial-summary{display:grid;grid-template-columns:minmax(166px,.42fr) minmax(220px,.7fr) minmax(250px,1fr);gap:14px;align-items:start;margin-top:15px;padding-top:15px;border-top:1px solid rgba(255,255,255,.08)}.ofm-insights__editorial-score{display:flex;align-items:center;gap:10px;min-height:76px}.ofm-insights__editorial-score-icon{display:grid;flex:0 0 auto;place-items:center;width:34px;height:34px;border:1px solid rgba(131,217,161,.34);border-radius:50%;color:var(--ofm-insights-green)}.ofm-insights__editorial-score-icon svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.9}.ofm-insights__editorial-score>div{display:grid;gap:3px}.ofm-insights__editorial-score>div>span,.ofm-insights__editorial-reviewers-wrap>span{color:#8faaa0;font-size:.65rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.ofm-insights__editorial-score strong{color:#f5f5f5;font-size:1.85rem;font-variant-numeric:tabular-nums;letter-spacing:-.06em;line-height:1}.ofm-insights__editorial-score strong small{margin-left:3px;color:#8ca796;font-size:.65rem;font-weight:800;letter-spacing:0}.ofm-insights__editorial-bars{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;align-self:center}.ofm-insights__editorial-bars>span{display:grid;grid-template-rows:6px auto;gap:6px;min-width:0}.ofm-insights__editorial-bars i{display:block;width:100%;height:6px;overflow:hidden;border-radius:999px;background:rgba(255,255,255,.11)}.ofm-insights__editorial-bars i:after{display:block;width:var(--ofm-insights-editorial-fill);height:100%;border-radius:inherit;background:linear-gradient(90deg,#70d797,#b9ebc9);box-shadow:0 0 11px rgba(131,217,161,.3);content:'';transition:width .35s cubic-bezier(.2,.75,.25,1)}.ofm-insights__editorial-bars small{overflow:hidden;color:#9d9d9d;font-size:.61rem;font-weight:750;text-overflow:ellipsis;white-space:nowrap}.ofm-insights__editorial-reviewers-wrap{display:grid;gap:7px}.ofm-insights__editorial-reviewers{display:grid;gap:0;margin:0;padding:0;list-style:none}.ofm-insights__editorial-reviewers li{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;min-height:39px;padding:7px 0;border-top:1px solid rgba(255,255,255,.075)}.ofm-insights__editorial-reviewers li:first-child{border-top:0}.ofm-insights__editorial-reviewers li.ofm-insights__empty{display:block;min-height:0;padding:7px 0;border:0;color:#909090;font-size:.76rem}.ofm-insights__editorial-reviewers div{display:grid;gap:2px;min-width:0}.ofm-insights__editorial-reviewers strong{overflow:hidden;color:#ececec;font-size:.78rem;font-weight:750;text-overflow:ellipsis;white-space:nowrap}.ofm-insights__editorial-reviewers small{overflow:hidden;color:#838383;font-size:.6rem;font-weight:650;text-overflow:ellipsis;white-space:nowrap}.ofm-insights__editorial-reviewers>li>span{display:grid;justify-items:end;color:#b9ebc9;font-size:.73rem;font-weight:850;font-variant-numeric:tabular-nums;white-space:nowrap}.ofm-insights__editorial-reviewers em{margin-top:2px;color:#788b7f;font-size:.58rem;font-style:normal;font-weight:700}
@media(max-width:900px){.ofm-insights__editorial-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.ofm-insights__editorial-reviewers-wrap{grid-column:1/-1}.ofm-insights__signals--editorial{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.ofm-insights__signals--editorial,.ofm-insights__editorial-summary{grid-template-columns:1fr}.ofm-insights__editorial-summary{gap:15px}.ofm-insights__editorial-reviewers-wrap{grid-column:auto}.ofm-insights__editorial-score{min-height:0}.ofm-insights__editorial-bars{max-width:310px}}

/* Tiles are their own detail controls: the icon gives a concise definition
   on hover and the whole tile opens the accessible drill-down dialog. */
.ofm-insights__metric[data-ofm-insights-description]::before,.ofm-insights__signal[data-ofm-insights-description]::before{position:absolute;z-index:4;right:10px;bottom:9px;left:10px;padding:7px 9px;border:1px solid rgba(244,196,48,.32);border-radius:9px;background:rgba(15,15,13,.97);box-shadow:0 10px 24px rgba(0,0,0,.28);color:#e8dfba;font-size:.66rem;font-weight:700;line-height:1.35;content:attr(data-ofm-insights-description);opacity:0;pointer-events:none;transform:translateY(3px);transition:opacity .18s ease,transform .18s ease;visibility:hidden}.ofm-insights__metric:hover::before,.ofm-insights__metric:focus-visible::before,.ofm-insights__signal:hover::before,.ofm-insights__signal:focus-visible::before{opacity:1;transform:translateY(0);visibility:visible}.ofm-insights__metric:hover .ofm-insights__metric-icon,.ofm-insights__metric:focus-visible .ofm-insights__metric-icon,.ofm-insights__signal:hover .ofm-insights__signal-icon,.ofm-insights__signal:focus-visible .ofm-insights__signal-icon{border-color:rgba(244,196,48,.75);background:rgba(244,196,48,.14);color:#ffe28a}.ofm-insights__tile-hint{display:none!important}@media(hover:none){.ofm-insights__metric:hover::before,.ofm-insights__signal:hover::before{opacity:0;transform:translateY(3px);visibility:hidden}}@media(prefers-reduced-motion:reduce){.ofm-insights__metric[data-ofm-insights-description]::before,.ofm-insights__signal[data-ofm-insights-description]::before{transition:none}}
/* Sections without metric tiles keep aggregate drilldowns behind the same
   compact information icon, not a repeated text action. */
.ofm-insights__panel-actions .ofm-insights__detail-button{display:grid;place-items:center;width:32px;min-height:32px;height:32px;padding:0;border-radius:50%}.ofm-insights__panel-actions .ofm-insights__detail-button svg{width:15px;height:15px}

/* UTC peak-hour and momentum views are compact aggregate panels. */
.ofm-insights__panel--peak{margin-bottom:18px;background:linear-gradient(145deg,rgba(30,27,17,.96),rgba(15,15,15,.98))}.ofm-insights__peak-hours{display:grid;gap:15px}.ofm-insights__peak-summary{display:flex;flex-wrap:wrap;align-items:baseline;gap:7px 10px;padding:11px 13px;border:1px solid rgba(244,196,48,.18);border-radius:13px;background:rgba(244,196,48,.035)}.ofm-insights__peak-summary>span{color:#aaa;font-size:.67rem;font-weight:800;letter-spacing:.075em;text-transform:uppercase}.ofm-insights__peak-summary strong{color:#fff;font-size:1.05rem;font-variant-numeric:tabular-nums;letter-spacing:-.025em}.ofm-insights__peak-summary small{margin-left:auto;color:#d8bd58;font-size:.67rem;font-weight:800;font-variant-numeric:tabular-nums}.ofm-insights__hour-grid{display:grid;grid-template-columns:repeat(24,minmax(0,1fr));align-items:end;gap:4px;margin:0;padding:0;list-style:none}.ofm-insights__hour-grid li{display:grid;grid-template-rows:62px auto;gap:5px;min-width:0}.ofm-insights__hour-grid li>span{display:flex;align-items:end;height:62px;padding-bottom:3px;border-bottom:1px solid rgba(255,255,255,.1)}.ofm-insights__hour-grid i{display:block;width:100%;min-height:3px;height:var(--ofm-insights-hour-fill);border-radius:4px 4px 1px 1px;background:linear-gradient(180deg,#ffe695,var(--ofm-insights-gold));box-shadow:0 0 12px rgba(244,196,48,.16);transition:height .3s cubic-bezier(.2,.75,.25,1)}.ofm-insights__hour-grid small{overflow:hidden;color:#858585;font-size:.54rem;font-weight:750;font-variant-numeric:tabular-nums;text-align:center;text-overflow:ellipsis;white-space:nowrap}.ofm-insights__data-note{margin:0;color:#8e8e8e;font-size:.68rem;font-weight:700;line-height:1.45}.ofm-insights__grids--momentum{margin-bottom:18px}.ofm-insights__rankings--trending li{grid-template-columns:28px minmax(0,1fr) auto}.ofm-insights__trend-title,.ofm-insights__trend-change{display:grid;gap:2px;min-width:0}.ofm-insights__trend-title small,.ofm-insights__trend-change small{overflow:hidden;color:#858585;font-size:.61rem;font-weight:700;text-overflow:ellipsis;white-space:nowrap}.ofm-insights__trend-change{justify-items:end;color:#bce7ca!important;font-variant-numeric:tabular-nums}.ofm-insights__trend-change b{color:#bce7ca;font-size:.84rem;font-weight:850}.ofm-insights__trend-change small{color:#819689}.ofm-insights__rankings--trending .ofm-insights__rank{border-radius:50%;background:rgba(131,217,161,.09);color:var(--ofm-insights-green);font-size:.93rem;line-height:1}.ofm-insights__rankings--trending li:hover{border-color:rgba(131,217,161,.28);background:rgba(131,217,161,.035)}
@media(max-width:760px){.ofm-insights__hour-grid{grid-template-columns:repeat(12,minmax(0,1fr));gap:6px}.ofm-insights__hour-grid li{grid-template-rows:48px auto}.ofm-insights__hour-grid li>span{height:48px}.ofm-insights__hour-grid small{font-size:.58rem}.ofm-insights__peak-summary small{width:100%;margin-left:0}}
@media(max-width:430px){.ofm-insights__hour-grid{grid-template-columns:repeat(8,minmax(0,1fr));gap:6px}.ofm-insights__hour-grid li{grid-template-rows:42px auto}.ofm-insights__hour-grid li>span{height:42px}.ofm-insights__trend-change small{display:none}.ofm-insights__rankings--trending li{gap:8px;padding-right:8px;padding-left:8px}}
@media(prefers-reduced-motion:reduce){.ofm-insights__hour-grid i{transition:none}}

/* Source: assets/css/local-time.css */
/* Browser-local time context. UTC remains the no-JavaScript and aggregate-data baseline. */
.ofm-insights__hero p.ofm-insights__time-context,
.ofm-controller-dashboard__hero p.ofm-controller-dashboard__time-context {
    max-width: 690px;
    margin: 13px 0 0 !important;
    color: #969696 !important;
    font-size: .68rem !important;
    font-weight: 700;
    line-height: 1.45 !important;
}

.ofm-insights__time-context .ofm-insights__time-value {
    color: #d8ba56;
    font-variant-numeric: tabular-nums;
}

.ofm-controller-dashboard__time-context {
    color: #9e936e !important;
}

/* Source: assets/css/explore.css */
/*
 * Explore is public-first discovery. The only signed-in material is injected
 * after load into the neutral For You mount, so none of this layout depends on
 * a viewer-specific server response.
 */
.ofm-explore{
    --ofm-explore-gold:#f4c430;
    --ofm-explore-ink:#090909;
    --ofm-explore-panel:#131313;
    --ofm-explore-line:rgb(255 255 255 / .12);
    min-height:100vh;
    padding-bottom:clamp(76px,12vw,152px);
    overflow:hidden;
    background:
        radial-gradient(900px 530px at 100% -6%,rgb(244 196 48 / .13),transparent 69%),
        radial-gradient(560px 330px at 6% 25%,rgb(104 81 214 / .11),transparent 72%),
        var(--ofm-explore-ink);
}

.ofm-explore__hero{
    position:relative;
    isolation:isolate;
    padding:clamp(66px,9vw,124px) 0 clamp(32px,5vw,58px);
}

.ofm-explore__hero:before,
.ofm-explore__hero:after{
    position:absolute;
    z-index:-1;
    border-radius:50%;
    content:"";
    filter:blur(2px);
    opacity:.86;
    pointer-events:none;
}

.ofm-explore__hero:before{
    top:-290px;
    right:-100px;
    width:min(55vw,680px);
    height:min(55vw,680px);
    background:radial-gradient(circle,rgb(244 196 48 / .17),transparent 65%);
}

.ofm-explore__hero:after{
    right:22%;
    bottom:-160px;
    width:220px;
    height:220px;
    background:radial-gradient(circle,rgb(255 255 255 / .055),transparent 69%);
}

.ofm-explore__hero-grid{
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(330px,.72fr);
    gap:clamp(28px,6vw,90px);
    align-items:end;
}

.ofm-explore__hero-copy{
    max-width:710px;
}

.ofm-explore__hero h1{
    max-width:650px;
    margin:9px 0 12px;
    color:#fff;
    font-size:clamp(2.9rem,6.8vw,6.4rem);
    font-weight:850;
    letter-spacing:-.076em;
    line-height:.88;
}

.ofm-explore__hero-copy>p:not(.ofm-eyebrow){
    max-width:550px;
    margin:0;
    color:#c4c4c4;
    font-size:clamp(.96rem,1.4vw,1.1rem);
    line-height:1.55;
}

.ofm-explore__search{
    display:grid;
    grid-template-columns:auto minmax(0,1fr) auto;
    gap:10px;
    align-items:center;
    padding:8px 8px 8px 15px;
    border:1px solid rgb(255 255 255 / .15);
    border-radius:19px;
    background:linear-gradient(140deg,rgb(35 35 35 / .92),rgb(18 18 18 / .86));
    box-shadow:0 19px 52px rgb(0 0 0 / .26),inset 0 1px rgb(255 255 255 / .055);
    backdrop-filter:blur(16px);
    transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease;
}

.ofm-explore__search:focus-within{
    border-color:rgb(244 196 48 / .78);
    box-shadow:0 20px 54px rgb(0 0 0 / .32),0 0 0 4px rgb(244 196 48 / .09);
    transform:translateY(-2px);
}

.ofm-explore__search>svg{
    width:19px;
    height:19px;
    fill:none;
    stroke:#e6c14d;
    stroke-linecap:round;
    stroke-width:1.9;
}

.ofm-explore__search input{
    width:100%;
    min-width:0;
    height:42px;
    padding:0;
    border:0;
    outline:0;
    background:transparent;
    color:#fff;
    font:inherit;
    font-size:.96rem;
}

.ofm-explore__search input::placeholder{
    color:#898989;
}

.ofm-explore__search button{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:8px;
    min-width:42px;
    min-height:42px;
    padding:0 14px;
    border:0;
    border-radius:12px;
    background:var(--ofm-explore-gold);
    color:#171309;
    font:800 .77rem/1 inherit;
    letter-spacing:.01em;
    cursor:pointer;
    transition:background .2s ease,box-shadow .2s ease,transform .2s ease;
}

.ofm-explore__search button svg{
    width:16px;
    height:16px;
    fill:none;
    stroke:currentColor;
    stroke-linecap:round;
    stroke-linejoin:round;
    stroke-width:2;
}

.ofm-explore__search button:hover,
.ofm-explore__search button:focus-visible{
    outline:0;
    background:#ffe07a;
    box-shadow:0 9px 22px rgb(244 196 48 / .19);
    transform:translateY(-1px);
}

.ofm-explore__content{
    position:relative;
}

.ofm-explore__tabs{
    display:flex;
    gap:7px;
    max-width:100%;
    margin:0 0 18px;
    overflow-x:auto;
    padding:3px 0 8px;
    scrollbar-width:none;
}

.ofm-explore__tabs::-webkit-scrollbar{
    display:none;
}

.ofm-explore__tabs a{
    flex:0 0 auto;
    padding:8px 13px;
    border:1px solid var(--ofm-explore-line);
    border-radius:999px;
    color:#aaa;
    font-size:.75rem;
    font-weight:800;
    text-decoration:none;
    transition:border-color .2s ease,background .2s ease,color .2s ease,transform .2s ease;
}

.ofm-explore__tabs a:hover,
.ofm-explore__tabs a:focus-visible{
    border-color:rgb(244 196 48 / .53);
    color:#fff;
    outline:0;
    transform:translateY(-1px);
}

.ofm-explore__tabs a.is-active{
    border-color:var(--ofm-explore-gold);
    background:rgb(244 196 48 / .12);
    color:#ffe384;
    box-shadow:0 7px 18px rgb(0 0 0 / .15);
}

.ofm-explore__summary{
    margin:0 0 20px;
    color:#c8c8c8;
    font-size:.92rem;
}

.ofm-explore__section,
.ofm-explore__for-you{
    position:relative;
    margin-top:clamp(48px,7vw,84px);
}

.ofm-explore__for-you{
    margin-top:clamp(32px,5vw,56px);
    padding:clamp(17px,2.4vw,26px);
    border:1px solid rgb(244 196 48 / .25);
    border-radius:25px;
    background:
        linear-gradient(135deg,rgb(244 196 48 / .09),transparent 51%),
        linear-gradient(145deg,rgb(34 31 20 / .96),rgb(17 17 17 / .96));
    box-shadow:0 21px 55px rgb(0 0 0 / .21),inset 0 1px rgb(255 255 255 / .045);
}

.ofm-explore__for-you[hidden]{
    display:none!important;
}

.ofm-explore__section-heading{
    display:flex;
    align-items:end;
    justify-content:space-between;
    gap:18px;
    margin-bottom:20px;
}

.ofm-explore__section-heading h2{
    margin:5px 0 0;
    color:#fff;
    font-size:clamp(1.7rem,3vw,2.65rem);
    font-weight:800;
    letter-spacing:-.052em;
    line-height:.98;
}

.ofm-explore__section-heading>a{
    display:inline-flex;
    align-items:center;
    gap:7px;
    flex:0 0 auto;
    color:var(--ofm-explore-gold);
    font-size:.77rem;
    font-weight:850;
    text-decoration:none;
    white-space:nowrap;
    transition:color .2s ease,transform .2s ease;
}

.ofm-explore__section-heading>a:hover,
.ofm-explore__section-heading>a:focus-visible{
    color:#fff;
    outline:0;
    transform:translateX(2px);
}

.ofm-explore__view-all-icon{
    width:1.1em;
    height:1.1em;
    fill:currentColor;
}

.ofm-explore__heading-icon{
    display:grid;
    width:32px;
    height:32px;
    flex:0 0 auto;
    place-items:center;
    border:1px solid rgb(244 196 48 / .3);
    border-radius:50%;
    background:rgb(244 196 48 / .065);
    color:#edcf62;
    cursor:help;
}

.ofm-explore__heading-icon svg{
    width:16px;
    height:16px;
    fill:none;
    stroke:currentColor;
    stroke-linecap:round;
    stroke-linejoin:round;
    stroke-width:1.8;
}

.ofm-explore__genre-grid{
    display:grid;
    grid-template-columns:repeat(5,minmax(0,1fr));
    gap:10px;
}

.ofm-explore__genre-card{
    display:grid;
    grid-template-columns:34px minmax(0,1fr) auto;
    gap:10px;
    align-items:center;
    min-width:0;
    min-height:78px;
    padding:12px;
    border:1px solid var(--ofm-explore-line);
    border-radius:16px;
    background:linear-gradient(145deg,rgb(29 29 29 / .92),rgb(18 18 18 / .94));
    color:#fff;
    text-decoration:none;
    transition:border-color .2s ease,background .2s ease,box-shadow .2s ease,transform .2s ease;
}

.ofm-explore__genre-card:hover,
.ofm-explore__genre-card:focus-visible{
    border-color:rgb(244 196 48 / .68);
    background:linear-gradient(145deg,rgb(46 40 24 / .94),rgb(22 21 18 / .97));
    box-shadow:0 13px 28px rgb(0 0 0 / .2);
    outline:0;
    transform:translateY(-3px);
}

.ofm-explore__genre-icon{
    display:grid;
    width:34px;
    height:34px;
    place-items:center;
    border:1px solid rgb(244 196 48 / .32);
    border-radius:11px;
    background:rgb(244 196 48 / .075);
    color:#f4c430;
}

.ofm-explore__genre-icon svg,
.ofm-explore__genre-arrow{
    width:17px;
    height:17px;
    fill:none;
    stroke:currentColor;
    stroke-linecap:round;
    stroke-linejoin:round;
    stroke-width:1.85;
}

.ofm-explore__genre-card>span:nth-child(2){
    display:grid;
    gap:4px;
    min-width:0;
}

.ofm-explore__genre-card strong,
.ofm-explore__genre-card small{
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
}

.ofm-explore__genre-card strong{
    font-size:.85rem;
    font-weight:800;
}

.ofm-explore__genre-card small{
    color:#a9a9a9;
    font-size:.65rem;
    font-weight:700;
}

.ofm-explore__genre-arrow{
    color:#8d8d8d;
    transition:color .2s ease,transform .2s ease;
}

.ofm-explore__genre-card:hover .ofm-explore__genre-arrow,
.ofm-explore__genre-card:focus-visible .ofm-explore__genre-arrow{
    color:#f4c430;
    transform:translateX(2px);
}

.ofm-explore__rail{
    display:grid;
    grid-auto-columns:minmax(180px,224px);
    grid-auto-flow:column;
    grid-template-columns:none;
    gap:clamp(11px,1.6vw,18px);
    overflow-x:auto;
    overscroll-behavior-inline:contain;
    padding:2px 2px 11px;
    scroll-padding-inline:2px;
    scroll-snap-type:inline proximity;
    scrollbar-color:rgb(244 196 48 / .38) transparent;
    scrollbar-width:thin;
}

.ofm-explore__rail::-webkit-scrollbar{
    height:7px;
}

.ofm-explore__rail::-webkit-scrollbar-thumb{
    border-radius:99px;
    background:rgb(244 196 48 / .35);
}

/*
 * This rail is hydrated after sign-in, so it cannot rely on the public card
 * layout settling its dimensions. Keep every recommendation as the same
 * compact, portrait card: square artwork, a fixed copy area, and the play
 * control anchored inside the artwork. The rail, rather than each card,
 * owns the horizontal overflow.
 */
.ofm-explore__rail.ofm-explore__for-you-list{
    grid-auto-columns:clamp(196px,18vw,224px);
    grid-auto-rows:auto;
    align-items:stretch;
    overflow-x:auto;
    overscroll-behavior-x:contain;
    scroll-snap-type:x mandatory;
}

.ofm-explore .ofm-explore__for-you-list .ofm-explore-card--for-you{
    display:flex;
    width:100%;
    min-width:0;
    flex-direction:column;
    align-self:stretch;
}

.ofm-explore .ofm-explore__for-you-list .ofm-explore-card--for-you .song-cover{
    width:100%;
    min-width:0;
    flex:0 0 auto;
    aspect-ratio:1;
}

.ofm-explore .ofm-explore__for-you-list .ofm-explore-card--for-you .song-info{
    width:100%;
    min-width:0;
    min-height:124px;
    height:124px;
    flex:0 0 124px;
    box-sizing:border-box;
    padding:11px 13px 12px;
}

.ofm-explore .ofm-explore__for-you-list .ofm-explore-card--for-you .artist{
    margin-top:4px;
}

.ofm-explore .ofm-explore__for-you-list .ofm-explore-card--for-you .ofm-explore-card__detail{
    margin-top:5px;
    -webkit-line-clamp:1;
}

.ofm-explore .ofm-explore__for-you-list .ofm-explore-card--for-you .genre{
    padding-top:6px;
}

.ofm-explore .ofm-explore__for-you-list .ofm-explore-card--for-you .song-overlay{
    padding:11px;
}

.ofm-explore__results-grid{
    grid-template-columns:repeat(auto-fill,minmax(185px,1fr));
    grid-auto-columns:auto;
    grid-auto-flow:row;
    overflow:visible;
}

.ofm-explore .ofm-explore-card{
    display:flex;
    width:100%;
    min-width:0;
    min-height:0;
    flex-direction:column;
    margin:0;
    overflow:hidden;
    border:1px solid var(--ofm-explore-line);
    border-radius:17px;
    background:linear-gradient(145deg,rgb(29 29 29 / .98),rgb(16 16 16 / .99));
    box-shadow:0 13px 27px rgb(0 0 0 / .15);
    scroll-snap-align:start;
    transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease;
}

.ofm-explore .ofm-explore-card:hover,
.ofm-explore .ofm-explore-card:focus-within{
    border-color:rgb(244 196 48 / .47);
    box-shadow:0 19px 37px rgb(0 0 0 / .27),0 0 0 1px rgb(244 196 48 / .035);
    transform:translateY(-3px);
}

.ofm-explore .ofm-explore-card .song-cover{
    position:relative;
    width:100%;
    min-width:0;
    flex:0 0 auto;
    aspect-ratio:1;
    overflow:hidden;
    background:#252525;
}

.ofm-explore .ofm-explore-card .song-cover>img{
    width:100%;
    height:100%;
    object-fit:cover;
    transition:filter .25s ease,transform .35s cubic-bezier(.2,.8,.2,1);
}

.ofm-explore .ofm-explore-card:hover .song-cover>img,
.ofm-explore .ofm-explore-card:focus-within .song-cover>img{
    filter:saturate(1.08) contrast(1.03);
    transform:scale(1.045);
}

.ofm-explore-card__cover-placeholder{
    display:grid;
    width:100%;
    height:100%;
    place-items:center;
    background:linear-gradient(145deg,#30302b,#171717);
    color:#f4c430;
}

.ofm-explore-card__cover-placeholder svg{
    width:36px;
    height:36px;
    fill:none;
    stroke:currentColor;
    stroke-linecap:round;
    stroke-linejoin:round;
    stroke-width:1.6;
}

.ofm-explore-card__eyebrow,
.ofm-explore-card__rank{
    position:absolute;
    top:10px;
    z-index:3;
    display:inline-flex;
    align-items:center;
    min-height:22px;
    border:1px solid rgb(255 255 255 / .25);
    border-radius:999px;
    background:rgb(9 9 9 / .7);
    box-shadow:0 4px 15px rgb(0 0 0 / .24);
    backdrop-filter:blur(8px);
}

.ofm-explore-card__eyebrow{
    left:10px;
    max-width:calc(100% - 64px);
    padding:0 8px;
    overflow:hidden;
    color:#f8dd77;
    font-size:.55rem;
    font-weight:850;
    letter-spacing:.08em;
    line-height:1;
    text-overflow:ellipsis;
    text-transform:uppercase;
    white-space:nowrap;
}

.ofm-explore-card__rank{
    right:10px;
    justify-content:center;
    min-width:25px;
    padding:0 6px;
    color:#fff;
    font-size:.62rem;
    font-weight:850;
    font-variant-numeric:tabular-nums;
    cursor:help;
}

.ofm-explore .ofm-explore-card .song-overlay{
    display:grid;
    place-items:center;
    padding:0;
    background:linear-gradient(180deg,transparent 35%,rgb(0 0 0 / .36));
    opacity:0;
    pointer-events:none;
    transition:opacity .18s ease;
}

.ofm-explore .ofm-explore-card .song-overlay .play-button{
    pointer-events:none;
}

.ofm-explore .ofm-explore-card:hover .song-overlay,
.ofm-explore .ofm-explore-card:focus-within .song-overlay,
.ofm-explore .ofm-explore-card.is-playing .song-overlay{
    opacity:1;
    pointer-events:auto;
}

.ofm-explore .ofm-explore-card:hover .song-overlay .play-button,
.ofm-explore .ofm-explore-card:focus-within .song-overlay .play-button,
.ofm-explore .ofm-explore-card.is-playing .song-overlay .play-button{
    pointer-events:auto;
}

@media (hover:none), (pointer:coarse){
    .ofm-explore .ofm-explore-card .song-overlay{
        opacity:1;
        pointer-events:auto;
    }

    .ofm-explore .ofm-explore-card .song-overlay .play-button{
        pointer-events:auto;
    }
}

.ofm-explore .ofm-explore-card .play-button{
    width:42px;
    height:42px;
    border-color:rgb(255 255 255 / .8);
    background:rgb(0 0 0 / .5);
    color:#fff;
    box-shadow:0 8px 20px rgb(0 0 0 / .23);
}

.ofm-explore .ofm-explore-card .play-button:hover,
.ofm-explore .ofm-explore-card .play-button:focus-visible{
    border-color:#fff;
    background:rgb(0 0 0 / .64);
    color:#fff;
    outline:0;
    transform:scale(1.06);
}

.ofm-explore .ofm-explore-card .song-info{
    display:flex;
    width:100%;
    min-width:0;
    min-height:111px;
    flex:1 1 auto;
    flex-direction:column;
    padding:13px;
}

.ofm-explore .ofm-explore-card .song-info h3{
    margin:0;
    overflow:hidden;
    color:#fff;
    font-size:.96rem;
    font-weight:800;
    line-height:1.22;
    text-overflow:ellipsis;
    white-space:nowrap;
}

.ofm-explore .ofm-explore-card .song-info h3 a{
    color:inherit;
    text-decoration:none;
}

.ofm-explore .ofm-explore-card .song-info h3 a:hover,
.ofm-explore .ofm-explore-card .song-info h3 a:focus-visible,
.ofm-explore .ofm-explore-card .artist a:hover,
.ofm-explore .ofm-explore-card .artist a:focus-visible{
    color:#f4c430;
    outline:0;
}

.ofm-explore .ofm-explore-card .artist{
    margin:5px 0 0;
    overflow:hidden;
    color:#b4b4b4;
    font-size:.78rem;
    text-overflow:ellipsis;
    white-space:nowrap;
}

.ofm-explore .ofm-explore-card .artist a{
    color:inherit;
    text-decoration:none;
}

.ofm-explore-card__detail{
    display:-webkit-box;
    overflow:hidden;
    margin:8px 0 0;
    color:#aaa;
    font-size:.67rem;
    font-weight:650;
    line-height:1.35;
    -webkit-box-orient:vertical;
    -webkit-line-clamp:2;
}

.ofm-explore .ofm-explore-card .genre{
    width:max-content;
    max-width:100%;
    margin-top:auto;
    padding-top:9px;
    overflow:hidden;
    color:#d4ba55;
    font-size:.61rem;
    font-weight:800;
    letter-spacing:.04em;
    text-overflow:ellipsis;
    text-transform:uppercase;
    white-space:nowrap;
}

.ofm-explore__for-you-status{
    min-height:0;
    color:#c7b46a;
    font-size:.76rem;
    font-weight:700;
}

.ofm-explore__for-you-status:not(:empty){
    margin:-7px 0 15px;
}

.ofm-explore__for-you[aria-busy="true"] .ofm-explore__for-you-status:before{
    display:inline-block;
    width:10px;
    height:10px;
    margin-right:8px;
    border:2px solid rgb(244 196 48 / .25);
    border-top-color:#f4c430;
    border-radius:50%;
    content:"";
    animation:ofm-explore-spin .8s linear infinite;
    vertical-align:-1px;
}

.ofm-explore__profiles{
    display:grid;
    grid-template-columns:repeat(6,minmax(0,1fr));
    gap:clamp(13px,2vw,23px);
}

.ofm-explore-profile{
    display:grid;
    gap:10px;
    min-width:0;
    color:#fff;
    text-decoration:none;
    transition:transform .22s ease;
}

.ofm-explore-profile:hover,
.ofm-explore-profile:focus-visible{
    outline:0;
    transform:translateY(-4px);
}

.ofm-explore-profile__avatar{
    display:grid;
    width:100%;
    aspect-ratio:1;
    place-items:center;
    overflow:hidden;
    border:1px solid rgb(255 255 255 / .13);
    border-radius:50%;
    background:linear-gradient(135deg,#2a2a2a,#141414);
    box-shadow:0 12px 26px rgb(0 0 0 / .18);
    transition:border-color .22s ease,box-shadow .22s ease;
}

.ofm-explore-profile:hover .ofm-explore-profile__avatar,
.ofm-explore-profile:focus-visible .ofm-explore-profile__avatar{
    border-color:rgb(244 196 48 / .73);
    box-shadow:0 16px 31px rgb(0 0 0 / .3),0 0 0 4px rgb(244 196 48 / .07);
}

.ofm-explore-profile__avatar img{
    width:100%;
    height:100%;
    object-fit:cover;
}

.ofm-explore-profile__avatar .ofm-public-owner__initials{
    display:grid;
    width:100%;
    height:100%;
    place-items:center;
    color:#f4c430;
    font-size:clamp(1.2rem,3vw,2rem);
    font-weight:700;
}

.ofm-explore-profile__copy{
    display:grid;
    gap:3px;
    min-width:0;
}

.ofm-explore-profile__copy strong,
.ofm-explore-profile__copy small,
.ofm-explore-profile__copy em{
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
}

.ofm-explore-profile__copy strong{
    font-size:.94rem;
    font-weight:750;
}

.ofm-explore-profile__copy small{
    color:#b7b7b7;
    font-size:.79rem;
}

.ofm-explore-profile__copy em{
    color:#f4c430;
    font-size:.72rem;
    font-style:normal;
}

.ofm-explore__mixes{
    margin-top:0;
}

.ofm-explore__empty{
    margin:0;
    padding:23px;
    border:1px dashed rgb(255 255 255 / .19);
    border-radius:16px;
    background:rgb(255 255 255 / .023);
    color:#aaa;
    font-size:.9rem;
}

@keyframes ofm-explore-spin{
    to{transform:rotate(360deg)}
}

@media (max-width:1080px){
    .ofm-explore__hero-grid{grid-template-columns:minmax(0,1fr) minmax(300px,.75fr);gap:30px}
    .ofm-explore__genre-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
    .ofm-explore__profiles{grid-template-columns:repeat(5,minmax(0,1fr))}
}

@media (max-width:790px){
    .ofm-explore__hero-grid{grid-template-columns:1fr;gap:27px}
    .ofm-explore__search{max-width:650px}
    .ofm-explore__genre-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
    .ofm-explore__profiles{grid-template-columns:repeat(4,minmax(0,1fr))}
}

@media (max-width:620px){
    .ofm-explore{padding-bottom:calc(108px + env(safe-area-inset-bottom))}
    .ofm-explore__hero{padding-top:54px}
    .ofm-explore__hero h1{font-size:clamp(2.65rem,13.5vw,4.2rem);letter-spacing:-.07em}
    .ofm-explore__hero-copy>p:not(.ofm-eyebrow){font-size:.92rem}
    .ofm-explore__search{gap:8px;padding:6px 6px 6px 13px;border-radius:16px}
    .ofm-explore__search button{padding:0;min-width:42px}
    .ofm-explore__search button span{display:none}
    .ofm-explore__section,.ofm-explore__for-you{margin-top:47px}
    .ofm-explore__for-you{padding:15px;border-radius:20px}
    .ofm-explore__section-heading{align-items:center;margin-bottom:16px}
    .ofm-explore__section-heading h2{font-size:1.66rem}
    .ofm-explore__heading-icon{width:30px;height:30px}
    .ofm-explore__genre-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
    .ofm-explore__genre-card{grid-template-columns:31px minmax(0,1fr);gap:8px;min-height:69px;padding:10px;border-radius:14px}
    .ofm-explore__genre-icon{width:31px;height:31px;border-radius:10px}
    .ofm-explore__genre-arrow{display:none}
    .ofm-explore__rail{grid-auto-columns:minmax(164px,47vw);gap:11px;padding-bottom:9px}
    .ofm-explore__rail.ofm-explore__for-you-list{grid-auto-columns:minmax(164px,47vw)}
    .ofm-explore__results-grid{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-columns:auto;gap:11px;overflow:visible}
    .ofm-explore .ofm-explore-card{border-radius:15px}
    .ofm-explore .ofm-explore-card .song-info{min-height:99px;padding:11px}
    .ofm-explore .ofm-explore__for-you-list .ofm-explore-card--for-you .song-info{min-height:108px;height:108px;flex-basis:108px;padding:10px 11px 11px}
    .ofm-explore .ofm-explore__for-you-list .ofm-explore-card--for-you .ofm-explore-card__detail{margin-top:4px}
    .ofm-explore .ofm-explore__for-you-list .ofm-explore-card--for-you .genre{padding-top:5px}
    .ofm-explore .ofm-explore-card .song-info h3{font-size:.88rem}
    .ofm-explore .ofm-explore-card .artist{font-size:.73rem}
    .ofm-explore .ofm-explore-card .play-button{width:37px;height:37px}
    .ofm-explore-card__eyebrow{top:8px;left:8px;min-height:20px;padding:0 7px;font-size:.5rem}
    .ofm-explore-card__rank{top:8px;right:8px;min-height:20px;font-size:.57rem}
    .ofm-explore__profiles{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
}

@media (max-width:370px){
    .ofm-explore__genre-grid{grid-template-columns:1fr}
    .ofm-explore__results-grid{grid-template-columns:1fr}
    .ofm-explore__rail{grid-auto-columns:minmax(175px,72vw)}
    .ofm-explore__rail.ofm-explore__for-you-list{grid-auto-columns:minmax(175px,72vw)}
}

@media (prefers-reduced-motion:reduce){
    .ofm-explore *,
    .ofm-explore *:before,
    .ofm-explore *:after{
        scroll-behavior:auto!important;
        transition-duration:.01ms!important;
        animation-duration:.01ms!important;
        animation-iteration-count:1!important;
    }
}

/* Source: assets/css/explore-profile-polish.css */
/* Clear visual distinction between public listener profiles and artists. */
.ofm-explore-profile__kind {
    display: inline-flex;
    align-items: center;
    inline-size: fit-content;
    min-block-size: 20px;
    padding: 0 7px;
    border: 1px solid rgb(255 255 255 / .14);
    border-radius: 999px;
    color: #c9c9c9;
    font-size: .65rem;
    font-style: normal;
    font-weight: 800;
    letter-spacing: .08em;
    line-height: 1;
    text-transform: uppercase;
}

.ofm-explore-profile--artist .ofm-explore-profile__kind {
    border-color: rgb(244 196 48 / .48);
    background: rgb(244 196 48 / .08);
    color: #f4c430;
}

.ofm-explore-profile--listener .ofm-explore-profile__kind {
    border-color: rgb(157 205 255 / .38);
    background: rgb(157 205 255 / .07);
    color: #b7dcff;
}

.ofm-explore-profile__bio {
    display: -webkit-box;
    overflow: hidden;
    margin: 1px 0 0;
    color: #fff;
    font-size: .76rem;
    font-style: normal;
    line-height: 1.35;
    opacity: .9;
    text-overflow: ellipsis;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

/* Source: assets/css/public-profile.css */
/*
 * Public profile document
 *
 * These selectors intentionally begin at the child-owned profile root. They
 * do not borrow parent author/archive classes, so artist and listener pages
 * remain stable while the global header and persistent player stay shared.
 */
.ofm-public-profile{
    isolation:isolate;
    min-block-size:calc(100vh - 180px);
    max-inline-size:1280px;
    margin-inline:auto;
    padding:clamp(30px,6vw,80px) clamp(16px,3vw,30px) calc(156px + env(safe-area-inset-bottom));
    background:
        radial-gradient(66% 45% at 8% 0%,rgb(244 196 48 / .09),transparent 72%),
        radial-gradient(42% 38% at 96% 7%,rgb(126 88 168 / .11),transparent 74%),
        #090909;
    color:#fff;
}

.ofm-public-profile,
.ofm-public-profile *{
    box-sizing:border-box;
}

.ofm-public-profile__hero{
    position:relative;
    display:grid;
    grid-template-columns:clamp(124px,17vw,210px) minmax(0,1fr) auto;
    gap:clamp(20px,4vw,52px);
    align-items:center;
    min-block-size:250px;
    padding:clamp(24px,4vw,48px) clamp(22px,4vw,50px) clamp(78px,9vw,100px);
    overflow:hidden;
    border:1px solid rgb(255 255 255 / .13);
    border-radius:30px;
    background:
        linear-gradient(120deg,rgb(27 27 29 / .96),rgb(12 13 15 / .95) 57%,rgb(20 17 26 / .93)),
        #101114;
    box-shadow:0 24px 65px rgb(0 0 0 / .3),inset 0 1px 0 rgb(255 255 255 / .04);
}

.ofm-public-profile--artist .ofm-public-profile__hero{
    grid-template-columns:clamp(124px,17vw,210px) minmax(0,1fr);
    grid-template-areas:
        "avatar identity"
        "stats stats";
    align-items:start;
    row-gap:clamp(26px,4vw,42px);
    border-color:rgb(244 196 48 / .28);
    background:
        radial-gradient(54% 125% at 0% 100%,rgb(244 196 48 / .19),transparent 72%),
        radial-gradient(48% 96% at 97% 8%,rgb(97 65 33 / .18),transparent 75%),
        linear-gradient(122deg,#1c1811,#101113 56%,#181217);
}

.ofm-public-profile--artist .ofm-public-profile__avatar{
    grid-area:avatar;
}

.ofm-public-profile--artist .ofm-public-profile__identity{
    grid-area:identity;
}

.ofm-public-profile--listener .ofm-public-profile__hero{
    /* Keep a /u/ profile in the same release-surface language as an artist
     * profile; type labels, not a separate account-card design, distinguish it. */
    grid-template-columns:clamp(124px,17vw,210px) minmax(0,1fr);
    inline-size:100%;
    max-inline-size:none;
    margin:0;
    text-align:start;
    border-color:rgb(244 196 48 / .28);
    background:
        radial-gradient(54% 125% at 0% 100%,rgb(244 196 48 / .19),transparent 72%),
        radial-gradient(48% 96% at 97% 8%,rgb(97 65 33 / .18),transparent 75%),
        linear-gradient(122deg,#1c1811,#101113 56%,#181217);
}

.ofm-public-profile__hero::after{
    position:absolute;
    inset:auto -8% -60% 38%;
    z-index:-1;
    block-size:170px;
    border-radius:50%;
    background:rgb(244 196 48 / .08);
    content:"";
    filter:blur(48px);
    pointer-events:none;
}

.ofm-public-profile__avatar{
    display:grid;
    place-items:center;
    inline-size:100%;
    aspect-ratio:1;
    overflow:hidden;
    border:1px solid rgb(255 255 255 / .21);
    border-radius:26px;
    background:linear-gradient(135deg,#303238,#111216);
    color:#fff;
    box-shadow:0 18px 38px rgb(0 0 0 / .34),inset 0 1px 0 rgb(255 255 255 / .1);
}

.ofm-public-profile--artist .ofm-public-profile__avatar{
    border-color:rgb(244 196 48 / .58);
    border-radius:24%;
}

.ofm-public-profile--listener .ofm-public-profile__avatar{
    /* The owned listener avatar follows the shared release-art proportions. */
    inline-size:100%;
    block-size:auto;
    margin:0;
    justify-self:stretch;
    border-color:rgb(244 196 48 / .58);
    border-radius:24%;
    background:linear-gradient(135deg,#332b16,#171511);
}

.ofm-public-profile__avatar img{
    display:block;
    inline-size:100%;
    block-size:100%;
    border-radius:inherit;
    object-fit:cover;
}

.ofm-public-profile__avatar .ofm-public-owner__initials{
    display:grid;
    place-items:center;
    inline-size:100%;
    block-size:100%;
    color:#f4c430;
    font-size:clamp(2rem,5vw,4rem);
    font-weight:850;
}

.ofm-public-profile__identity{
    min-inline-size:0;
}

.ofm-public-profile__identity>.ofm-eyebrow,
.ofm-public-profile__section-heading .ofm-eyebrow{
    margin:0;
    color:#f4c430;
    font-size:.72rem;
    font-weight:900;
    letter-spacing:.16em;
    line-height:1.2;
}

.ofm-public-profile__title-row{
    display:flex;
    flex-wrap:wrap;
    gap:10px;
    align-items:center;
    margin-block:12px 0;
}

.ofm-public-profile__title-row h1{
    margin:0;
    color:#fff;
    font-size:clamp(2.5rem,6vw,5.5rem);
    font-weight:850;
    letter-spacing:-.06em;
    line-height:.95;
    overflow-wrap:anywhere;
}

.ofm-public-profile__verification{
    flex:0 0 auto;
    inline-size:23px;
    block-size:23px;
}

.ofm-public-profile__handle{
    margin:0;
    color:#d0d1d5;
    font-size:.92rem;
    font-weight:750;
    letter-spacing:.025em;
}

.ofm-public-profile__tagline{
    margin:12px 0 0;
    color:#f4c430;
    font-size:1.05rem;
    font-weight:650;
    line-height:1.4;
}

.ofm-public-profile__bio{
    max-inline-size:690px;
    margin:14px 0 0;
    color:#fff;
    font-size:1rem;
    line-height:1.65;
    overflow-wrap:anywhere;
}

.ofm-public-profile--artist .ofm-public-profile__bio{
    color:#d1d1d3;
}

/*
 * Public listener bios are capped at 120 characters when saved. Keep the
 * complete safe text in the DOM for assistive technology, while visually
 * bounding it to the hero so a long unbroken entry cannot turn this surface
 * back into the loose account-panel layout.
 */
.ofm-public-profile--listener .ofm-public-profile__bio{
    display:-webkit-box;
    max-inline-size:620px;
    overflow:hidden;
    margin-inline:0;
    text-align:start;
    text-overflow:ellipsis;
    -webkit-box-orient:vertical;
    -webkit-line-clamp:3;
    line-clamp:3;
}

.ofm-public-profile__actions{
    display:flex;
    flex-wrap:wrap;
    gap:10px 14px;
    align-items:center;
    margin-top:21px;
}

.ofm-public-profile__actions .ofm-follows{
    justify-content:flex-start;
    margin:0;
}

.ofm-public-profile__links{
    display:flex;
    flex-wrap:wrap;
    gap:8px;
    margin:0;
}

.ofm-public-profile__links a{
    display:inline-flex;
    align-items:center;
    min-block-size:34px;
    padding:7px 11px;
    border:1px solid rgb(255 255 255 / .18);
    border-radius:999px;
    color:#e7e7e7;
    font-size:.74rem;
    font-weight:750;
    line-height:1;
    text-decoration:none;
    transition:border-color .18s ease,background .18s ease,color .18s ease,transform .18s ease;
}

.ofm-public-profile__links a:hover,
.ofm-public-profile__links a:focus-visible{
    border-color:rgb(244 196 48 / .76);
    background:rgb(244 196 48 / .1);
    color:#fff;
    outline:0;
    transform:translateY(-1px);
}

.ofm-public-profile__metric{
    display:grid;
    justify-items:end;
    gap:4px;
    min-inline-size:86px;
    margin:0;
}

.ofm-public-profile__metric dt{
    order:2;
    color:#9e9fa5;
    font-size:.72rem;
    font-weight:800;
    letter-spacing:.1em;
    text-transform:uppercase;
}

.ofm-public-profile__metric dd{
    order:1;
    margin:0;
    color:#f4c430;
    font-size:clamp(1.65rem,3vw,2.35rem);
    font-weight:850;
    font-variant-numeric:tabular-nums;
    letter-spacing:-.05em;
}


/* Artist account statistics remain in the hero, but sit in one full-width
 * vertical block below the artist identity. This keeps the account summary
 * readable without forcing values into a narrow side column. */
.ofm-public-profile--artist .ofm-public-profile__metric--artist{
    grid-area:stats;
    display:grid;
    grid-template-columns:minmax(0,1fr);
    align-content:start;
    justify-items:stretch;
    inline-size:100%;
    min-inline-size:0;
    margin:0;
    padding-block-start:clamp(20px,3vw,30px);
    border-top:1px solid rgb(255 255 255 / .16);
    gap:0;
}

.ofm-public-profile--artist .ofm-public-profile__metric--artist .ofm-public-profile__metric-item{
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    align-items:center;
    min-inline-size:0;
    min-block-size:clamp(58px,6vw,76px);
    column-gap:clamp(12px,2vw,28px);
}

.ofm-public-profile--artist .ofm-public-profile__metric--artist .ofm-public-profile__metric-item + .ofm-public-profile__metric-item{
    border-top:1px solid rgb(255 255 255 / .13);
}

.ofm-public-profile--artist .ofm-public-profile__metric--artist .ofm-public-profile__metric-item dt,
.ofm-public-profile--artist .ofm-public-profile__metric--artist .ofm-public-profile__metric-item dd{
    min-inline-size:0;
    overflow-wrap:anywhere;
    order:initial;
}

.ofm-public-profile--artist .ofm-public-profile__metric--artist .ofm-public-profile__metric-item dt{
    grid-column:1;
    grid-row:1;
    text-align:start;
}

.ofm-public-profile--artist .ofm-public-profile__metric--artist .ofm-public-profile__metric-item dd{
    grid-column:2;
    grid-row:1;
    justify-self:end;
    text-align:end;
}

.ofm-public-profile--artist .ofm-creator__profile-stat dt{
    color:#f4c430;
    font-size:clamp(.69rem,1.2vw,.93rem);
    font-weight:850;
    letter-spacing:-.025em;
    line-height:1.25;
}

.ofm-public-profile--artist .ofm-creator__profile-stat dd{
    color:#fff;
    font-size:clamp(2rem,4vw,3.2rem);
    font-weight:850;
    font-variant-numeric:tabular-nums;
    letter-spacing:-.035em;
    line-height:1.12;
}

.ofm-public-profile--artist .ofm-creator__profile-stat dd a{
    color:inherit;
    text-decoration:none;
}

.ofm-public-profile--artist .ofm-creator__profile-stat dd a:hover,
.ofm-public-profile--artist .ofm-creator__profile-stat dd a:focus-visible{
    color:#f4c430;
    text-decoration:underline;
    text-underline-offset:.16em;
}

.ofm-public-profile--artist .ofm-creator__profile-stat dd.is-unavailable{
    color:#a8a8aa;
}

.ofm-public-profile__catalogue{
    margin-top:clamp(36px,6vw,70px);
}

.ofm-public-profile__section-heading{
    display:flex;
    align-items:end;
    justify-content:space-between;
    gap:18px;
    margin:0 0 20px;
}

.ofm-public-profile__section-heading h2,
.ofm-public-profile__empty h2{
    margin:6px 0 0;
    color:#fff;
    font-size:clamp(1.75rem,3vw,2.55rem);
    letter-spacing:-.045em;
}

.ofm-public-profile__release-grid.song-grid{
    display:grid;
    grid-template-columns:repeat(auto-fill,minmax(205px,1fr));
    gap:clamp(14px,2.3vw,26px);
    margin:0;
}

.ofm-public-profile__release-grid .song-card{
    position:relative;
    overflow:hidden;
    border:1px solid rgb(255 255 255 / .12);
    border-radius:20px;
    background:linear-gradient(150deg,#191a1d,#101114);
    box-shadow:0 12px 28px rgb(0 0 0 / .25);
}

.ofm-public-profile__release-grid .song-card:hover{
    border-color:rgb(244 196 48 / .52);
    box-shadow:0 20px 38px rgb(0 0 0 / .36),0 0 0 3px rgb(244 196 48 / .055);
    transform:translateY(-4px);
}

.ofm-public-profile__release-grid .song-cover{
    aspect-ratio:1;
    background:#151618;
}

.ofm-public-profile__release-grid .song-cover img,
.ofm-public-profile__release-grid .song-cover .ofm-cover-performance{
    inline-size:100%;
    block-size:100%;
    object-fit:cover;
}

.ofm-public-profile__release-grid .song-info{
    min-block-size:122px;
    padding:15px 16px 17px;
}

.ofm-public-profile__release-grid .song-info h3{
    font-size:1.05rem;
}

.ofm-public-profile__release-grid .song-info .artist{
    margin:6px 0 0;
    color:#c9c9cd;
    font-size:.8rem;
}

.ofm-public-profile__release-grid .song-info .genre{
    margin-top:12px;
    padding:5px 9px;
    border:1px solid rgb(244 196 48 / .24);
    background:rgb(244 196 48 / .07);
    color:#f4c430;
    font-size:.66rem;
    font-weight:850;
    letter-spacing:.06em;
    text-transform:uppercase;
}

.ofm-public-profile__empty{
    max-inline-size:560px;
    margin:0;
    padding:32px;
    border:1px dashed rgb(255 255 255 / .22);
    border-radius:20px;
    background:rgb(255 255 255 / .018);
    color:#b9bac0;
}

.ofm-public-profile__empty p{
    margin:9px 0 0;
    line-height:1.55;
}

.ofm-public-profile .ofm-public-profile-mixes{
    inline-size:100%;
    max-inline-size:none;
    margin:clamp(38px,6vw,70px) 0 0;
}

.ofm-public-profile .ofm-public-profile-mixes__heading h2{
    font-size:clamp(1.75rem,3vw,2.55rem);
    letter-spacing:-.045em;
}

/* Shared compact identity card used only inside the child Explore template. */
.ofm-explore .ofm-public-profile-card{
    display:grid;
    gap:10px;
    min-inline-size:0;
    padding:10px;
    border:1px solid rgb(255 255 255 / .1);
    border-radius:18px;
    background:linear-gradient(150deg,rgb(29 30 34 / .84),rgb(14 15 18 / .92));
    color:#fff;
    text-decoration:none;
    transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease;
}

.ofm-explore .ofm-public-profile-card:hover,
.ofm-explore .ofm-public-profile-card:focus-visible{
    border-color:rgb(244 196 48 / .66);
    box-shadow:0 13px 27px rgb(0 0 0 / .3),0 0 0 3px rgb(244 196 48 / .055);
    outline:0;
    transform:translateY(-3px);
}

.ofm-explore .ofm-public-profile-card__avatar{
    display:grid;
    aspect-ratio:1;
    place-items:center;
    overflow:hidden;
    border:1px solid rgb(157 205 255 / .45);
    border-radius:50%;
    background:linear-gradient(135deg,#25303c,#14161a);
}

.ofm-explore .ofm-public-profile-card--artist .ofm-public-profile-card__avatar{
    border-color:rgb(244 196 48 / .55);
    border-radius:20%;
    background:linear-gradient(135deg,#332b16,#171511);
}

.ofm-explore .ofm-public-profile-card__avatar img{
    display:block;
    inline-size:100%;
    block-size:100%;
    object-fit:cover;
}

.ofm-explore .ofm-public-profile-card__avatar .ofm-public-owner__initials{
    display:grid;
    place-items:center;
    inline-size:100%;
    block-size:100%;
    color:#f4c430;
    font-size:clamp(1.2rem,3vw,2rem);
    font-weight:850;
}

.ofm-explore .ofm-public-profile-card__copy{
    display:grid;
    gap:4px;
    min-inline-size:0;
}

.ofm-explore .ofm-public-profile-card__name{
    display:flex;
    gap:5px;
    align-items:center;
    min-inline-size:0;
}

.ofm-explore .ofm-public-profile-card__name strong{
    overflow:hidden;
    color:#fff;
    font-size:.93rem;
    font-weight:800;
    text-overflow:ellipsis;
    white-space:nowrap;
}

.ofm-explore .ofm-public-profile-card__verification{
    flex:0 0 auto;
    inline-size:17px;
    block-size:17px;
}

.ofm-explore .ofm-public-profile-card__copy small{
    overflow:hidden;
    color:#b7b8bc;
    font-size:.76rem;
    text-overflow:ellipsis;
    white-space:nowrap;
}

.ofm-explore .ofm-public-profile-card__kind{
    display:inline-flex;
    align-items:center;
    inline-size:fit-content;
    min-block-size:20px;
    padding-inline:7px;
    border:1px solid rgb(157 205 255 / .42);
    border-radius:999px;
    background:rgb(157 205 255 / .08);
    color:#c3e1ff;
    font-size:.62rem;
    font-style:normal;
    font-weight:850;
    letter-spacing:.08em;
    line-height:1;
    text-transform:uppercase;
}

.ofm-explore .ofm-public-profile-card--artist .ofm-public-profile-card__kind{
    border-color:rgb(244 196 48 / .5);
    background:rgb(244 196 48 / .08);
    color:#f4c430;
}

.ofm-explore .ofm-public-profile-card__bio{
    display:-webkit-box;
    overflow:hidden;
    margin:1px 0 0;
    color:#fff;
    font-size:.75rem;
    font-style:normal;
    line-height:1.36;
    opacity:.9;
    text-overflow:ellipsis;
    -webkit-box-orient:vertical;
    -webkit-line-clamp:2;
}

@media (max-width:760px){
    .ofm-public-profile__hero,
    .ofm-public-profile--listener .ofm-public-profile__hero{
        grid-template-columns:96px minmax(0,1fr);
        gap:18px;
        padding:24px 22px 78px;
        border-radius:23px;
    }

    .ofm-public-profile__metric{
        grid-column:1 / -1;
        grid-template-columns:auto auto;
        justify-content:start;
        justify-items:start;
        gap:7px;
        align-items:baseline;
    }

    .ofm-public-profile__metric dt,
    .ofm-public-profile__metric dd{
        order:initial;
    }

    .ofm-public-profile__metric dd{
        font-size:1.45rem;
    }

    .ofm-public-profile__metric dt{
        font-size:.67rem;
    }

    .ofm-public-profile__release-grid.song-grid{
        grid-template-columns:repeat(2,minmax(0,1fr));
        gap:14px;
    }

    .ofm-public-profile--artist .ofm-public-profile__metric--artist{
        grid-template-columns:minmax(0,1fr);
        justify-items:stretch;
        padding-block-start:22px;
        gap:0;
        min-inline-size:0;
    }

    .ofm-public-profile--artist .ofm-public-profile__metric--artist .ofm-public-profile__metric-item{
        grid-template-columns:minmax(0,1fr) auto;
        align-items:center;
        min-block-size:58px;
        column-gap:12px;
    }

    .ofm-public-profile--artist .ofm-public-profile__metric--artist .ofm-public-profile__metric-item + .ofm-public-profile__metric-item{
        border-top:1px solid rgb(255 255 255 / .13);
    }

}

@media (max-width:480px){
    .ofm-public-profile{
        padding-inline:12px;
    }

    .ofm-public-profile__hero,
    .ofm-public-profile--listener .ofm-public-profile__hero{
        grid-template-columns:78px minmax(0,1fr);
        gap:14px;
        padding:20px 17px 74px;
        border-radius:19px;
    }

    .ofm-public-profile__title-row{
        margin-block:7px 0;
    }

    .ofm-public-profile__title-row h1{
        font-size:clamp(2rem,11vw,3rem);
    }

    .ofm-public-profile__tagline{
        margin-top:8px;
        font-size:.91rem;
    }

    .ofm-public-profile__bio{
        margin-top:10px;
        font-size:.89rem;
        line-height:1.5;
    }

    .ofm-public-profile__actions{
        gap:8px;
        margin-top:14px;
    }

    .ofm-public-profile__links a{
        min-block-size:32px;
        padding-inline:9px;
        font-size:.7rem;
    }

    .ofm-public-profile__release-grid .song-info{
        min-block-size:104px;
        padding:11px;
    }

    .ofm-public-profile__release-grid .song-info h3{
        font-size:.92rem;
    }

    .ofm-public-profile__release-grid .song-info .artist{
        font-size:.72rem;
    }

    .ofm-explore .ofm-public-profile-card{
        padding:8px;
        border-radius:14px;
    }
}

@media (prefers-reduced-motion:reduce){
    .ofm-public-profile *,
    .ofm-public-profile-card{
        scroll-behavior:auto!important;
        transition-duration:.01ms!important;
    }
}

/* Source: assets/css/core/variables.css */
:root{

    /* ========= BRAND ========= */

    --ofm-primary:#f4c430;

    --ofm-primary-hover:#ffd84d;

    /* ========= COLORS ========= */

    --ofm-bg:#171717;

    --ofm-surface:#252525;

    --ofm-border:#303030;

    --ofm-text:#ffffff;

    --ofm-muted:#9b9b9b;

    /* ========= RADIUS ========= */

    --radius-sm:8px;

    --radius-md:12px;

    --radius-lg:18px;

    --radius-round:999px;

    /* ========= SHADOW ========= */

    --shadow-sm:0 4px 12px rgba(0,0,0,.25);

    --shadow-md:0 10px 30px rgba(0,0,0,.35);

    --shadow-lg:0 20px 45px rgba(0,0,0,.45);

    /* ========= TRANSITIONS ========= */

    --speed:.25s ease;

}

/* Source: assets/css/player/player.css */


/*
 * Shared chrome layers. These values deliberately sit above the legacy parent
 * stack, while keeping the access dialog above the nav, player, and drawers.
 * Route shells and modal styles consume the same tokens rather than relying on
 * unrelated hard-coded z-index values.
 */
:root {
	--ofm-layer-header: 99800;
	--ofm-layer-player: 99900;
	--ofm-layer-player-drawer: 99910;
	--ofm-layer-player-details: 99920;
	--ofm-layer-header-menu: 99980;
	--ofm-layer-toast: 99990;
	--ofm-layer-dialog: 100000;
	--ofm-layer-access-modal: 100010;
	--ofm-layer-skip-link: 100020;
	--player-height: 118px;
}

@media (max-width: 850px) {
	:root { --player-height: 194px; }
}

@media (max-width: 580px) {
	:root { --player-height: 142px; }
}

/* Non-app documents still need clearance when the persistent shell is present. */
body { padding-bottom: calc(var(--player-height, 118px) + env(safe-area-inset-bottom)); }

#ofm-player.ofm-player {
	--ofm-player-surface: #121315;
	--ofm-player-elevated: #181a1e;
	--ofm-player-border: rgb(255 255 255 / .12);
	--ofm-player-text: #f8f7f2;
	--ofm-player-muted: #a9a9a7;
	--ofm-player-accent: var(--ofm-primary, #f4c430);
	position: fixed;
	z-index: var(--ofm-layer-player);
	inset: auto 0 0;
	isolation: isolate;
	display: grid;
	grid-template-columns: minmax(220px, 1fr) minmax(360px, 1.6fr) minmax(220px, 1fr);
	align-items: center;
	gap: clamp(16px, 2.4vw, 32px);
	min-height: var(--player-height, 118px);
	padding: 16px clamp(18px, 3vw, 36px) calc(16px + env(safe-area-inset-bottom));
	border: 0;
	border-top: 1px solid var(--ofm-player-border);
	background: linear-gradient(112deg, rgb(9 10 12 / .985), rgb(21 23 27 / .975) 53%, rgb(12 13 16 / .99));
	box-shadow: 0 -14px 42px rgb(0 0 0 / .32), inset 0 1px 0 rgb(255 255 255 / .025);
	color: var(--ofm-player-text);
	font-family: var(--ofm-font-ui, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif);
	line-height: 1.2;
	text-align: start;
}

#ofm-player.ofm-player::before {
	position: absolute;
	z-index: -1;
	inset: 0;
	pointer-events: none;
	background: radial-gradient(circle at 18% 100%, rgb(244 196 48 / .09), transparent 32%), linear-gradient(90deg, transparent, rgb(255 255 255 / .025) 49%, transparent);
	content: "";
}

#ofm-player.ofm-player,
#ofm-player.ofm-player *,
#ofm-player.ofm-player *::before,
#ofm-player.ofm-player *::after {
	box-sizing: border-box;
}

#ofm-player.ofm-player :is(a, button, input) { font: inherit; }
#ofm-player.ofm-player a { color: inherit; text-decoration: none; }
#ofm-player.ofm-player button { appearance: none; -webkit-appearance: none; border: 0; text-transform: none; }
#ofm-player.ofm-player button:disabled { cursor: default; }

#ofm-player.ofm-player .ofm-player__identity,
#ofm-player.ofm-player .ofm-player__transport,
#ofm-player.ofm-player .ofm-player__actions { min-width: 0; }

#ofm-player.ofm-player .ofm-player__identity {
	display: flex;
	align-items: center;
	gap: 14px;
}

#ofm-player.ofm-player .ofm-player__cover {
	display: block;
	flex: 0 0 auto;
	line-height: 0;
	border-radius: 13px;
	outline: none;
}

#ofm-player.ofm-player .ofm-player__cover:focus-visible {
	box-shadow: 0 0 0 2px var(--ofm-player-surface), 0 0 0 4px var(--ofm-player-accent);
}

#ofm-player.ofm-player .ofm-player__cover-image {
	display: block;
	width: var(--player-cover, 68px);
	height: var(--player-cover, 68px);
	object-fit: cover;
	border: 1px solid rgb(255 255 255 / .1);
	border-radius: inherit;
	background: var(--ofm-player-elevated);
	box-shadow: 0 7px 18px rgb(0 0 0 / .28);
}

#ofm-player.ofm-player .ofm-player__metadata {
	min-width: 0;
	overflow: hidden;
}

#ofm-player.ofm-player :is(.ofm-player__title, .ofm-player__artist) {
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

#ofm-player.ofm-player .ofm-player__title {
	margin: 0;
	color: var(--ofm-player-text);
	font-size: clamp(.95rem, 1.2vw, 1.1rem);
	font-weight: 800;
	letter-spacing: -.018em;
	line-height: 1.25;
}

#ofm-player.ofm-player .ofm-player__title a:hover,
#ofm-player.ofm-player .ofm-player__title a:focus-visible { color: #fff3b1; outline: 0; }

#ofm-player.ofm-player .ofm-player__artist {
	margin: 4px 0 0;
	color: var(--ofm-player-muted);
	font-size: .8rem;
	font-weight: 650;
	line-height: 1.25;
}

#ofm-player.ofm-player .ofm-player__artist a:hover,
#ofm-player.ofm-player .ofm-player__artist a:focus-visible { color: var(--ofm-player-accent); outline: 0; }

#ofm-player.ofm-player .ofm-player__favorite {
	display: grid;
	flex: 0 0 auto;
	place-items: center;
	width: 34px;
	height: 34px;
	margin: 0;
	padding: 0;
	border: 1px solid transparent;
	border-radius: 50%;
	background: transparent;
	color: rgb(255 255 255 / .78);
	cursor: pointer;
	transition: color .18s ease, background .18s ease, border-color .18s ease, transform .18s ease;
}

#ofm-player.ofm-player .ofm-player__favorite svg {
	width: 19px;
	height: 19px;
	fill: none;
	stroke: currentColor;
	stroke-linecap: round;
	stroke-linejoin: round;
	stroke-width: 1.9;
}

#ofm-player.ofm-player .ofm-player__favorite:hover:not(:disabled),
#ofm-player.ofm-player .ofm-player__favorite:focus-visible {
	border-color: rgb(244 196 48 / .35);
	background: rgb(244 196 48 / .08);
	color: var(--ofm-player-accent);
	outline: 0;
	transform: translateY(-1px);
}

#ofm-player.ofm-player .ofm-player__favorite.is-saved { color: var(--ofm-player-accent); }
#ofm-player.ofm-player .ofm-player__favorite.is-saved svg { fill: currentColor; }
#ofm-player.ofm-player .ofm-player__favorite:disabled { opacity: .42; }

#ofm-player.ofm-player .ofm-player__transport {
	display: grid;
	justify-items: center;
	gap: 9px;
}

#ofm-player.ofm-player .ofm-player__actions {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: 9px;
}

#ofm-player.ofm-player .ofm-player__sr-text {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	clip-path: inset(50%);
	white-space: nowrap;
	border: 0;
}

/* Source: assets/css/player/controls.css */
#ofm-player.ofm-player .ofm-player__controls {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
}

#ofm-player.ofm-player .ofm-player__button {
	position: relative;
	display: inline-grid;
	place-items: center;
	width: 36px;
	height: 36px;
	min-width: 36px;
	min-height: 36px;
	margin: 0;
	padding: 0;
	border: 1px solid transparent;
	border-radius: 50%;
	background: transparent;
	color: var(--ofm-player-text, #fff);
	cursor: pointer;
	transition: transform .18s ease, background-color .18s ease, border-color .18s ease, color .18s ease, opacity .18s ease;
}

#ofm-player.ofm-player .ofm-player__button svg {
	width: 20px;
	height: 20px;
	fill: none;
	stroke: currentColor;
	stroke-linecap: round;
	stroke-linejoin: round;
	stroke-width: 2;
}

#ofm-player.ofm-player .ofm-player__button--play {
	width: 48px;
	height: 48px;
	min-width: 48px;
	min-height: 48px;
	border-color: rgb(255 228 129 / .74);
	background: var(--ofm-player-accent, #f4c430);
	box-shadow: 0 8px 20px rgb(244 196 48 / .22);
	color: #111;
}

#ofm-player.ofm-player .ofm-player__button--play .icon-play { fill: currentColor; stroke: none; }
#ofm-player.ofm-player .ofm-player__button--play .icon-pause { display: none; fill: none; stroke: currentColor; stroke-width: 2.5; }
#ofm-player.ofm-player.is-playing #play .icon-play { display: none; }
#ofm-player.ofm-player.is-playing #play .icon-pause { display: block; }

#ofm-player.ofm-player .ofm-player__button:hover:not(:disabled) {
	border-color: rgb(255 255 255 / .14);
	background: rgb(255 255 255 / .08);
	transform: translateY(-1px);
}

#ofm-player.ofm-player .ofm-player__button--play:hover:not(:disabled) {
	border-color: #fff0af;
	background: var(--ofm-primary-hover, #ffd34d);
}

#ofm-player.ofm-player .ofm-player__button.is-active {
	border-color: rgb(244 196 48 / .32);
	background: rgb(244 196 48 / .09);
	color: var(--ofm-player-accent, #f4c430);
}

#ofm-player.ofm-player .ofm-player__button:focus-visible {
	border-color: var(--ofm-player-accent, #f4c430);
	outline: 2px solid var(--ofm-player-surface, #121315);
	box-shadow: 0 0 0 4px rgb(244 196 48 / .38);
}

#ofm-player.ofm-player #mute[aria-pressed="true"] {
	border-color: rgb(244 196 48 / .34);
	background: rgb(244 196 48 / .12);
	color: var(--ofm-player-accent, #f4c430);
}

#ofm-player.ofm-player #mute[aria-pressed="true"]::after {
	position: absolute;
	inset: 7px 7px auto auto;
	width: 4px;
	height: 4px;
	border-radius: 50%;
	background: currentColor;
	content: "";
}

/* Secondary playback modes remain easy to tap without competing with play. */
#ofm-player.ofm-player :is(#shuffle, #repeat) { opacity: .68; }
#ofm-player.ofm-player :is(#shuffle, #repeat) svg { width: 14px; height: 14px; stroke-width: 1.85; }

/* Source: assets/css/player/progress.css */
#ofm-player.ofm-player .ofm-player__progress {
	display: grid;
	grid-template-columns: 42px minmax(0, 1fr) 42px;
	align-items: center;
	width: min(100%, 680px);
	gap: 9px;
}

#ofm-player.ofm-player .ofm-player__time {
	color: var(--ofm-player-muted, #a9a9a7);
	font-size: .72rem;
	font-variant-numeric: tabular-nums;
	font-weight: 700;
	line-height: 1;
	text-align: center;
}

#ofm-player.ofm-player .ofm-player__range {
	--range-fill: 0%;
	appearance: none;
	-webkit-appearance: none;
	display: block;
	width: 100%;
	height: 18px;
	margin: 0;
	padding: 0;
	background: transparent;
	color: var(--ofm-player-accent, #f4c430);
	cursor: pointer;
}

#ofm-player.ofm-player .ofm-player__range::-webkit-slider-runnable-track {
	height: 5px;
	border: 0;
	border-radius: 999px;
	background: linear-gradient(to right, var(--ofm-player-accent, #f4c430) 0 var(--range-fill), rgb(255 255 255 / .18) var(--range-fill) 100%);
	box-shadow: inset 0 1px 1px rgb(0 0 0 / .28);
}

#ofm-player.ofm-player .ofm-player__range::-webkit-slider-thumb {
	appearance: none;
	-webkit-appearance: none;
	width: 13px;
	height: 13px;
	margin-top: -4px;
	border: 0;
	border-radius: 50%;
	background: var(--ofm-player-accent, #f4c430);
	box-shadow: 0 1px 5px rgb(0 0 0 / .45);
	transform: scale(0);
	transition: transform .15s ease;
}

#ofm-player.ofm-player .ofm-player__range:hover::-webkit-slider-thumb,
#ofm-player.ofm-player .ofm-player__range:focus-visible::-webkit-slider-thumb { transform: scale(1); }

#ofm-player.ofm-player .ofm-player__range::-moz-range-track {
	height: 5px;
	border: 0;
	border-radius: 999px;
	background: rgb(255 255 255 / .18);
	box-shadow: inset 0 1px 1px rgb(0 0 0 / .28);
}

#ofm-player.ofm-player .ofm-player__range::-moz-range-progress {
	height: 5px;
	border-radius: 999px;
	background: var(--ofm-player-accent, #f4c430);
}

#ofm-player.ofm-player .ofm-player__range::-moz-range-thumb {
	width: 13px;
	height: 13px;
	border: 0;
	border-radius: 50%;
	background: var(--ofm-player-accent, #f4c430);
	box-shadow: 0 1px 5px rgb(0 0 0 / .45);
}

#ofm-player.ofm-player .ofm-player__range:focus-visible { outline: 2px solid var(--ofm-player-accent, #f4c430); outline-offset: 3px; }

/* Source: assets/css/player/volume.css */
#ofm-player.ofm-player .ofm-player__volume-input { width: clamp(72px, 9vw, 126px); }
#ofm-player.ofm-player .ofm-player__volume-input::-webkit-slider-runnable-track { height: 4px; }
#ofm-player.ofm-player .ofm-player__volume-input::-moz-range-track,
#ofm-player.ofm-player .ofm-player__volume-input::-moz-range-progress { height: 4px; }
#ofm-player.ofm-player .ofm-player__volume-input::-webkit-slider-thumb { width: 11px; height: 11px; margin-top: -3.5px; }
#ofm-player.ofm-player .ofm-player__volume-input::-moz-range-thumb { width: 11px; height: 11px; }

/* Source: assets/css/player/queue.css */
#ofm-queue-drawer.ofm-player__queue-drawer,
#ofm-queue-drawer.ofm-player__queue-drawer *,
#ofm-queue-drawer.ofm-player__queue-drawer *::before,
#ofm-queue-drawer.ofm-player__queue-drawer *::after,
#ofm-now-playing-drawer.ofm-player__details-drawer,
#ofm-now-playing-drawer.ofm-player__details-drawer *,
#ofm-now-playing-drawer.ofm-player__details-drawer *::before,
#ofm-now-playing-drawer.ofm-player__details-drawer *::after { box-sizing: border-box; }

/* Responsive Up Next drawer: a focused panel above the persistent player. */
#ofm-queue-drawer.ofm-player__queue-drawer{position:fixed;z-index:var(--ofm-layer-player-drawer,99910);right:20px;bottom:calc(var(--player-height,118px) + env(safe-area-inset-bottom) + 18px);width:min(420px,calc(100vw - 40px));max-height:min(560px,calc(100dvh - var(--player-height,118px) - env(safe-area-inset-bottom) - 44px));display:flex;flex-direction:column;overflow:hidden;overscroll-behavior:contain;border:1px solid #373737;border-radius:22px;background:#1c1c1c;color:#fff;box-shadow:0 22px 60px rgb(0 0 0 / .48);opacity:0;visibility:hidden;pointer-events:none;transform:translateY(16px);transition:opacity .2s ease,transform .2s ease,visibility .2s ease}#ofm-queue-drawer.ofm-player__queue-drawer.is-open{opacity:1;visibility:visible;pointer-events:auto;transform:translateY(0)}.ofm-queue__header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:19px 20px 16px;border-bottom:1px solid #343434}.ofm-queue__header h2{margin:0;font-size:1.05rem}.ofm-queue__count{margin:4px 0 0;color:#aaa;font-size:.86rem}.ofm-queue__close{display:grid;place-items:center;width:34px;height:34px;padding:0;border:0;border-radius:50%;background:transparent;color:#fff;font-size:1.7rem;line-height:1;cursor:pointer}.ofm-queue__close:hover,.ofm-queue__close:focus-visible{background:#2c2c2c;outline:none}.ofm-queue__list{display:grid;gap:3px;min-height:0;margin:0;padding:9px;overflow-y:auto;overscroll-behavior:contain;list-style:none}.ofm-queue__item{width:100%;display:flex;align-items:center;gap:12px;padding:9px;border:0;border-radius:12px;background:transparent;color:#fff;text-align:left;cursor:pointer}.ofm-queue__item:hover,.ofm-queue__item:focus-visible{background:rgb(255 255 255 / .07);outline:none}.ofm-queue__item.is-current{background:rgb(244 196 48 / .17)}.ofm-queue__cover{width:46px;height:46px;flex:0 0 46px;border-radius:8px;object-fit:cover;background:#2a2a2a}.ofm-queue__meta{min-width:0;display:grid;gap:3px}.ofm-queue__title,.ofm-queue__artist{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ofm-queue__title{font-weight:700}.ofm-queue__artist{color:#aaa;font-size:.86rem}.ofm-queue__empty{margin:0;padding:26px 22px;color:#aaa}.ofm-queue__empty[hidden]{display:none}
#ofm-queue-list{scrollbar-width:thin;scrollbar-color:#81775f #171717}#ofm-queue-list::-webkit-scrollbar{width:9px}#ofm-queue-list::-webkit-scrollbar-track{margin:8px 0;background:#171717;border-radius:999px}#ofm-queue-list::-webkit-scrollbar-thumb{border:2px solid #171717;border-radius:999px;background:linear-gradient(180deg,#a39677,#625b4e)}#ofm-queue-list::-webkit-scrollbar-thumb:hover{background:#d1b767}
@media(max-width:760px){#ofm-queue-drawer.ofm-player__queue-drawer{right:12px;bottom:calc(var(--player-height,194px) + env(safe-area-inset-bottom) + 12px);width:min(440px,calc(100vw - 24px));max-height:min(64dvh,calc(100dvh - var(--player-height,194px) - env(safe-area-inset-bottom) - 28px));border-radius:19px}.ofm-queue__header{padding:16px 17px 14px}.ofm-queue__list{padding:7px}.ofm-queue__item{padding:8px}.ofm-queue__cover{width:42px;height:42px;flex-basis:42px}}
@media(max-width:480px){#ofm-queue-drawer.ofm-player__queue-drawer{right:8px;bottom:calc(var(--player-height,142px) + env(safe-area-inset-bottom) + 8px);width:calc(100vw - 16px);max-height:min(62dvh,calc(100dvh - var(--player-height,142px) - 20px - env(safe-area-inset-bottom)));border-radius:17px}.ofm-queue__header{padding:14px 15px 12px}.ofm-queue__header h2{font-size:1rem}.ofm-queue__list{gap:2px;padding:6px}.ofm-queue__item{gap:10px;padding:7px}.ofm-queue__cover{width:40px;height:40px;flex-basis:40px}.ofm-queue__title{font-size:.9rem}.ofm-queue__artist{font-size:.78rem}}

/* Current-track information popout. The player owns its queue and audio;
   this panel only presents the already-selected public metadata. */
#ofm-now-playing-drawer.ofm-player__details-drawer {
    position: fixed;
    z-index: var(--ofm-layer-player-details, 99920);
    right: max(20px, env(safe-area-inset-right));
    bottom: calc(var(--player-height, 118px) + env(safe-area-inset-bottom) + 18px);
    width: min(430px, calc(100vw - 40px));
    max-height: min(640px, calc(100vh - var(--player-height, 118px) - 42px));
    display: grid;
    gap: 18px;
    overflow: auto;
    overscroll-behavior: contain;
    padding: 18px;
    border: 1px solid rgba(244, 196, 48, .28);
    border-radius: 24px;
    color: #fff;
    background: rgba(24, 24, 24, .97);
    background: color-mix(in srgb, #202020 95%, #080808);
    box-shadow: 0 24px 70px rgba(0, 0, 0, .56), inset 0 1px 0 rgba(255, 255, 255, .05);
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transform: translateY(18px) scale(.975);
    transform-origin: right bottom;
    transition: opacity .26s ease, transform .34s cubic-bezier(.2, .82, .22, 1), visibility .26s ease;
}

#ofm-now-playing-drawer.ofm-player__details-drawer::before {
    content: '';
    position: absolute;
    inset: 0;
    pointer-events: none;
    border-radius: inherit;
    background: radial-gradient(circle at 18% 0, rgba(244, 196, 48, .12), transparent 42%), linear-gradient(132deg, transparent 48%, rgba(255, 255, 255, .025));
}

#ofm-now-playing-drawer.ofm-player__details-drawer > * { position: relative; z-index: 1; }
#ofm-now-playing-drawer.ofm-player__details-drawer.is-open { opacity: 1; visibility: visible; pointer-events: auto; transform: translateY(0) scale(1); }
#ofm-player.ofm-player.is-workspace-hidden ~ #ofm-now-playing-drawer.ofm-player__details-drawer { visibility: hidden; pointer-events: none; }

#ofm-player.ofm-player .ofm-player__info:not(:disabled) {
    color: rgba(255,255,255,.46);
    opacity: .56;
    transition: color .18s ease, opacity .18s ease, background .18s ease, transform .18s ease;
}
#ofm-player.ofm-player .ofm-player__info:not(:disabled):hover,
#ofm-player.ofm-player .ofm-player__info:not(:disabled):focus-visible,
#ofm-player.ofm-player .ofm-player__info[aria-expanded="true"] {
    color: #f4c430;
    opacity: 1;
    background: rgba(244,196,48,.1);
}
#ofm-player.ofm-player .ofm-player__info:not(:disabled):hover { transform: translateY(-1px); }
#ofm-player.ofm-player .ofm-player__info:focus-visible { outline: 2px solid #f4c430; outline-offset: 2px; }
#ofm-player.ofm-player .ofm-player__info:disabled { cursor: default; opacity: .26; }

.ofm-now-playing__header { display: flex; align-items: center; justify-content: space-between; gap: 14px; }
.ofm-now-playing__header > p,
.ofm-now-playing__eyebrow { margin: 0; color: #f4c430; font-size: .69rem; font-weight: 800; letter-spacing: .16em; line-height: 1; text-transform: uppercase; }
.ofm-now-playing__close { display: grid; place-items: center; flex: 0 0 auto; width: 36px; height: 36px; padding: 0; border: 1px solid rgba(255, 255, 255, .16); border-radius: 50%; color: #fff; background: rgba(255, 255, 255, .035); cursor: pointer; transition: color .18s ease, border-color .18s ease, background .18s ease, transform .18s ease; }
.ofm-now-playing__close svg,
.ofm-now-playing__open svg { width: 19px; height: 19px; fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 2; }
.ofm-now-playing__close:hover,
.ofm-now-playing__close:focus-visible { border-color: #f4c430; color: #f4c430; background: rgba(244, 196, 48, .11); outline: none; transform: rotate(4deg); }

.ofm-now-playing__identity { display: grid; grid-template-columns: 126px minmax(0, 1fr); align-items: center; gap: 17px; }
.ofm-now-playing__cover { display: block; overflow: hidden; width: 126px; aspect-ratio: 1; border-radius: 17px; background: linear-gradient(145deg, #343434, #151515); box-shadow: 0 16px 30px rgba(0, 0, 0, .3); }
.ofm-now-playing__cover img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .5s cubic-bezier(.18, .8, .22, 1); }
.ofm-now-playing__cover[href]:hover img,
.ofm-now-playing__cover[href]:focus-visible img { transform: scale(1.045); }
.ofm-now-playing__cover:focus-visible { outline: 2px solid #f4c430; outline-offset: 3px; }
.ofm-now-playing__copy { min-width: 0; }
.ofm-now-playing__copy h2 { margin: 9px 0 4px; font-size: clamp(1.25rem, 2vw, 1.7rem); font-weight: 650; letter-spacing: -.035em; line-height: 1.05; }
.ofm-now-playing__copy h2 a,
.ofm-now-playing__copy > p a { color: inherit; text-decoration: none; }
.ofm-now-playing__copy h2 a[href]:hover,
.ofm-now-playing__copy h2 a[href]:focus-visible,
.ofm-now-playing__copy > p a[href]:hover,
.ofm-now-playing__copy > p a[href]:focus-visible { color: #f4c430; outline: none; }
.ofm-now-playing__copy > p:last-child { overflow: hidden; margin: 0; color: #b6b6b6; font-size: .95rem; text-overflow: ellipsis; white-space: nowrap; }

.ofm-now-playing__stats { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 9px; margin: 0; }
.ofm-now-playing__stats > div { min-width: 0; padding: 11px 12px; border: 1px solid rgba(255, 255, 255, .08); border-radius: 13px; background: rgba(255, 255, 255, .035); }
.ofm-now-playing__stats dt { margin: 0 0 4px; color: #a9a9a9; font-size: .72rem; }
.ofm-now-playing__stats dd { overflow: hidden; margin: 0; color: #fff; font-size: .9rem; font-variant-numeric: tabular-nums; text-overflow: ellipsis; white-space: nowrap; }

.ofm-now-playing__open { display: flex; align-items: center; justify-content: center; gap: 9px; min-height: 46px; padding: 10px 14px; border: 1px solid rgba(244, 196, 48, .44); border-radius: 14px; color: #181818; background: #f4c430; font-size: .9rem; font-weight: 800; text-decoration: none; transition: background .18s ease, box-shadow .18s ease, transform .18s ease; }
.ofm-now-playing__open:hover,
.ofm-now-playing__open:focus-visible { background: #ffd34d; box-shadow: 0 8px 22px rgba(244, 196, 48, .2); outline: none; transform: translateY(-1px); }
.ofm-now-playing__open[hidden] { display: none; }

@media (max-width: 760px) {
    #ofm-now-playing-drawer.ofm-player__details-drawer { right: 12px; bottom: calc(var(--player-height, 194px) + env(safe-area-inset-bottom) + 12px); width: min(440px, calc(100vw - 24px)); max-height: min(68dvh, calc(100dvh - var(--player-height, 194px) - 28px)); border-radius: 21px; }
}

@media (max-width: 580px) {
    #ofm-now-playing-drawer.ofm-player__details-drawer { right: 8px; bottom: calc(var(--player-height, 142px) + env(safe-area-inset-bottom) + 8px); width: calc(100vw - 16px); max-height: min(70dvh, calc(100dvh - var(--player-height, 142px) - 20px - env(safe-area-inset-bottom))); padding: 15px; border-radius: 19px; transform-origin: center bottom; }
    .ofm-now-playing__identity { grid-template-columns: 104px minmax(0, 1fr); gap: 14px; }
    .ofm-now-playing__cover { width: 104px; border-radius: 15px; }
    .ofm-now-playing__copy h2 { font-size: 1.33rem; }
    .ofm-now-playing__copy > p:last-child { font-size: .88rem; }
}

@media (max-width: 420px) {
    #ofm-player.ofm-player .ofm-player__volume-input { display: none; }
    #ofm-player.ofm-player .ofm-player__actions { gap: 2px; }
    .ofm-now-playing__identity { grid-template-columns: 86px minmax(0, 1fr); gap: 12px; }
    .ofm-now-playing__cover { width: 86px; border-radius: 13px; }
    .ofm-now-playing__stats > div { padding: 10px; }
}

@media (prefers-reduced-motion: reduce) {
    #ofm-now-playing-drawer,
    .ofm-now-playing__close,
    .ofm-now-playing__cover img,
    .ofm-now-playing__open { transition: none; }
}
/* Compact public chart and comment details. These elements are informational:
   they never own player state or modify the queue. */
.ofm-now-playing__stats{grid-template-columns:minmax(0,1.2fr) minmax(0,.86fr) minmax(0,.74fr)}
.ofm-now-playing__rank-wrap dd{display:flex;align-items:center;min-height:22px}
.ofm-now-playing__rank{display:inline-flex;align-items:center;gap:4px;min-width:0;color:#f4c430;font-size:.82rem;font-weight:800;line-height:1;text-decoration:none;transition:color .16s ease,transform .16s ease}
.ofm-now-playing__rank svg{width:15px;height:15px;flex:0 0 15px;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8}
.ofm-now-playing__rank[href]:hover,.ofm-now-playing__rank[href]:focus-visible{color:#fff;outline:none;transform:translateY(-1px)}
.ofm-now-playing__rank[aria-disabled="true"]{pointer-events:none}
.ofm-now-playing__comment{display:grid;grid-template-columns:36px minmax(0,1fr);align-items:start;gap:10px;padding:11px 12px;border:1px solid rgba(255,255,255,.09);border-radius:14px;background:rgba(255,255,255,.035)}
.ofm-now-playing__comment-avatar{display:grid;width:36px;height:36px;overflow:hidden;place-items:center;border:1px solid rgba(244,196,48,.38);border-radius:50%;background:#282828;color:#d8bd65}
.ofm-now-playing__comment-avatar img{display:block;width:100%;height:100%;object-fit:cover}
.ofm-now-playing__comment-avatar svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8}
.ofm-now-playing__comment p{min-width:0;margin:0;color:#d9d9d9;font-size:.84rem;line-height:1.42;word-break:break-word}
.ofm-now-playing__comment p::before{content:attr(data-ofm-now-playing-comment-label);display:block;margin:0 0 3px;color:#a9a9a9;font-size:.64rem;font-weight:800;letter-spacing:.11em;line-height:1;text-transform:uppercase}
@media(max-width:580px){.ofm-now-playing__stats{grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr) minmax(0,.72fr)}.ofm-now-playing__stats>div{padding:10px 9px}.ofm-now-playing__rank{font-size:.77rem}.ofm-now-playing__comment{padding:10px}}
@media(max-width:420px){.ofm-now-playing__stats{grid-template-columns:minmax(0,1.05fr) minmax(0,.9fr) minmax(0,.7fr)}.ofm-now-playing__comment{grid-template-columns:32px minmax(0,1fr);gap:9px}.ofm-now-playing__comment-avatar{width:32px;height:32px}}
@media(prefers-reduced-motion:reduce){.ofm-now-playing__rank{transition:none}}
/* Keep the information symbol quiet until its details panel is genuinely open.
   Hover and focus remain discoverable without using the active gold treatment. */
#ofm-player.ofm-player .ofm-player__info:not(:disabled):hover{color:rgba(255,255,255,.62);background:rgba(255,255,255,.055);transform:none}
#ofm-player.ofm-player .ofm-player__info:focus-visible{color:rgba(255,255,255,.7);background:rgba(255,255,255,.055);outline:2px solid #f4c430;outline-offset:2px}
#ofm-player.ofm-player .ofm-player__info[aria-expanded="true"]{color:#f4c430;opacity:1;background:rgba(244,196,48,.1)}

/* Both player overlays keep their controls clear of landscape cutouts. */
#ofm-queue-drawer.ofm-player__queue-drawer {
	--ofm-player-overlay-inline-end: max(20px, env(safe-area-inset-right));
	--ofm-player-overlay-inline-start: max(20px, env(safe-area-inset-left));
	right: var(--ofm-player-overlay-inline-end);
	width: min(420px, calc(100vw - var(--ofm-player-overlay-inline-start) - var(--ofm-player-overlay-inline-end)));
}

#ofm-now-playing-drawer.ofm-player__details-drawer {
	--ofm-player-overlay-inline-end: max(20px, env(safe-area-inset-right));
	--ofm-player-overlay-inline-start: max(20px, env(safe-area-inset-left));
	right: var(--ofm-player-overlay-inline-end);
	width: min(430px, calc(100vw - var(--ofm-player-overlay-inline-start) - var(--ofm-player-overlay-inline-end)));
}

@media (max-width: 760px) {
	#ofm-queue-drawer.ofm-player__queue-drawer {
		--ofm-player-overlay-inline-end: max(12px, env(safe-area-inset-right));
		--ofm-player-overlay-inline-start: max(12px, env(safe-area-inset-left));
		width: min(440px, calc(100vw - var(--ofm-player-overlay-inline-start) - var(--ofm-player-overlay-inline-end)));
	}

	#ofm-now-playing-drawer.ofm-player__details-drawer {
		--ofm-player-overlay-inline-end: max(12px, env(safe-area-inset-right));
		--ofm-player-overlay-inline-start: max(12px, env(safe-area-inset-left));
		width: min(440px, calc(100vw - var(--ofm-player-overlay-inline-start) - var(--ofm-player-overlay-inline-end)));
	}
}

@media (max-width: 580px) {
	#ofm-now-playing-drawer.ofm-player__details-drawer {
		--ofm-player-overlay-inline-end: max(8px, env(safe-area-inset-right));
		--ofm-player-overlay-inline-start: max(8px, env(safe-area-inset-left));
		width: calc(100vw - var(--ofm-player-overlay-inline-start) - var(--ofm-player-overlay-inline-end));
	}
}

@media (max-width: 480px) {
	#ofm-queue-drawer.ofm-player__queue-drawer {
		--ofm-player-overlay-inline-end: max(8px, env(safe-area-inset-right));
		--ofm-player-overlay-inline-start: max(8px, env(safe-area-inset-left));
		width: calc(100vw - var(--ofm-player-overlay-inline-start) - var(--ofm-player-overlay-inline-end));
	}
}

/* Account for both viewport cutouts when a drawer grows toward the header. */
#ofm-queue-drawer.ofm-player__queue-drawer {
	max-height: min(560px, calc(100dvh - var(--player-height, 118px) - env(safe-area-inset-top) - env(safe-area-inset-bottom) - 44px));
}

#ofm-now-playing-drawer.ofm-player__details-drawer {
	max-height: min(640px, calc(100dvh - var(--player-height, 118px) - env(safe-area-inset-top) - env(safe-area-inset-bottom) - 42px));
}

@media (max-width: 760px) {
	#ofm-queue-drawer.ofm-player__queue-drawer {
		max-height: min(64dvh, calc(100dvh - var(--player-height, 194px) - env(safe-area-inset-top) - env(safe-area-inset-bottom) - 28px));
	}

	#ofm-now-playing-drawer.ofm-player__details-drawer {
		max-height: min(68dvh, calc(100dvh - var(--player-height, 194px) - env(safe-area-inset-top) - env(safe-area-inset-bottom) - 28px));
	}
}

@media (max-width: 580px) {
	#ofm-now-playing-drawer.ofm-player__details-drawer {
		max-height: min(70dvh, calc(100dvh - var(--player-height, 142px) - env(safe-area-inset-top) - env(safe-area-inset-bottom) - 20px));
	}
}

@media (max-width: 480px) {
	#ofm-queue-drawer.ofm-player__queue-drawer {
		max-height: min(62dvh, calc(100dvh - var(--player-height, 142px) - env(safe-area-inset-top) - env(safe-area-inset-bottom) - 20px));
	}
}

/* Source: assets/css/player/queue-actions.css */
#ofm-queue-list>li{position:relative;min-height:64px}#ofm-queue-list .ofm-queue__item{position:relative;min-height:64px;padding-right:84px}#ofm-queue-list .ofm-queue__item::after{content:'';position:absolute;z-index:1;top:50%;left:18px;width:26px;height:26px;border:1px solid rgb(244 196 48 / .32);border-radius:50%;background:rgb(244 196 48 / .45) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23171717' d='m9 6 8 6-8 6z'/%3E%3C/svg%3E") center/12px no-repeat;box-shadow:0 2px 7px rgb(0 0 0 / .16);opacity:0;pointer-events:none;transform:translateY(-50%) scale(.92);transition:opacity .18s ease,transform .18s ease,background .18s ease}#ofm-queue-list>li:hover .ofm-queue__item::after,#ofm-queue-list .ofm-queue__item:focus-visible::after{opacity:.58;transform:translateY(-50%) scale(1)}#ofm-player.is-playing #ofm-queue-list>li:hover .ofm-queue__item.is-current::after{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='%23171717' stroke-linecap='round' stroke-width='2.8' d='M8 6v12M16 6v12'/%3E%3C/svg%3E");opacity:.68}#ofm-queue-list .ofm-queue__actions{position:absolute;z-index:2;top:50%;right:14px;display:flex;gap:4px;transform:translateY(-50%)}#ofm-queue-list button.ofm-queue__action{display:grid;place-items:center;box-sizing:border-box;width:30px;height:30px;margin:0;padding:0;border:0;border-radius:50%;background:transparent;color:#b7b7b7;cursor:pointer}#ofm-queue-list button.ofm-queue__action:hover,#ofm-queue-list button.ofm-queue__action:focus-visible{background:rgb(244 196 48 / .16);color:#f4c430;outline:none}#ofm-queue-list button.ofm-queue__action.is-saved{color:#f4c430}#ofm-queue-list button.ofm-queue__action svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}#ofm-queue-list button.ofm-queue__action.is-saved svg{fill:currentColor}#ofm-queue-close{appearance:none!important;display:grid!important;place-items:center!important;box-sizing:border-box!important;width:32px!important;height:32px!important;min-height:32px!important;margin:0!important;padding:0!important;border:0!important;border-radius:50%!important;background:transparent!important;color:#f5f5f5!important;font-family:Arial,sans-serif!important;font-size:0!important;line-height:1!important;box-shadow:none!important;cursor:pointer!important}#ofm-queue-close::before{content:'\00d7';display:block;font-size:30px;font-weight:400;line-height:30px;transform:translateY(-1px)}#ofm-queue-close:hover,#ofm-queue-close:focus-visible{background:#2a2a2a!important;color:#fff!important;outline:none!important}@media(max-width:580px){#ofm-queue-list>li,#ofm-queue-list .ofm-queue__item{min-height:58px}#ofm-queue-list .ofm-queue__item{padding-right:80px}#ofm-queue-list .ofm-queue__item::after{left:16px;width:24px;height:24px;background-size:11px}#ofm-queue-list .ofm-queue__actions{right:10px}}

/* Source: assets/css/player/animations.css */
#ofm-player.ofm-player { animation: ofm-player-enter .32s ease both; }
#ofm-player.ofm-player.is-playing .ofm-player__cover-image { animation: ofm-cover-breathe 4s ease-in-out infinite; }

@keyframes ofm-player-enter {
	from { transform: translateY(100%); }
	to { transform: translateY(0); }
}

@keyframes ofm-cover-breathe {
	50% { transform: scale(1.025); box-shadow: 0 0 0 4px rgb(244 196 48 / .12), 0 7px 18px rgb(0 0 0 / .28); }
}

@media (prefers-reduced-motion: reduce) {
	#ofm-player.ofm-player,
	#ofm-player.ofm-player.is-playing .ofm-player__cover-image { animation: none; }

	#ofm-player.ofm-player .ofm-player__button,
	#ofm-player.ofm-player .ofm-player__favorite { transition: none; }
}

/* Source: assets/css/player/responsive.css */
@media (max-width: 850px) {
	#ofm-player.ofm-player {
		grid-template-columns: minmax(0, 1fr) auto;
		gap: 10px 18px;
	}

	#ofm-player.ofm-player .ofm-player__transport { grid-column: 1 / -1; grid-row: 1; }
	#ofm-player.ofm-player .ofm-player__identity { grid-column: 1; grid-row: 2; }
	#ofm-player.ofm-player .ofm-player__actions { grid-column: 2; grid-row: 2; }
}

@media (max-width: 580px) {
	#ofm-player.ofm-player {
		min-height: var(--player-height, 142px);
		padding: 9px 12px calc(9px + env(safe-area-inset-bottom));
	}

	#ofm-player.ofm-player .ofm-player__transport { gap: 3px; }
	#ofm-player.ofm-player .ofm-player__progress { width: 100%; }
	#ofm-player.ofm-player .ofm-player__identity { gap: 9px; }
	#ofm-player.ofm-player .ofm-player__cover-image { width: 42px; height: 42px; }
	#ofm-player.ofm-player .ofm-player__title { font-size: .87rem; }
	#ofm-player.ofm-player .ofm-player__artist { font-size: .75rem; }
	#ofm-player.ofm-player .ofm-player__actions { gap: 2px; }
	#ofm-player.ofm-player :is(#mute, .ofm-player__volume-input) { display: none; }
	#ofm-player.ofm-player :is(.ofm-player__info, .ofm-player__hide) { width: 32px; height: 32px; min-width: 32px; min-height: 32px; opacity: .68; }
	#ofm-player.ofm-player :is(.ofm-player__info, .ofm-player__hide) svg { width: 16px; height: 16px; }
	#ofm-player.ofm-player .ofm-player__queue-toggle { display: inline-grid; }
	#ofm-player.ofm-player .ofm-player__controls { gap: 3px; }
	#ofm-player.ofm-player :is(#shuffle, #repeat) { width: 36px; height: 36px; min-width: 36px; min-height: 36px; opacity: .56; }
	#ofm-player.ofm-player :is(#shuffle, #repeat) svg { width: 13px; height: 13px; stroke-width: 1.8; }
}

@media (max-width: 420px) {
	#ofm-player.ofm-player .ofm-player__favorite { display: none; }
	#ofm-player.ofm-player .ofm-player__identity { min-width: 0; }
	#ofm-player.ofm-player .ofm-player__controls { gap: 2px; }
}

/* Source: assets/css/player/workspace-visibility.css */
/* Keep the persistent player available, with a universal compact hide control. */
#ofm-player.ofm-player #player-workspace-hide { display: inline-grid; }
#player-workspace-show,
#player-workspace-show *,
#player-workspace-show *::before,
#player-workspace-show *::after { box-sizing: border-box; }
#player-workspace-show[hidden] { display: none !important; }

#ofm-player.ofm-player.is-workspace-hidden,
#ofm-player.ofm-player.is-workspace-hidden + #ofm-queue-drawer.ofm-player__queue-drawer {
    visibility: hidden;
    pointer-events: none;
}

html.ofm-player-workspace-hidden body {
    padding-bottom: calc(76px + env(safe-area-inset-bottom));
}

html.ofm-player-workspace-route.ofm-player-workspace-hidden .ofm-artist-studio,
html.ofm-player-workspace-route.ofm-player-workspace-hidden .ofm-editor-review-portal {
    padding-bottom: calc(84px + env(safe-area-inset-bottom));
}

#player-workspace-show {
    position: fixed;
    z-index: var(--ofm-layer-player, 99900);
    right: max(16px, env(safe-area-inset-right));
    bottom: calc(16px + env(safe-area-inset-bottom));
    display: inline-flex;
    align-items: center;
    gap: 8px;
    min-height: 44px;
    padding: 10px 15px;
    border: 1px solid rgba(252, 190, 13, .56);
    border-radius: 999px;
    color: #171717;
    background: #fcbe0d;
    box-shadow: 0 10px 28px rgba(0, 0, 0, .34);
    cursor: pointer;
    font: inherit;
    font-size: .82rem;
    font-weight: 800;
    line-height: 1;
    transition: transform .18s ease, background .18s ease, box-shadow .18s ease;
}

#player-workspace-show svg {
    width: 18px;
    height: 18px;
    fill: none;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 2.2;
}

#player-workspace-show:hover,
#player-workspace-show:focus-visible {
    background: #fdcf36;
    box-shadow: 0 0 0 3px rgba(252, 190, 13, .26), 0 10px 28px rgba(0, 0, 0, .34);
    outline: none;
    transform: translateY(-1px);
}

html.ofm-access-modal-open #player-workspace-show { display: none !important; }

@media (max-width: 580px) {
    html.ofm-player-workspace-hidden body {
        padding-bottom: calc(68px + env(safe-area-inset-bottom));
    }

    html.ofm-player-workspace-route.ofm-player-workspace-hidden .ofm-artist-studio,
    html.ofm-player-workspace-route.ofm-player-workspace-hidden .ofm-editor-review-portal {
        padding-bottom: calc(76px + env(safe-area-inset-bottom));
    }

    #player-workspace-show {
        right: 12px;
        bottom: calc(12px + env(safe-area-inset-bottom));
        min-height: 44px;
        padding: 10px 13px;
    }
}

@media (prefers-reduced-motion: reduce) {
    #player-workspace-show { transition: none; }
}

/* Source: assets/css/player/station.css */
.ofm-station-track{width:min(100%,760px);display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;margin:0 0 14px;padding:8px 12px 8px 8px;border:1px solid #303030;border-radius:16px;background:#171717;color:#fff;transition:border-color .18s ease,background .18s ease,transform .18s ease}.ofm-station-track:hover{border-color:rgba(244,196,48,.45);background:#1d1d1d;transform:translateY(-1px)}.ofm-station-track.is-current{border-color:rgba(244,196,48,.7);background:rgba(244,196,48,.1)}.ofm-station-track__trigger{display:grid;grid-template-columns:44px minmax(0,1fr);align-items:center;gap:14px;width:100%;padding:5px;border:0;background:transparent;color:inherit;text-align:left;cursor:pointer}.ofm-station-track__play{width:38px;height:38px;display:grid;place-items:center;border-radius:50%;background:#f4c430;color:#111;transition:transform .2s,box-shadow .2s}.ofm-station-track__play svg{width:17px;height:17px;fill:currentColor;stroke:none}.ofm-station-track__play .icon-pause{display:none;fill:none;stroke:currentColor;stroke-width:2.5}.ofm-station-track.is-playing .icon-play{display:none}.ofm-station-track.is-playing .icon-pause{display:block}.ofm-station-track.is-playing .ofm-station-track__play{box-shadow:0 0 0 7px rgba(244,196,48,.11);animation:ofm-track-pulse 1.6s ease-in-out infinite}.ofm-station-track__details{min-width:0;display:flex;align-items:center;gap:13px}.ofm-station-track__number{color:#9c9c9c;font-size:.78rem;font-variant-numeric:tabular-nums}.ofm-station-track__title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:700}.ofm-station-track__favorite{width:34px;height:34px;display:grid;place-items:center;padding:0;border:0;background:transparent;color:#a8a8a8;cursor:pointer}.ofm-station-track__favorite svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:2}.ofm-station-track__favorite:hover{color:#fff}.ofm-station-track__favorite.is-saved{color:#f4c430}.ofm-station-track__favorite.is-saved svg{fill:currentColor}@keyframes ofm-track-pulse{50%{transform:scale(1.05)}}.ofm-station-track__trigger:focus-visible,.ofm-station-track__favorite:focus-visible{outline:2px solid #f4c430;outline-offset:3px}@media(max-width:580px){.ofm-station-track{margin-bottom:10px;padding:7px 9px 7px 7px;border-radius:14px}.ofm-station-track__trigger{grid-template-columns:40px minmax(0,1fr);gap:10px}.ofm-station-track__play{width:34px;height:34px}.ofm-station-track__details{gap:9px}.ofm-station-track__title{font-size:.93rem}}

/* Source: assets/css/player/station-waveform.css */
/*
 * A Station waveform is a visual envelope plus a range control for the one
 * currently loaded shared-player track. The range sits beside, never inside,
 * the native play button so nested interactive controls are avoided.
 */
[data-ofm-station-root] .ofm-station-track__waveform{--ofm-wave-progress:0%;position:relative;isolation:isolate;display:block;flex:1 1 auto;min-width:76px;height:38px;margin:0;border-radius:999px;opacity:.58;transition:opacity .2s ease,filter .2s ease}
[data-ofm-station-root] .ofm-station-track__waveform.is-current{opacity:.8}
[data-ofm-station-root] .ofm-station-track__waveform.is-active{opacity:1;filter:drop-shadow(0 0 8px rgb(244 196 48 / .12))}
[data-ofm-station-root] .ofm-station-track__waveform.is-unavailable{opacity:.46}
[data-ofm-station-root] .ofm-station-track__waveform::before{position:absolute;z-index:0;inset:50% 0 auto;height:1px;content:"";background:linear-gradient(90deg,transparent,rgb(244 196 48 / .22) 12% 88%,transparent);transform:translateY(-50%)}
[data-ofm-station-root] .ofm-station-track__waveform::after{position:absolute;z-index:3;top:4px;bottom:4px;left:var(--ofm-wave-progress);width:2px;content:"";border-radius:999px;background:#fff3b3;box-shadow:0 0 0 2px rgb(244 196 48 / .12),0 0 11px 3px rgb(244 196 48 / .55);opacity:0;transform:translateX(-50%);transition:opacity .18s ease;will-change:left;pointer-events:none}
[data-ofm-station-root] .ofm-station-track__waveform.is-current::after{opacity:.82}
[data-ofm-station-root] .ofm-station-track__waveform.is-active::after{opacity:1}
[data-ofm-station-root] .ofm-station-track__waveform-bars{position:absolute;z-index:1;inset:0;display:flex;justify-content:space-between;align-items:center;gap:0;overflow:hidden;border-radius:999px;pointer-events:none}
[data-ofm-station-root] .ofm-station-track__waveform-bar{position:relative;display:block;flex:0 1 clamp(2px,.38vw,4px);min-width:1px;max-width:4px;height:var(--ofm-wave-height,26%);border-radius:999px;background:linear-gradient(180deg,rgb(187 187 187 / .78),rgb(100 100 100 / .48));opacity:.65;transform:scaleY(.94);transform-origin:center;transition:opacity .18s ease,box-shadow .18s ease,transform .18s ease}
[data-ofm-station-root] .ofm-station-track__waveform-bar.is-played{background:linear-gradient(180deg,#fff2af 0%,#f4c430 45%,#b77e00 100%);opacity:1;box-shadow:0 0 8px rgb(244 196 48 / .26);transform:scaleY(1)}
[data-ofm-station-root] .ofm-station-track__waveform.is-active .ofm-station-track__waveform-bar:not(.is-played){background:linear-gradient(180deg,rgb(232 224 183 / .7),rgb(145 123 57 / .55));opacity:.8}
[data-ofm-station-root] .ofm-station-track__waveform.is-fallback .ofm-station-track__waveform-bar{opacity:.5}
[data-ofm-station-root] .ofm-station-track__waveform.is-fallback .ofm-station-track__waveform-bar.is-played{opacity:.88}
[data-ofm-station-root] .ofm-station-track__waveform-seek{position:absolute;z-index:2;inset:0;width:100%;height:100%;margin:0;padding:0;border:0;border-radius:999px;appearance:none;-webkit-appearance:none;background:transparent;cursor:pointer;opacity:.01}
[data-ofm-station-root] .ofm-station-track__waveform-seek:disabled{cursor:not-allowed}
[data-ofm-station-root] .ofm-station-track__waveform:focus-within{outline:2px solid rgb(255 233 137 / .95);outline-offset:4px;box-shadow:0 0 0 4px rgb(244 196 48 / .14)}
@media(max-width:680px){[data-ofm-station-root] .ofm-station-track__waveform{min-width:54px;height:32px}[data-ofm-station-root] .ofm-station-track__waveform::after{top:3px;bottom:3px;width:1px}[data-ofm-station-root] .ofm-station-track__waveform-bar{max-width:3px}}
@media(max-width:420px){[data-ofm-station-root] .ofm-station-track__waveform{min-width:42px;height:28px;opacity:.34}}
@media(prefers-reduced-motion:reduce){[data-ofm-station-root] .ofm-station-track__waveform,[data-ofm-station-root] .ofm-station-track__waveform::after,[data-ofm-station-root] .ofm-station-track__waveform-bar{transition:none}}

/* Source: assets/css/player/station-release.css */
/*
 * The child theme owns the entire public Station shell. Its real document
 * header is rendered before the normal audio blocks, so no parent Station
 * header needs to be hidden, relocated, or kept as a visual fallback.
 */
[data-ofm-station-root]{
    min-height:100vh;
    background:#0b0d0f;
}

[data-ofm-station-root].ofm-station-page,
[data-ofm-station-root] .ofm-station-page{
    min-height:100vh;
    padding:clamp(10px,2vw,24px) 0 clamp(72px,10vw,140px);
    color:#fff;
    background:
        radial-gradient(circle at 50% -20%,rgb(244 196 48 / .07),transparent 38%),
        #0b0d0f;
}

[data-ofm-station-root] .ofm-station-entry{
    width:100%;
    max-width:none;
    min-height:0;
    margin:0;
    padding:0;
    border:0;
    background:transparent;
    box-shadow:none;
}

[data-ofm-station-root] [data-ofm-station-article]>[data-ofm-station-surface]{
    width:100%;
    max-width:none;
    margin:0;
    padding:0;
}

[data-ofm-station-root] [data-ofm-station-surface]{
    --ofm-station-burst-primary:150 116 34;
    --ofm-station-burst-accent:244 196 48;
}

[data-ofm-station-root] .ofm-station-release-hero{
    --ofm-station-burst-primary:150 116 34;
    --ofm-station-burst-accent:244 196 48;
    position:relative;
    isolation:isolate;
    display:grid;
    grid-template-columns:clamp(144px,20vw,250px) minmax(0,1fr);
    align-items:center;
    gap:clamp(18px,3vw,34px);
    width:min(100% - 28px,1060px);
    margin:clamp(18px,3vw,38px) auto 22px;
    padding:clamp(16px,2.7vw,28px);
    overflow:hidden;
    border:1px solid rgb(var(--ofm-station-burst-accent) / .42);
    border-radius:28px;
    background:
        radial-gradient(circle at 7% 12%,rgb(var(--ofm-station-burst-accent) / .3),transparent 36%),
        radial-gradient(circle at 86% 84%,rgb(var(--ofm-station-burst-primary) / .32),transparent 48%),
        linear-gradient(132deg,rgb(22 23 24 / .84),rgb(8 9 11 / .68));
    box-shadow:0 28px 72px rgb(0 0 0 / .3);
    backdrop-filter:blur(20px) saturate(1.16);
    color:#fff;
}

[data-ofm-station-root] .ofm-station-release-hero[hidden]{
    display:none!important;
}

[data-ofm-station-root] .ofm-station-release-fallback{
    width:min(100% - 28px,960px);
    margin:clamp(18px,3vw,38px) auto 22px;
    padding:clamp(18px,3vw,28px);
    border:1px solid rgb(244 196 48 / .28);
    border-radius:24px;
    background:linear-gradient(135deg,rgb(244 196 48 / .12),rgb(14 15 16 / .8));
}

[data-ofm-station-root] .ofm-station-release-fallback .ofm-eyebrow{
    margin:0 0 8px;
    color:#f4c430;
    font-size:.64rem;
    font-weight:900;
    letter-spacing:.18em;
    text-transform:uppercase;
}

[data-ofm-station-root] .ofm-station-release-fallback h1{
    margin:0;
    color:#fff;
    font-size:clamp(2rem,5vw,4rem);
    letter-spacing:-.055em;
    line-height:1;
}

[data-ofm-station-root] .ofm-station-release-hero::before{
    position:absolute;
    z-index:-1;
    inset:-42%;
    border-radius:50%;
    background:
        radial-gradient(ellipse at 24% 28%,rgb(var(--ofm-station-burst-accent) / .46),transparent 30%),
        radial-gradient(ellipse at 75% 68%,rgb(var(--ofm-station-burst-primary) / .46),transparent 37%);
    content:"";
    filter:blur(28px) saturate(1.28);
    opacity:.92;
    pointer-events:none;
    transform:scale(1.08);
}

[data-ofm-station-root] .ofm-station-release-hero__cover{
    position:relative;
    display:grid;
    aspect-ratio:1;
    overflow:hidden;
    place-items:center;
    border:1px solid rgb(255 235 157 / .42);
    border-radius:20px;
    background:linear-gradient(145deg,rgb(var(--ofm-station-burst-primary) / .46),rgb(14 15 16 / .78) 64%);
    box-shadow:0 18px 38px rgb(0 0 0 / .36);
}

[data-ofm-station-root] .ofm-station-release-hero__cover::after{
    position:absolute;
    inset:0;
    border-radius:inherit;
    box-shadow:inset 0 0 0 1px rgb(255 255 255 / .07);
    content:"";
    pointer-events:none;
}

[data-ofm-station-root] .ofm-station-release-hero__cover img{
    display:block;
    width:100%;
    height:100%;
    object-fit:cover;
}

[data-ofm-station-root] .ofm-station-release-hero__cover-fallback{
    display:grid;
    width:52px;
    height:52px;
    place-items:center;
    border:1px solid rgb(var(--ofm-station-burst-accent) / .7);
    border-radius:50%;
    background:rgb(var(--ofm-station-burst-accent) / .13);
    color:#f4c430;
}

[data-ofm-station-root] .ofm-station-release-hero__cover-fallback svg{
    width:24px;
    height:24px;
    fill:currentColor;
}

[data-ofm-station-root] .ofm-station-release-hero__body{
    display:grid;
    min-width:0;
    align-content:center;
}

[data-ofm-station-root] .ofm-station-release-hero .ofm-eyebrow{
    margin:0 0 8px;
    color:#f4c430;
    font-size:.64rem;
    font-weight:900;
    letter-spacing:.18em;
    line-height:1.2;
    text-transform:uppercase;
}

[data-ofm-station-root] .ofm-station-release-hero h1{
    margin:0;
    overflow-wrap:anywhere;
    color:#fff;
    font-size:clamp(2rem,5vw,4.3rem);
    font-weight:850;
    letter-spacing:-.062em;
    line-height:.98;
}

[data-ofm-station-root] .ofm-station-release-hero__artist{
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    gap:7px;
    margin:12px 0 0;
    color:#dedede;
    font-size:clamp(.93rem,1.7vw,1.07rem);
    font-weight:760;
}

[data-ofm-station-root] .ofm-station-release-hero__artist a{
    color:#fff;
    text-decoration:none;
}

[data-ofm-station-root] .ofm-station-release-hero__artist a:hover,
[data-ofm-station-root] .ofm-station-release-hero__artist a:focus-visible{
    color:#ffe28a;
    outline:0;
    text-decoration:underline;
}

[data-ofm-station-root] .ofm-station-release-hero__artist .ofm-verification-badge{
    display:inline-grid;
    width:18px;
    height:18px;
    place-items:center;
    color:#f4c430;
}

[data-ofm-station-root] .ofm-station-release-hero__artist .ofm-verification-badge svg{
    width:100%;
    height:100%;
}

[data-ofm-station-root] .ofm-station-release-hero__facts{
    display:flex;
    flex-wrap:wrap;
    gap:7px;
    margin:18px 0 0;
}

[data-ofm-station-root] .ofm-station-release-hero__facts>div{
    display:grid;
    min-width:72px;
    gap:3px;
    padding:7px 10px;
    border:1px solid rgb(255 255 255 / .11);
    border-radius:11px;
    background:rgb(0 0 0 / .16);
}

[data-ofm-station-root] .ofm-station-release-hero__facts dt{
    margin:0;
    color:#aaa;
    font-size:.54rem;
    font-weight:850;
    letter-spacing:.11em;
    line-height:1;
    text-transform:uppercase;
}

[data-ofm-station-root] .ofm-station-release-hero__facts dd{
    margin:0;
    color:#f5f5f5;
    font-size:.78rem;
    font-weight:780;
    line-height:1.2;
    font-variant-numeric:tabular-nums;
}

[data-ofm-station-root] .ofm-station-release-hero__actions{
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    gap:8px;
    margin:19px 0 0;
}

[data-ofm-station-root] .ofm-station-release__like,
[data-ofm-station-root] .ofm-station-release__playlist,
[data-ofm-station-root] .ofm-station-release__share{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:8px;
    min-height:39px;
    padding:0 14px;
    border:1px solid rgb(255 255 255 / .18);
    border-radius:999px;
    background:rgb(255 255 255 / .045);
    color:#f2f2f2;
    cursor:pointer;
    font:800 .76rem/1 ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
    letter-spacing:.015em;
    transition:border-color .18s ease,background .18s ease,color .18s ease,transform .18s ease,box-shadow .18s ease;
}

[data-ofm-station-root] .ofm-station-release__like svg,
[data-ofm-station-root] .ofm-station-release__playlist svg,
[data-ofm-station-root] .ofm-station-release__share svg{
    width:16px;
    height:16px;
    fill:none;
    stroke:currentColor;
    stroke-linecap:round;
    stroke-linejoin:round;
    stroke-width:1.9;
}

[data-ofm-station-root] .ofm-station-release__like,
[data-ofm-station-root] .ofm-station-release__playlist,
[data-ofm-station-root] .ofm-station-release__share{
    width:39px;
    padding:0;
}

[data-ofm-station-root] .ofm-station-release__like.is-saved{
    border-color:rgb(244 196 48 / .72);
    background:rgb(244 196 48 / .12);
    color:#ffe28a;
}

[data-ofm-station-root] .ofm-station-release__like.is-saved svg{
    fill:currentColor;
}

[data-ofm-station-root] .ofm-station-release__like:hover,
[data-ofm-station-root] .ofm-station-release__like:focus-visible,
[data-ofm-station-root] .ofm-station-release__playlist:hover,
[data-ofm-station-root] .ofm-station-release__playlist:focus-visible,
[data-ofm-station-root] .ofm-station-release__share:hover,
[data-ofm-station-root] .ofm-station-release__share:focus-visible{
    border-color:rgb(244 196 48 / .78);
    background:rgb(244 196 48 / .1);
    color:#ffe28a;
    outline:0;
    transform:translateY(-1px);
}

[data-ofm-station-root] .ofm-station-release-hero__actions>.ofm-follows{
    justify-content:flex-start;
    gap:7px;
    margin:0;
}

[data-ofm-station-root] .ofm-station-release-hero__actions .ofm-follows__button{
    min-height:39px;
    padding:9px 13px;
}

[data-ofm-station-root] .ofm-station-release-hero__actions .ofm-follows__count{
    min-height:31px;
}

[data-ofm-station-root] [data-ofm-station-surface]>[data-ofm-station-content]{
    position:relative;
    width:min(100% - 28px,960px);
    margin:0 auto;
    padding:clamp(9px,1.6vw,15px);
    border:1px solid rgb(var(--ofm-station-burst-primary) / .25);
    border-radius:24px;
    background:
        radial-gradient(circle at 8% 2%,rgb(var(--ofm-station-burst-accent) / .14),transparent 40%),
        linear-gradient(135deg,rgb(19 21 23 / .66),rgb(11 12 14 / .48));
    box-shadow:0 20px 48px rgb(0 0 0 / .16);
    backdrop-filter:blur(16px) saturate(1.08);
}

[data-ofm-station-root] [data-ofm-station-content]>.ofm-station-release__queue-heading{
    display:flex;
    align-items:end;
    justify-content:space-between;
    gap:14px;
    margin:2px 3px 11px;
}

.ofm-station-release__queue-heading .ofm-eyebrow{
    margin:0;
    color:#f4c430;
    font-size:.62rem;
    font-weight:900;
    letter-spacing:.16em;
    line-height:1.2;
    text-transform:uppercase;
}

.ofm-station-release__queue-heading h2:not(.screen-reader-text){
    margin:5px 0 0;
    color:#fff;
    font-size:clamp(1.18rem,2.6vw,1.55rem);
    letter-spacing:-.045em;
    line-height:1.05;
}

.ofm-station-release__queue-heading>span{
    flex:0 0 auto;
    color:#b3b3b3;
    font-size:.7rem;
    font-weight:750;
    line-height:1.2;
    text-align:right;
}

[data-ofm-station-root] [data-ofm-station-content] .ofm-station-track{
    width:100%;
    display:block!important;
    margin:0 0 14px;
    padding:0;
    border:0;
    border-radius:0;
    background:transparent;
    box-shadow:none;
    color:#fff;
    transform:none;
}

[data-ofm-station-root] [data-ofm-station-content] .ofm-station-track:last-child{
    margin-bottom:0;
}

/* The label is deliberately outside the player surface.  It makes a release
 * easy to scan while leaving the whole bordered lane for the waveform and
 * its playback/actions alone. */
[data-ofm-station-root] [data-ofm-station-content] .ofm-station-track__label{
    display:flex;
    align-items:baseline;
    gap:10px;
    min-width:0;
    margin:0 5px 7px;
    color:#fff;
    font-size:clamp(.98rem,2vw,1.08rem);
    font-weight:800;
    letter-spacing:-.018em;
    line-height:1.22;
}

[data-ofm-station-root] [data-ofm-station-content] .ofm-station-track__label .ofm-station-track__number{
    flex:0 0 auto;
    color:#a7a7a7;
    font-size:.72em;
    font-weight:700;
}

[data-ofm-station-root] [data-ofm-station-content] .ofm-station-track__label .ofm-station-track__title{
    display:block;
    flex:1 1 auto;
    min-width:0;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
}

[data-ofm-station-root] [data-ofm-station-content] .ofm-station-track__surface{
    display:flex;
    align-items:center;
    gap:10px;
    min-height:60px;
    padding:8px 12px 8px 8px;
    border:1px solid rgb(255 255 255 / .13);
    border-radius:18px;
    background:
        linear-gradient(110deg,rgb(var(--ofm-station-burst-primary) / .14),transparent 47%),
        rgb(21 22 24 / .64);
    box-shadow:0 10px 24px rgb(0 0 0 / .1);
    backdrop-filter:blur(13px) saturate(1.05);
    transition:border-color .18s ease,background .18s ease,box-shadow .18s ease;
}

[data-ofm-station-root] [data-ofm-station-content] .ofm-station-track:hover .ofm-station-track__surface,
[data-ofm-station-root] [data-ofm-station-content] .ofm-station-track:focus-within .ofm-station-track__surface,
[data-ofm-station-root] [data-ofm-station-content] .ofm-station-track.is-current .ofm-station-track__surface{
    border-color:rgb(var(--ofm-station-burst-accent) / .58);
    background:
        linear-gradient(110deg,rgb(var(--ofm-station-burst-accent) / .2),transparent 50%),
        rgb(23 24 25 / .7);
    box-shadow:0 12px 28px rgb(0 0 0 / .16);
}

[data-ofm-station-root] [data-ofm-station-content] .ofm-station-track__trigger{
    display:grid;
    grid-template-columns:44px minmax(0,1fr);
    align-items:center;
    gap:14px;
    min-width:0;
    padding:5px;
}

[data-ofm-station-root] [data-ofm-station-content] .ofm-station-track__details{
    position:relative;
    display:block;
    flex:1 1 auto;
    min-width:0;
    min-height:38px;
}

/* The Station header already reports total release plays. Suppressing the
 * repeated row figure frees the complete lane for the per-track waveform. */
[data-ofm-station-root] [data-ofm-station-content] .ofm-station-track__stats{
    display:none!important;
}

[data-ofm-station-root] [data-ofm-station-surface]>[data-ofm-station-release-details]{
    width:min(100% - 28px,960px);
    margin:28px auto 38px;
}

.ofm-station-release-details,
.ofm-station-release-details *{
    box-sizing:border-box;
}

.ofm-station-release-details{
    display:grid;
    gap:18px;
}

.ofm-station-release-details__credits{
    display:grid;
    grid-template-columns:minmax(150px,.75fr) minmax(0,1.5fr);
    align-items:start;
    gap:18px;
    padding:clamp(17px,2.3vw,24px);
    border:1px solid rgb(255 255 255 / .12);
    border-radius:20px;
    background:linear-gradient(135deg,rgb(27 27 27 / .82),rgb(14 14 14 / .66));
    box-shadow:0 17px 40px rgb(0 0 0 / .18);
    backdrop-filter:blur(15px);
}

.ofm-station-release-details__credits .ofm-eyebrow,
.ofm-station-release-related__heading .ofm-eyebrow{
    margin:0 0 7px;
    color:#f4c430;
    font-size:.61rem;
    font-weight:900;
    letter-spacing:.16em;
    line-height:1.2;
    text-transform:uppercase;
}

.ofm-station-release-details__credits h2,
.ofm-station-release-related__heading h2{
    margin:0;
    color:#fff;
    font-size:clamp(1.15rem,2.4vw,1.55rem);
    letter-spacing:-.045em;
    line-height:1.04;
}

.ofm-station-release-details__credits dl{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:10px;
    margin:0;
}

.ofm-station-release-details__credits dl>div{
    display:grid;
    gap:4px;
    padding:8px 0;
    border-bottom:1px solid rgb(255 255 255 / .09);
}

.ofm-station-release-details__credits dt{
    color:#969696;
    font-size:.59rem;
    font-weight:850;
    letter-spacing:.1em;
    line-height:1.15;
    text-transform:uppercase;
}

.ofm-station-release-details__credits dd{
    overflow:hidden;
    margin:0;
    color:#eee;
    font-size:.82rem;
    font-weight:760;
    line-height:1.25;
    text-overflow:ellipsis;
    white-space:nowrap;
}

.ofm-station-release-related{
    display:grid;
    gap:14px;
    padding:clamp(17px,2.3vw,24px);
    border:1px solid rgb(var(--ofm-station-burst-accent) / .24);
    border-radius:20px;
    background:
        linear-gradient(135deg,rgb(var(--ofm-station-burst-primary) / .18),transparent 45%),
        rgb(15 16 17 / .72);
    box-shadow:0 17px 40px rgb(0 0 0 / .18);
    backdrop-filter:blur(15px);
}

.ofm-station-release-related__rail{
    display:grid;
    grid-auto-columns:minmax(176px,1fr);
    grid-auto-flow:column;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:11px;
    overflow-x:auto;
    padding:2px 1px 5px;
    scroll-snap-type:x proximity;
    scrollbar-color:rgb(244 196 48 / .45) transparent;
}

.ofm-station-release-related__card{
    position:relative;
    display:grid;
    grid-template-columns:58px minmax(0,1fr) 32px;
    gap:9px;
    align-items:center;
    min-width:0;
    padding:8px;
    border:1px solid rgb(255 255 255 / .1);
    border-radius:14px;
    background:rgb(8 8 8 / .3);
    scroll-snap-align:start;
    transition:border-color .18s ease,background .18s ease,transform .18s ease;
}

.ofm-station-release-related__card:hover,
.ofm-station-release-related__card:focus-within{
    border-color:rgb(244 196 48 / .52);
    background:rgb(244 196 48 / .08);
    transform:translateY(-1px);
}

.ofm-station-release-related__cover{
    display:block;
    overflow:hidden;
    width:58px;
    height:58px;
    border-radius:10px;
    background:#242424;
    color:#f4c430;
}

.ofm-station-release-related__cover img{
    display:block;
    width:100%;
    height:100%;
    object-fit:cover;
}

.ofm-station-release-related__cover>span{
    display:grid;
    width:100%;
    height:100%;
    place-items:center;
}

.ofm-station-release-related__cover svg{
    width:20px;
    height:20px;
    fill:currentColor;
}

.ofm-station-release-related__copy{
    display:grid;
    min-width:0;
    gap:3px;
}

.ofm-station-release-related__copy p{
    overflow:hidden;
    margin:0;
    color:#dcb739;
    font-size:.55rem;
    font-weight:900;
    letter-spacing:.09em;
    line-height:1.15;
    text-overflow:ellipsis;
    text-transform:uppercase;
    white-space:nowrap;
}

.ofm-station-release-related__copy h3{
    overflow:hidden;
    margin:0;
    color:#fff;
    font-size:.78rem;
    font-weight:850;
    line-height:1.22;
    text-overflow:ellipsis;
    white-space:nowrap;
}

.ofm-station-release-related__copy h3 a{
    color:inherit;
    text-decoration:none;
}

.ofm-station-release-related__copy h3 a:hover,
.ofm-station-release-related__copy h3 a:focus-visible{
    color:#ffe28a;
    outline:0;
    text-decoration:underline;
}

.ofm-station-release-related__copy>span{
    overflow:hidden;
    color:#aaa;
    font-size:.66rem;
    font-weight:650;
    line-height:1.2;
    text-overflow:ellipsis;
    white-space:nowrap;
}

.ofm-station-release-related__play{
    display:grid;
    place-items:center;
    width:32px;
    height:32px;
    padding:0;
    border:1px solid rgb(244 196 48 / .42);
    border-radius:50%;
    background:rgb(244 196 48 / .09);
    color:#f4c430;
    cursor:pointer;
    transition:border-color .18s ease,background .18s ease,color .18s ease,transform .18s ease;
}

.ofm-station-release-related__play svg{
    width:15px;
    height:15px;
    fill:currentColor;
}

.ofm-station-release-related__play:hover,
.ofm-station-release-related__play:focus-visible{
    border-color:#ffe28a;
    background:#f4c430;
    color:#17120b;
    outline:0;
    transform:scale(1.06);
}

.ofm-station-release-related__card.is-current{
    border-color:rgb(244 196 48 / .72);
    background:rgb(244 196 48 / .1);
}

.ofm-station-release-related__card.is-playing .ofm-station-release-related__play{
    border-color:#ffe28a;
    background:#f4c430;
    color:#17120b;
}

.ofm-station-release-related__card.is-playing .ofm-station-release-related__play svg{
    fill:none;
    stroke:currentColor;
    stroke-linecap:round;
    stroke-width:2;
}

@media(max-width:760px){
    [data-ofm-station-root] .ofm-station-release-hero{
        grid-template-columns:116px minmax(0,1fr);
        gap:16px;
        width:min(100% - 20px,1060px);
        padding:16px;
        border-radius:21px;
    }
    [data-ofm-station-root] .ofm-station-release-hero__cover{
        border-radius:15px;
    }
    [data-ofm-station-root] .ofm-station-release-hero h1{
        font-size:clamp(1.8rem,8vw,2.85rem);
    }
    [data-ofm-station-root] .ofm-station-release-hero__facts{
        margin-top:14px;
    }
    [data-ofm-station-root] .ofm-station-release-hero__actions{
        margin-top:15px;
    }
    [data-ofm-station-root] [data-ofm-station-surface]>[data-ofm-station-content],
    [data-ofm-station-root] [data-ofm-station-surface]>[data-ofm-station-release-details]{
        width:min(100% - 20px,960px);
    }
    [data-ofm-station-root] [data-ofm-station-surface]>[data-ofm-station-content]{
        padding:9px;
        border-radius:19px;
    }
    .ofm-station-release-details__credits{
        grid-template-columns:1fr;
        gap:14px;
    }
    .ofm-station-release-related__rail{
        grid-template-columns:none;
        grid-auto-columns:minmax(196px,72%);
    }
}

@media(max-width:680px){
    [data-ofm-station-root] [data-ofm-station-content] .ofm-station-track{
        margin-bottom:12px;
    }
    [data-ofm-station-root] [data-ofm-station-content] .ofm-station-track__label{
        gap:8px;
        margin:0 4px 6px;
        font-size:.98rem;
    }
    [data-ofm-station-root] [data-ofm-station-content] .ofm-station-track__surface{
        gap:7px;
        min-height:54px;
        padding:7px 8px 7px 7px;
        border-radius:16px;
    }
    [data-ofm-station-root] [data-ofm-station-content] .ofm-station-track__trigger{
        grid-template-columns:40px minmax(0,1fr);
        gap:9px;
        padding:4px;
    }
    [data-ofm-station-root] [data-ofm-station-content] .ofm-station-track__details{
        min-height:34px;
    }
}

@media(max-width:470px){
    [data-ofm-station-root] .ofm-station-release-hero{
        grid-template-columns:88px minmax(0,1fr);
        gap:13px;
        padding:13px;
        border-radius:18px;
    }
    [data-ofm-station-root] .ofm-station-release-hero .ofm-eyebrow{
        margin-bottom:6px;
        font-size:.56rem;
    }
    [data-ofm-station-root] .ofm-station-release-hero h1{
        font-size:clamp(1.55rem,8.2vw,2.15rem);
    }
    [data-ofm-station-root] .ofm-station-release-hero__artist{
        margin-top:8px;
        font-size:.84rem;
    }
    [data-ofm-station-root] .ofm-station-release-hero__facts{
        gap:5px;
        margin-top:11px;
    }
    [data-ofm-station-root] .ofm-station-release-hero__facts>div{
        min-width:56px;
        padding:6px 7px;
    }
    [data-ofm-station-root] .ofm-station-release-hero__facts dt{
        font-size:.49rem;
    }
    [data-ofm-station-root] .ofm-station-release-hero__facts dd{
        font-size:.68rem;
    }
    [data-ofm-station-root] .ofm-station-release-hero__actions{
        gap:6px;
        margin-top:12px;
    }
    [data-ofm-station-root] .ofm-station-release__like,
    [data-ofm-station-root] .ofm-station-release__playlist,
    [data-ofm-station-root] .ofm-station-release__share{
        width:36px;
        min-height:36px;
    }
    [data-ofm-station-root] .ofm-station-release-hero__actions>.ofm-follows{
        width:100%;
        justify-content:flex-start;
    }
    [data-ofm-station-root] .ofm-station-release-hero__actions .ofm-follows__button{
        min-height:35px;
        padding:8px 11px;
        font-size:.69rem;
    }
    [data-ofm-station-root] [data-ofm-station-content]>.ofm-station-release__queue-heading{
        align-items:center;
        margin-bottom:8px;
    }
    .ofm-station-release__queue-heading h2:not(.screen-reader-text){
        font-size:1.12rem;
    }
    .ofm-station-release__queue-heading>span{
        font-size:.64rem;
    }
    .ofm-station-release-details__credits,
    .ofm-station-release-related{
        padding:15px;
        border-radius:17px;
    }
    .ofm-station-release-details__credits dl{
        gap:7px;
    }
    .ofm-station-release-related__rail{
        grid-auto-columns:minmax(205px,86%);
    }
}

/* The cover is the release playback affordance.  Keep the whole card quiet
   until an audio row from this Station is actually playing. */
[data-ofm-station-root] .ofm-station-release-hero,
[data-ofm-station-root] .ofm-station-release-hero::before,
[data-ofm-station-root] .ofm-station-release-hero__cover,
[data-ofm-station-root] .ofm-station-release-hero__cover::after,
[data-ofm-station-root] .ofm-station-release-hero__cover img,
[data-ofm-station-root] .ofm-station-release-hero__cover-fallback{
    transition:border-color .24s ease,background .24s ease,box-shadow .24s ease,filter .24s ease,opacity .24s ease;
}

[data-ofm-station-root] .ofm-station-release-hero:not(.is-playing){
    border-color:rgb(196 200 207 / .18);
    background:linear-gradient(132deg,rgb(29 31 34 / .89),rgb(9 10 12 / .88));
    box-shadow:0 22px 58px rgb(0 0 0 / .22);
}

[data-ofm-station-root] .ofm-station-release-hero:not(.is-playing)::before{
    filter:grayscale(1) saturate(.12) blur(30px);
    opacity:.16;
}

[data-ofm-station-root] .ofm-station-release-hero:not(.is-playing) .ofm-station-release-hero__cover{
    border-color:rgb(230 233 237 / .2);
    background:linear-gradient(145deg,rgb(72 75 79 / .58),rgb(14 15 17 / .84) 64%);
}

[data-ofm-station-root] .ofm-station-release-hero:not(.is-playing) .ofm-station-release-hero__cover img{
    filter:grayscale(.96) saturate(.18) brightness(.66);
}

[data-ofm-station-root] .ofm-station-release-hero__cover::after{
    z-index:1;
    background:transparent;
}

[data-ofm-station-root] .ofm-station-release-hero:not(.is-playing) .ofm-station-release-hero__cover::after{
    background:rgb(8 9 11 / .18);
}

/* This is deliberately the same cover-control structure used on Home song
 * cards: .ofm-station-release-hero__cover-overlay > .ofm-station-release-hero__cover-play.  The only Station-specific state is
 * whether the hero's first track is the active track. */
[data-ofm-station-root] .ofm-station-release-hero__cover .ofm-station-release-hero__cover-overlay{
    position:absolute;
    z-index:2;
    inset:0;
    display:grid;
    place-items:center;
    pointer-events:none;
    background:linear-gradient(180deg,transparent 35%,rgb(0 0 0 / .36));
    opacity:0;
    transition:opacity .18s ease;
}

[data-ofm-station-root] .ofm-station-release-hero__cover .ofm-station-release-hero__cover-play{
    display:grid;
    width:48px;
    height:48px;
    place-items:center;
    padding:0;
    border:1px solid rgb(255 255 255 / .8);
    border-radius:50%;
    background:rgb(0 0 0 / .5);
    box-shadow:0 10px 22px rgb(0 0 0 / .28);
    color:#fff;
    cursor:pointer;
    pointer-events:none;
}

[data-ofm-station-root] .ofm-station-release-hero__cover .ofm-station-release-hero__cover-play svg{
    width:20px;
    height:20px;
    fill:currentColor;
    stroke:none;
}

[data-ofm-station-root] .ofm-station-release-hero__cover .ofm-station-release-hero__cover-play .icon-pause{
    display:none;
    fill:none;
    stroke:currentColor;
    stroke-width:2;
}

[data-ofm-station-root] .ofm-station-release-hero.is-primary-playing .ofm-station-release-hero__cover-play .icon-play{
    display:none;
}

[data-ofm-station-root] .ofm-station-release-hero.is-primary-playing .ofm-station-release-hero__cover-play .icon-pause{
    display:block;
}

[data-ofm-station-root] .ofm-station-release-hero__cover:hover .ofm-station-release-hero__cover-overlay,
[data-ofm-station-root] .ofm-station-release-hero__cover:focus-within .ofm-station-release-hero__cover-overlay,
[data-ofm-station-root] .ofm-station-release-hero.is-playing .ofm-station-release-hero__cover-overlay,
[data-ofm-station-root] .ofm-station-release-hero.is-primary-playing .ofm-station-release-hero__cover-overlay{
    opacity:1;
    pointer-events:auto;
}

[data-ofm-station-root] .ofm-station-release-hero__cover:hover .ofm-station-release-hero__cover-play,
[data-ofm-station-root] .ofm-station-release-hero__cover:focus-within .ofm-station-release-hero__cover-play,
[data-ofm-station-root] .ofm-station-release-hero.is-playing .ofm-station-release-hero__cover-play,
[data-ofm-station-root] .ofm-station-release-hero.is-primary-playing .ofm-station-release-hero__cover-play{
    pointer-events:auto;
}

[data-ofm-station-root] .ofm-station-release-hero__cover .ofm-station-release-hero__cover-play:hover,
[data-ofm-station-root] .ofm-station-release-hero__cover .ofm-station-release-hero__cover-play:focus-visible{
    border-color:#fff;
    background:rgb(0 0 0 / .64);
    color:#fff;
}

[data-ofm-station-root] .ofm-station-release-hero__cover .ofm-station-release-hero__cover-play:focus-visible{
    outline:2px solid #fff;
    outline-offset:3px;
}

[data-ofm-station-root] .ofm-station-release-hero__rank dd{
    display:flex;
    align-items:center;
}

[data-ofm-station-root] .ofm-station-release-hero__rank a,
[data-ofm-station-root] .ofm-station-release-hero__rank span{
    color:#f4c430;
    font-weight:850;
    font-variant-numeric:tabular-nums;
    text-decoration:none;
}

[data-ofm-station-root] .ofm-station-release-hero__rank a:hover,
[data-ofm-station-root] .ofm-station-release-hero__rank a:focus-visible{
    color:#ffe89a;
    outline:0;
    text-decoration:underline;
}

/* Touch has no persistent hover state, so expose the same Home-style control
 * without changing its visual treatment or playback contract. */
@media (hover:none), (pointer:coarse){
    [data-ofm-station-root] .ofm-station-release-hero__cover .ofm-station-release-hero__cover-overlay{
        opacity:1;
        pointer-events:auto;
    }

    [data-ofm-station-root] .ofm-station-release-hero__cover .ofm-station-release-hero__cover-play{
        pointer-events:auto;
    }
}

@media (max-width:580px){
    [data-ofm-station-root] .ofm-station-release-hero__cover .ofm-station-release-hero__cover-overlay{
        opacity:1;
        pointer-events:auto;
    }
}

@media(prefers-reduced-motion:reduce){
    [data-ofm-station-root] .ofm-station-release__like,
    [data-ofm-station-root] .ofm-station-release__playlist,
    [data-ofm-station-root] .ofm-station-release__share,
    [data-ofm-station-root] .ofm-station-release-hero,
    [data-ofm-station-root] .ofm-station-release-hero::before,
    [data-ofm-station-root] .ofm-station-release-hero__cover,
    [data-ofm-station-root] .ofm-station-release-hero__cover::after,
    [data-ofm-station-root] .ofm-station-release-hero__cover img,
    [data-ofm-station-root] .ofm-station-release-hero__cover .ofm-station-release-hero__cover-overlay,
    [data-ofm-station-root] .ofm-station-release-hero__cover .ofm-station-release-hero__cover-play,
    [data-ofm-station-root] [data-ofm-station-content] .ofm-station-track__surface{
        transition:none;
    }
    [data-ofm-station-root] [data-ofm-station-content] .ofm-station-track.is-playing .ofm-station-track__play{
        animation:none;
    }
    .ofm-station-release-related__card,
    .ofm-station-release-related__play{
        transition:none;
    }
    .ofm-station-release-related__card:hover,
    .ofm-station-release-related__card:focus-within,
    [data-ofm-station-root] .ofm-station-release-hero__cover .ofm-station-release-hero__cover-play:hover,
    [data-ofm-station-root] .ofm-station-release-hero__cover .ofm-station-release-hero__cover-play:focus-visible,
    [data-ofm-station-root] .ofm-station-release__like:hover,
    [data-ofm-station-root] .ofm-station-release__like:focus-visible,
    [data-ofm-station-root] .ofm-station-release__playlist:hover,
    [data-ofm-station-root] .ofm-station-release__playlist:focus-visible,
    [data-ofm-station-root] .ofm-station-release__share:hover,
    [data-ofm-station-root] .ofm-station-release__share:focus-visible,
    .ofm-station-release-related__play:hover,
    .ofm-station-release-related__play:focus-visible{
        transform:none;
    }
}
/* Artist-requested, Editor-verified release credits on visible public Stations. */
[data-ofm-station-root] .ofm-station-release-details__public-credits{display:grid;grid-template-columns:minmax(150px,.75fr) minmax(0,1.5fr);align-items:start;gap:18px;padding:clamp(17px,2.3vw,24px);border:1px solid rgb(244 196 48 / .25);border-radius:20px;background:linear-gradient(135deg,rgb(36 30 14 / .66),rgb(14 14 14 / .72));box-shadow:0 17px 40px rgb(0 0 0 / .18);backdrop-filter:blur(15px)}
[data-ofm-station-root] .ofm-station-release-details__public-credits>div{min-width:0}
[data-ofm-station-root] .ofm-station-release-details__public-credits .ofm-eyebrow{margin:0 0 7px;color:#f4c430;font-size:.61rem;font-weight:900;letter-spacing:.16em;line-height:1.2;text-transform:uppercase}
[data-ofm-station-root] .ofm-station-release-details__public-credits h3{margin:0;color:#fff;font-size:clamp(1.05rem,2.2vw,1.4rem);letter-spacing:-.035em;line-height:1.08}
[data-ofm-station-root] .ofm-station-release-details__public-credits dl{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:0}
[data-ofm-station-root] .ofm-station-release-details__public-credits dl>div{display:grid;gap:4px;min-width:0;padding:8px 0;border-bottom:1px solid rgb(255 255 255 / .09)}
[data-ofm-station-root] .ofm-station-release-details__public-credits dt{color:#b8ab83;font-size:.59rem;font-weight:850;letter-spacing:.1em;line-height:1.15;text-transform:uppercase}
[data-ofm-station-root] .ofm-station-release-details__public-credits dd{overflow-wrap:anywhere;margin:0;color:#f1eee7;font-size:.82rem;font-weight:760;line-height:1.3}
@media(max-width:760px){[data-ofm-station-root] .ofm-station-release-details__public-credits{grid-template-columns:1fr;gap:14px}[data-ofm-station-root] .ofm-station-release-details__public-credits dl{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* A failed music check returns the listener to the precise public Station
   used in the question, with a small recovery prompt in the release hero. */
[data-ofm-station-root] .ofm-station-release-hero__music-check-notice{display:grid;gap:4px;max-width:620px;margin:15px 0 0;padding:11px 13px;border:1px solid rgb(244 196 48 / .43);border-radius:12px;background:linear-gradient(135deg,rgb(74 55 10 / .34),rgb(18 17 13 / .48));color:#e8dfbf;font-size:.78rem;line-height:1.45}
[data-ofm-station-root] .ofm-station-release-hero__music-check-notice strong{color:#f4c430;font-size:.62rem;font-weight:900;letter-spacing:.12em;text-transform:uppercase}
[data-ofm-station-root] .ofm-station-release-hero__music-check-notice span{color:#e8dfbf}
@media(max-width:700px){[data-ofm-station-root] .ofm-station-release-hero__music-check-notice{margin-top:12px;padding:10px 11px}}

/* Source: assets/css/station-downloads.css */
/*
 * Signed-in Station download page.  Keep this scoped to its replacement main
 * boundary so a PJAX route cannot inherit it into a parent document shell.
 */
[data-ofm-station-download-page],
[data-ofm-station-download-page] *{
    box-sizing:border-box;
}

[data-ofm-station-download-page]{
    min-height:100vh;
    padding:clamp(22px,4vw,54px) 0 clamp(96px,12vw,160px);
    color:#fff;
    background:
        radial-gradient(circle at 14% 0%,rgb(244 196 48 / .12),transparent 30%),
        radial-gradient(circle at 92% 23%,rgb(126 78 24 / .14),transparent 34%),
        #0b0d0f;
}

[data-ofm-station-download-page] .ofm-station-download{
    width:min(100% - 28px,980px);
    margin:0 auto;
}

[data-ofm-station-download-page] .ofm-station-download__hero{
    display:grid;
    grid-template-columns:clamp(124px,18vw,210px) minmax(0,1fr);
    gap:clamp(18px,3vw,30px);
    align-items:center;
    padding:clamp(18px,3vw,30px);
    border:1px solid rgb(244 196 48 / .38);
    border-radius:28px;
    background:linear-gradient(135deg,rgb(31 27 17 / .94),rgb(12 14 17 / .96));
    box-shadow:0 24px 60px rgb(0 0 0 / .28);
}

[data-ofm-station-download-page] .ofm-station-download__cover{
    display:grid;
    aspect-ratio:1;
    overflow:hidden;
    place-items:center;
    border:1px solid rgb(255 232 138 / .45);
    border-radius:18px;
    background:linear-gradient(145deg,rgb(244 196 48 / .35),rgb(18 18 18 / .96));
    color:#f4c430;
}

[data-ofm-station-download-page] .ofm-station-download__cover img{
    width:100%;
    height:100%;
    object-fit:cover;
}

[data-ofm-station-download-page] .ofm-station-download__cover>svg{
    width:42%;
    height:42%;
    fill:none;
    stroke:currentColor;
    stroke-width:1.8;
    stroke-linecap:round;
    stroke-linejoin:round;
}

[data-ofm-station-download-page] .ofm-station-download .ofm-eyebrow{
    margin:0 0 8px;
    color:#f4c430;
    font-size:.68rem;
    font-weight:900;
    letter-spacing:.18em;
    line-height:1.2;
    text-transform:uppercase;
}

[data-ofm-station-download-page] .ofm-station-download h1,
[data-ofm-station-download-page] .ofm-station-download h2{
    margin:0;
    overflow-wrap:anywhere;
    color:#fff;
}

[data-ofm-station-download-page] .ofm-station-download h1{
    font-size:clamp(2rem,5vw,4rem);
    font-weight:850;
    letter-spacing:-.055em;
    line-height:1.1;
}

[data-ofm-station-download-page] .ofm-station-download__artist{
    margin:10px 0 0;
    color:#f7e6a8;
    font-size:1.02rem;
    font-weight:750;
}

[data-ofm-station-download-page] .ofm-station-download__intro{
    max-width:56ch;
    margin:13px 0 0;
    color:#c4c6c9;
    line-height:1.55;
}

[data-ofm-station-download-page] .ofm-station-download__hero-actions{
    display:flex;
    flex-wrap:wrap;
    gap:10px;
    margin-top:20px;
}

[data-ofm-station-download-page] .ofm-station-download__share,
[data-ofm-station-download-page] .ofm-station-download__back,
[data-ofm-station-download-page] .ofm-station-download__file-button,
[data-ofm-station-download-page] .ofm-station-download__unavailable{
    display:inline-flex;
    min-height:40px;
    align-items:center;
    justify-content:center;
    gap:8px;
    box-sizing:border-box;
    border:1px solid rgb(244 196 48 / .72);
    border-radius:999px;
    background:transparent;
    color:#f9d75d;
    font:inherit;
    font-size:.84rem;
    font-weight:800;
    line-height:1;
    text-decoration:none;
}

[data-ofm-station-download-page] .ofm-station-download__share,
[data-ofm-station-download-page] .ofm-station-download__file-button{
    padding:10px 14px;
    cursor:pointer;
}

[data-ofm-station-download-page] .ofm-station-download__back{
    padding:10px 15px;
    border-color:rgb(255 255 255 / .22);
    color:#e4e4e4;
}

[data-ofm-station-download-page] .ofm-station-download__share svg,
[data-ofm-station-download-page] .ofm-station-download__file-button svg,
[data-ofm-station-download-page] .ofm-station-download__unavailable svg{
    width:17px;
    height:17px;
    flex:0 0 17px;
    fill:none;
    stroke:currentColor;
    stroke-width:1.9;
    stroke-linecap:round;
    stroke-linejoin:round;
}

[data-ofm-station-download-page] .ofm-station-download__share:hover,
[data-ofm-station-download-page] .ofm-station-download__share:focus-visible,
[data-ofm-station-download-page] .ofm-station-download__file-button:hover,
[data-ofm-station-download-page] .ofm-station-download__file-button:focus-visible{
    border-color:#f4c430;
    background:#f4c430;
    color:#15120a;
    outline:0;
}

[data-ofm-station-download-page] .ofm-station-download__back:hover,
[data-ofm-station-download-page] .ofm-station-download__back:focus-visible{
    border-color:#fff;
    color:#fff;
    outline:0;
}

[data-ofm-station-download-page] .ofm-station-download__share-status{
    min-height:1.25em;
    margin:10px 0 0;
    color:#b9e8c4;
    font-size:.82rem;
    font-weight:700;
}

[data-ofm-station-download-page] .ofm-station-download__tracks{
    margin-top:22px;
    padding:clamp(18px,3vw,28px);
    border:1px solid rgb(255 255 255 / .12);
    border-radius:24px;
    background:rgb(14 16 18 / .88);
}

[data-ofm-station-download-page] .ofm-station-download__heading{
    display:flex;
    align-items:end;
    justify-content:space-between;
    gap:18px;
}

[data-ofm-station-download-page] .ofm-station-download__heading h2{
    font-size:clamp(1.35rem,2.6vw,1.8rem);
    letter-spacing:-.035em;
}

[data-ofm-station-download-page] .ofm-station-download__track-list{
    display:grid;
    gap:10px;
    margin:20px 0 0;
    padding:0;
    list-style:none;
}

[data-ofm-station-download-page] .ofm-station-download__track{
    display:flex;
    min-width:0;
    align-items:center;
    justify-content:space-between;
    gap:16px;
    padding:13px 14px;
    border:1px solid rgb(255 255 255 / .13);
    border-radius:15px;
    background:linear-gradient(110deg,rgb(28 29 30 / .9),rgb(15 16 17 / .92));
}

[data-ofm-station-download-page] .ofm-station-download__track:target{
    border-color:rgb(244 196 48 / .75);
    box-shadow:0 0 0 4px rgb(244 196 48 / .11);
}

[data-ofm-station-download-page] .ofm-station-download__track.is-unavailable{
    opacity:.62;
}

[data-ofm-station-download-page] .ofm-station-download__track-copy{
    display:flex;
    min-width:0;
    align-items:center;
    gap:12px;
}

[data-ofm-station-download-page] .ofm-station-download__track-number{
    display:grid;
    width:26px;
    height:26px;
    flex:0 0 26px;
    place-items:center;
    border-radius:50%;
    background:rgb(244 196 48 / .13);
    color:#f4c430;
    font-size:.76rem;
    font-weight:900;
    font-variant-numeric:tabular-nums;
}

[data-ofm-station-download-page] .ofm-station-download__track strong{
    min-width:0;
    overflow:hidden;
    color:#fff;
    font-size:.97rem;
    text-overflow:ellipsis;
    white-space:nowrap;
}

[data-ofm-station-download-page] .ofm-station-download__file-form{
    flex:0 0 auto;
    margin:0;
}

[data-ofm-station-download-page] .ofm-station-download__file-button,
[data-ofm-station-download-page] .ofm-station-download__unavailable{
    min-width:126px;
}

[data-ofm-station-download-page] .ofm-station-download__unavailable{
    padding:10px 14px;
    border-color:rgb(255 255 255 / .16);
    color:#9b9b9b;
    cursor:not-allowed;
}

[data-ofm-station-download-page] .ofm-station-download__not-found{
    width:min(100% - 28px,680px);
    margin:10vh auto;
    padding:clamp(26px,5vw,44px);
    border:1px solid rgb(255 255 255 / .16);
    border-radius:24px;
    background:#121416;
    text-align:center;
}

[data-ofm-station-download-page] .ofm-station-download__not-found h1{
    margin:0 0 22px;
    color:#fff;
}

@media (max-width:640px){
    [data-ofm-station-download-page]{padding-top:18px}
    [data-ofm-station-download-page] .ofm-station-download{width:min(100% - 20px,980px)}
    [data-ofm-station-download-page] .ofm-station-download__hero{grid-template-columns:86px minmax(0,1fr);gap:16px;padding:16px;border-radius:20px}
    [data-ofm-station-download-page] .ofm-station-download h1{font-size:clamp(1.75rem,10vw,2.6rem)}
    [data-ofm-station-download-page] .ofm-station-download__intro{font-size:.91rem}
    [data-ofm-station-download-page] .ofm-station-download__hero-actions{margin-top:16px}
    [data-ofm-station-download-page] .ofm-station-download__tracks{padding:16px;border-radius:20px}
    [data-ofm-station-download-page] .ofm-station-download__track{gap:10px;padding:11px}
    [data-ofm-station-download-page] .ofm-station-download__track-copy{gap:9px}
    [data-ofm-station-download-page] .ofm-station-download__file-button,[data-ofm-station-download-page] .ofm-station-download__unavailable{min-width:40px;width:40px;height:40px;min-height:40px;padding:0}
    [data-ofm-station-download-page] .ofm-station-download__file-button span,[data-ofm-station-download-page] .ofm-station-download__unavailable span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;clip-path:inset(50%)}
}

@media (max-width:420px){
    [data-ofm-station-download-page] .ofm-station-download__hero{grid-template-columns:1fr}
    [data-ofm-station-download-page] .ofm-station-download__cover{width:112px}
}

@media (prefers-reduced-motion:reduce){
    [data-ofm-station-download-page] .ofm-station-download__share,[data-ofm-station-download-page] .ofm-station-download__back,[data-ofm-station-download-page] .ofm-station-download__file-button{transition:none}
}

/* A release is deliberately not identified until the signed-in listener has
 * passed the Controller-managed download password. */
[data-ofm-station-download-page] .ofm-station-download-gate{
    width:min(100% - 28px,620px);
    margin:clamp(34px,10vh,110px) auto;
    padding:clamp(24px,5vw,46px);
    border:1px solid rgb(244 196 48 / .38);
    border-radius:26px;
    background:linear-gradient(145deg,rgb(31 27 17 / .97),rgb(12 14 17 / .98));
    box-shadow:0 24px 64px rgb(0 0 0 / .34);
    color:#f7f6f1;
    text-align:center;
}

[data-ofm-station-download-page] .ofm-station-download-gate__mark{
    display:grid;
    width:52px;
    height:52px;
    margin:0 auto 18px;
    place-items:center;
    border:1px solid rgb(244 196 48 / .66);
    border-radius:50%;
    background:rgb(244 196 48 / .1);
    color:#f4c430;
}

[data-ofm-station-download-page] .ofm-station-download-gate__mark svg{
    width:24px;
    height:24px;
    fill:none;
    stroke:currentColor;
    stroke-linecap:round;
    stroke-linejoin:round;
    stroke-width:1.8;
}

[data-ofm-station-download-page] .ofm-station-download-gate h1{
    margin:0;
    color:#fff;
    font-size:clamp(1.75rem,5vw,2.8rem);
    letter-spacing:-.04em;
    line-height:1.12;
}

[data-ofm-station-download-page] .ofm-station-download-gate>p:not(.ofm-eyebrow):not(.ofm-station-download-gate__notice):not(.ofm-station-download-gate__note){
    max-width:48ch;
    margin:14px auto 0;
    color:#c5c7c9;
    line-height:1.55;
}

[data-ofm-station-download-page] .ofm-station-download-gate__form,
[data-ofm-station-download-page] .ofm-station-download-gate__request{
    display:grid;
    gap:10px;
    width:min(100%,420px);
    margin:20px auto 0;
}

[data-ofm-station-download-page] .ofm-station-download-gate__form label{
    display:grid;
    gap:7px;
    color:#e1ddcf;
    font-size:.72rem;
    font-weight:800;
    letter-spacing:.04em;
    text-align:left;
    text-transform:uppercase;
}

[data-ofm-station-download-page] .ofm-station-download-gate__form input{
    width:100%;
    min-height:44px;
    box-sizing:border-box;
    padding:10px 12px;
    border:1px solid rgb(255 255 255 / .2);
    border-radius:12px;
    background:rgb(0 0 0 / .22);
    color:#fff;
    font:inherit;
    letter-spacing:normal;
    text-transform:none;
}

[data-ofm-station-download-page] .ofm-station-download-gate button{
    min-height:43px;
    padding:10px 14px;
    border:1px solid rgb(244 196 48 / .78);
    border-radius:999px;
    background:#f4c430;
    color:#16120a;
    cursor:pointer;
    font:inherit;
    font-size:.84rem;
    font-weight:850;
    line-height:1;
}

[data-ofm-station-download-page] .ofm-station-download-gate__request{
    margin-top:10px;
}

[data-ofm-station-download-page] .ofm-station-download-gate__request button{
    border-color:rgb(255 255 255 / .25);
    background:transparent;
    color:#f3efe3;
}

[data-ofm-station-download-page] .ofm-station-download-gate__form input:focus-visible,
[data-ofm-station-download-page] .ofm-station-download-gate button:focus-visible{
    outline:2px solid #fff;
    outline-offset:3px;
}

[data-ofm-station-download-page] .ofm-station-download-gate__notice,
[data-ofm-station-download-page] .ofm-station-download-gate__note{
    margin:15px auto 0;
    color:#bfc2c5;
    font-size:.82rem;
    line-height:1.45;
}

[data-ofm-station-download-page] .ofm-station-download-gate__notice{
    padding:10px 12px;
    border:1px solid rgb(134 218 163 / .32);
    border-radius:12px;
    background:rgb(134 218 163 / .08);
    color:#c6efcf;
}

[data-ofm-station-download-page] .ofm-station-download-gate__notice--error{
    border-color:rgb(245 145 145 / .4);
    background:rgb(245 145 145 / .08);
    color:#ffcdcd;
}

/* Controller-only configuration and aggregate reporting. Password text is
 * rendered only into this authenticated, private, no-store route. */
.ofm-controller-download-gate,.ofm-controller-download-gate *{box-sizing:border-box}
.ofm-controller-download-gate{margin-top:18px;padding:clamp(18px,2.7vw,28px);border:1px solid rgb(244 196 48 / .28);border-radius:22px;background:linear-gradient(145deg,rgb(31 27 17 / .95),rgb(13 14 16 / .98));box-shadow:0 20px 48px rgb(0 0 0 / .15);color:#f4f1e7}
.ofm-controller-download-gate__heading,.ofm-controller-download-gate__stats-heading{display:flex;align-items:start;justify-content:space-between;gap:18px}.ofm-controller-download-gate__heading h2,.ofm-controller-download-gate__stats-heading h3{margin:5px 0 0;color:#fff;font-size:clamp(1.4rem,2.7vw,2.1rem);letter-spacing:-.04em;line-height:1.12}.ofm-controller-download-gate__stats-heading h3{font-size:clamp(1.15rem,2vw,1.55rem)}
.ofm-controller-download-gate__state{display:inline-flex;align-items:center;min-height:31px;padding:0 10px;border:1px solid rgb(245 145 145 / .35);border-radius:999px;background:rgb(245 145 145 / .09);color:#ffc2c2;font-size:.72rem;font-weight:850;white-space:nowrap}.ofm-controller-download-gate__state.is-on{border-color:rgb(134 218 163 / .35);background:rgb(134 218 163 / .09);color:#c6efcf}
.ofm-controller-download-gate__intro{max-width:760px;margin:13px 0 15px;color:#bdb6a4;font-size:.85rem;line-height:1.5}.ofm-controller-download-gate__notice{margin:0 0 14px;padding:11px 13px;border:1px solid rgb(134 218 163 / .3);border-radius:12px;background:rgb(134 218 163 / .07);color:#c6efcf;font-size:.8rem;font-weight:700;line-height:1.4}.ofm-controller-download-gate__notice--error{border-color:rgb(245 145 145 / .35);background:rgb(245 145 145 / .07);color:#ffc1c1}
.ofm-controller-download-gate__form{display:grid;gap:14px;padding:15px;border:1px solid rgb(255 255 255 / .1);border-radius:16px;background:rgb(0 0 0 / .12)}.ofm-controller-dashboard .ofm-controller-download-gate__toggle{display:flex;align-items:center;gap:9px;margin:0;color:#f4f1e7;font-size:.84rem;font-weight:800;cursor:pointer}.ofm-controller-dashboard .ofm-controller-download-gate__toggle input[type="checkbox"]{display:inline-block!important;position:relative!important;inset:auto!important;left:auto!important;clip:auto!important;clip-path:none!important;flex:0 0 16px;inline-size:16px;block-size:16px;margin:0;opacity:1!important;visibility:visible!important;pointer-events:auto!important;appearance:auto!important;-webkit-appearance:auto!important;accent-color:#f4c430}.ofm-controller-download-gate__toggle-copy{display:grid;gap:2px;min-width:0}.ofm-controller-download-gate__toggle-copy strong{font:inherit}.ofm-controller-download-gate__toggle-copy small{color:#aaa395;font-size:.68rem;font-weight:650;line-height:1.35}.ofm-controller-download-gate__secret{display:grid;grid-template-columns:minmax(0,1fr) minmax(180px,.55fr);gap:14px;align-items:end}.ofm-controller-download-gate__secret>label{display:grid;gap:6px}.ofm-controller-download-gate__secret>label>span{color:#c5bcaa;font-size:.66rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.ofm-controller-download-gate__secret input{width:100%;min-height:42px;padding:9px 11px;border:1px solid rgb(255 255 255 / .16);border-radius:10px;background:rgb(0 0 0 / .22);color:#fff;font:inherit}.ofm-controller-download-gate__secret input:focus-visible,.ofm-controller-download-gate button:focus-visible,.ofm-controller-download-gate__toggle input:focus-visible{outline:2px solid #f4c430;outline-offset:3px}.ofm-controller-download-gate__secret details{min-height:42px;padding:10px 12px;border:1px solid rgb(244 196 48 / .25);border-radius:10px;background:rgb(244 196 48 / .06);color:#e9d486;font-size:.78rem}.ofm-controller-download-gate__secret summary{cursor:pointer;font-weight:800}.ofm-controller-download-gate__secret code{display:block;max-width:100%;margin-top:9px;overflow-wrap:anywhere;color:#fff;font-size:.82rem}.ofm-controller-download-gate__warning{margin:0;color:#ffcdcd;font-size:.78rem;line-height:1.4}.ofm-controller-download-gate__actions{display:flex;flex-wrap:wrap;gap:9px}.ofm-controller-download-gate__actions button{min-height:40px;padding:9px 14px;border:1px solid rgb(244 196 48 / .76);border-radius:10px;background:#f4c430;color:#17130b;cursor:pointer;font:inherit;font-size:.78rem;font-weight:850}.ofm-controller-download-gate__actions .ofm-controller-download-gate__secondary{background:transparent;color:#f7e6a8}
.ofm-controller-download-gate__stats{margin-top:18px;padding-top:18px;border-top:1px solid rgb(255 255 255 / .1)}.ofm-controller-download-gate__stats-heading>span{color:#9e998e;font-size:.7rem;font-weight:750;text-align:right}.ofm-controller-download-gate__metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin-top:13px}.ofm-controller-download-gate__metrics article{display:grid;gap:3px;min-width:0;padding:12px;border:1px solid rgb(255 255 255 / .09);border-radius:12px;background:rgb(255 255 255 / .025)}.ofm-controller-download-gate__metrics small{overflow:hidden;color:#a8a297;font-size:.66rem;font-weight:800;letter-spacing:.04em;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap}.ofm-controller-download-gate__metrics strong{color:#fff;font-size:1.2rem;line-height:1.1}.ofm-controller-download-gate__metrics span,.ofm-controller-download-gate__accounts,.ofm-controller-download-gate__last-activity,.ofm-controller-download-gate__empty{color:#b9b3a8;font-size:.7rem;line-height:1.4}.ofm-controller-download-gate__accounts{margin:12px 0 4px}.ofm-controller-download-gate__last-activity{margin:0 0 12px}.ofm-controller-download-gate__top-tracks{display:grid;gap:7px;margin:0;padding:0;list-style:none}.ofm-controller-download-gate__top-tracks li{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 11px;border:1px solid rgb(255 255 255 / .08);border-radius:10px;background:rgb(0 0 0 / .11)}.ofm-controller-download-gate__top-tracks li span{display:grid;min-width:0;gap:2px}.ofm-controller-download-gate__top-tracks strong,.ofm-controller-download-gate__top-tracks small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ofm-controller-download-gate__top-tracks strong{color:#f5f2e8;font-size:.79rem}.ofm-controller-download-gate__top-tracks small{color:#a8a297;font-size:.68rem}.ofm-controller-download-gate__top-tracks b{flex:0 0 auto;color:#f4c430;font-size:.9rem}
@media(max-width:640px){.ofm-controller-download-gate{padding:17px}.ofm-controller-download-gate__secret{grid-template-columns:1fr}.ofm-controller-download-gate__metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.ofm-controller-download-gate__heading,.ofm-controller-download-gate__stats-heading{align-items:start;gap:11px}.ofm-controller-download-gate__stats-heading>span{max-width:13ch}.ofm-controller-download-gate__actions button{flex:1 1 160px}}

/* The availability policy is intentionally presentation-neutral on public
 * Stations: disabled tracks receive no markup. These styles only render the
 * private Controller configuration surface. */
.ofm-controller-download-availability,.ofm-controller-download-availability *{box-sizing:border-box}
.ofm-controller-download-availability{margin-top:18px;padding:clamp(18px,2.7vw,28px);border:1px solid rgb(113 189 255 / .27);border-radius:22px;background:linear-gradient(145deg,rgb(14 27 39 / .96),rgb(13 14 16 / .98));box-shadow:0 20px 48px rgb(0 0 0 / .15);color:#eef6fb}
.ofm-controller-download-availability__heading{display:flex;align-items:start;justify-content:space-between;gap:18px}.ofm-controller-download-availability__heading h2{margin:5px 0 0;color:#fff;font-size:clamp(1.4rem,2.7vw,2.1rem);letter-spacing:-.04em;line-height:1.12}
.ofm-controller-download-availability__state{display:inline-flex;align-items:center;min-height:31px;padding:0 10px;border:1px solid rgb(245 145 145 / .35);border-radius:999px;background:rgb(245 145 145 / .09);color:#ffc2c2;font-size:.72rem;font-weight:850;white-space:nowrap}.ofm-controller-download-availability__state.is-on{border-color:rgb(110 205 181 / .38);background:rgb(110 205 181 / .09);color:#c4f2e3}
.ofm-controller-download-availability__intro{max-width:790px;margin:13px 0 15px;color:#b8c9d4;font-size:.85rem;line-height:1.5}.ofm-controller-download-availability__notice{margin:0 0 14px;padding:11px 13px;border:1px solid rgb(134 218 163 / .3);border-radius:12px;background:rgb(134 218 163 / .07);color:#c6efcf;font-size:.8rem;font-weight:700;line-height:1.4}.ofm-controller-download-availability__notice--error{border-color:rgb(245 145 145 / .35);background:rgb(245 145 145 / .07);color:#ffc1c1}
.ofm-controller-download-availability__search{display:grid;grid-template-columns:minmax(0,1fr) minmax(190px,.55fr) auto;gap:10px;align-items:end;margin:0 0 14px;padding:13px;border:1px solid rgb(255 255 255 / .1);border-radius:15px;background:rgb(0 0 0 / .12)}.ofm-controller-download-availability__search label{display:grid;gap:6px;min-width:0}.ofm-controller-download-availability__search label>span,.ofm-controller-download-availability__scope legend{color:#bcd0dd;font-size:.66rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.ofm-controller-download-availability__search input,.ofm-controller-download-availability__search select{width:100%;min-height:41px;padding:9px 10px;border:1px solid rgb(255 255 255 / .17);border-radius:10px;background:rgb(0 0 0 / .2);color:#fff;font:inherit}.ofm-controller-download-availability__search button,.ofm-controller-download-availability__actions button{min-height:41px;padding:9px 14px;border:1px solid rgb(113 189 255 / .7);border-radius:10px;background:#77c1ef;color:#07141d;cursor:pointer;font:inherit;font-size:.78rem;font-weight:850}
.ofm-controller-download-availability__form{display:grid;gap:14px;padding:15px;border:1px solid rgb(255 255 255 / .1);border-radius:16px;background:rgb(0 0 0 / .1)}.ofm-controller-dashboard .ofm-controller-download-availability__toggle{display:flex;align-items:start;gap:10px;margin:0;color:#eef6fb;cursor:pointer}.ofm-controller-dashboard .ofm-controller-download-availability__toggle input[type="checkbox"],.ofm-controller-dashboard .ofm-controller-download-availability__scope input[type="radio"],.ofm-controller-dashboard .ofm-controller-download-availability__selection input[type="checkbox"]{display:inline-block!important;position:relative!important;inset:auto!important;left:auto!important;clip:auto!important;clip-path:none!important;inline-size:16px;block-size:16px;flex:0 0 16px;margin:2px 0 0;opacity:1!important;visibility:visible!important;pointer-events:auto!important;appearance:auto!important;-webkit-appearance:auto!important;accent-color:#77c1ef}.ofm-controller-download-availability__toggle>span{display:grid;gap:2px;min-width:0}.ofm-controller-download-availability__toggle strong{font-size:.84rem}.ofm-controller-download-availability__toggle small{color:#9eb5c3;font-size:.68rem;font-weight:650;line-height:1.35}
.ofm-controller-download-availability__scope{display:grid;gap:8px;margin:0;padding:12px;border:1px solid rgb(255 255 255 / .09);border-radius:13px}.ofm-controller-download-availability__scope label{display:flex;gap:9px;align-items:start;cursor:pointer}.ofm-controller-download-availability__scope label>span{display:grid;gap:2px}.ofm-controller-download-availability__scope strong{color:#f3f8fa;font-size:.8rem}.ofm-controller-download-availability__scope small{color:#9eb5c3;font-size:.68rem;line-height:1.35}
.ofm-controller-download-availability__selection{padding:14px;border:1px solid rgb(113 189 255 / .2);border-radius:14px;background:rgb(113 189 255 / .045)}.ofm-controller-download-availability__selection-heading{display:flex;align-items:start;justify-content:space-between;gap:14px}.ofm-controller-download-availability__selection-heading h3{margin:4px 0 0;color:#fff;font-size:1.02rem;line-height:1.2}.ofm-controller-download-availability__selection-heading>span{flex:0 0 auto;color:#a9c3d2;font-size:.7rem;font-weight:750}.ofm-controller-download-availability__selection>p{margin:11px 0 0;color:#b9cbd5;font-size:.75rem;line-height:1.45}.ofm-controller-download-availability__selection ul{display:grid;gap:7px;margin:13px 0 0;padding:0;list-style:none}.ofm-controller-download-availability__selection li{min-width:0}.ofm-controller-download-availability__selection li label{display:flex;align-items:center;gap:10px;padding:10px 11px;border:1px solid rgb(255 255 255 / .09);border-radius:10px;background:rgb(0 0 0 / .1);cursor:pointer}.ofm-controller-download-availability__selection li label>span{display:flex;align-items:center;gap:9px;min-width:0}.ofm-controller-download-availability__selection li b{display:grid;width:24px;height:24px;flex:0 0 24px;place-items:center;border-radius:50%;background:rgb(119 193 239 / .16);color:#a9ddfb;font-size:.67rem}.ofm-controller-download-availability__selection li strong{overflow:hidden;color:#f4f7f8;font-size:.79rem;text-overflow:ellipsis;white-space:nowrap}.ofm-controller-download-availability__actions{display:flex;flex-wrap:wrap;gap:9px}.ofm-controller-download-availability input:focus-visible,.ofm-controller-download-availability select:focus-visible,.ofm-controller-download-availability button:focus-visible{outline:2px solid #fff;outline-offset:3px}
.ofm-controller-download-availability__saved{display:grid;gap:8px;margin-top:13px;padding:11px;border:1px solid rgb(110 205 181 / .28);border-radius:11px;background:rgb(110 205 181 / .06)}.ofm-controller-download-availability__saved>div{display:flex;align-items:center;justify-content:space-between;gap:10px}.ofm-controller-download-availability__saved>div strong{color:#d8f8ed;font-size:.76rem}.ofm-controller-download-availability__saved>div span{color:#9fcdbd;font-size:.68rem;font-weight:750}.ofm-controller-download-availability__saved ol{display:flex;flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none}.ofm-controller-download-availability__saved li{display:inline-flex;align-items:center;gap:6px;min-width:0;max-width:100%;padding:5px 8px;border:1px solid rgb(255 255 255 / .09);border-radius:999px;background:rgb(0 0 0 / .14);color:#eaf7f1;font-size:.71rem;line-height:1.25}.ofm-controller-download-availability__saved li b{display:grid;width:17px;height:17px;flex:0 0 17px;place-items:center;border-radius:50%;background:rgb(110 205 181 / .18);color:#c4f2e3;font-size:.58rem}.ofm-controller-download-availability__saved li span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ofm-controller-download-availability__saved p{margin:0;color:#a9c3b8;font-size:.7rem;line-height:1.4}.ofm-controller-download-availability__saved .ofm-controller-download-availability__stale{color:#ffd0ae}.ofm-controller-download-availability__saved .ofm-controller-download-availability__saved-total{color:#a9c3d2}
@media(max-width:720px){.ofm-controller-download-availability__search{grid-template-columns:1fr}.ofm-controller-download-availability__heading{gap:11px}.ofm-controller-download-availability__state{max-width:14ch;text-align:center;white-space:normal}.ofm-controller-download-availability__search button,.ofm-controller-download-availability__actions button{width:100%}}

/* Source: assets/css/comments.css */
#comments.ofm-comments {
    width: min(100%, 760px);
    align-self: center;
    max-width: 960px;
    margin: 28px auto 36px;
    padding: 24px;
    color: #f8f8f8;
    background: linear-gradient(145deg, #191919, #111);
    border: 1px solid rgba(255,255,255,.12);
    border-radius: 20px;
}
[data-ofm-station-discussion].ofm-comments--station {
    width: min(100% - 28px, 960px);
    max-width: 960px;
    margin: 20px auto 26px;
}
.ofm-comments *, .ofm-comments *::before, .ofm-comments *::after { box-sizing: border-box; }
.ofm-comments__header { display:flex; align-items:center; justify-content:space-between; gap:14px; margin:0 0 18px; }
.ofm-comments__header p { margin:0; color:#ffcb28; font-size:.7rem; font-weight:800; letter-spacing:.18em; text-transform:uppercase; }
.ofm-comments__header h2 { margin:5px 0 0; color:#fff; font-size:1.35rem; line-height:1.1; }
.ofm-comments__count { flex:0 0 auto; padding:6px 9px; color:#cfcfcf; background:rgba(255,255,255,.055); border:1px solid rgba(255,255,255,.11); border-radius:999px; font-size:.72rem; font-weight:700; line-height:1.15; white-space:nowrap; }
.ofm-comments__list { display:grid; gap:10px; margin:0 0 20px; padding:0; list-style:none; }
.ofm-comments .children { display:grid; gap:10px; margin:10px 0 0 28px; padding:0; list-style:none; }
.ofm-comment { margin:0; }
.ofm-comment__body { display:flex; gap:11px; padding:13px; background:rgba(255,255,255,.025); border:1px solid rgba(255,255,255,.09); border-radius:14px; }
.ofm-comment__avatar img { display:block; width:36px; height:36px; border-radius:50%; object-fit:cover; }
.ofm-comment__content { min-width:0; flex:1; }
.ofm-comment__meta { display:flex; flex-wrap:wrap; align-items:center; gap:8px; font-size:.86rem; }
.ofm-comment__meta strong { color:#fff; }
.ofm-comment__meta time { color:#999; font-size:.76rem; }
.ofm-comment__text { margin:5px 0 7px; color:#d2d2d2; font-size:.9rem; line-height:1.45; word-break:break-word; }
.ofm-comment__text p { margin:0; }
.ofm-comment__actions { display:flex; flex-wrap:wrap; gap:4px 8px; align-items:center; margin:-4px; font-size:.73rem; font-weight:700; text-transform:uppercase; letter-spacing:.06em; }
.ofm-comment__actions a, .ofm-comment__delete { display:inline-flex; align-items:center; min-height:40px; padding:0 8px; color:#ffcb28; background:none; border:0; border-radius:8px; cursor:pointer; font:inherit; text-decoration:none; }
.ofm-comment__actions a:hover, .ofm-comment__actions a:focus-visible, .ofm-comment__delete:hover, .ofm-comment__delete:focus-visible { color:#161000; background:#ffcb28; outline:none; }
.ofm-comment__delete { color:#aaa; }
.ofm-comments .comment-respond { margin-top:14px; padding-top:18px; border-top:1px solid rgba(255,255,255,.1); }
.ofm-comments .comment-reply-title { margin:0 0 10px; font-size:1rem; }
[data-ofm-station-discussion].ofm-comments--station .ofm-comments__reply-title { min-height:0; margin:0; }
[data-ofm-station-discussion].ofm-comments--station #cancel-comment-reply-link { display:inline-flex; margin:0 0 10px; color:#ffcb28; font-size:.76rem; font-weight:800; letter-spacing:.04em; text-decoration:none; text-transform:uppercase; }
[data-ofm-station-discussion].ofm-comments--station #cancel-comment-reply-link:hover,[data-ofm-station-discussion].ofm-comments--station #cancel-comment-reply-link:focus-visible { color:#fff; outline:none; text-decoration:underline; }
.ofm-comments .comment-form { display:grid; gap:10px; margin:0; }
.ofm-comments .comment-form p { margin:0; }
.ofm-comments .comment-form label { position:static !important; display:block !important; width:auto !important; height:auto !important; margin:0 0 6px !important; padding:0 !important; color:#fff !important; font-size:.78rem !important; font-weight:700 !important; transform:none !important; clip:auto !important; }
.ofm-comments .comment-form textarea { display:block; width:100%; min-height:82px; padding:11px 12px; resize:vertical; color:#f5f5f5; background:#101010; border:1px solid #393939; border-radius:12px; outline:0; font:inherit; }
.ofm-comments .comment-form textarea:focus { border-color:#ffcb28; box-shadow:0 0 0 3px rgba(255,203,40,.12); }
.ofm-emoji-tray { display:flex; width:100%; gap:5px; flex-wrap:wrap; }
.ofm-emoji-tray button { display:grid; width:29px; height:29px; place-items:center; padding:0; background:rgba(255,255,255,.05); border:1px solid rgba(255,255,255,.1); border-radius:9px; cursor:pointer; font-size:.86rem; transition:transform .16s ease, background-color .16s ease; }
.ofm-emoji-tray button:hover, .ofm-emoji-tray button:focus-visible { background:rgba(255,203,40,.14); transform:translateY(-1px); }
.ofm-comments__submit { width:auto !important; min-height:36px; margin:0 !important; padding:0 16px !important; color:#161000 !important; background:#ffcb28 !important; border:0 !important; border-radius:999px !important; box-shadow:none !important; cursor:pointer; font-weight:800 !important; }
.ofm-comments__gate { display:flex; align-items:center; gap:10px; padding:10px 12px; color:#bbb; background:rgba(255,255,255,.025); border:1px solid rgba(255,255,255,.09); border-radius:12px; font-size:.88rem; }
.ofm-comments__gate p { flex:1; margin:0; }
.ofm-comments__gate a { display:inline-flex; align-items:center; min-height:40px; padding:0 10px; color:#161000; background:#ffcb28; border-radius:999px; font-weight:800; text-decoration:none; white-space:nowrap; }
.ofm-comments__gate a:hover, .ofm-comments__gate a:focus-visible { background:#fff; outline:none; }
.ofm-comments__closed { margin:0; color:#999; }
.ofm-comments .wpulike, .ofm-comments .comment-like, .ofm-comments .comment-reaction { display:none !important; }

@media (max-width: 640px) {
    #comments.ofm-comments { width:auto; margin:20px 14px 28px; padding:17px; border-radius:16px; }
    .ofm-comments .children { margin-left:14px; }
    .ofm-comment__body { padding:11px; }
}

@media (max-width: 420px) {
    .ofm-comments__header { align-items:flex-start; flex-wrap:wrap; }
    .ofm-comments__count { margin-top:2px; margin-left:auto; }
    .ofm-comments__gate { flex-wrap:wrap; }
    .ofm-comments__gate a { width:100%; justify-content:center; }
}
/* A public name appears only for an intentionally published member profile.
   Login names, email hashes, and private notes never enter this surface. */
.ofm-comment__identity{display:inline-flex;align-items:center;gap:7px;min-width:0;color:#f4c430;font-size:.82rem;font-weight:750;line-height:1;text-decoration:none}
.ofm-comment__identity:hover,.ofm-comment__identity:focus-visible{color:#fff;outline:none}
.ofm-comment__identity:focus-visible{box-shadow:0 0 0 2px rgba(244,203,40,.86),0 0 0 4px #171717;border-radius:999px}
.ofm-comment__avatar{display:grid;flex:0 0 28px;width:28px;height:28px;overflow:hidden;place-items:center;border:1px solid rgba(244,203,40,.48);border-radius:50%;background:#282828;color:#f4c430}
.ofm-comment__avatar img{display:block;width:100%;height:100%;border-radius:0;object-fit:cover}
.ofm-comment__avatar svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.9}
.ofm-comment__avatar-initial{display:grid;width:100%;height:100%;place-items:center;font-size:.68rem;letter-spacing:.03em}
.ofm-comment__identity-copy{display:grid;gap:3px;min-width:0;line-height:1.05}
.ofm-comment__name{overflow:hidden;color:#fff;font-size:.78rem;font-weight:750;text-overflow:ellipsis;white-space:nowrap}
.ofm-comment__handle{overflow:hidden;max-width:18ch;text-overflow:ellipsis;white-space:nowrap}
.ofm-comment__identity--anonymous{color:#8e8e8e;cursor:default}
.ofm-comment__identity--anonymous .ofm-comment__avatar{border-color:rgba(255,255,255,.18);color:#aaa}

/* A compact report mark returns a public comment to the scoped editor queue.
   It carries no reporter identity in the public UI. */
.ofm-comment__report{display:grid;place-items:center;flex:0 0 40px;width:40px;min-height:40px;padding:0;border:1px solid transparent;border-radius:8px;background:transparent;color:#aaa;cursor:pointer;transition:color .16s ease,background .16s ease,border-color .16s ease,transform .16s ease}
.ofm-comment__report svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.9}
.ofm-comment__report:hover,.ofm-comment__report:focus-visible{border-color:rgba(244,203,40,.52);background:rgba(244,203,40,.12);color:#ffcb28;outline:none;transform:translateY(-1px)}
.ofm-comment__report.is-reported,.ofm-comment__report:disabled{border-color:rgba(244,203,40,.28);background:rgba(244,203,40,.07);color:#d7bb65;cursor:default;opacity:1;transform:none}
.ofm-comment__report.is-pending svg{animation:ofm-comment-report-pulse .7s ease-in-out infinite alternate}
@keyframes ofm-comment-report-pulse{to{opacity:.35;transform:scale(.82)}}
@media(prefers-reduced-motion:reduce){.ofm-comment__report{transition:none}.ofm-comment__report.is-pending svg{animation:none}}

/* Source: assets/css/player/station-comment-markers.css */
/* Timestamped Station comments live over the existing waveform only. */
[data-ofm-station-root] .ofm-station-comment-markers{position:absolute;z-index:4;inset:0;pointer-events:none}
[data-ofm-station-root] .ofm-station-comment-marker{position:absolute;z-index:1;top:50%;left:var(--ofm-timed-comment-marker-position,0%);display:grid;place-items:center;width:24px;height:24px;margin:0;padding:0;border:0;border-radius:50%;background:transparent;color:#fff2af;cursor:pointer;pointer-events:auto;transform:translate(-50%,-50%)}
[data-ofm-station-root] .ofm-station-comment-marker::before{width:7px;height:7px;content:"";border:2px solid #151515;border-radius:50%;background:#f4c430;box-shadow:0 0 0 2px rgb(244 196 48 / .42),0 0 10px rgb(244 196 48 / .48)}
[data-ofm-station-root] .ofm-station-comment-marker:hover::before,[data-ofm-station-root] .ofm-station-comment-marker:focus-visible::before{background:#fff3b3;box-shadow:0 0 0 3px rgb(244 196 48 / .6),0 0 13px rgb(244 196 48 / .65)}
[data-ofm-station-root] .ofm-station-comment-marker:focus-visible{outline:2px solid #fff2af;outline-offset:2px}
[data-ofm-station-root] .ofm-station-comment-marker:disabled{cursor:not-allowed;opacity:.42}
[data-ofm-station-root] .ofm-station-comment-preview{position:absolute;z-index:8;bottom:calc(100% + 11px);left:0;display:grid;grid-template-columns:30px minmax(0,1fr);align-items:start;gap:9px;width:min(340px,calc(100vw - 42px));padding:9px 10px;border:1px solid rgb(244 196 48 / .5);border-radius:12px;background:rgb(17 18 19 / .94);box-shadow:0 16px 34px rgb(0 0 0 / .35);backdrop-filter:blur(12px) saturate(1.12);opacity:0;transform:translateY(5px);transition:opacity .18s ease,transform .18s ease;pointer-events:none}
[data-ofm-station-root] .ofm-station-comment-preview.is-visible{opacity:1;transform:translateY(0)}
[data-ofm-station-root] .ofm-station-comment-preview__avatar{display:grid;place-items:center;width:30px;height:30px;overflow:hidden;border:1px solid rgb(244 196 48 / .4);border-radius:50%;background:#25211a;color:#fff3b3;font-size:.72rem;font-weight:800;line-height:1}
[data-ofm-station-root] .ofm-station-comment-preview__avatar img{display:block;width:100%;height:100%;object-fit:cover}
[data-ofm-station-root] .ofm-station-comment-preview__copy{display:grid;gap:3px;min-width:0}
[data-ofm-station-root] .ofm-station-comment-preview__identity{overflow:hidden;color:#f7dc7c;font-size:.7rem;font-weight:800;letter-spacing:.02em;text-overflow:ellipsis;white-space:nowrap}
[data-ofm-station-root] .ofm-station-comment-preview__text{display:-webkit-box;overflow:hidden;color:#f4f4f4;font-size:.77rem;line-height:1.35;-webkit-box-orient:vertical;-webkit-line-clamp:2}
[data-ofm-station-root] .ofm-timed-comment-attach{display:flex;align-items:center;gap:8px;margin:9px 0 2px}
[data-ofm-station-root] .ofm-timed-comment-attach__button{display:inline-flex;align-items:center;gap:6px;min-height:30px;padding:6px 10px;border:1px solid rgb(244 196 48 / .48);border-radius:999px;background:rgb(244 196 48 / .08);color:#f7dc7c;font:inherit;font-size:.74rem;font-weight:800;line-height:1;cursor:pointer;transition:border-color .18s ease,background .18s ease,color .18s ease}
[data-ofm-station-root] .ofm-timed-comment-attach__button::before{content:"◷";font-size:1rem;line-height:0}
[data-ofm-station-root] .ofm-timed-comment-attach__button:hover:not(:disabled),[data-ofm-station-root] .ofm-timed-comment-attach__button:focus-visible:not(:disabled){border-color:#f4c430;background:rgb(244 196 48 / .17);color:#fff3b3;outline:none}
[data-ofm-station-root] .ofm-timed-comment-attach__button:disabled{border-color:rgb(255 255 255 / .15);background:transparent;color:#858585;cursor:not-allowed}
[data-ofm-station-root] .ofm-timed-comment-attach__status{color:#d9d9d9;font-size:.72rem;font-weight:700}
@media(max-width:680px){[data-ofm-station-root] .ofm-station-comment-marker{width:28px;height:28px}[data-ofm-station-root] .ofm-station-comment-preview{right:0;left:auto;width:min(310px,calc(100vw - 28px));padding:8px 9px}[data-ofm-station-root] .ofm-timed-comment-attach{margin-top:8px}[data-ofm-station-root] .ofm-timed-comment-attach__button{min-height:32px;padding:7px 10px}}
@media(prefers-reduced-motion:reduce){[data-ofm-station-root] .ofm-station-comment-preview,[data-ofm-station-root] .ofm-timed-comment-attach__button{transition:none}[data-ofm-station-root] .ofm-station-comment-preview{transform:none}}

/* Source: assets/css/playlist-chart.css */
/* Unified playlist cards, chart surfaces, and motion. */
.ofm-public-playlists__grid,
.ofm-saved-playlists .ofm-playlist-grid,
#ofm-playlists .ofm-playlist-grid {
    display:grid;
    grid-template-columns:repeat(auto-fill,minmax(270px,1fr));
    gap:18px;
}
/* The home grid must size each public mix from its compact card content.
   Some host layouts stretch grid items to the section height otherwise. */
.ofm-public-playlists__grid {
    align-items:start;
    grid-auto-rows:max-content;
}
.ofm-public-playlists__grid > .ofm-playlist-card--home {
    align-self:start;
    block-size:auto !important;
    min-block-size:180px;
}
.ofm-public-playlists__grid > .ofm-playlist-card--home .ofm-playlist-card__link {
    grid-template-columns:112px minmax(0,1fr);
    align-items:center;
    align-content:center;
    block-size:auto !important;
    min-block-size:180px;
}
.ofm-public-playlists__grid > .ofm-playlist-card--home .ofm-playlist-card__body {
    display:grid;
    align-content:center;
    justify-content:start;
    gap:5px;
    min-block-size:0;
}
.ofm-public-playlists__grid > .ofm-playlist-card--home .ofm-eyebrow { margin:0; }
.ofm-public-playlists__grid > .ofm-playlist-card--home .ofm-playlist-card__metric { margin:3px 0 0; }
@media (max-width:620px) {
    .ofm-public-playlists__grid > .ofm-playlist-card--home,
    .ofm-public-playlists__grid > .ofm-playlist-card--home .ofm-playlist-card__link { min-block-size:154px; }
}
.ofm-playlist-card--mix {
    position:relative;
    display:block;
    min-height:clamp(184px,16vw,218px);
    overflow:hidden;
    isolation:isolate;
    border:1px solid rgb(255 255 255 / .14);
    border-radius:22px;
    background:linear-gradient(142deg,rgb(38 38 38 / .94),rgb(19 19 19 / .96) 72%);
    box-shadow:0 16px 42px rgb(0 0 0 / .2);
}
.ofm-playlist-card--mix:before {
    position:absolute;
    z-index:0;
    inset:0;
    pointer-events:none;
    content:"";
    background:linear-gradient(130deg,rgb(244 196 48 / .08),transparent 45%);
    opacity:.65;
}
.ofm-playlist-card--mix .ofm-playlist-card__link {
    position:relative;
    z-index:1;
    display:grid;
    grid-template-columns:clamp(122px,10.8vw,154px) minmax(0,1fr);
    align-items:center;
    gap:16px;
    min-height:clamp(184px,16vw,218px);
    padding:16px;
    color:inherit;
    text-decoration:none;
}
.ofm-playlist-card--mix .ofm-playlist-card__cover {
    width:clamp(122px,10.8vw,154px);
    height:clamp(122px,10.8vw,154px);
    border-radius:15px;
    box-shadow:0 10px 25px rgb(0 0 0 / .26);
}
.ofm-playlist-card--mix .ofm-playlist-card__body { min-width:0; }
.ofm-playlist-card--mix .ofm-eyebrow {
    display:flex;
    align-items:center;
    min-height:24px;
    gap:8px;
    margin:0 0 7px;
}
.ofm-playlist-card--mix .ofm-playlist-rank {
    color:#f4c430;
    font-size:.72rem;
    font-weight:750;
    letter-spacing:.11em;
}
.ofm-playlist-card--mix h3,
.ofm-release-row__main>a,
.ofm-station-track__title {
    font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
    font-weight:600;
    letter-spacing:-.012em;
}
.ofm-playlist-card--mix h3 {
    overflow:hidden;
    margin:0;
    color:#fff;
    font-size:clamp(1.05rem,1.7vw,1.3rem);
    line-height:1.14;
    text-overflow:ellipsis;
    white-space:nowrap;
}
.ofm-playlist-card__metric {
    display:inline-flex;
    align-items:center;
    gap:6px;
    margin:10px 0 0;
    color:#bdbdbd;
    font-size:.79rem;
    font-weight:600;
}
.ofm-playlist-card__metric svg {
    width:14px;
    height:14px;
    fill:currentColor;
    stroke:none;
}
.ofm-playlist-visibility {
    display:inline-grid;
    place-items:center;
    width:24px;
    height:24px;
    margin:0;
    border:1px solid rgb(255 255 255 / .17);
    border-radius:50%;
    color:#aeb0b2;
    vertical-align:middle;
}
.ofm-playlist-visibility svg {
    display:block;
    width:14px;
    height:14px;
    fill:none;
    stroke:currentColor;
    stroke-width:2;
    stroke-linecap:round;
    stroke-linejoin:round;
}
.ofm-playlist-visibility.is-public { color:#f4c430; }
.ofm-playlist-card--mix>.ofm-playlist-card__share,
.ofm-playlist-card--mix>.ofm-playlist-card__save {
    position:absolute;
    z-index:3;
    top:12px;
}
.ofm-playlist-card--mix>.ofm-playlist-card__share { right:12px; }
.ofm-playlist-card--mix>.ofm-playlist-card__save { right:60px; }
.ofm-playlist-save-button {
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:5px;
    min-width:42px;
    height:34px;
    padding:0 9px;
    border:1px solid rgb(255 255 255 / .2);
    border-radius:999px;
    background:rgb(17 17 17 / .72);
    color:#d4d4d4;
    font:600 .74rem/1 ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
    cursor:pointer;
}
.ofm-playlist-save-button svg {
    width:15px;
    height:15px;
    fill:none;
    stroke:currentColor;
    stroke-width:2;
    stroke-linejoin:round;
}
.ofm-playlist-save-button:disabled { opacity:.58; cursor:wait; }
.ofm-playlist-save-button.is-saved {
    border-color:rgb(244 196 48 / .72);
    background:rgb(244 196 48 / .12);
    color:#f4c430;
}
.ofm-playlist-save-button:focus-visible,
.ofm-playlist-card--mix .ofm-playlist-card__share:focus-visible,
.ofm-playlist-card--mix .ofm-playlist-card__actions button:focus-visible {
    outline:2px solid #f4c430;
    outline-offset:2px;
}
.ofm-playlist-card--mix:focus-within { border-color:rgb(244 196 48 / .56); }
.ofm-playlist-card--owned .ofm-playlist-card__body { padding-bottom:42px; }
.ofm-playlist-card--owned .ofm-playlist-card__actions {
    position:absolute !important;
    z-index:3;
    right:12px;
    bottom:12px;
    display:flex;
    align-items:center;
    gap:8px;
    min-height:0;
    padding:0 !important;
}
.ofm-playlist-card--owned .ofm-playlist-card__actions button {
    display:grid;
    place-items:center;
    min-width:34px;
    height:34px;
    min-height:34px;
    padding:0;
    border-radius:50%;
    background:rgb(19 19 19 / .74);
}
.ofm-playlist-detail__actions .ofm-playlist-save-button {
    position:static;
    height:36px;
    min-width:50px;
}
@supports ((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))) {
    .ofm-playlist-card--mix {
        background:linear-gradient(142deg,rgb(36 36 36 / .62),rgb(17 17 17 / .72) 72%);
        -webkit-backdrop-filter:blur(14px) saturate(118%);
        backdrop-filter:blur(14px) saturate(118%);
    }
}
@media (hover:hover) and (prefers-reduced-motion:no-preference) {
    .ofm-playlist-card--mix { transition:transform .22s ease,border-color .22s ease,box-shadow .22s ease; }
    .ofm-playlist-card--mix:hover {
        transform:translateY(-4px);
        border-color:rgb(244 196 48 / .56);
        box-shadow:0 21px 50px rgb(0 0 0 / .34);
    }
    .ofm-playlist-card--mix .ofm-playlist-card__cover { transition:transform .3s ease; }
    .ofm-playlist-card--mix:hover .ofm-playlist-card__cover { transform:scale(1.025); }
    .ofm-playlist-save-button { transition:transform .18s ease,border-color .18s ease,background-color .18s ease; }
    .ofm-playlist-save-button:hover { transform:translateY(-1px); border-color:rgb(244 196 48 / .62); }
    .ofm-playlist-grid .ofm-playlist-card--mix,
    .ofm-public-playlists__grid .ofm-playlist-card--mix {
        animation:ofm-playlist-card-in .44s both;
    }
    .ofm-playlist-grid .ofm-playlist-card--mix:nth-child(2),
    .ofm-public-playlists__grid .ofm-playlist-card--mix:nth-child(2) { animation-delay:.045s; }
    .ofm-playlist-grid .ofm-playlist-card--mix:nth-child(3),
    .ofm-public-playlists__grid .ofm-playlist-card--mix:nth-child(3) { animation-delay:.09s; }
    .ofm-playlist-grid .ofm-playlist-card--mix:nth-child(4),
    .ofm-public-playlists__grid .ofm-playlist-card--mix:nth-child(4) { animation-delay:.135s; }
}
@keyframes ofm-playlist-card-in {
    from { opacity:0; transform:translateY(10px); }
    to { opacity:1; transform:translateY(0); }
}
.ofm-playlist-billboard {
    margin-top:28px;
    padding:clamp(18px,3vw,28px);
    border:1px solid rgb(244 196 48 / .24);
    border-radius:24px;
    background:linear-gradient(135deg,rgb(244 196 48 / .08),rgb(22 22 22 / .84) 42%);
}
.ofm-playlist-billboard__heading {
    display:flex;
    align-items:flex-end;
    justify-content:space-between;
    gap:16px;
    margin-bottom:16px;
}
.ofm-playlist-billboard__heading h2 { margin:2px 0 0; font-size:clamp(1.5rem,3vw,2rem); }
.ofm-playlist-billboard__heading>p { margin:0; color:#aaa; font-size:.8rem; }
.ofm-playlist-billboard__list { display:grid; gap:8px; margin:0; padding:0; list-style:none; }
.ofm-playlist-billboard__row {
    display:grid;
    grid-template-columns:30px minmax(0,1fr) auto 24px;
    align-items:center;
    gap:12px;
    padding:10px 11px;
    border:1px solid rgb(255 255 255 / .09);
    border-radius:13px;
    background:rgb(7 7 7 / .32);
}
.ofm-playlist-billboard__rank { color:#f4c430; font:700 .82rem/1 ui-sans-serif,system-ui,sans-serif; }
.ofm-playlist-billboard__track { display:grid; min-width:0; gap:2px; }
.ofm-playlist-billboard__track strong { overflow:hidden; font-size:.9rem; font-weight:600; text-overflow:ellipsis; white-space:nowrap; }
.ofm-playlist-billboard__track>span:not(.ofm-playlist-billboard__bar) { overflow:hidden; color:#aaa; font-size:.74rem; text-overflow:ellipsis; white-space:nowrap; }
.ofm-playlist-billboard__bar { display:block; width:100%; height:3px; overflow:hidden; border-radius:999px; background:rgb(255 255 255 / .1); }
.ofm-playlist-billboard__bar i { display:block; width:var(--ofm-chart-width); height:100%; border-radius:inherit; background:linear-gradient(90deg,#f4c430,#f7dc79); }
.ofm-playlist-billboard__plays { color:#ddd; font-size:.8rem; font-variant-numeric:tabular-nums; }
.ofm-playlist-billboard__movement { display:grid; place-items:center; font-weight:800; }
.ofm-playlist-billboard__movement.is-up { color:#83d6a5; }
.ofm-playlist-billboard__movement.is-down { color:#e79b9b; }
.ofm-playlist-billboard__movement.is-even { color:#999; }
.ofm-review-playlist-charts {
    margin-top:28px;
    padding:22px;
    border:1px solid rgb(255 255 255 / .14);
    border-radius:20px;
    background:rgb(22 22 22 / .72);
}
.ofm-review-playlist-charts__heading { display:flex; align-items:flex-end; justify-content:space-between; gap:18px; margin-bottom:16px; }
.ofm-review-playlist-charts__heading h2 { margin:3px 0 0; }
.ofm-review-playlist-charts__heading>p { max-width:480px; margin:0; color:#bbb; }
.ofm-review-playlist-charts__list { display:grid; gap:9px; margin:0; padding:0; list-style:none; }
.ofm-review-playlist-charts__list>li { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:12px; border:1px solid rgb(255 255 255 / .1); border-radius:12px; }
.ofm-review-playlist-charts__actions { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:8px; }
.ofm-public-playlists__browse { display:inline-flex; margin-top:10px; color:#f4c430; font-size:.82rem; font-weight:700; text-decoration:none; }
.ofm-public-playlists__browse:hover,.ofm-public-playlists__browse:focus-visible { color:#fff; text-decoration:underline; outline:none; }
.ofm-review-playlist-charts__list strong,.ofm-review-playlist-charts__list span { display:block; }
.ofm-review-playlist-charts__list span { margin-top:3px; color:#aaa; font-size:.8rem; }
@media (max-width:620px) {
    .ofm-public-playlists__grid,
    .ofm-saved-playlists .ofm-playlist-grid,
    #ofm-playlists .ofm-playlist-grid { grid-template-columns:1fr; }
    .ofm-playlist-card--mix .ofm-playlist-card__link {
        grid-template-columns:112px minmax(0,1fr);
        min-height:154px;
        padding:12px;
    }
    .ofm-playlist-card--mix { min-height:154px; border-radius:18px; }
    .ofm-playlist-card--mix .ofm-playlist-card__cover { width:112px; height:112px; border-radius:12px; }
    .ofm-playlist-card--owned .ofm-playlist-card__body { padding-bottom:38px; }
    .ofm-playlist-billboard { padding:17px; border-radius:18px; }
    .ofm-playlist-billboard__heading,.ofm-review-playlist-charts__heading { align-items:flex-start; flex-direction:column; gap:6px; }
    .ofm-playlist-billboard__row { grid-template-columns:24px minmax(0,1fr) auto; gap:8px; }
    .ofm-playlist-billboard__movement { display:none; }
    .ofm-review-playlist-charts__list>li { align-items:flex-start; flex-direction:column; }
    .ofm-review-playlist-charts__actions { justify-content:flex-start; }
}
@media (hover:none), (prefers-reduced-motion:reduce) {
    .ofm-playlist-card--mix:hover,.ofm-playlist-card--mix:focus-within { transform:none; }
}
@media (prefers-reduced-motion:reduce) {
    .ofm-playlist-card--mix,
    .ofm-playlist-card--mix .ofm-playlist-card__cover { animation:none !important; transition:none !important; }
}
/* Shared, icon-only playlist controls. These final selectors deliberately
   neutralize legacy card/button positioning without changing text buttons. */
.ofm-playlist-icon-button,
.ofm-playlist-card--mix > .ofm-playlist-card__share,
[data-ofm-station-root] button.ofm-station-track__share,
[data-ofm-station-root] button.ofm-station-track__playlist-remove,
.song-card button.ofm-playlist-add {
    box-sizing:border-box;
    display:inline-grid !important;
    place-items:center;
    flex:0 0 auto;
    margin:0;
    padding:0 !important;
    border-radius:50%;
    line-height:0 !important;
    font-size:0 !important;
}

.ofm-playlist-icon-button,
.ofm-playlist-card--mix > .ofm-playlist-card__share {
    inline-size:36px;
    block-size:36px;
    min-inline-size:36px;
    min-block-size:36px;
}

.ofm-playlist-icon-button svg,
.ofm-playlist-card--mix > .ofm-playlist-card__share svg,
[data-ofm-station-root] button.ofm-station-track__share svg,
[data-ofm-station-root] button.ofm-station-track__playlist-remove svg,
.song-card button.ofm-playlist-add svg {
    display:block !important;
    flex:none;
    inline-size:17px;
    block-size:17px;
    margin:0;
}

[data-ofm-station-root] button.ofm-station-track__playlist {
    box-sizing:border-box;
    display:inline-grid !important;
    place-items:center;
    flex:0 0 34px;
    inline-size:34px;
    block-size:34px;
    min-inline-size:34px;
    min-block-size:34px;
    margin:0;
    padding:0 !important;
    border-radius:50%;
    line-height:0 !important;
    font-size:0 !important;
}

[data-ofm-station-root] button.ofm-station-track__playlist span { display:none; }
[data-ofm-station-root] button.ofm-station-track__playlist svg { display:block; inline-size:16px; block-size:16px; }

/* The save count remains available to assistive technology while visually
   reading as a small bookmark badge rather than an action label. */
.ofm-playlist-save-button {
    position:relative;
    display:inline-grid;
    place-items:center;
    inline-size:34px;
    block-size:34px;
    min-inline-size:34px;
    min-block-size:34px;
    padding:0;
    border-radius:50%;
}

.ofm-playlist-save-button__count {
    position:absolute;
    right:-5px;
    bottom:-5px;
    display:grid;
    place-items:center;
    min-inline-size:14px;
    min-block-size:14px;
    padding:1px 3px;
    border:1px solid rgb(255 255 255 / .2);
    border-radius:999px;
    background:#171717;
    color:#c9c9c9;
    font:600 .58rem/1 ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
    font-variant-numeric:tabular-nums;
    opacity:.78;
}

.ofm-playlist-save-button.is-saved .ofm-playlist-save-button__count {
    border-color:rgb(244 196 48 / .46);
    color:#f4c430;
}

.ofm-playlist-visibility {
    display:inline-grid;
    place-items:center;
    inline-size:24px;
    block-size:24px;
    margin:0;
    padding:0;
    border:1px solid rgb(255 255 255 / .17);
    border-radius:50%;
    background:rgb(255 255 255 / .045);
}

.ofm-playlist-visibility svg {
    display:block;
    inline-size:14px;
    block-size:14px;
    fill:none;
    stroke:currentColor;
    stroke-width:2;
}

.ofm-playlist-card--mix > .ofm-playlist-card__rank-link {
    position:absolute;
    z-index:3;
    right:12px;
    bottom:12px;
    display:inline-grid;
    place-items:center;
    min-inline-size:30px;
    min-block-size:24px;
    padding:3px 7px;
    border:1px solid rgb(244 196 48 / .32);
    border-radius:999px;
    background:rgb(12 12 12 / .62);
    color:#f4c430;
    font:700 .68rem/1 ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
    font-variant-numeric:tabular-nums;
    letter-spacing:.04em;
    text-decoration:none;
}

.ofm-playlist-card--mix > .ofm-playlist-card__rank-link:hover,
.ofm-playlist-card--mix > .ofm-playlist-card__rank-link:focus-visible {
    border-color:#f4c430;
    background:rgb(244 196 48 / .12);
    outline:none;
}

.ofm-chart-rank-links {
    display:inline-flex;
    flex-wrap:wrap;
    align-items:center;
    gap:4px;
}

.ofm-chart-rank-link {
    display:inline-flex;
    align-items:center;
    gap:3px;
    min-block-size:22px;
    padding:3px 6px;
    border:1px solid rgb(255 255 255 / .13);
    border-radius:999px;
    background:rgb(255 255 255 / .045);
    color:#bfc0c2;
    font:650 .64rem/1 ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
    font-variant-numeric:tabular-nums;
    letter-spacing:.03em;
    text-decoration:none;
}

.ofm-chart-rank-link__icon { display:block; flex:none; inline-size:13px; block-size:13px; fill:none; stroke:#9b9da0; stroke-width:2; stroke-linecap:round; stroke-linejoin:round; }
.ofm-chart-rank-link b { color:#f4c430; font-weight:750; }
.ofm-chart-rank-link:hover,
.ofm-chart-rank-link:focus-visible { border-color:rgb(244 196 48 / .62); color:#fff; outline:none; }
.ofm-release-row__meta .ofm-chart-rank-links {
    margin-left:1px;
    padding:0;
    border-radius:0;
    background:transparent;
    white-space:normal;
}
.ofm-release-row__meta .ofm-chart-rank-link>span {
    padding:0;
    border-radius:0;
    background:transparent;
    white-space:normal;
}
.song-info .ofm-chart-rank-links { display:flex; margin-top:9px; padding-right:34px; }

/* A native disclosure keeps editor moderation lightweight, keyboard friendly,
   and dependable after PJAX navigation without a second JavaScript surface. */
.ofm-review-playlist-charts { padding:0; overflow:hidden; }
.ofm-review-playlist-charts__summary {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:16px;
    min-height:72px;
    padding:18px 22px;
    cursor:pointer;
    list-style:none;
}

.ofm-review-playlist-charts__summary::-webkit-details-marker { display:none; }
.ofm-review-playlist-charts__summary::after {
    content:"+";
    display:grid;
    place-items:center;
    inline-size:30px;
    block-size:30px;
    margin-left:8px;
    border:1px solid rgb(255 255 255 / .17);
    border-radius:50%;
    color:#d7d7d7;
    font-size:1.2rem;
    font-weight:400;
    line-height:1;
}

.ofm-review-playlist-charts[open] .ofm-review-playlist-charts__summary { border-bottom:1px solid rgb(255 255 255 / .1); }
.ofm-review-playlist-charts[open] .ofm-review-playlist-charts__summary::after { content:"\2212"; border-color:rgb(244 196 48 / .65); color:#f4c430; }
.ofm-review-playlist-charts__summary:focus-visible { outline:2px solid #f4c430; outline-offset:-4px; }
.ofm-review-playlist-charts__summary .ofm-eyebrow { display:block; margin:0 0 4px; }
.ofm-review-playlist-charts__summary strong { display:block; color:#fff; font-size:1.05rem; }
.ofm-review-playlist-charts__count {
    display:grid;
    place-items:center;
    min-inline-size:26px;
    min-block-size:26px;
    margin-left:auto;
    border:1px solid rgb(244 196 48 / .4);
    border-radius:999px;
    color:#f4c430;
    font:700 .72rem/1 ui-sans-serif,system-ui,sans-serif;
    font-variant-numeric:tabular-nums;
}

.ofm-review-playlist-charts__body { padding:20px 22px 22px; }
.ofm-review-playlist-charts__status {
    display:inline-flex !important;
    margin:7px 0 0 !important;
    padding:3px 6px;
    border:1px solid rgb(255 255 255 / .15);
    border-radius:999px;
    color:#bbb !important;
    font-size:.62rem !important;
    font-style:normal;
    font-weight:750;
    letter-spacing:.07em;
    text-transform:uppercase;
}
.ofm-review-playlist-charts__status.is-pending { border-color:rgb(244 196 48 / .52); color:#f4c430 !important; }
.ofm-review-playlist-charts__status.is-hidden { border-color:rgb(213 151 151 / .46); color:#efbbbb !important; }

/* Dedicated public Billboard: no route-only stylesheet is required, so it is
   fully formed on the first PJAX arrival as well as a direct page load. */
.ofm-billboard__hero { padding-top:clamp(64px,10vw,132px); padding-bottom:34px; }
.ofm-billboard__hero .ofm-container { max-width:940px; }
.ofm-billboard__hero h1 {
    max-width:700px;
    margin:6px 0 12px;
    color:#fff;
    font-size:clamp(3.2rem,8vw,6.5rem);
    line-height:.9;
    letter-spacing:-.065em;
}
.ofm-billboard__hero p:not(.ofm-eyebrow) { max-width:610px; margin:0; color:#bbb; font-size:1.04rem; line-height:1.55; }
.ofm-billboard__tabs { display:flex; flex-wrap:wrap; gap:8px; margin-top:22px; }
.ofm-billboard__tabs a,
.ofm-billboard__heading>a {
    display:inline-flex;
    align-items:center;
    min-block-size:34px;
    padding:7px 12px;
    border:1px solid rgb(255 255 255 / .18);
    border-radius:999px;
    color:#e8e8e8;
    font-size:.78rem;
    font-weight:700;
    text-decoration:none;
}
.ofm-billboard__tabs a:hover,
.ofm-billboard__tabs a:focus-visible,
.ofm-billboard__heading>a:hover,
.ofm-billboard__heading>a:focus-visible { border-color:#f4c430; color:#f4c430; outline:none; }
.ofm-billboard__section { padding-top:clamp(34px,5vw,72px); padding-bottom:clamp(28px,5vw,66px); scroll-margin-top:96px; }
.ofm-billboard__heading { display:flex; align-items:flex-end; justify-content:space-between; gap:18px; margin-bottom:18px; }
.ofm-billboard__heading h2 { margin:3px 0 0; color:#fff; font-size:clamp(2rem,4vw,3.2rem); letter-spacing:-.04em; }
.ofm-billboard__heading>p { margin:0; color:#aaa; font-size:.8rem; }
.ofm-billboard__list { display:grid; gap:9px; margin:0; padding:0; list-style:none; }
.ofm-billboard__row {
    display:grid;
    grid-template-columns:38px 56px minmax(0,1fr) auto;
    align-items:center;
    gap:13px;
    min-height:72px;
    padding:8px 12px;
    border:1px solid rgb(255 255 255 / .1);
    border-radius:16px;
    background:linear-gradient(130deg,rgb(29 29 29 / .9),rgb(16 16 16 / .9));
    scroll-margin-top:110px;
}
.ofm-billboard__row--song { grid-template-columns:38px minmax(0,1fr) auto 26px; }
.ofm-billboard__rank { color:#f4c430; font:750 .95rem/1 ui-sans-serif,system-ui,sans-serif; font-variant-numeric:tabular-nums; text-align:center; }
.ofm-billboard__cover { display:block; overflow:hidden; inline-size:56px; block-size:56px; border-radius:10px; background:#262626; }
.ofm-billboard__cover img { display:block; inline-size:100%; block-size:100%; object-fit:cover; }
.ofm-billboard__identity { display:grid; min-width:0; gap:3px; color:#fff; text-decoration:none; }
.ofm-billboard__identity strong { overflow:hidden; font-size:.94rem; font-weight:600; letter-spacing:-.01em; text-overflow:ellipsis; white-space:nowrap; }
.ofm-billboard__identity span { overflow:hidden; color:#aaa; font-size:.76rem; text-overflow:ellipsis; white-space:nowrap; }
.ofm-billboard__identity:hover strong,
.ofm-billboard__identity:focus-visible strong { color:#f4c430; }
.ofm-billboard__identity:focus-visible { outline:2px solid #f4c430; outline-offset:4px; }
.ofm-billboard__metric { min-inline-size:44px; color:#ddd; font-size:.8rem; font-variant-numeric:tabular-nums; text-align:right; }
.ofm-billboard__delta { display:grid; place-items:center; font-weight:800; }
.ofm-billboard__delta.is-up { color:#83d6a5; }
.ofm-billboard__delta.is-down { color:#e79b9b; }
.ofm-billboard__delta.is-even { color:#999; }
.ofm-billboard__empty { margin:0; padding:22px; border:1px dashed rgb(255 255 255 / .2); border-radius:16px; color:#aaa; }

@media (max-width:720px) {
    .ofm-playlist-icon-button,
    .ofm-playlist-card--mix > .ofm-playlist-card__share { inline-size:40px; block-size:40px; min-inline-size:40px; min-block-size:40px; }
    .ofm-playlist-save-button { inline-size:36px; block-size:36px; min-inline-size:36px; min-block-size:36px; }
    .ofm-billboard__heading { align-items:flex-start; flex-direction:column; gap:9px; }
    .ofm-billboard__row { grid-template-columns:32px 50px minmax(0,1fr) auto; gap:9px; padding:8px 10px; }
    .ofm-billboard__row--song { grid-template-columns:32px minmax(0,1fr) auto 20px; }
    .ofm-billboard__cover { inline-size:50px; block-size:50px; }
}

@media (max-width:520px) {
    .ofm-review-playlist-charts__summary,
    .ofm-review-playlist-charts__body { padding-right:16px; padding-left:16px; }
    .ofm-billboard__hero h1 { font-size:clamp(3rem,16vw,4.4rem); }
    .ofm-billboard__metric { min-inline-size:34px; font-size:.75rem; }
    .ofm-billboard__row--song .ofm-billboard__delta { display:none; }
}

@media (hover:none), (prefers-reduced-motion:reduce) {
    .ofm-playlist-card--mix:hover,
    .ofm-playlist-card--mix:focus-within { transform:none; }
}

/* Reusable native disclosures keep non-home content dense without adding a
   PJAX-dependent control surface. Home intentionally stays fully open. */
.ofm-content-disclosure {
    overflow:hidden;
    border:1px solid rgb(255 255 255 / .12);
    border-radius:20px;
    background:linear-gradient(135deg,rgb(30 30 30 / .76),rgb(15 15 15 / .88));
}
.ofm-content-disclosure__summary {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:16px;
    min-height:68px;
    padding:16px 20px;
    cursor:pointer;
    list-style:none;
}
.ofm-content-disclosure__summary::-webkit-details-marker { display:none; }
.ofm-content-disclosure__summary::after {
    content:"+";
    display:grid;
    place-items:center;
    inline-size:28px;
    block-size:28px;
    margin-left:4px;
    border:1px solid rgb(255 255 255 / .16);
    border-radius:50%;
    color:#c7c7c7;
    font-size:1.1rem;
    font-weight:400;
    line-height:1;
}
.ofm-content-disclosure[open] > .ofm-content-disclosure__summary { border-bottom:1px solid rgb(255 255 255 / .1); }
.ofm-content-disclosure[open] > .ofm-content-disclosure__summary::after { content:"\2212"; border-color:rgb(244 196 48 / .58); color:#f4c430; }
.ofm-content-disclosure__summary:focus-visible { outline:2px solid #f4c430; outline-offset:-4px; }
.ofm-content-disclosure__summary > span:first-child { display:grid; gap:3px; min-width:0; }
.ofm-content-disclosure__summary .ofm-eyebrow { margin:0; }
.ofm-content-disclosure__summary strong { color:#fff; font-size:clamp(1.35rem,3vw,2.1rem); letter-spacing:-.035em; }
.ofm-content-disclosure__count { color:#bdbdbd; font-size:.74rem; font-variant-numeric:tabular-nums; white-space:nowrap; }
.ofm-content-disclosure__body { padding:20px; }
.ofm-playlists__heading > .ofm-playlists__disclosure { flex:1 1 auto; min-width:0; }
.ofm-playlists__heading > .ofm-playlists__create-button { align-self:flex-start; margin-top:16px; }
.ofm-playlist-detail__tracks { margin-top:22px; }
.ofm-public-playlists__links { display:flex; flex-wrap:wrap; gap:8px; margin-top:16px; }
.ofm-public-playlists__links .ofm-public-playlists__browse { margin:0; }

/* Top 100 song rows no longer reserve a weekly-delta column: the ordinary
   track counter has an all-time total and no historical movement series. */
.ofm-billboard__row--song { grid-template-columns:38px minmax(0,1fr) auto; }
.ofm-billboard__disclosure .ofm-billboard__heading { margin-bottom:18px; }
.ofm-billboard__disclosure .ofm-billboard__heading > p { margin:0; color:#aaa; font-size:.8rem; }

@media (max-width:720px) {
    .ofm-billboard__row--song { grid-template-columns:32px minmax(0,1fr) auto; }
    .ofm-content-disclosure__summary,
    .ofm-content-disclosure__body { padding-right:16px; padding-left:16px; }
}
/* v0.1.27: Billboard songs use the same compact, direct-play row contract as
   Library likes. The rank and metric stay chart-specific while all playback
   state remains owned by the persistent player. */
.ofm-billboard__row--song.ofm-release-row {
    grid-template-columns:34px 56px minmax(0,1.2fr) minmax(92px,.7fr) auto;
    min-height:76px;
}
.ofm-billboard__row--song .ofm-release-row__cover { inline-size:56px; block-size:56px; }
.ofm-billboard__row--song .ofm-release-row__actions { align-items:center; }
.ofm-billboard__row--song .ofm-billboard__metric { min-inline-size:46px; }
.ofm-billboard__mix-copy { display:flex; align-items:center; gap:10px; min-width:0; }
.ofm-billboard__mix-copy .ofm-billboard__identity { flex:1 1 auto; }
.ofm-public-owner {
    display:inline-flex;
    align-items:center;
    gap:6px;
    min-width:0;
    color:#c9c9c9;
    font-size:.72rem;
    font-weight:700;
    text-decoration:none;
}
.ofm-public-owner:hover { color:#f4c430; }.ofm-public-owner:focus-visible { color:#f4c430; outline:2px solid #f4c430; outline-offset:3px; border-radius:999px; }
.ofm-public-owner__avatar {
    display:grid;
    flex:0 0 30px;
    inline-size:30px;
    block-size:30px;
    overflow:hidden;
    place-items:center;
    border:1px solid rgb(244 196 48 / .42);
    border-radius:50%;
    background:#252525;
    color:#f4c430;
}
.ofm-public-owner__avatar img { display:block; inline-size:100%; block-size:100%; object-fit:cover; }
.ofm-public-owner__initials { display:grid; place-items:center; inline-size:100%; block-size:100%; font-size:.64rem; letter-spacing:.03em; }
.ofm-public-owner__handle { overflow:hidden; min-width:0; text-overflow:ellipsis; white-space:nowrap; }
.ofm-playlist-owner-badge {
    display:inline-grid;
    place-items:center;
    gap:0;
    inline-size:24px;
    block-size:24px;
    color:#f4c430;
}
.ofm-playlist-owner-badge .ofm-public-owner__avatar {
    flex-basis:24px;
    inline-size:24px;
    block-size:24px;
    border-color:rgb(244 196 48 / .62);
    box-shadow:0 3px 10px rgb(0 0 0 / .2);
    transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease;
}
.ofm-playlist-owner-badge:hover .ofm-public-owner__avatar,
.ofm-playlist-owner-badge:focus-visible .ofm-public-owner__avatar { border-color:#f4c430; box-shadow:0 0 0 3px rgb(244 196 48 / .12),0 5px 12px rgb(0 0 0 / .26); transform:scale(1.05); }
.ofm-playlist-detail__owner { inline-size:28px; block-size:28px; }
.ofm-playlist-detail__owner .ofm-public-owner__avatar { flex-basis:28px; inline-size:28px; block-size:28px; }
.ofm-billboard__owner { flex:0 0 auto; }
.ofm-billboard__owner .ofm-public-owner__handle { max-inline-size:86px; }
.ofm-playlist-detail__owner-wrap { margin:0 0 8px!important; }
.ofm-playlist-detail__profile-required { margin:12px 0 0!important; }
.ofm-playlist-detail__profile-required a,.ofm-playlists__public-profile-note a { color:#f4c430; text-decoration:none; }
.ofm-playlist-detail__profile-required a:hover,.ofm-playlist-detail__profile-required a:focus-visible,.ofm-playlists__public-profile-note a:hover,.ofm-playlists__public-profile-note a:focus-visible { color:#fff; text-decoration:underline; outline:none; }
.ofm-playlists__public-profile-note { max-width:680px; margin:0 0 16px; padding:10px 12px; border:1px solid rgb(244 196 48 / .28); border-radius:12px; background:rgb(244 196 48 / .055); color:#cfcfcf; font-size:.83rem; line-height:1.5; }
.ofm-review-playlist-charts__identity { display:grid; gap:4px; min-width:0; }
.ofm-review-playlist-charts__identity .ofm-public-owner { margin-top:2px; }
.ofm-review-playlist-charts__profile-warning { display:inline-flex; width:max-content; margin-top:3px; color:#efb1a4; font-size:.7rem; font-style:normal; }
.ofm-review-playlist-charts__tracks { flex:1 1 260px; min-width:0; }
.ofm-review-playlist-charts__tracks>summary { cursor:pointer; color:#d7d7d7; font-size:.78rem; font-weight:700; }
.ofm-review-playlist-charts__tracks>summary:hover,.ofm-review-playlist-charts__tracks>summary:focus-visible { color:#f4c430; outline:none; }
.ofm-review-playlist-charts__tracks>ul { display:grid; gap:6px; margin:10px 0 0; padding:0; list-style:none; }
.ofm-review-playlist-charts__tracks>ul>li { display:flex; align-items:center; gap:8px; padding:7px; border:1px solid rgb(255 255 255 / .08); border-radius:9px; background:rgb(0 0 0 / .18); }
.ofm-review-playlist-charts__track-cover { display:grid; flex:0 0 40px; inline-size:40px; block-size:40px; overflow:hidden; place-items:center; border-radius:8px; background:#292929; color:#f4c430; }
.ofm-review-playlist-charts__track-cover img { display:block; inline-size:100%; block-size:100%; object-fit:cover; }
.ofm-review-playlist-charts__track-copy { display:grid!important; flex:1 1 auto; gap:1px; min-width:0; }
.ofm-review-playlist-charts__track-copy strong,.ofm-review-playlist-charts__track-copy span { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.ofm-review-playlist-charts__track-copy em { width:max-content; margin-top:2px; padding:2px 5px; border-radius:999px; background:#242424; color:#bbb; font-size:.62rem; font-style:normal; }
.ofm-review-playlist-charts__track-owner { flex:0 0 auto; }
.ofm-review-playlist-charts__track-owner .ofm-public-owner__handle { display:none; }
.ofm-review-playlist-charts__track-owner .ofm-public-owner__avatar { inline-size:26px; block-size:26px; flex-basis:26px; }
@media (max-width:720px) {
    .ofm-billboard__row--song.ofm-release-row {
        grid-template-columns:28px 50px minmax(0,1fr) auto;
        gap:9px;
    }
    .ofm-billboard__row--song .ofm-billboard__rank { grid-row:1 / 3; }
    .ofm-billboard__row--song .ofm-release-row__cover { grid-row:1 / 3; inline-size:50px; block-size:50px; }
    .ofm-billboard__row--song .ofm-release-row__main { grid-column:3; grid-row:1; }
    .ofm-billboard__row--song .ofm-release-row__meta { grid-column:3; grid-row:2; }
    .ofm-billboard__row--song .ofm-release-row__actions { grid-column:4; grid-row:1 / 3; }
    .ofm-billboard__mix-copy { gap:8px; }
    .ofm-billboard__owner .ofm-public-owner__handle { display:none; }
}
/* v0.1.28: a compact status badge keeps the seven-day movement meaningful
   without changing the all-time counts that determine chart order. */
.ofm-billboard__heading > .ofm-billboard__play-all {
    display:inline-flex;
    align-items:center;
    gap:7px;
    min-block-size:34px;
    padding:7px 12px;
    border:1px solid rgb(244 196 48 / .55);
    border-radius:999px;
    background:rgb(244 196 48 / .09);
    color:#f4c430;
    cursor:pointer;
    font:700 .78rem/1 ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}
.ofm-billboard__play-all svg { inline-size:15px; block-size:15px; fill:currentColor; }
.ofm-billboard__heading > .ofm-billboard__play-all:hover,
.ofm-billboard__heading > .ofm-billboard__play-all:focus-visible { border-color:#f4c430; background:rgb(244 196 48 / .16); color:#fff; outline:none; }
.ofm-billboard__row-metrics,
.ofm-billboard__row--song .ofm-release-row__actions { display:flex; align-items:center; justify-content:flex-end; gap:7px; }
.ofm-billboard__trend {
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:3px;
    min-block-size:25px;
    padding:4px 7px;
    border:1px solid rgb(255 255 255 / .18);
    border-radius:999px;
    background:rgb(255 255 255 / .045);
    color:#aaa;
    font:750 .68rem/1 ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
    font-variant-numeric:tabular-nums;
    white-space:nowrap;
}
.ofm-billboard__trend-symbol { font-size:.82rem; line-height:1; }
.ofm-billboard__trend.is-up { border-color:rgb(108 207 143 / .42); background:rgb(73 168 109 / .11); color:#91dfad; }
.ofm-billboard__trend.is-down { border-color:rgb(224 125 125 / .42); background:rgb(191 81 81 / .11); color:#efaaaa; }
.ofm-billboard__trend.is-neutral { border-color:rgb(255 255 255 / .13); color:#999; }
.ofm-billboard__trend.is-unavailable { color:#848484; }
@media (prefers-reduced-motion:no-preference) {
    .ofm-billboard__trend.is-up,
    .ofm-billboard__trend.is-down { animation:ofm-billboard-trend-pulse 1.85s ease-in-out 2; }
    @keyframes ofm-billboard-trend-pulse {
        0%,100% { box-shadow:0 0 0 0 transparent; }
        48% { box-shadow:0 0 0 5px currentColor; }
    }
}
@media (max-width:720px) {
    .ofm-billboard__heading > .ofm-billboard__play-all { min-block-size:32px; }
    .ofm-billboard__row--song .ofm-release-row__actions { align-self:center; flex-direction:column; gap:4px; }
    .ofm-billboard__row--song .ofm-billboard__metric { min-inline-size:auto; }
    .ofm-billboard__trend { min-block-size:23px; padding:3px 6px; font-size:.64rem; }
    .ofm-billboard__row-metrics { align-self:center; flex-direction:column; gap:4px; }
}

/* Editor mix moderation stays compact: hover text carries the detail while
 * the visual controls remain familiar eye-off, check, and lock affordances. */
.ofm-review-playlist-charts__list>li { transition:border-color .24s ease,background .24s ease,box-shadow .24s ease,opacity .2s ease,transform .24s ease; }
.ofm-review-playlist-charts__actions { align-items:center; }
.ofm-review-playlist-charts__form { margin:0; }
.ofm-review-playlist-charts__action {
    display:grid;
    box-sizing:border-box;
    inline-size:36px;
    block-size:36px;
    min-inline-size:36px;
    min-block-size:36px;
    padding:0;
    place-items:center;
    border:1px solid #444;
    border-radius:50%;
    background:transparent;
    color:#d6d6d6;
    cursor:pointer;
    line-height:0;
    transition:border-color .18s ease,background-color .18s ease,color .18s ease,box-shadow .18s ease,transform .18s ease,opacity .18s ease;
}
.ofm-review-playlist-charts__action svg { display:block; inline-size:16px; block-size:16px; fill:none; stroke:currentColor; stroke-linecap:round; stroke-linejoin:round; stroke-width:2; }
.ofm-review-playlist-charts__action:focus-visible { outline:0; box-shadow:0 0 0 3px rgb(244 196 48 / .2); }
.ofm-review-playlist-charts__action.is-approve { border-color:rgb(112 207 146 / .46); color:#91dfad; }
.ofm-review-playlist-charts__action.is-approve:hover,.ofm-review-playlist-charts__action.is-approve:focus-visible { border-color:#91dfad; background:rgb(73 168 109 / .12); color:#c2f0d0; }
.ofm-review-playlist-charts__action.is-hide { border-color:rgb(244 196 48 / .37); color:#f4c430; }
.ofm-review-playlist-charts__action.is-hide:hover,.ofm-review-playlist-charts__action.is-hide:focus-visible { border-color:#f4c430; background:rgb(244 196 48 / .12); color:#fff; }
.ofm-review-playlist-charts__action.is-private { border-color:rgb(215 139 139 / .42); color:#efb1b1; }
.ofm-review-playlist-charts__action.is-private:hover,.ofm-review-playlist-charts__action.is-private:focus-visible { border-color:#efb1b1; background:rgb(187 76 76 / .12); color:#ffd0d0; }
.ofm-review-playlist-charts__form.is-submitting .ofm-review-playlist-charts__action { cursor:wait; opacity:.78; }
.ofm-review-playlist-charts__form.is-submitting .ofm-review-playlist-charts__action:disabled { pointer-events:none; }
.ofm-review-playlist-charts__list>li.is-updating { border-color:rgb(244 196 48 / .6); background:rgb(244 196 48 / .055); box-shadow:0 0 0 1px rgb(244 196 48 / .09),0 14px 28px rgb(0 0 0 / .2); transform:translateY(-1px); }
.ofm-review-playlist-charts.is-returned[open] .ofm-review-playlist-charts__body { transform-origin:top center; }
.ofm-review-playlist-charts.is-returned .ofm-review-playlist-charts__list>li.is-updated { border-color:rgb(244 196 48 / .62); background:linear-gradient(110deg,rgb(244 196 48 / .11),rgb(24 24 24 / .9) 44%); }
@media (prefers-reduced-motion:no-preference) {
    .ofm-review-playlist-charts.is-returned[open] .ofm-review-playlist-charts__body { animation:ofm-review-moderation-arrival .52s cubic-bezier(.2,.8,.2,1) both; }
    .ofm-review-playlist-charts.is-returned .ofm-review-playlist-charts__list>li.is-updated { animation:ofm-review-moderation-highlight 1.2s ease-out both; }
    .ofm-review-playlist-charts__form.is-submitting .ofm-review-playlist-charts__action { animation:ofm-review-moderation-pulse .8s ease-in-out infinite; }
    @keyframes ofm-review-moderation-arrival {
        0% { opacity:.2; transform:translateY(14px); }
        64% { opacity:1; transform:translateY(-2px); }
        100% { opacity:1; transform:translateY(0); }
    }
    @keyframes ofm-review-moderation-highlight {
        0% { box-shadow:0 0 0 0 rgb(244 196 48 / 0); }
        42% { box-shadow:0 0 0 6px rgb(244 196 48 / .12),0 16px 30px rgb(0 0 0 / .22); }
        100% { box-shadow:0 0 0 0 rgb(244 196 48 / 0); }
    }
    @keyframes ofm-review-moderation-pulse {
        50% { box-shadow:0 0 0 5px rgb(244 196 48 / .14); transform:scale(.94); }
    }
}
@media (max-width:620px) {
    .ofm-review-playlist-charts__actions { gap:7px; }
    .ofm-review-playlist-charts__action { inline-size:34px; block-size:34px; min-inline-size:34px; min-block-size:34px; }
}
@media (prefers-reduced-motion:reduce) {
    .ofm-review-playlist-charts__list>li,
    .ofm-review-playlist-charts__action { transition:none !important; animation:none !important; }
}

/* Moderation is split into unresolved work and an intentionally quiet history.
   Status and action colours are semantic, while text remains available to AT
   through the button labels/titles. */
.ofm-review-playlist-charts__status.is-listed {
    border-color:rgb(112 207 146 / .48);
    background:rgb(73 168 109 / .10);
    color:#91dfad !important;
}
.ofm-review-playlist-charts__status.is-hidden,
.ofm-review-playlist-charts__status.is-private {
    border-color:rgb(224 125 125 / .48);
    background:rgb(191 81 81 / .10);
    color:#efaaaa !important;
}
.ofm-review-playlist-charts__action.is-hide {
    border-color:rgb(224 125 125 / .44);
    color:#efaaaa;
}
.ofm-review-playlist-charts__action.is-hide:hover,
.ofm-review-playlist-charts__action.is-hide:focus-visible {
    border-color:#efaaaa;
    background:rgb(191 81 81 / .12);
    color:#ffd0d0;
}
.ofm-review-playlist-charts__reviewed {
    margin-top:16px;
    border:1px solid rgb(255 255 255 / .10);
    border-radius:13px;
    background:rgb(255 255 255 / .018);
}
.ofm-review-playlist-charts__reviewed>summary {
    display:flex;
    align-items:center;
    justify-content:space-between;
    min-block-size:48px;
    padding:11px 13px;
    cursor:pointer;
    color:#d8d8d8;
    font-size:.8rem;
    font-weight:700;
    list-style:none;
}
.ofm-review-playlist-charts__reviewed>summary::-webkit-details-marker { display:none; }
.ofm-review-playlist-charts__reviewed>summary::after {
    content:"+";
    display:grid;
    order:3;
    inline-size:22px;
    block-size:22px;
    margin-left:8px;
    place-items:center;
    border:1px solid rgb(255 255 255 / .16);
    border-radius:50%;
    color:#aaa;
    font-size:1rem;
    font-weight:400;
    line-height:1;
}
.ofm-review-playlist-charts__reviewed[open]>summary::after {
    content:"\2212";
    border-color:rgb(244 196 48 / .5);
    color:#f4c430;
}
.ofm-review-playlist-charts__reviewed>summary:focus-visible {
    outline:2px solid #f4c430;
    outline-offset:-3px;
}
.ofm-review-playlist-charts__reviewed>summary small {
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-inline-size:20px;
    min-block-size:20px;
    margin-left:auto;
    border:1px solid rgb(255 255 255 / .12);
    border-radius:999px;
    color:#aaa;
    font-size:.66rem;
    font-variant-numeric:tabular-nums;
}
.ofm-review-playlist-charts__reviewed-body { padding:0 10px 10px; }
.ofm-review-playlist-charts__reviewed .ofm-review-playlist-charts__list>li {
    background:rgb(0 0 0 / .12);
}
@media (prefers-reduced-motion:no-preference) {
    .ofm-review-playlist-charts__reviewed[open] .ofm-review-playlist-charts__reviewed-body {
        animation:ofm-review-history-arrival .32s ease-out both;
    }
    @keyframes ofm-review-history-arrival {
        from { opacity:0; transform:translateY(-5px); }
        to { opacity:1; transform:translateY(0); }
    }
}
/* v0.1.33 Billboard navigation and the Library's in-panel create control. */
.ofm-billboard__tabs,
.ofm-billboard__markets { display:flex; flex-wrap:wrap; gap:8px; }
.ofm-billboard__markets { margin-top:10px; }
.ofm-billboard__tabs a,
.ofm-billboard__market {
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-block-size:36px;
    padding:8px 13px;
    border:1px solid rgb(255 255 255 / .16);
    border-radius:999px;
    background:rgb(20 20 20 / .6);
    color:#c8c8c8;
    font:700 .74rem/1 ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;
    letter-spacing:.025em;
    text-decoration:none;
    transition:transform .22s ease,border-color .22s ease,background-color .22s ease,color .22s ease,box-shadow .22s ease;
}
.ofm-billboard__tabs a.is-active,
.ofm-billboard__market.is-active {
    border-color:rgb(244 196 48 / .82);
    background:linear-gradient(135deg,rgb(244 196 48 / .24),rgb(244 196 48 / .07));
    color:#ffe28a;
    box-shadow:0 8px 24px rgb(244 196 48 / .1);
}
.ofm-billboard__market { appearance:none; cursor:default; }
a.ofm-billboard__market { cursor:pointer; }
.ofm-billboard__market[disabled] { opacity:.48; }
.ofm-billboard__market-note { max-width:520px; margin:10px 0 0; color:#858585; font-size:.78rem; line-height:1.45; }
.ofm-playlists__tools { display:flex; justify-content:flex-end; margin:0 0 14px; }
.ofm-playlists__tools .ofm-playlists__create-button { position:static; margin:0; }
@media (hover:hover) and (prefers-reduced-motion:no-preference) {
    .ofm-billboard__tabs a:not(.is-active):hover,
    .ofm-billboard__tabs a:not(.is-active):focus-visible,
    a.ofm-billboard__market:not(.is-active):hover,
    a.ofm-billboard__market:not(.is-active):focus-visible {
        transform:translateY(-2px);
        border-color:rgb(244 196 48 / .62);
        background:rgb(244 196 48 / .09);
        color:#ffe28a;
        box-shadow:0 10px 22px rgb(0 0 0 / .22);
        outline:none;
    }
}
.ofm-billboard__tabs a:focus-visible,
.ofm-billboard__market:focus-visible { outline:2px solid #f4c430; outline-offset:3px; }
@media (max-width:620px) {
    .ofm-billboard__tabs,
    .ofm-billboard__markets { flex-wrap:nowrap; overflow-x:auto; padding-bottom:4px; scrollbar-width:none; }
    .ofm-billboard__tabs::-webkit-scrollbar,
    .ofm-billboard__markets::-webkit-scrollbar { display:none; }
    .ofm-billboard__tabs a,
    .ofm-billboard__market { flex:0 0 auto; min-block-size:42px; }
    .ofm-playlists__tools { margin-bottom:12px; }
    .ofm-playlists__tools .ofm-playlists__create-button { inline-size:42px; block-size:42px; min-inline-size:42px; min-block-size:42px; }
}
@media (prefers-reduced-motion:reduce) {
    .ofm-billboard__tabs a,
    .ofm-billboard__market { transition:none; }
}
/* Region controls are intentionally part of the song chart only. */
.ofm-billboard__song-context{display:grid;gap:9px;min-width:0}.ofm-billboard__song-context>p{margin:0;color:#aaa;font-size:.8rem}.ofm-billboard__song-context .ofm-billboard__markets{margin:0}.ofm-billboard__market[disabled]{cursor:not-allowed}.ofm-billboard__rank{min-inline-size:3.25ch;font-size:.9rem;letter-spacing:-.025em;white-space:nowrap}@media(max-width:720px){.ofm-billboard__rank{min-inline-size:3.15ch;font-size:.8rem}.ofm-billboard__song-context{gap:8px}}
/* V1.36: keep compact Home mix covers aligned to their card column. */
.ofm-public-playlists__grid > .ofm-playlist-card--home .ofm-playlist-card__cover{inline-size:112px;block-size:112px}
@media(max-width:620px){.ofm-public-playlists__grid > .ofm-playlist-card--home .ofm-playlist-card__cover{inline-size:94px;block-size:94px}}
/* Home cards are deliberately a compact horizontal preview. Kentha's card
   shell can apply a percentage height to article children, so constrain all
   three height properties here rather than relying on grid alignment alone. */
html body .ofm-public-playlists__grid {
    grid-auto-rows:180px !important;
    align-items:start !important;
}
html body .ofm-public-playlists__grid > article.ofm-playlist-card--home {
    box-sizing:border-box;
    align-self:start !important;
    height:180px !important;
    min-height:180px !important;
    max-height:180px !important;
    block-size:180px !important;
    min-block-size:180px !important;
    max-block-size:180px !important;
}
html body .ofm-public-playlists__grid > article.ofm-playlist-card--home > .ofm-playlist-card__link {
    box-sizing:border-box;
    height:100% !important;
    min-height:0 !important;
    max-height:none !important;
    block-size:100% !important;
    min-block-size:0 !important;
    max-block-size:none !important;
    grid-template-columns:112px minmax(0,1fr) !important;
    align-items:center !important;
}
html body .ofm-public-playlists__grid > article.ofm-playlist-card--home > .ofm-playlist-card__link > .ofm-playlist-card__body {
    align-self:center;
    align-content:center !important;
    min-height:0 !important;
}
@media(max-width:620px){
    html body .ofm-public-playlists__grid{grid-auto-rows:154px !important}
    html body .ofm-public-playlists__grid > article.ofm-playlist-card--home{height:154px !important;min-height:154px !important;max-height:154px !important;block-size:154px !important;min-block-size:154px !important;max-block-size:154px !important}
    html body .ofm-public-playlists__grid > article.ofm-playlist-card--home > .ofm-playlist-card__link{grid-template-columns:94px minmax(0,1fr) !important;padding:12px !important}
}

/* Saved mixes use the same compact, horizontal card treatment as Home. Host
   card shells may otherwise stretch the article to the disclosure's height. */
html body .ofm-saved-playlists .ofm-playlist-grid {
    grid-auto-rows:180px !important;
    align-items:start !important;
}
html body .ofm-saved-playlists .ofm-playlist-grid > article.ofm-playlist-card--saved {
    box-sizing:border-box;
    align-self:start !important;
    height:180px !important;
    min-height:180px !important;
    max-height:180px !important;
    block-size:180px !important;
    min-block-size:180px !important;
    max-block-size:180px !important;
}
html body .ofm-saved-playlists .ofm-playlist-grid > article.ofm-playlist-card--saved > .ofm-playlist-card__link {
    box-sizing:border-box;
    height:100% !important;
    min-height:0 !important;
    max-height:none !important;
    block-size:100% !important;
    min-block-size:0 !important;
    max-block-size:none !important;
    grid-template-columns:112px minmax(0,1fr) !important;
    align-items:center !important;
}
html body .ofm-saved-playlists .ofm-playlist-grid > article.ofm-playlist-card--saved > .ofm-playlist-card__link > .ofm-playlist-card__body {
    display:grid;
    align-self:center;
    align-content:center !important;
    gap:5px;
    min-height:0 !important;
}

/* Keep the shared bookmark centered and leave its existing count badge uncropped. */
.ofm-playlist-card--mix > .ofm-playlist-save-button{overflow:visible}
.ofm-playlist-card--mix > .ofm-playlist-save-button > svg{transform:none}

@media(max-width:620px){
    html body .ofm-saved-playlists .ofm-playlist-grid{grid-auto-rows:154px !important}
    html body .ofm-saved-playlists .ofm-playlist-grid > article.ofm-playlist-card--saved{height:154px !important;min-height:154px !important;max-height:154px !important;block-size:154px !important;min-block-size:154px !important;max-block-size:154px !important}
    html body .ofm-saved-playlists .ofm-playlist-grid > article.ofm-playlist-card--saved > .ofm-playlist-card__link{grid-template-columns:94px minmax(0,1fr) !important;padding:12px !important}
}
/* Public profile catalogues use the same fixed compact horizontal cards as Home.
   The host's generic card shell can otherwise stretch a lone public mix to the
   full grid height. */
html body .ofm-public-profile-mixes .ofm-playlist-grid{display:grid!important;grid-template-columns:repeat(auto-fill,minmax(270px,1fr))!important;gap:18px!important;grid-auto-rows:180px!important;align-items:start!important}html body .ofm-public-profile-mixes .ofm-playlist-grid>article.ofm-playlist-card--browse{box-sizing:border-box;align-self:start!important;height:180px!important;min-height:180px!important;max-height:180px!important;block-size:180px!important;min-block-size:180px!important;max-block-size:180px!important}html body .ofm-public-profile-mixes .ofm-playlist-grid>article.ofm-playlist-card--browse>.ofm-playlist-card__link{box-sizing:border-box;height:100%!important;min-height:0!important;max-height:none!important;block-size:100%!important;min-block-size:0!important;max-block-size:none!important;grid-template-columns:112px minmax(0,1fr)!important;align-items:center!important}html body .ofm-public-profile-mixes .ofm-playlist-grid>article.ofm-playlist-card--browse>.ofm-playlist-card__link>.ofm-playlist-card__body{display:grid;align-self:center;align-content:center!important;gap:5px;min-height:0!important}@media(max-width:620px){html body .ofm-public-profile-mixes .ofm-playlist-grid{grid-auto-rows:154px!important}html body .ofm-public-profile-mixes .ofm-playlist-grid>article.ofm-playlist-card--browse{height:154px!important;min-height:154px!important;max-height:154px!important;block-size:154px!important;min-block-size:154px!important;max-block-size:154px!important}html body .ofm-public-profile-mixes .ofm-playlist-grid>article.ofm-playlist-card--browse>.ofm-playlist-card__link{grid-template-columns:94px minmax(0,1fr)!important;padding:12px!important}}

/* Profile mix covers follow the compact card grid rather than the wider browse cover. */
html body .ofm-public-profile-mixes .ofm-playlist-grid > article.ofm-playlist-card--browse .ofm-playlist-card__cover{inline-size:112px!important;block-size:112px!important}
@media(max-width:620px){html body .ofm-public-profile-mixes .ofm-playlist-grid > article.ofm-playlist-card--browse .ofm-playlist-card__cover{inline-size:94px!important;block-size:94px!important}}
/* A reviewed mix can be cleared from one editor's history without changing its
   public/chart state. Keep that control visually aligned with mix actions. */
.ofm-review-playlist-charts__queue-dismiss{margin:0}.ofm-review-playlist-charts__queue-dismiss .ofm-editor-review-portal__queue-dismiss-button{inline-size:36px;block-size:36px;min-inline-size:36px;min-block-size:36px;border-color:#444}@media(max-width:620px){.ofm-review-playlist-charts__queue-dismiss .ofm-editor-review-portal__queue-dismiss-button{inline-size:34px;block-size:34px;min-inline-size:34px;min-block-size:34px}}

/* Source: assets/css/playlist-detail.css */
/* Child-owned public mix document. The route intentionally does not inherit
 * Library or parent-theme layout rules; only the shared row/player data
 * contract remains. */
.ofm-public-playlist-page{min-height:72vh;padding:clamp(34px,5vw,76px) max(20px,calc((100vw - 1240px)/2)) calc(180px + env(safe-area-inset-bottom));background:radial-gradient(circle at 82% 3%,rgb(244 196 48 / .07),transparent 31%),#080808;color:#f5f5f5}
.ofm-public-playlist-page .ofm-public-playlist-detail{width:min(100%,1180px);margin:0 auto;padding:0!important;background:transparent;color:inherit}
.ofm-public-playlist-detail__back{display:inline-flex;align-items:center;gap:7px;margin:0 0 20px;color:#bdbdbd;font-size:.78rem;font-weight:800;text-decoration:none;transition:color .18s ease}
.ofm-public-playlist-detail__back:hover,.ofm-public-playlist-detail__back:focus-visible{color:#f4c430;outline:none}
.ofm-public-playlist-detail__hero{position:relative;display:grid;grid-template-columns:minmax(230px,330px) minmax(0,1fr);gap:clamp(26px,4vw,54px);align-items:center;overflow:hidden;padding:clamp(24px,4vw,48px);border:1px solid rgb(255 255 255 / .13);border-radius:28px;background:linear-gradient(125deg,rgb(255 255 255 / .055),rgb(255 255 255 / .012) 55%,rgb(244 196 48 / .06));box-shadow:0 25px 65px rgb(0 0 0 / .27)}
.ofm-public-playlist-detail__hero::after{content:"";position:absolute;z-index:0;inset:auto -14% -74% 28%;height:240px;background:radial-gradient(ellipse, rgb(244 196 48 / .12),transparent 68%);filter:blur(12px);pointer-events:none}
.ofm-public-playlist-detail__cover,.ofm-public-playlist-detail__body{position:relative;z-index:1}
.ofm-public-playlist-detail__cover{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:1fr;aspect-ratio:1;overflow:hidden;border:1px solid rgb(255 255 255 / .2);border-radius:22px;background:#171717;box-shadow:0 18px 36px rgb(0 0 0 / .28)}
.ofm-public-playlist-detail__cover>img{display:block;width:100%;height:100%;min-width:0;min-height:0;object-fit:cover;background:#242424}
.ofm-public-playlist-detail__cover>img:only-of-type{grid-column:1/-1;grid-row:1/-1}
.ofm-public-playlist-detail__cover>span{display:grid;grid-column:1/-1;grid-row:1/-1;place-items:center;background:radial-gradient(circle at 35% 26%,#303030,#161616 62%);color:#f4c430;font-size:3.2rem}
.ofm-public-playlist-detail__cover>span svg{width:1em;height:1em;fill:currentColor;stroke:none}
.ofm-public-playlist-detail__cover .song-overlay{position:absolute;z-index:2;inset:0;display:flex;align-items:center;justify-content:center;opacity:0;background:rgb(0 0 0 / .15);pointer-events:none;transition:opacity .2s ease,background .2s ease}
.ofm-public-playlist-detail__cover:hover .song-overlay,.ofm-public-playlist-detail__cover:focus-within .song-overlay,.ofm-public-playlist-detail.is-playing .ofm-public-playlist-detail__cover .song-overlay{opacity:1;pointer-events:auto}
.ofm-public-playlist-detail__cover .play-button{display:grid;place-items:center;width:58px;height:58px;padding:0;border:1px solid rgb(255 255 255 / .8);border-radius:50%;background:rgb(0 0 0 / .5);color:#fff;box-shadow:0 9px 22px rgb(0 0 0 / .28);cursor:pointer;transition:transform .2s ease,background-color .2s ease}
.ofm-public-playlist-detail__cover .play-button:hover,.ofm-public-playlist-detail__cover .play-button:focus-visible{border-color:#fff;background:rgb(0 0 0 / .68);color:#fff;outline:2px solid #fff;outline-offset:3px;transform:scale(1.06)}
.ofm-public-playlist-detail__cover .play-button svg{width:22px;height:22px;fill:currentColor;stroke:none}
.ofm-public-playlist-detail__cover .play-button .icon-pause{display:none;fill:none;stroke:currentColor;stroke-width:2.4;stroke-linecap:round}
.ofm-public-playlist-detail.is-playing .ofm-public-playlist-detail__cover .play-button .icon-play{display:none}
.ofm-public-playlist-detail.is-playing .ofm-public-playlist-detail__cover .play-button .icon-pause{display:block}
.ofm-public-playlist-detail__body{display:grid;align-content:center;justify-items:start;min-width:0}
.ofm-public-playlist-detail__body>.ofm-eyebrow{margin:0 0 7px;color:#f4c430;font-size:.71rem;font-weight:900;letter-spacing:.18em;text-transform:uppercase}
.ofm-public-playlist-detail__body h1{margin:0;color:#fff;font-size:clamp(2.35rem,6vw,5.15rem);font-weight:900;letter-spacing:-.072em;line-height:.93;overflow-wrap:anywhere}
.ofm-public-playlist-detail__owner{display:flex;align-items:center;gap:11px;max-width:100%;margin:18px 0 0;color:#eee;text-decoration:none}
.ofm-public-playlist-detail__owner:hover,.ofm-public-playlist-detail__owner:focus-visible{color:#f4c430;outline:none}
.ofm-public-playlist-detail__owner-avatar{display:grid;flex:0 0 42px;width:42px;height:42px;overflow:hidden;place-items:center;border:1px solid rgb(244 196 48 / .55);border-radius:50%;background:#202020}
.ofm-public-playlist-detail__owner-avatar img{display:block;width:100%;height:100%;object-fit:cover}
.ofm-public-playlist-detail__owner-avatar .ofm-public-owner__initials{display:grid;place-items:center;width:100%;height:100%;font-size:.75rem}
.ofm-public-playlist-detail__owner>span:last-child{display:grid;min-width:0;gap:1px}
.ofm-public-playlist-detail__owner small,.ofm-public-playlist-detail__owner em{overflow:hidden;color:#aaa;font-size:.68rem;font-style:normal;font-weight:700;line-height:1.2;text-overflow:ellipsis;white-space:nowrap}
.ofm-public-playlist-detail__owner strong{overflow:hidden;color:currentColor;font-size:.9rem;line-height:1.2;text-overflow:ellipsis;white-space:nowrap}
.ofm-public-playlist-detail__facts{display:flex;flex-wrap:wrap;gap:9px;margin:23px 0 0}
.ofm-public-playlist-detail__facts>div{display:grid;gap:3px;min-width:84px;padding:8px 12px;border:1px solid rgb(255 255 255 / .12);border-radius:12px;background:rgb(0 0 0 / .18)}
.ofm-public-playlist-detail__facts dt{color:#9c9c9c;font-size:.59rem;font-weight:900;letter-spacing:.1em;text-transform:uppercase}
.ofm-public-playlist-detail__facts dd{margin:0;color:#fff;font-size:.9rem;font-weight:850;font-variant-numeric:tabular-nums}
.ofm-public-playlist-detail__facts a{color:#f4c430;text-decoration:none}.ofm-public-playlist-detail__facts a:hover,.ofm-public-playlist-detail__facts a:focus-visible{color:#fff;outline:none}
.ofm-public-playlist-detail__actions{display:flex;flex-wrap:wrap;align-items:center;gap:9px;margin-top:23px}
.ofm-public-playlist-detail__actions .ofm-playlist-card__save,.ofm-public-playlist-detail__actions .ofm-playlist-card__share{position:static!important;top:auto!important;right:auto!important;display:inline-grid;place-items:center;width:38px;height:38px;min-width:38px;min-height:38px;margin:0;padding:0;border:1px solid rgb(255 255 255 / .24);border-radius:50%;background:rgb(0 0 0 / .13);color:#e7e7e7}
.ofm-public-playlist-detail__actions .ofm-playlist-card__save:hover,.ofm-public-playlist-detail__actions .ofm-playlist-card__save:focus-visible,.ofm-public-playlist-detail__actions .ofm-playlist-card__share:hover,.ofm-public-playlist-detail__actions .ofm-playlist-card__share:focus-visible{border-color:#f4c430;background:rgb(244 196 48 / .1);color:#f4c430;outline:none}
.ofm-public-playlist-detail__actions .ofm-playlist-card__save.is-saved{border-color:rgb(244 196 48 / .64);background:rgb(244 196 48 / .12);color:#f4c430}
.ofm-public-playlist-detail__actions .ofm-playlist-save-button__count{display:none}
.ofm-public-playlist-detail__actions>.ofm-follows{justify-content:flex-start;gap:0;margin:0}
.ofm-public-playlist-detail__actions>.ofm-follows .ofm-follows__button{min-height:38px;padding:9px 13px;font-size:.72rem}
.ofm-public-playlist-detail__tracks,.ofm-public-playlist-detail__related{margin-top:clamp(34px,5vw,66px)}
.ofm-public-playlist-detail__tracks>header,.ofm-public-playlist-detail__related>header{display:flex;align-items:end;justify-content:space-between;gap:18px;margin-bottom:16px}
.ofm-public-playlist-detail__tracks>header .ofm-eyebrow,.ofm-public-playlist-detail__related>header .ofm-eyebrow{margin:0 0 5px;color:#f4c430;font-size:.68rem;font-weight:900;letter-spacing:.16em;text-transform:uppercase}
.ofm-public-playlist-detail__tracks h2,.ofm-public-playlist-detail__related h2{margin:0;color:#fff;font-size:clamp(1.7rem,3.4vw,2.55rem);letter-spacing:-.05em;line-height:1}
.ofm-public-playlist-detail__tracks>header>span{color:#aaa;font-size:.78rem;font-weight:750;font-variant-numeric:tabular-nums;white-space:nowrap}
.ofm-public-playlist-detail .ofm-release-list{display:grid;gap:9px;margin:0}
.ofm-public-playlist-detail .ofm-release-row--public-mix{grid-template-columns:30px 58px minmax(0,1.2fr) minmax(88px,.6fr) auto;min-height:76px;padding:9px 14px;border-color:rgb(255 255 255 / .13);border-radius:16px;background:rgb(255 255 255 / .035)}
.ofm-public-playlist-detail .ofm-release-row--public-mix:hover{border-color:rgb(255 255 255 / .3);background:rgb(255 255 255 / .06)}
.ofm-public-playlist-detail .ofm-release-row--public-mix.is-current{border-color:rgb(244 196 48 / .65);background:linear-gradient(90deg,rgb(244 196 48 / .1),rgb(255 255 255 / .04) 42%)}
.ofm-public-playlist-detail .ofm-release-row__number{display:grid;place-items:center;color:#8e8e8e;font-size:.76rem;font-weight:850;font-variant-numeric:tabular-nums}
.ofm-public-playlist-detail .ofm-release-row__cover{width:58px;height:58px;border-radius:11px}
.ofm-public-playlist-detail .ofm-release-row__main>a{color:#fff;font-weight:850}.ofm-public-playlist-detail .ofm-release-row__main>a:hover,.ofm-public-playlist-detail .ofm-release-row__main>a:focus-visible{color:#f4c430;outline:none}
.ofm-public-playlist-detail .ofm-release-row__actions:empty{display:none}
.ofm-public-playlist-detail__empty{margin:0;padding:21px;border:1px dashed rgb(255 255 255 / .21);border-radius:15px;color:#aaa;line-height:1.5}
.ofm-public-playlist-detail__related-rail{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.ofm-public-playlist-related-card{min-width:0;overflow:hidden;border:1px solid rgb(255 255 255 / .13);border-radius:16px;background:#131313;transition:border-color .18s ease,transform .18s ease,background-color .18s ease}
.ofm-public-playlist-related-card:hover{border-color:rgb(244 196 48 / .58);background:#181818;transform:translateY(-2px)}
.ofm-public-playlist-related-card__link{display:grid;min-height:100%;color:#ededed;text-decoration:none}
.ofm-public-playlist-related-card__link:focus-visible{outline:2px solid #f4c430;outline-offset:3px}
.ofm-public-playlist-related-card__cover{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:minmax(0,1fr);aspect-ratio:1.3;overflow:hidden;background:#252525}
.ofm-public-playlist-related-card__cover>img{display:block;width:100%;height:100%;min-width:0;min-height:0;object-fit:cover}
.ofm-public-playlist-related-card__cover>img:only-of-type{grid-column:1/-1;grid-row:1/-1}
.ofm-public-playlist-related-card__cover>img:last-child:nth-child(odd):not(:only-of-type){grid-column:1/-1}
.ofm-public-playlist-related-card__cover>span{display:grid;grid-column:1/-1;grid-row:1/-1;place-items:center;background:radial-gradient(circle at 35% 22%,#313131,#171717 64%);color:#f4c430;font-size:1.8rem}
.ofm-public-playlist-related-card__cover>span svg{width:1em;height:1em;fill:currentColor}
.ofm-public-playlist-related-card__body{display:grid;align-content:start;gap:4px;min-width:0;padding:13px 14px 15px}
.ofm-public-playlist-related-card__body small{color:#f4c430;font-size:.59rem;font-weight:900;letter-spacing:.13em;text-transform:uppercase}
.ofm-public-playlist-related-card__body strong,.ofm-public-playlist-related-card__body>span,.ofm-public-playlist-related-card__body em{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ofm-public-playlist-related-card__body strong{color:#fff;font-size:.92rem;line-height:1.25}
.ofm-public-playlist-related-card__body>span{color:#aaa;font-size:.72rem;font-weight:700}
.ofm-public-playlist-related-card__body em{color:#d6b244;font-size:.66rem;font-style:normal;font-weight:800}
.ofm-public-playlist-not-found{width:min(100%,620px);margin:0 auto;padding:clamp(28px,5vw,54px);border:1px solid rgb(255 255 255 / .13);border-radius:22px;background:#121212}.ofm-public-playlist-not-found .ofm-eyebrow{color:#f4c430;font-weight:900;letter-spacing:.15em}.ofm-public-playlist-not-found h1{margin:7px 0 10px;color:#fff}.ofm-public-playlist-not-found p{color:#bcbcbc;line-height:1.5}
@media (hover:none),(pointer:coarse){.ofm-public-playlist-detail__cover .song-overlay{opacity:1;pointer-events:auto}.ofm-public-playlist-detail__cover .play-button{background:rgb(0 0 0 / .52)}}
@media (max-width:900px){.ofm-public-playlist-page{padding-inline:20px}.ofm-public-playlist-detail__hero{grid-template-columns:minmax(190px,270px) minmax(0,1fr);gap:28px}.ofm-public-playlist-detail__related-rail{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:660px){.ofm-public-playlist-page{padding-top:28px}.ofm-public-playlist-detail__back{margin-bottom:14px}.ofm-public-playlist-detail__hero{grid-template-columns:1fr;padding:20px;border-radius:21px}.ofm-public-playlist-detail__cover{width:min(100%,310px);justify-self:center;border-radius:17px}.ofm-public-playlist-detail__body{justify-items:center;text-align:center}.ofm-public-playlist-detail__owner{text-align:left}.ofm-public-playlist-detail__facts,.ofm-public-playlist-detail__actions{justify-content:center}.ofm-public-playlist-detail__tracks>header,.ofm-public-playlist-detail__related>header{align-items:flex-start;flex-direction:column;gap:7px}.ofm-public-playlist-detail .ofm-release-row--public-mix{grid-template-columns:25px 50px minmax(0,1fr) auto;gap:10px;min-height:68px;padding:8px 10px}.ofm-public-playlist-detail .ofm-release-row--public-mix .ofm-release-row__cover{width:50px;height:50px}.ofm-public-playlist-detail .ofm-release-row--public-mix .ofm-release-row__meta{display:none}.ofm-public-playlist-detail .ofm-release-row--public-mix .ofm-release-row__main{grid-column:3;grid-row:1}.ofm-public-playlist-detail__related-rail{grid-template-columns:1fr;gap:11px}.ofm-public-playlist-related-card__link{grid-template-columns:122px minmax(0,1fr)}.ofm-public-playlist-related-card__cover{aspect-ratio:auto;min-height:112px}.ofm-public-playlist-related-card__body{padding:15px}}
@media (prefers-reduced-motion:reduce){.ofm-public-playlist-detail__cover .song-overlay,.ofm-public-playlist-detail__cover .play-button,.ofm-public-playlist-detail__back{transition:none}}
