/* Generated by scripts/build-theme-assets.php. Do not edit directly. *//* Source: assets/css/homepage.css *//*
 * Public homepage discovery landing.
 *
 * This surface is intentionally scoped to the public front page. It never
 * changes the signed-in listener Home route or the shared release-card contract.
 */[data-ofm-home-discovery]{min-height:100vh;padding-bottom:calc(152px + env(safe-area-inset-bottom));background:radial-gradient(980px 540px at 88% -12%, rgba(244, 196, 48, .12), transparent 66%),#090909;color:#f9f8f4}[data-ofm-home-discovery] .ofm-home-discovery,[data-ofm-home-discovery] .ofm-home-rails{scroll-margin-top:96px}[data-ofm-home-discovery] .ofm-home-discovery{position:relative;overflow:clip;padding:clamp(52px, 8vw, 116px) 0 clamp(38px, 6vw, 84px);background:linear-gradient(105deg, rgba(11, 11, 11, .98), rgba(13, 13, 12, .82)),radial-gradient(540px 430px at 80% 45%, rgba(244, 196, 48, .11), transparent 72%)}[data-ofm-home-discovery] .ofm-home-discovery::before{position:absolute;inset:auto -8vw -42% auto;width:min(52vw, 670px);aspect-ratio:1;border:1px solid rgba(244, 196, 48, .16);border-radius:50%;box-shadow:0 0 0 84px rgba(244, 196, 48, .025),0 0 0 168px rgba(244, 196, 48, .018);content:"";pointer-events:none}[data-ofm-home-discovery] .ofm-home-discovery__grid{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0, 1.12fr) minmax(320px, .88fr);gap:clamp(32px, 6vw, 92px);align-items:center}[data-ofm-home-discovery] .ofm-home-discovery__intro{max-width:730px}[data-ofm-home-discovery] .ofm-home-discovery .ofm-eyebrow,[data-ofm-home-discovery] .ofm-home-rails .ofm-eyebrow{margin:0 0 12px;color:#f4c430;font-size:.72rem;font-weight:900;letter-spacing:.16em;line-height:1.15;text-transform:uppercase}[data-ofm-home-discovery] .ofm-home-discovery__intro h1{max-width:690px;margin:0;color:#fff;font-size:clamp(3rem, 6.5vw, 6.3rem);font-weight:900;letter-spacing:-.065em;line-height:.91;text-wrap:balance}[data-ofm-home-discovery] .ofm-home-discovery__lede{max-width:610px;margin:22px 0 0;color:#c5c1b5;font-size:clamp(1rem, 1.7vw, 1.22rem);line-height:1.66}[data-ofm-home-discovery] .ofm-home-discovery__actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px}[data-ofm-home-discovery] .ofm-home-discovery__primary,[data-ofm-home-discovery] .ofm-home-discovery__secondary{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:46px;padding:0 18px;border:1px solid;border-radius:999px;font-size:.9rem;font-weight:850;line-height:1;text-decoration:none;transition:transform .18s ease,background-color .18s ease,border-color .18s ease,color .18s ease}[data-ofm-home-discovery] .ofm-home-discovery__primary{border-color:#f4c430;background:#f4c430;color:#15130b}[data-ofm-home-discovery] .ofm-home-discovery__secondary{border-color:rgba(255, 255, 255, .22);background:rgba(255, 255, 255, .03);color:#f8f8f5}[data-ofm-home-discovery] .ofm-home-discovery__primary:hover,[data-ofm-home-discovery] .ofm-home-discovery__primary:focus-visible{border-color:#ffdc61;background:#ffdc61;color:#15130b;transform:translateY(-2px)}[data-ofm-home-discovery] .ofm-home-discovery__secondary:hover,[data-ofm-home-discovery] .ofm-home-discovery__secondary:focus-visible{border-color:rgba(244, 196, 48, .72);color:#f4c430;transform:translateY(-2px)}[data-ofm-home-discovery] .ofm-home-discovery__artist-path{margin:20px 0 0;font-size:.84rem;line-height:1.5}[data-ofm-home-discovery] .ofm-home-discovery__artist-path a{color:#c9c4b4;text-decoration-color:rgba(244, 196, 48, .5);text-underline-offset:4px}[data-ofm-home-discovery] .ofm-home-discovery__artist-path a:hover,[data-ofm-home-discovery] .ofm-home-discovery__artist-path a:focus-visible{color:#f4c430}[data-ofm-home-discovery] .ofm-home-discovery__spotlight,[data-ofm-home-discovery] .ofm-home-discovery__empty-spotlight{position:relative;z-index:1;display:grid;grid-template-columns:minmax(126px, 38%) minmax(0, 1fr);gap:clamp(16px, 2.5vw, 26px);align-items:center;min-width:0;padding:clamp(16px, 2.4vw, 25px);border:1px solid rgba(244, 196, 48, .32);border-radius:24px;background:linear-gradient(145deg, rgba(31, 29, 19, .96), rgba(16, 16, 15, .98));box-shadow:0 24px 68px rgba(0, 0, 0, .32)}[data-ofm-home-discovery] .ofm-home-discovery__spotlight-cover{position:relative;overflow:hidden;aspect-ratio:1;border-radius:15px;background:#25231c}[data-ofm-home-discovery] .ofm-home-discovery__spotlight-cover::after{position:absolute;inset:0;background:linear-gradient(180deg, transparent 48%, rgba(0, 0, 0, .48));content:"";pointer-events:none}[data-ofm-home-discovery] .ofm-home-discovery__spotlight-cover img{display:block;width:100%;height:100%;object-fit:cover}[data-ofm-home-discovery] .ofm-home-discovery__spotlight-fallback,[data-ofm-home-discovery] .ofm-home-rail-card__fallback{display:grid;width:100%;height:100%;place-items:center;background:radial-gradient(circle at 32% 24%, rgba(244, 196, 48, .26), transparent 44%),#26241d;color:#f4c430}[data-ofm-home-discovery] .ofm-home-discovery__spotlight-fallback svg,[data-ofm-home-discovery] .ofm-home-rail-card__fallback svg{width:32%;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.6}[data-ofm-home-discovery] .ofm-home-discovery__spotlight-rank{position:absolute;z-index:2;top:10px;left:10px;display:grid;min-width:35px;height:31px;padding:0 8px;place-items:center;border:1px solid rgba(244, 196, 48, .68);border-radius:999px;background:rgba(16, 15, 10, .9);color:#f4c430;font-size:.76rem;font-weight:900}[data-ofm-home-discovery] .ofm-home-discovery__spotlight-copy{min-width:0}[data-ofm-home-discovery] .ofm-home-discovery__spotlight-label{margin:0 0 6px;color:#f4c430;font-size:.68rem;font-weight:900;letter-spacing:.13em;text-transform:uppercase}[data-ofm-home-discovery] .ofm-home-discovery__spotlight h2{overflow-wrap:anywhere;margin:0;font-size:clamp(1.35rem, 2.2vw, 2.1rem);letter-spacing:-.04em;line-height:1.03}[data-ofm-home-discovery] .ofm-home-discovery__spotlight h2 a,[data-ofm-home-discovery] .ofm-home-discovery__spotlight-open,[data-ofm-home-discovery] .ofm-home-discovery__empty-spotlight a{color:inherit;text-decoration:none}[data-ofm-home-discovery] .ofm-home-discovery__spotlight h2 a:hover,[data-ofm-home-discovery] .ofm-home-discovery__spotlight h2 a:focus-visible,[data-ofm-home-discovery] .ofm-home-discovery__spotlight-open:hover,[data-ofm-home-discovery] .ofm-home-discovery__spotlight-open:focus-visible,[data-ofm-home-discovery] .ofm-home-discovery__empty-spotlight a:hover,[data-ofm-home-discovery] .ofm-home-discovery__empty-spotlight a:focus-visible{color:#f4c430}[data-ofm-home-discovery] .ofm-home-discovery__spotlight .ofm-release-card__artist{overflow:hidden;margin:7px 0 0;color:#c4bfb2;font-size:.9rem;text-overflow:ellipsis;white-space:nowrap}[data-ofm-home-discovery] .ofm-home-discovery__spotlight .ofm-release-card__artist a,[data-ofm-home-discovery] .ofm-home-rail-card__body .ofm-release-card__artist a{color:inherit;text-decoration:none}[data-ofm-home-discovery] .ofm-home-discovery__spotlight .ofm-release-card__artist a:hover,[data-ofm-home-discovery] .ofm-home-rail-card__body .ofm-release-card__artist a:hover{color:#f4c430}[data-ofm-home-discovery] .ofm-home-discovery__spotlight .ofm-release-card__artist a:focus-visible,[data-ofm-home-discovery] .ofm-home-rail-card__body .ofm-release-card__artist a:focus-visible{color:#f4c430;outline:2px solid #f4c430;outline-offset:3px}[data-ofm-home-discovery] .ofm-home-discovery__spotlight-actions{display:flex;flex-wrap:wrap;align-items:center;gap:13px;margin-top:21px}[data-ofm-home-discovery] .ofm-home-discovery__spotlight-play{display:inline-flex;align-items:center;gap:8px;min-height:39px;padding:0 13px;border:1px solid #f4c430;border-radius:999px;background:#f4c430;color:#17150e;cursor:pointer;font:inherit;font-size:.79rem;font-weight:900}[data-ofm-home-discovery] .ofm-home-discovery__spotlight-play svg{width:15px;fill:currentColor;stroke:currentColor;stroke-width:1.8}[data-ofm-home-discovery] .ofm-home-discovery__spotlight-play .icon-pause,[data-ofm-home-discovery] [data-ofm-release-card].is-playing .icon-play{display:none}[data-ofm-home-discovery] [data-ofm-release-card].is-playing .icon-pause{display:block}[data-ofm-home-discovery] .ofm-home-discovery__spotlight-play:disabled{cursor:not-allowed;opacity:.55}[data-ofm-home-discovery] .ofm-home-discovery__spotlight-open,[data-ofm-home-discovery] .ofm-home-discovery__empty-spotlight a{display:inline-flex;align-items:center;gap:7px;color:#e9e6dc;font-size:.8rem;font-weight:800}[data-ofm-home-discovery] .ofm-home-discovery__empty-spotlight{display:block;padding:clamp(25px, 4vw, 44px)}[data-ofm-home-discovery] .ofm-home-discovery__empty-spotlight h2{max-width:300px;margin:0;font-size:clamp(1.55rem, 2.6vw, 2.3rem);letter-spacing:-.045em;line-height:1.03}[data-ofm-home-discovery] .ofm-home-discovery__empty-spotlight p:not(.ofm-eyebrow){max-width:390px;margin:12px 0 20px;color:#bdb8aa;line-height:1.6}[data-ofm-home-discovery] .ofm-home-rails{padding:clamp(42px, 7vw, 88px) 0 4px}[data-ofm-home-discovery] .ofm-home-rails__heading,[data-ofm-home-discovery] .ofm-home-rails__section-heading{display:flex;align-items:end;justify-content:space-between;gap:18px}[data-ofm-home-discovery] .ofm-home-rails__heading{margin-bottom:clamp(30px, 4vw, 47px)}[data-ofm-home-discovery] .ofm-home-rails__heading h2{max-width:620px;margin:0;font-size:clamp(2rem, 4.1vw, 4.2rem);letter-spacing:-.06em;line-height:.98;text-wrap:balance}[data-ofm-home-discovery] .ofm-home-rails__section-heading h2{margin:0;font-size:clamp(1.5rem, 2.5vw, 2.25rem);letter-spacing:-.045em;line-height:1.05}[data-ofm-home-discovery] .ofm-home-rails__heading > a,[data-ofm-home-discovery] .ofm-home-rails__section-heading > a{display:inline-flex;flex:0 0 auto;align-items:center;gap:7px;color:#f4c430;font-size:.83rem;font-weight:850;text-decoration:none;white-space:nowrap}[data-ofm-home-discovery] .ofm-home-rails__heading > a:hover,[data-ofm-home-discovery] .ofm-home-rails__heading > a:focus-visible,[data-ofm-home-discovery] .ofm-home-rails__section-heading > a:hover,[data-ofm-home-discovery] .ofm-home-rails__section-heading > a:focus-visible{color:#fff}[data-ofm-home-discovery] .ofm-home-rails__section{margin-top:clamp(38px, 6vw, 76px)}[data-ofm-home-discovery] .ofm-home-rails__heading + .ofm-home-rails__section{margin-top:0}[data-ofm-home-discovery] .ofm-public-playlists--home-embedded{padding:0}[data-ofm-home-discovery] .ofm-public-playlists--home-embedded .ofm-public-playlists__heading{max-width:none;margin-bottom:0}[data-ofm-home-discovery] .ofm-public-playlists--home-embedded .ofm-public-playlists__links{flex:0 0 auto;margin-top:0}[data-ofm-home-discovery] .ofm-public-playlists--home-embedded .ofm-public-playlists__browse{margin-top:0}[data-ofm-home-discovery] .ofm-public-playlists--home-embedded .ofm-public-playlists__grid{margin-top:20px}[data-ofm-home-discovery] .ofm-home-rails__section h3{margin:0;font-size:clamp(1.5rem, 2.5vw, 2.25rem);letter-spacing:-.045em;line-height:1.05}[data-ofm-home-discovery] .ofm-home-rails__section-lede{max-width:590px;margin:9px 0 0;color:#aaa69b;font-size:.9rem;line-height:1.55}[data-ofm-home-discovery] .ofm-home-rails__section--genres{margin-top:24px}[data-ofm-home-discovery] .ofm-home-genres{border-block:1px solid rgb(127 127 127 / .24)}[data-ofm-home-discovery] .ofm-home-genres > summary{display:flex;align-items:center;justify-content:space-between;gap:14px;min-height:52px;padding:10px 2px;list-style:none;cursor:pointer;font-size:.95rem;font-weight:750}[data-ofm-home-discovery] .ofm-home-genres > summary::-webkit-details-marker{display:none}[data-ofm-home-discovery] .ofm-home-genres > summary svg{flex:0 0 18px;width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2;transition:transform .18s ease}[data-ofm-home-discovery] .ofm-home-genres[open] > summary svg{transform:rotate(180deg)}[data-ofm-home-discovery] .ofm-home-genres > summary:focus-visible{outline:2px solid #c7a34f;outline-offset:3px;border-radius:6px}[data-ofm-home-discovery] .ofm-home-genre-grid{display:flex;flex-wrap:wrap;gap:8px;padding:2px 0 14px;margin:0}[data-ofm-home-discovery] .ofm-home-genre-card{display:inline-flex;align-items:center;min-height:44px;max-width:100%;padding:8px 12px;border:1px solid #2c2c29;border-radius:12px;background:linear-gradient(145deg, #191917, #11110f);color:#f5f4ef;text-decoration:none;transition:border-color .18s ease,background .18s ease}[data-ofm-home-discovery] .ofm-home-genre-card:hover,[data-ofm-home-discovery] .ofm-home-genre-card:focus-visible{border-color:rgba(244, 196, 48, .7);background:linear-gradient(145deg, #242114, #15140f)}[data-ofm-home-discovery] .ofm-home-genre-card:focus-visible{outline:2px solid #c7a34f;outline-offset:2px}[data-ofm-home-discovery] .ofm-home-genre-card > span{display:flex;align-items:baseline;flex-wrap:wrap;gap:4px 8px;min-width:0}[data-ofm-home-discovery] .ofm-home-genre-card strong,[data-ofm-home-discovery] .ofm-home-genre-card small{display:inline;overflow-wrap:anywhere;line-height:1.4}[data-ofm-home-discovery] .ofm-home-genre-card strong{font-size:.86rem}[data-ofm-home-discovery] .ofm-home-genre-card small{margin:0;color:#aaa79d;font-size:.7rem}[data-ofm-home-discovery] .ofm-home-rail{display:grid;grid-template-columns:repeat(5, minmax(0, 1fr));gap:clamp(12px, 2vw, 20px);margin-top:20px}[data-ofm-home-discovery] .ofm-home-rail-card{display:flex;flex-direction:column;overflow:hidden;min-height:100%;min-width:0;border:1px solid #2e2e2b;border-radius:18px;background:linear-gradient(145deg, #171716, #10100f);box-shadow:0 14px 32px rgba(0, 0, 0, .17);transition:border-color .18s ease,transform .18s ease,box-shadow .18s ease}[data-ofm-home-discovery] .ofm-home-rail-card:hover,[data-ofm-home-discovery] .ofm-home-rail-card:focus-within{border-color:rgba(244, 196, 48, .58);box-shadow:0 20px 43px rgba(0, 0, 0, .32);transform:translateY(-3px)}[data-ofm-home-discovery] .ofm-home-rail-card__cover{position:relative;overflow:hidden;aspect-ratio:1;background:#25231c}[data-ofm-home-discovery] .ofm-home-rail-card__cover::after{position:absolute;inset:0;background:linear-gradient(180deg, rgba(0, 0, 0, .03) 36%, rgba(0, 0, 0, .68));content:"";pointer-events:none}[data-ofm-home-discovery] .ofm-home-rail-card__cover img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .35s ease}[data-ofm-home-discovery] .ofm-home-rail-card:hover img,[data-ofm-home-discovery] .ofm-home-rail-card:focus-within img{transform:scale(1.045)}[data-ofm-home-discovery] .ofm-home-rail-card__eyebrow,[data-ofm-home-discovery] .ofm-home-rail-card__rank{position:absolute;z-index:2;top:10px;padding:6px 8px;border-radius:999px;background:rgba(13, 13, 12, .84);font-size:.61rem;font-weight:900;letter-spacing:.09em;line-height:1;text-transform:uppercase}[data-ofm-home-discovery] .ofm-home-rail-card__eyebrow{left:10px;color:#f4c430}[data-ofm-home-discovery] .ofm-home-rail-card__rank{right:10px;border:1px solid rgba(244, 196, 48, .5);color:#fff7cb}[data-ofm-home-discovery] .ofm-home-rail-card__overlay{position:absolute;z-index:2;right:12px;bottom:12px}[data-ofm-home-discovery] .ofm-home-rail-card__overlay button{display:grid;width:43px;height:43px;padding:0;place-items:center;border:1px solid rgba(244, 196, 48, .75);border-radius:50%;background:#f4c430;color:#16140e;cursor:pointer}[data-ofm-home-discovery] .ofm-home-rail-card__overlay button:disabled{cursor:not-allowed;opacity:.55}[data-ofm-home-discovery] .ofm-home-rail-card__overlay svg{width:19px;fill:currentColor;stroke:currentColor;stroke-width:1.8}[data-ofm-home-discovery] .ofm-home-rail-card__overlay .icon-pause,[data-ofm-home-discovery] [data-ofm-release-card].is-playing .ofm-home-rail-card__overlay .icon-play{display:none}[data-ofm-home-discovery] [data-ofm-release-card].is-playing .ofm-home-rail-card__overlay .icon-pause{display:block}[data-ofm-home-discovery] .ofm-home-rail-card__body{display:flex;flex:1 1 auto;flex-direction:column;min-width:0;min-height:122px;padding:14px 15px 16px}[data-ofm-home-discovery] .ofm-home-rail-card__body h3{overflow:hidden;margin:0;font-size:1rem;letter-spacing:-.025em;line-height:1.2;text-overflow:ellipsis;white-space:nowrap}[data-ofm-home-discovery] .ofm-home-rail-card__body h3 a{color:#f9f8f4;text-decoration:none}[data-ofm-home-discovery] .ofm-home-rail-card__body h3 a:hover,[data-ofm-home-discovery] .ofm-home-rail-card__body h3 a:focus-visible{color:#f4c430}[data-ofm-home-discovery] .ofm-home-rail-card__body p{overflow:hidden;margin:5px 0 0;color:#aaa69b;font-size:.79rem;text-overflow:ellipsis;white-space:nowrap}[data-ofm-home-discovery] .ofm-home-rail-card__genre{display:inline-block;max-width:100%;overflow:hidden;margin-top:auto;padding-top:10px;color:#f4c430;font-size:.67rem;font-weight:800;text-overflow:ellipsis;white-space:nowrap}[data-ofm-home-discovery] a:focus-visible,[data-ofm-home-discovery] button:focus-visible{outline:2px solid #f4c430;outline-offset:3px}@media (max-width: 1220px){[data-ofm-home-discovery] .ofm-home-rail{grid-template-columns:repeat(4, minmax(0, 1fr))}}@media (max-width: 940px){[data-ofm-home-discovery] .ofm-home-discovery__grid{grid-template-columns:minmax(0, 1fr);gap:34px}[data-ofm-home-discovery] .ofm-home-discovery__intro{max-width:760px}[data-ofm-home-discovery] .ofm-home-discovery__spotlight,[data-ofm-home-discovery] .ofm-home-discovery__empty-spotlight{max-width:650px}[data-ofm-home-discovery] .ofm-home-rail{grid-template-columns:repeat(3, minmax(0, 1fr))}}@media (max-width: 700px){[data-ofm-home-discovery]{padding-bottom:calc(132px + env(safe-area-inset-bottom))}[data-ofm-home-discovery] .ofm-home-discovery{padding:37px 0 34px}[data-ofm-home-discovery] .ofm-home-discovery__intro h1{font-size:clamp(2.75rem, 14vw, 4.45rem)}[data-ofm-home-discovery] .ofm-home-discovery__lede{margin-top:17px;font-size:1rem}[data-ofm-home-discovery] .ofm-home-discovery__actions{margin-top:24px}[data-ofm-home-discovery] .ofm-home-discovery__primary,[data-ofm-home-discovery] .ofm-home-discovery__secondary{flex:1 1 170px;min-height:48px}[data-ofm-home-discovery] .ofm-home-discovery__spotlight{grid-template-columns:112px minmax(0, 1fr);gap:14px;padding:13px;border-radius:19px}[data-ofm-home-discovery] .ofm-home-discovery__spotlight h2{font-size:1.3rem}[data-ofm-home-discovery] .ofm-home-discovery__spotlight-actions{gap:11px;margin-top:14px}[data-ofm-home-discovery] .ofm-home-discovery__spotlight-open{font-size:.74rem}[data-ofm-home-discovery] .ofm-home-rails{padding-top:38px}[data-ofm-home-discovery] .ofm-home-rails__heading,[data-ofm-home-discovery] .ofm-home-rails__section-heading{align-items:start;flex-direction:column;gap:12px}[data-ofm-home-discovery] .ofm-home-rails__heading h2{font-size:clamp(2rem, 11vw, 3.25rem)}[data-ofm-home-discovery] .ofm-home-rails__section{margin-top:42px}[data-ofm-home-discovery] .ofm-home-rails__section--genres{margin-top:20px}[data-ofm-home-discovery] .ofm-home-rail{grid-auto-columns:minmax(164px, 47vw);grid-auto-flow:column;grid-template-columns:none;overflow-x:auto;margin-right:0;padding:1px 14px 9px 1px;scroll-padding-left:1px;scroll-snap-type:x mandatory;scrollbar-width:thin}[data-ofm-home-discovery] .ofm-home-rail-card{scroll-snap-align:start}[data-ofm-home-discovery] .ofm-home-rail-card__body{min-height:96px;padding:12px 13px 14px}}@media (prefers-reduced-motion: reduce){[data-ofm-home-discovery] .ofm-home-discovery__primary,[data-ofm-home-discovery] .ofm-home-discovery__secondary,[data-ofm-home-discovery] .ofm-home-genre-card,[data-ofm-home-discovery] .ofm-home-genres > summary svg,[data-ofm-home-discovery] .ofm-home-rail-card,[data-ofm-home-discovery] .ofm-home-rail-card__cover img{transition:none}}/* v0.3.29 — Public track sharing is an obvious, one-tap action. */[data-ofm-home-discovery] .ofm-home-discovery__spotlight-share{display:inline-flex;align-items:center;gap:7px;min-height:39px;padding:0 13px;border:1px solid rgb(255 255 255 / .24);border-radius:999px;background:rgb(255 255 255 / .055);color:#f3f0e6;cursor:pointer;font:850 .77rem/1 ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}[data-ofm-home-discovery] .ofm-home-discovery__spotlight-share svg,[data-ofm-home-discovery] .ofm-home-rail-card__share svg{width:15px;height:15px;flex:0 0 auto;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.9}[data-ofm-home-discovery] .ofm-home-discovery__spotlight-share:hover,[data-ofm-home-discovery] .ofm-home-discovery__spotlight-share:focus-visible,[data-ofm-home-discovery] .ofm-home-rail-card__share:hover,[data-ofm-home-discovery] .ofm-home-rail-card__share:focus-visible{border-color:rgb(244 196 48 / .78);background:rgb(244 196 48 / .13);color:#ffe28a;outline:0}[data-ofm-home-discovery] .ofm-home-rail-card__share{display:grid;align-self:flex-start;inline-size:34px;block-size:34px;min-inline-size:34px;min-block-size:34px;place-items:center;margin-top:12px;padding:0;border:1px solid rgb(255 255 255 / .22);border-radius:50%;background:rgb(9 9 9 / .74);color:#f4f1e8;cursor:pointer}@media (max-width:760px){[data-ofm-home-discovery] .ofm-home-discovery__spotlight-share{min-height:44px;padding-inline:14px}[data-ofm-home-discovery] .ofm-home-rail-card__share{inline-size:44px;block-size:44px;min-inline-size:44px;min-block-size:44px;margin-top:10px;padding:0}}/* 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--1>span{inline-size:100%;block-size:100%}.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__meta .ofm-release-row__genre{border:1px solid rgb(244 196 48 / .34);background:linear-gradient(135deg,rgb(244 196 48 / .14),rgb(244 196 48 / .06));box-shadow:inset 0 1px 0 rgb(255 255 255 / .05);color:#f6cf52;font-weight:800;letter-spacing:.045em;text-transform:uppercase}.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:not(.ofm-release-row__genre){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):not(.ofm-release-row__genre){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/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}}/* Compact role-aware Needs-you disclosure. */.ofm-action-centre--compact .ofm-action-centre__panel{margin:0}.ofm-action-centre__panel>summary{display:grid;grid-template-columns:36px minmax(0,1fr) auto 12px;gap:11px;align-items:center;min-width:0;cursor:pointer;list-style:none}.ofm-action-centre__panel>summary::-webkit-details-marker{display:none}.ofm-action-centre__summary:focus-visible{outline:2px solid rgba(244,196,48,.68);outline-offset:5px;border-radius:12px}.ofm-action-centre__summary-icon{display:grid;place-items:center;width:34px;height:34px;border:1px solid rgba(244,196,48,.3);border-radius:10px;background:rgba(244,196,48,.06);color:#d6bd69}.ofm-action-centre__summary-icon svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8}.ofm-action-centre__summary-copy{display:grid;min-width:0;gap:3px}.ofm-action-centre__summary-copy .ofm-eyebrow{margin:0;color:#c8af62;font-size:.62rem;font-weight:850;letter-spacing:.13em;line-height:1;text-transform:uppercase}.ofm-action-centre__summary-copy strong{overflow:hidden;color:#f5f5f5;font-size:.86rem;font-weight:820;line-height:1.25;text-overflow:ellipsis;white-space:nowrap}.ofm-action-centre__summary-copy small{overflow:hidden;color:#a9a49a;font-size:.64rem;font-weight:700;line-height:1.2;text-overflow:ellipsis;white-space:nowrap}.ofm-action-centre__compact-count{display:grid;place-items:center;min-width:28px;height:28px;padding:0 7px;border:1px solid rgba(244,196,48,.32);border-radius:999px;background:rgba(244,196,48,.055);color:#deca82;font-size:.7rem;font-weight:850;font-variant-numeric:tabular-nums}.ofm-action-centre__summary>i{width:8px;height:8px;margin-right:2px;border-right:1px solid #bfa554;border-bottom:1px solid #bfa554;transform:rotate(45deg) translateY(-2px);transition:transform .18s ease}.ofm-action-centre__panel[open] .ofm-action-centre__summary>i{transform:rotate(225deg) translate(-2px,-1px)}.ofm-action-centre__compact-body{display:grid;gap:10px;margin-top:14px;padding-top:13px;border-top:1px solid rgba(255,255,255,.08)}.ofm-action-centre--compact .ofm-action-centre__all{justify-self:start;margin:0;color:#d6bd69;font-size:.65rem}.ofm-action-centre--compact .ofm-action-centre__list a{padding:10px}.ofm-action-centre--compact .ofm-action-centre__copy strong{font-size:.76rem}.ofm-action-centre--compact .ofm-action-centre__copy small{font-size:.63rem}@media(max-width:620px){.ofm-action-centre__panel>summary{grid-template-columns:34px minmax(0,1fr) auto 10px;gap:9px}.ofm-action-centre__summary-copy strong{font-size:.8rem}.ofm-action-centre__compact-body{margin-top:12px;padding-top:12px}}/* Source: assets/css/action-feedback.css *//* Shared feedback surfaces for opt-in in-place workflow actions. */.ofm-action-feedback{position:fixed;z-index:var(--ofm-layer-toast,99990);right:max(18px,env(safe-area-inset-right));bottom:calc(var(--player-height,118px) + 18px + env(safe-area-inset-bottom));display:grid;gap:8px;width:min(340px,calc(100vw - 36px));pointer-events:none}.ofm-action-feedback__toast{display:grid;grid-template-columns:minmax(0,1fr) 28px;gap:9px;align-items:start;pointer-events:auto;padding:10px 10px 10px 12px;border:1px solid rgba(244,196,48,.36);border-radius:12px;background:rgba(19,18,14,.97);box-shadow:0 14px 32px rgba(0,0,0,.3);color:#f5f2e7;font-size:.74rem;font-weight:760;line-height:1.4;animation:ofm-action-feedback-in .22s ease-out}.ofm-action-feedback__message{min-width:0;padding:4px 0}.ofm-action-feedback__close{display:grid;place-items:center;inline-size:28px;block-size:28px;margin:0;padding:0;border:1px solid rgb(255 255 255 / .16);border-radius:8px;background:transparent;color:currentColor;font:inherit;font-size:1.15rem;line-height:1;cursor:pointer;transition:border-color .18s ease,background .18s ease,color .18s ease}.ofm-action-feedback__close:hover{border-color:rgb(255 255 255 / .42);background:rgb(255 255 255 / .1)}.ofm-action-feedback__close:focus-visible{border-color:#ffe28a;background:rgb(244 196 48 / .16);color:#fff;outline:2px solid #ffe28a;outline-offset:2px}.ofm-action-feedback__toast.is-success{border-color:rgba(102,207,145,.52);background:rgba(17,48,31,.97);color:#d3f5dc}.ofm-action-feedback__toast.is-error{border-color:rgba(233,112,112,.6);background:rgba(69,24,24,.98);color:#ffe0e0}.ofm-action-feedback__toast.is-info{border-color:rgba(103,169,235,.48);background:rgba(15,34,53,.98);color:#d6eaff}.ofm-action-feedback__inline{display:none;flex-basis:100%;width:100%;margin:2px 0 0;color:#c7c0ae;font-size:.68rem;font-weight:700;line-height:1.4}.ofm-action-feedback__inline:not([hidden]){display:block}.ofm-action-feedback__inline.is-pending{color:#f6db76}.ofm-action-feedback__inline.is-success{color:#bfeccc}.ofm-action-feedback__inline.is-error{color:#ffd0d0}.ofm-campaign-kit form[data-ofm-action-async][aria-busy="true"]{cursor:progress}.ofm-campaign-kit form[data-ofm-action-async] button.is-saving{cursor:progress;opacity:.78;transform:none}@keyframes ofm-action-feedback-in{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media(max-width:560px){.ofm-action-feedback{right:12px;bottom:calc(var(--player-height,150px) + 12px + env(safe-area-inset-bottom));width:calc(100vw - 24px)}.ofm-action-feedback__toast{grid-template-columns:minmax(0,1fr) 27px;gap:8px;padding:10px;font-size:.72rem}.ofm-action-feedback__close{inline-size:27px;block-size:27px}}@media(prefers-reduced-motion:reduce){.ofm-action-feedback__toast{animation:none}.ofm-action-feedback__close,.ofm-campaign-kit form[data-ofm-action-async] button.is-saving{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__hero-actions{display:flex;flex-wrap:wrap;gap:9px;margin-top:18px}.ofm-explore__hero-actions a{display:inline-flex;align-items:center;min-height:44px;padding:0 15px;border:1px solid rgb(244 196 48 / .42);border-radius:999px;color:#ffe384;font-size:.78rem;font-weight:800;text-decoration:none;transition:border-color .2s ease,background .2s ease,color .2s ease,transform .2s ease}.ofm-explore__hero-actions a:hover,.ofm-explore__hero-actions a:focus-visible{border-color:var(--ofm-explore-gold);background:rgb(244 196 48 / .13);color:#fff;outline:0;transform:translateY(-1px)}.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:44px;min-height:44px;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{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;box-sizing:border-box;min-height:44px;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{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 20px;color:#c8c8c8;font-size:.92rem}.ofm-explore__summary a{display:inline-flex;align-items:center;min-height:44px;padding:0 4px;color:#f4c430;font-size:.78rem;font-weight:800;text-decoration:none;white-space:nowrap}.ofm-explore__summary a:hover,.ofm-explore__summary a:focus-visible{color:#fff;outline:0}.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:44px;height:44px;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:44px}.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:44px;height:44px}.ofm-explore__summary{align-items:flex-start;flex-wrap:wrap}.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}}/* v0.3.29 — Keep Share visible in every public discovery card. */.ofm-explore .ofm-explore-card__share{display:inline-flex;align-items:center;gap:6px;align-self:flex-start;flex:0 0 auto;min-height:34px;margin-top:11px;padding:0 10px;border:1px solid rgb(255 255 255 / .2);border-radius:999px;background:rgb(255 255 255 / .04);color:#e9e5da;cursor:pointer;font:850 .67rem/1 ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;letter-spacing:.01em}.ofm-explore .ofm-explore-card__share svg{width:14px;height:14px;flex:0 0 auto;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.9}.ofm-explore .ofm-explore-card__share:hover,.ofm-explore .ofm-explore-card__share:focus-visible{border-color:rgb(244 196 48 / .78);background:rgb(244 196 48 / .12);color:#ffe28a;outline:0}@media (max-width:620px){.ofm-explore .ofm-explore-card__share{min-height:44px;margin-top:10px;padding-inline:12px}}/* 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 / .78);border-radius:50%}.ofm-public-profile--listener .ofm-public-profile__avatar{/* Profiles share one circular identity shape; gold remains artist-only. */inline-size:100%;block-size:auto;margin:0;justify-self:stretch;border-color:rgb(153 192 228 / .5);border-radius:50%;background:linear-gradient(135deg,#17242e,#101114)}.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}.ofm-public-profile__actions{display:flex;flex-wrap:wrap;gap:10px 14px;align-items:center;margin-top:21px}.ofm-public-profile__listen-link{display:inline-flex;align-items:center;justify-content:center;min-block-size:44px;padding:0 15px;border:1px solid #f4c430;border-radius:999px;background:#f4c430;color:#1b1606;font-size:.78rem;font-weight:850;text-decoration:none;transition:background .18s ease,box-shadow .18s ease,transform .18s ease}.ofm-public-profile__listen-link:hover,.ofm-public-profile__listen-link:focus-visible{background:#ffe07a;box-shadow:0 9px 22px rgb(244 196 48 / .19);color:#1b1606;outline:0;transform:translateY(-1px)}.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 / .78);border-radius:50%;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--artist .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--artist .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}}/* v0.3.30 — Secondary share action for public artist pages. */.ofm-public-profile__share{display:inline-flex;align-items:center;justify-content:center;min-block-size:44px;padding:0 15px;border:1px solid rgb(244 196 48 / .58);border-radius:999px;background:rgb(244 196 48 / .08);color:#f7d35e;font-size:.78rem;font-weight:850;line-height:1;text-decoration:none;transition:border-color .18s ease,background .18s ease,box-shadow .18s ease,color .18s ease,transform .18s ease}.ofm-public-profile__share:hover,.ofm-public-profile__share:focus-visible{border-color:#f4c430;background:rgb(244 196 48 / .17);box-shadow:0 9px 22px rgb(244 196 48 / .14);color:#fff7d6;outline:0;transform:translateY(-1px)}/* v0.3.44 - Artist pages are a clear listening destination, using the
   existing player and release cards rather than a second profile system. */.ofm-public-profile--artist .ofm-public-profile__location{display:flex;flex-wrap:wrap;gap:6px;margin:10px 0 0;color:#d2c39e;font-size:.82rem;font-weight:650;line-height:1.45}.ofm-public-profile--artist .ofm-public-profile__location span{color:#f4c430;font-weight:850}.ofm-public-profile--artist .ofm-public-profile__featured{display:grid;grid-template-columns:60px minmax(0,1fr);gap:12px;align-items:center;max-inline-size:520px;margin-top:18px;padding:10px;border:1px solid rgb(244 196 48 / .28);border-radius:18px;background:linear-gradient(125deg,rgb(244 196 48 / .1),rgb(255 255 255 / .025));box-shadow:inset 0 1px 0 rgb(255 255 255 / .045)}.ofm-public-profile--artist .ofm-public-profile__featured-cover{position:relative;display:grid;place-items:center;inline-size:60px;block-size:60px;overflow:hidden;border:1px solid rgb(255 255 255 / .16);border-radius:12px;background:#141518;color:#f4c430}.ofm-public-profile--artist .ofm-public-profile__featured-art{display:block;inline-size:100%;block-size:100%;color:inherit;text-decoration:none}.ofm-public-profile--artist .ofm-public-profile__featured-art img{display:block;inline-size:100%;block-size:100%;object-fit:cover}.ofm-public-profile--artist .ofm-public-profile__featured-fallback{display:grid;inline-size:100%;block-size:100%;place-items:center;font-size:1.45rem}.ofm-public-profile--artist .ofm-public-profile__featured-copy{display:grid;gap:3px;min-inline-size:0}.ofm-public-profile--artist .ofm-public-profile__featured-copy p{margin:0;color:#f4c430;font-size:.64rem;font-weight:900;letter-spacing:.12em;line-height:1.2;text-transform:uppercase}.ofm-public-profile--artist .ofm-public-profile__featured-copy strong{overflow:hidden;color:#fff;font-size:.98rem;font-weight:850;line-height:1.28;text-overflow:ellipsis;white-space:nowrap}.ofm-public-profile--artist .ofm-public-profile__featured-genre{display:inline-flex;inline-size:fit-content;min-block-size:20px;align-items:center;padding-inline:7px;border:1px solid rgb(244 196 48 / .3);border-radius:999px;background:rgb(244 196 48 / .08);color:#f4c430;font-size:.61rem;font-weight:850;letter-spacing:.07em;line-height:1;text-transform:uppercase}@media (max-width:480px){.ofm-public-profile--artist .ofm-public-profile__featured{grid-template-columns:54px minmax(0,1fr);gap:10px;margin-top:14px;padding:8px;border-radius:15px}.ofm-public-profile--artist .ofm-public-profile__featured-cover{inline-size:54px;block-size:54px;border-radius:10px}.ofm-public-profile--artist .ofm-public-profile__featured-copy strong{font-size:.91rem}}/* v0.3.47 — artist featured-release controls relay into the existing public card/player. */.ofm-public-profile__listen-button{appearance:none;border:0;cursor:pointer;font:inherit}.ofm-public-profile--artist .ofm-public-profile__featured-play{position:absolute;inset:0;z-index:2;display:grid;place-items:center;inline-size:100%;block-size:100%;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-public-profile--artist .ofm-public-profile__featured-play svg{inline-size:19px;block-size:19px;fill:currentColor}.ofm-public-profile--artist .ofm-public-profile__featured-play .icon-pause{display:none;fill:none;stroke:currentColor;stroke-linecap:round;stroke-width:2.5}.ofm-public-profile--artist .ofm-public-profile__featured.is-playing .ofm-public-profile__featured-play .icon-play{display:none}.ofm-public-profile--artist .ofm-public-profile__featured.is-playing .ofm-public-profile__featured-play .icon-pause{display:block}.ofm-public-profile--artist .ofm-public-profile__featured-cover:hover .ofm-public-profile__featured-play,.ofm-public-profile--artist .ofm-public-profile__featured-cover:focus-within .ofm-public-profile__featured-play,.ofm-public-profile--artist .ofm-public-profile__featured.is-playing .ofm-public-profile__featured-play,.ofm-public-profile--artist .ofm-public-profile__featured-play:focus-visible{background:rgb(0 0 0 / .5);opacity:1}.ofm-public-profile--artist .ofm-public-profile__featured-play:focus-visible{outline:2px solid #f4c430;outline-offset:-2px}.ofm-public-profile--artist .ofm-public-profile__play-status{margin:8px 0 0;color:#babac0;font-size:.8rem;line-height:1.4}.ofm-public-profile--artist .ofm-public-profile__play-status:empty{display:none}@media (hover:none),(pointer:coarse){.ofm-public-profile--artist .ofm-public-profile__featured-play{opacity:.82}}/* 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: 1200px){: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(180px, .8fr) minmax(300px, 1.6fr) max-content;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;position:relative;/* The image and fallback own their rounded clipping. Keep this wrapper open
	 * so the active artwork pulse can extend past its edge. */overflow:visible;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__cover-image[hidden]{display:none !important}#ofm-player.ofm-player .ofm-player__cover-placeholder{display:grid;width:var(--player-cover, 68px);height:var(--player-cover, 68px);place-items:center;border:1px solid rgb(244 196 48 / .28);border-radius:inherit;background:radial-gradient(circle at 72% 22%, rgb(244 196 48 / .2), transparent 42%),linear-gradient(145deg, #25231d, #101114);box-shadow:0 7px 18px rgb(0 0 0 / .28);color:rgb(244 196 48 / .88)}#ofm-player.ofm-player .ofm-player__cover-placeholder svg{width:40%;height:40%;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.65}#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}/* A valid Beat uses its otherwise inactive Save slot for the licence page. */#ofm-player.ofm-player.has-beat-purchase .ofm-player__favorite{display:none}#ofm-player.ofm-player .ofm-player__buy-beat{display:inline-flex;flex:0 0 auto;align-items:center;justify-content:center;gap:4px;min-width:70px;min-height:44px;padding:8px 10px;border:1px solid rgb(244 196 48 / .55);border-radius:9px;background:rgb(244 196 48 / .1);color:var(--ofm-player-accent);font-size:.75rem;font-weight:800;line-height:1.15;white-space:nowrap;transition:background-color .18s ease,border-color .18s ease}#ofm-player.ofm-player .ofm-player__buy-beat[hidden]{display:none !important}#ofm-player.ofm-player .ofm-player__buy-beat:hover{border-color:var(--ofm-player-accent);background:rgb(244 196 48 / .18)}#ofm-player.ofm-player .ofm-player__buy-beat:focus-visible{outline:2px solid var(--ofm-player-accent);outline-offset:3px}@media (max-width: 900px){#ofm-player.ofm-player .ofm-player__buy-beat{flex-direction:column;gap:0;width:44px;min-width:44px;height:44px;padding:5px;font-size:.69rem}}@media (prefers-reduced-motion: reduce){#ofm-player.ofm-player .ofm-player__buy-beat{transition:none}}#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}/* A received link can select a song, but browsers may still require a tap
 * before allowing sound. Keep that handoff compact and above the persistent
 * player rather than showing an autoplay failure. */#ofm-share-link-prompt.ofm-share-link-prompt{position:fixed;box-sizing:border-box;z-index:var(--ofm-layer-toast, 99990);right:max(18px, env(safe-area-inset-right));bottom:calc(var(--player-height, 118px) + 16px + env(safe-area-inset-bottom));display:grid;grid-template-columns:minmax(0, 1fr) auto auto;align-items:center;gap:10px;width:min(420px, calc(100vw - 36px));padding:11px 11px 11px 14px;border:1px solid rgb(244 196 48 / .38);border-radius:14px;background:rgb(19 18 14 / .98);box-shadow:0 16px 34px rgb(0 0 0 / .34);color:#f5f2e7}.ofm-share-link-prompt__copy{display:grid;min-width:0;gap:2px}.ofm-share-link-prompt__eyebrow{color:#f4c430;font-size:.64rem;font-weight:850;letter-spacing:.1em;text-transform:uppercase}.ofm-share-link-prompt__title{overflow:hidden;color:#fff;font-size:.82rem;font-weight:760;line-height:1.25;text-overflow:ellipsis;white-space:nowrap}.ofm-share-link-prompt__play,.ofm-share-link-prompt__dismiss{min-height:36px;margin:0;font:inherit;font-weight:800;cursor:pointer}.ofm-share-link-prompt__play{padding:0 13px;border:0;border-radius:999px;background:#f4c430;color:#19170f}.ofm-share-link-prompt__dismiss{display:grid;width:36px;padding:0;border:1px solid rgb(255 255 255 / .18);border-radius:50%;background:transparent;color:#f5f2e7;font-size:1.28rem;line-height:1;place-items:center}.ofm-share-link-prompt__play:hover,.ofm-share-link-prompt__play:focus-visible{background:#ffe07a;outline:0}.ofm-share-link-prompt__dismiss:hover,.ofm-share-link-prompt__dismiss:focus-visible{border-color:rgb(255 255 255 / .45);background:rgb(255 255 255 / .08);outline:0}@media (max-width: 560px){#ofm-share-link-prompt.ofm-share-link-prompt{right:12px;bottom:calc(var(--player-height, 150px) + 12px + env(safe-area-inset-bottom));width:calc(100vw - 24px);gap:8px;padding:10px}.ofm-share-link-prompt__play,.ofm-share-link-prompt__dismiss{min-height:44px}.ofm-share-link-prompt__dismiss{width:44px}}@media (prefers-reduced-motion: reduce){.ofm-share-link-prompt__play,.ofm-share-link-prompt__dismiss{transition:none}}/* v0.3.32 — one optional, post-listen action. It stays above the persistent
   player and has no page-level or account-state styling dependency. */#ofm-first-listen-prompt.ofm-first-listen-prompt{position:fixed;box-sizing:border-box;z-index:var(--ofm-layer-toast, 99990);right:max(18px, env(safe-area-inset-right));bottom:calc(var(--player-height, 118px) + 16px + env(safe-area-inset-bottom));display:grid;grid-template-columns:minmax(0, 1fr) auto;gap:9px 12px;width:min(420px, calc(100vw - 36px));padding:11px;border:1px solid rgb(244 196 48 / .38);border-radius:14px;background:rgb(19 18 14 / .98);box-shadow:0 16px 34px rgb(0 0 0 / .34);color:#f5f2e7}.ofm-first-listen-prompt__copy{display:grid;min-width:0;gap:2px;padding:1px 0 0 3px}.ofm-first-listen-prompt__eyebrow{color:#f4c430;font-size:.64rem;font-weight:850;letter-spacing:.1em;text-transform:uppercase}.ofm-first-listen-prompt__title{overflow:hidden;color:#fff;font-size:.82rem;font-weight:760;line-height:1.25;text-overflow:ellipsis;white-space:nowrap}.ofm-first-listen-prompt__actions{display:flex;grid-column:1/-1;flex-wrap:wrap;gap:8px}.ofm-first-listen-prompt :is(.ofm-first-listen-prompt__save, .ofm-first-listen-prompt__next, .ofm-first-listen-prompt__dismiss){min-height:36px;margin:0;font:inherit;font-size:.78rem;font-weight:800;line-height:1}.ofm-first-listen-prompt__save{padding:0 13px;border:0;border-radius:999px;background:#f4c430;color:#19170f;cursor:pointer}.ofm-first-listen-prompt__next{display:inline-flex;align-items:center;justify-content:center;padding:0 10px;border:1px solid rgb(255 255 255 / .18);border-radius:999px;color:#f5f2e7;text-decoration:none}.ofm-first-listen-prompt .ofm-first-listen-prompt__dismiss{display:grid;width:36px;padding:0;border:1px solid rgb(255 255 255 / .18);border-radius:50%;background:transparent;color:#f5f2e7;cursor:pointer;font-size:1.28rem;place-items:center}.ofm-first-listen-prompt__save:hover,.ofm-first-listen-prompt__save:focus-visible{background:#ffe07a;outline:0}.ofm-first-listen-prompt__next:hover,.ofm-first-listen-prompt__next:focus-visible,.ofm-first-listen-prompt__dismiss:hover,.ofm-first-listen-prompt__dismiss:focus-visible{border-color:rgb(255 255 255 / .45);background:rgb(255 255 255 / .08);outline:0}@media (max-width: 560px){#ofm-first-listen-prompt.ofm-first-listen-prompt{right:12px;bottom:calc(var(--player-height, 150px) + 12px + env(safe-area-inset-bottom));width:calc(100vw - 24px);padding:10px}.ofm-first-listen-prompt :is(.ofm-first-listen-prompt__save, .ofm-first-listen-prompt__next, .ofm-first-listen-prompt__dismiss){min-height:44px}.ofm-first-listen-prompt__dismiss{width:44px}}@media (prefers-reduced-motion: reduce){.ofm-first-listen-prompt :is(.ofm-first-listen-prompt__save, .ofm-first-listen-prompt__next, .ofm-first-listen-prompt__dismiss){transition:none}}/* 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}/* Keep the player Share symbol visually lighter than a transport icon while
 * preserving the button's accessible hit area. */#ofm-player.ofm-player #player-share{flex:0 0 auto}#ofm-player.ofm-player #player-share svg{width:16px;height:16px;stroke-width:1.85}#ofm-player.ofm-player #player-share:disabled{opacity:.42}/* 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 img[hidden]{display:none !important}.ofm-now-playing__cover-placeholder{display:grid;width:100%;height:100%;place-items:center;background:radial-gradient(circle at 72% 22%, rgb(244 196 48 / .2), transparent 42%),linear-gradient(145deg, #25231d, #101114);color:rgb(244 196 48 / .88)}.ofm-now-playing__cover-placeholder svg{width:36%;height:36%;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.65}.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));/* Percentages use the fixed containing block minus its scrollbar. */width:calc(100% - 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(100% - 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))}}/* Shared queue keyboard focus ring: do not rely on the hover fill alone. */#ofm-queue-drawer .ofm-queue__close:focus-visible,#ofm-queue-drawer .ofm-queue__item:focus-visible{outline:2px solid #ffe28a;outline-offset:2px}/* 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}}/* Queue action keyboard focus ring. */#ofm-queue-list button.ofm-queue__action:focus-visible,#ofm-queue-close:focus-visible{outline:2px solid #ffe28a!important;outline-offset:2px!important}/* 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{animation:ofm-cover-breathe 3.4s ease-in-out infinite;transform-origin:center;will-change:transform,box-shadow}@keyframes ofm-player-enter{from{transform:translateY(100%)}to{transform:translateY(0)}}@keyframes ofm-cover-breathe{50%{transform:scale(1.04);box-shadow:0 0 0 4px rgb(244 196 48 / .16),0 8px 20px rgb(0 0 0 / .32)}}@media (prefers-reduced-motion: reduce){#ofm-player.ofm-player,#ofm-player.ofm-player.is-playing .ofm-player__cover{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: 1200px){#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}}/* The player becomes two rows before the action group reaches the viewport edge.
 * Buttons retain modern touch targets on compact touch screens. */@media (max-width: 900px){#ofm-player.ofm-player .ofm-player__actions{gap:4px}#ofm-player.ofm-player .ofm-player__button,#ofm-player.ofm-player .ofm-player__favorite{width:44px;height:44px;min-width:44px;min-height:44px}#ofm-player.ofm-player .ofm-player__button--play{width:48px;height:48px;min-width:48px;min-height:48px}}@media (max-width: 580px){:root{--player-height:150px}#ofm-player.ofm-player{min-height:var(--player-height, 150px);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 :is(.ofm-player__cover-image, .ofm-player__cover-placeholder){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}/* Keep the artwork compact, but make every distinct control easy to hit. */#ofm-player.ofm-player .ofm-player__button,#ofm-player.ofm-player .ofm-player__favorite{width:44px;height:44px;min-width:44px;min-height:44px}#ofm-player.ofm-player .ofm-player__button--play{width:48px;height:48px;min-width:48px;min-height:48px}#ofm-player.ofm-player :is(.ofm-player__info, .ofm-player__hide){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){opacity:.56}#ofm-player.ofm-player :is(#shuffle, #repeat) svg{width:13px;height:13px;stroke-width:1.8}}@media (max-width: 420px){/* Keep Save available on the smallest phones; metadata can truncate safely. */#ofm-player.ofm-player .ofm-player__identity{min-width:0}#ofm-player.ofm-player .ofm-player__controls{gap:2px}}@media (max-width: 340px){/* Do not shrink controls below 44px. Give the actions their own row instead. */:root{--player-height:198px}#ofm-player.ofm-player{grid-template-columns:minmax(0, 1fr);grid-template-rows:auto auto auto;gap:6px;padding-inline:8px}#ofm-player.ofm-player .ofm-player__transport{grid-column: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:1;grid-row:3;justify-content:center}}/* 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,html.ofm-player-workspace-route.ofm-player-workspace-hidden .ofm-beat-store{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,html.ofm-player-workspace-route.ofm-player-workspace-hidden .ofm-beat-store{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-details__artist a{color:inherit;text-decoration:none}.ofm-station-release-details__artist a:hover,.ofm-station-release-details__artist a:focus-visible{color:#ffe28a;outline:0;text-decoration:underline}.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__artist{overflow:hidden;color:#aaa;font-size:.66rem;font-weight:650;line-height:1.2;text-decoration:none;text-overflow:ellipsis;white-space:nowrap}.ofm-station-release-related__artist:hover,.ofm-station-release-related__artist:focus-visible{color:#ffe28a;outline:0;text-decoration:underline}.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}}[data-ofm-station-root] .ofm-station-release-hero__music-check-notice a{justify-self:start;color:#ffe18a;font-weight:800;text-decoration:none}[data-ofm-station-root] .ofm-station-release-hero__music-check-notice a span{color:inherit}[data-ofm-station-root] .ofm-station-release-hero__music-check-notice a:hover,[data-ofm-station-root] .ofm-station-release-hero__music-check-notice a:focus-visible{color:#fff8d6;text-decoration:underline}/* v0.3.29 — The release-page Share action is intentionally labeled. */[data-ofm-station-root] .ofm-station-release__share{width:auto;padding-inline:13px}[data-ofm-station-root] .ofm-station-release__share-label{white-space:nowrap}@media(max-width:680px){[data-ofm-station-root] .ofm-station-release__share{width:auto;min-width:44px;min-height:44px;padding-inline:13px}}/* 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}/* Explore uses the same public-card component as Home, but its browse variant
   also has to defeat the host card shell's inherited stretch height. */html body .ofm-explore .ofm-public-playlists__grid.ofm-explore__mixes{grid-auto-rows:180px !important;align-items:start !important}html body .ofm-explore .ofm-public-playlists__grid.ofm-explore__mixes > 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-explore .ofm-public-playlists__grid.ofm-explore__mixes > 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-explore .ofm-public-playlists__grid.ofm-explore__mixes > 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){.ofm-public-playlists__grid > .ofm-playlist-card--home,.ofm-public-playlists__grid > .ofm-playlist-card--home .ofm-playlist-card__link{min-block-size:154px}html body .ofm-explore .ofm-public-playlists__grid.ofm-explore__mixes{grid-auto-rows:154px !important}html body .ofm-explore .ofm-public-playlists__grid.ofm-explore__mixes > 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-explore .ofm-public-playlists__grid.ofm-explore__mixes > article.ofm-playlist-card--browse > .ofm-playlist-card__link{grid-template-columns:94px minmax(0,1fr) !important;padding:12px !important}}.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-inline-size:44px;min-block-size:44px}.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}}/* v0.2.79: Fill partial playlist cover mosaics rather than leaving image cells blank. */.ofm-playlist-card__cover--2>img{grid-row:1/-1}.ofm-playlist-card__cover--3>img:last-child{grid-column:1/-1}/* Mobile tap targets keep small icon artwork while giving touch users a dependable hit area. */@media (max-width:720px){.ofm-playlist-icon-button,.ofm-playlist-card--mix > .ofm-playlist-card__share,.ofm-playlist-save-button{inline-size:44px;block-size:44px;min-inline-size:44px;min-block-size:44px}.ofm-playlist-card--mix > .ofm-playlist-card__share{top:10px;right:10px}.ofm-playlist-card--mix > .ofm-playlist-card__save{top:10px;right:62px}.song-card button.ofm-playlist-add{top:8px !important;left:8px !important;inline-size:44px !important;block-size:44px !important;min-inline-size:44px !important;min-block-size:44px !important}.ofm-billboard__tabs a,.ofm-billboard__market,.ofm-billboard__heading > a{min-block-size:44px}}/* Keep Billboard Play all aligned with the shared phone touch target. */@media (max-width:720px){.ofm-billboard__heading > .ofm-billboard__play-all{min-inline-size:44px;min-block-size:44px}}/* 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}}
