/*
 * Public Competition Hub.
 *
 * This route owns its campaign, bracket, and archive presentation. It does
 * not inherit release-card actions because a competition result is not a
 * normal public release.
 */

main.ofm-public-page.ofm-public-page--competitions{
    min-block-size:100dvh;
    padding-block-end:clamp(88px,13vw,164px);
    overflow:clip;
    background:
        radial-gradient(760px 460px at 102% -9%,rgb(244 196 48 / .14),transparent 70%),
        radial-gradient(680px 440px at -8% 24%,rgb(102 76 170 / .1),transparent 72%),
        #090a0d;
    color:#f7f4eb;
}

.ofm-competition-hub,
.ofm-competition-hub *,
.ofm-competition-hub *::before,
.ofm-competition-hub *::after{
    box-sizing:border-box;
}

.ofm-competition-hub{
    --ofm-competition-accent:#f4c430;
    --ofm-competition-ink:#f8f6ee;
    --ofm-competition-muted:#aaa9a4;
    --ofm-competition-line:rgb(255 255 255 / .12);
    --ofm-competition-panel:linear-gradient(145deg,rgb(29 30 33 / .93),rgb(14 15 18 / .97));
    color:var(--ofm-competition-ink);
}

.ofm-competition-hub__hero,
.ofm-competition-hub__detail-hero,
.ofm-competition-hub__archive-hero{
    position:relative;
    isolation:isolate;
}

.ofm-competition-hub__hero::after,
.ofm-competition-hub__detail-hero::after{
    position:absolute;
    z-index:-1;
    inset:auto -18% -28% auto;
    inline-size:min(56vw,640px);
    aspect-ratio:1;
    border:1px solid rgb(244 196 48 / .15);
    border-radius:50%;
    box-shadow:
        0 0 0 42px rgb(244 196 48 / .028),
        0 0 0 84px rgb(244 196 48 / .018);
    content:"";
    pointer-events:none;
}

.ofm-competition-hub__hero{
    padding-block:clamp(64px,10vw,132px) clamp(34px,5vw,64px);
}

.ofm-competition-hub__hero-grid{
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(260px,.48fr);
    align-items:end;
    gap:clamp(30px,6vw,94px);
}

.ofm-competition-hub .ofm-eyebrow{
    margin:0;
    color:var(--ofm-competition-accent);
    font-size:.69rem;
    font-weight:850;
    letter-spacing:.16em;
    line-height:1.2;
}

.ofm-competition-hub__hero h1,
.ofm-competition-hub__archive-hero h1,
.ofm-competition-hub__unavailable h1{
    max-inline-size:850px;
    margin:10px 0 16px;
    color:#fff;
    font-size:clamp(3.05rem,7.2vw,6.4rem);
    font-weight:850;
    letter-spacing:-.072em;
    line-height:.91;
    overflow-wrap:anywhere;
}

.ofm-competition-hub__hero>div>p:not(.ofm-eyebrow),
.ofm-competition-hub__archive-hero p:not(.ofm-eyebrow),
.ofm-competition-hub__unavailable p:not(.ofm-eyebrow){
    max-inline-size:620px;
    margin:0;
    color:#c0bfba;
    font-size:clamp(.96rem,1.8vw,1.08rem);
    line-height:1.62;
}

.ofm-competition-hub__hero-note{
    display:grid;
    gap:8px;
    padding:clamp(18px,3vw,26px);
    border:1px solid rgb(244 196 48 / .32);
    border-radius:22px;
    background:linear-gradient(145deg,rgb(41 34 12 / .78),rgb(20 20 17 / .86));
    box-shadow:0 18px 52px rgb(0 0 0 / .2),inset 0 1px rgb(255 255 255 / .04);
}

.ofm-competition-hub__hero-note strong{
    color:#ffe28a;
    font-size:1rem;
    letter-spacing:-.015em;
}

.ofm-competition-hub__hero-note span{
    color:#c6c0aa;
    font-size:.82rem;
    line-height:1.52;
}

.ofm-competition-hub__content{
    padding-block:clamp(28px,5vw,70px);
}

.ofm-competition-hub__tabs{
    display:flex;
    gap:8px;
    margin:0;
    padding:0 0 clamp(30px,5vw,56px);
    overflow-x:auto;
    scrollbar-width:none;
}

.ofm-competition-hub__tabs::-webkit-scrollbar{
    display:none;
}

.ofm-competition-hub__tabs a{
    display:inline-flex;
    flex:0 0 auto;
    min-block-size:40px;
    padding:9px 14px;
    align-items:center;
    justify-content:center;
    border:1px solid rgb(255 255 255 / .14);
    border-radius:999px;
    background:rgb(255 255 255 / .025);
    color:#bdbcb7;
    font-size:.77rem;
    font-weight:760;
    line-height:1.1;
    text-decoration:none;
    transition:border-color .18s ease,background .18s ease,color .18s ease,transform .18s ease;
}

.ofm-competition-hub__tabs a:hover,
.ofm-competition-hub__tabs a:focus-visible{
    border-color:rgb(244 196 48 / .55);
    background:rgb(244 196 48 / .08);
    color:#ffe39a;
    outline:0;
    transform:translateY(-1px);
}

.ofm-competition-hub__tabs a.is-active{
    border-color:var(--ofm-competition-accent);
    background:var(--ofm-competition-accent);
    color:#17140a;
}

.ofm-competition-hub__section{
    margin:0;
    padding-block:clamp(26px,5vw,64px);
    scroll-margin-top:calc(var(--ofm-app-shell-header-clearance,var(--ofm-app-shell-header-height,72px)) + 20px);
}

.ofm-competition-hub__section + .ofm-competition-hub__section{
    border-block-start:1px solid rgb(255 255 255 / .08);
}

.ofm-competition-hub__section-heading{
    display:flex;
    align-items:end;
    justify-content:space-between;
    gap:20px;
    margin-block-end:20px;
}

.ofm-competition-hub__section-heading h2{
    margin:5px 0 0;
    color:#fff;
    font-size:clamp(1.85rem,4vw,3.15rem);
    font-weight:800;
    letter-spacing:-.05em;
    line-height:1;
    overflow-wrap:anywhere;
}

.ofm-competition-hub__section-heading>p{
    max-inline-size:300px;
    margin:0;
    color:#aaa9a4;
    font-size:.78rem;
    line-height:1.48;
    text-align:end;
}

.ofm-competition-hub__campaign-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:clamp(14px,2vw,25px);
}

.ofm-competition-hub__campaign-grid.is-featured{
    grid-template-columns:repeat(3,minmax(0,1fr));
}

.ofm-competition-hub__campaign-grid>div{
    min-inline-size:0;
}

.ofm-competition-hub__campaign-card{
    display:grid;
    min-block-size:100%;
    overflow:hidden;
    border:1px solid var(--ofm-competition-line);
    border-radius:22px;
    background:var(--ofm-competition-panel);
    box-shadow:0 15px 38px rgb(0 0 0 / .2),inset 0 1px rgb(255 255 255 / .03);
    transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease;
}

.ofm-competition-hub__campaign-card:hover,
.ofm-competition-hub__campaign-card:focus-within{
    border-color:rgb(244 196 48 / .42);
    box-shadow:0 24px 48px rgb(0 0 0 / .3),0 0 0 3px rgb(244 196 48 / .045);
    transform:translateY(-3px);
}

.ofm-competition-hub__campaign-card.is-featured{
    border-color:rgb(244 196 48 / .3);
    background:
        radial-gradient(100% 80% at 100% 0%,rgb(244 196 48 / .09),transparent 70%),
        var(--ofm-competition-panel);
}

.ofm-competition-hub__campaign-cover{
    position:relative;
    display:block;
    min-block-size:0;
    aspect-ratio:1.54 / 1;
    overflow:hidden;
    background:linear-gradient(135deg,#302b1c,#171717);
    color:#f9d86f;
    text-decoration:none;
}

.ofm-competition-hub__campaign-cover::after{
    position:absolute;
    inset:0;
    background:linear-gradient(180deg,transparent 48%,rgb(0 0 0 / .4));
    content:"";
    pointer-events:none;
}

.ofm-competition-hub__campaign-cover img{
    display:block;
    inline-size:100%;
    block-size:100%;
    object-fit:cover;
    transition:transform .45s cubic-bezier(.2,.7,.2,1);
}

.ofm-competition-hub__campaign-card:hover .ofm-competition-hub__campaign-cover img,
.ofm-competition-hub__campaign-card:focus-within .ofm-competition-hub__campaign-cover img{
    transform:scale(1.045);
}

.ofm-competition-hub__campaign-cover-fallback,
.ofm-competition-hub__detail-cover>span,
.ofm-competition-hub__entry-cover>span{
    display:grid;
    inline-size:100%;
    block-size:100%;
    place-items:center;
    background:
        radial-gradient(circle at 73% 23%,rgb(244 196 48 / .22),transparent 36%),
        linear-gradient(135deg,#24201a,#101114);
}

.ofm-competition-hub__campaign-cover-fallback svg,
.ofm-competition-hub__detail-cover>span svg{
    inline-size:34%;
    block-size:34%;
    fill:none;
    stroke:currentColor;
    stroke-linejoin:round;
    stroke-width:1.3;
}

.ofm-competition-hub__campaign-status{
    display:inline-flex;
    width:max-content;
    min-block-size:26px;
    padding:5px 9px;
    align-items:center;
    justify-content:center;
    border:1px solid rgb(255 255 255 / .21);
    border-radius:999px;
    background:rgb(11 12 14 / .76);
    color:#e7e5dc;
    font-size:.65rem;
    font-weight:850;
    letter-spacing:.03em;
    line-height:1;
    white-space:nowrap;
}

.ofm-competition-hub__campaign-cover .ofm-competition-hub__campaign-status{
    position:absolute;
    z-index:1;
    inset:12px auto auto 12px;
}

.ofm-competition-hub__campaign-status.is-open{
    border-color:rgb(244 196 48 / .65);
    background:rgb(78 60 7 / .8);
    color:#ffe586;
}

.ofm-competition-hub__campaign-status.is-live{
    border-color:rgb(102 211 151 / .6);
    background:rgb(19 67 41 / .83);
    color:#b3f6cc;
}

.ofm-competition-hub__campaign-status.is-results{
    border-color:rgb(142 118 229 / .6);
    background:rgb(57 42 101 / .78);
    color:#d3c8ff;
}

.ofm-competition-hub__campaign-copy{
    display:grid;
    align-content:start;
    min-inline-size:0;
    padding:17px 18px 18px;
}

.ofm-competition-hub__campaign-kicker{
    display:flex;
    flex-wrap:wrap;
    gap:6px;
    min-block-size:17px;
    align-items:center;
    color:#a9a7a1;
    font-size:.66rem;
    font-weight:700;
    letter-spacing:.035em;
    line-height:1.25;
}

.ofm-competition-hub__sponsor-label,
.ofm-competition-hub__featured-label,
.ofm-competition-hub__entry-winner{
    display:inline-flex;
    width:max-content;
    padding:4px 7px;
    align-items:center;
    border:1px solid rgb(244 196 48 / .48);
    border-radius:999px;
    background:rgb(244 196 48 / .1);
    color:#ffe18a;
    font-size:.6rem;
    font-weight:850;
    letter-spacing:.075em;
    line-height:1;
    text-transform:uppercase;
}

.ofm-competition-hub__featured-label{
    border-color:rgb(255 255 255 / .16);
    background:rgb(255 255 255 / .045);
    color:#d7d5cc;
}

.ofm-competition-hub__campaign-copy h3{
    margin:8px 0 0;
    color:#fff;
    font-size:clamp(1.15rem,2.2vw,1.52rem);
    font-weight:780;
    letter-spacing:-.04em;
    line-height:1.08;
    overflow-wrap:anywhere;
}

.ofm-competition-hub__campaign-copy h3 a{
    color:inherit;
    text-decoration:none;
}

.ofm-competition-hub__campaign-copy h3 a:hover,
.ofm-competition-hub__campaign-copy h3 a:focus-visible{
    color:#ffe28a;
    outline:0;
}

.ofm-competition-hub__campaign-season,
.ofm-competition-hub__campaign-summary,
.ofm-competition-hub__campaign-stage,
.ofm-competition-hub__time{
    margin:0;
}

.ofm-competition-hub__campaign-season{
    margin-block-start:6px;
    color:#ddd0a2;
    font-size:.75rem;
    font-weight:760;
}

.ofm-competition-hub__campaign-summary{
    margin-block-start:11px;
    color:#b7b6b0;
    font-size:.8rem;
    line-height:1.52;
}

.ofm-competition-hub__campaign-stage{
    display:inline-flex;
    width:max-content;
    max-inline-size:100%;
    margin-block-start:12px;
    padding:5px 8px;
    overflow:hidden;
    border:1px solid rgb(255 255 255 / .1);
    border-radius:999px;
    color:#d0cec7;
    font-size:.68rem;
    font-weight:730;
    line-height:1.2;
    text-overflow:ellipsis;
    white-space:nowrap;
}

.ofm-competition-hub__time{
    display:flex;
    flex-wrap:wrap;
    gap:5px;
    margin-block-start:15px;
    color:#c0bfba;
    font-size:.69rem;
    font-variant-numeric:tabular-nums;
    line-height:1.4;
}

.ofm-competition-hub__time>span{
    color:#878680;
}

.ofm-competition-hub__date{
    color:#ddd9c9;
    font-weight:700;
}

.ofm-competition-hub__campaign-link,
.ofm-competition-hub__archive-link a,
.ofm-competition-hub__unavailable a{
    display:inline-flex;
    width:max-content;
    min-block-size:36px;
    margin-block-start:15px;
    align-items:center;
    gap:6px;
    color:#ffe18a;
    font-size:.75rem;
    font-weight:810;
    line-height:1;
    text-decoration:none;
}

.ofm-competition-hub__campaign-link svg,
.ofm-competition-hub__archive-link svg{
    inline-size:15px;
    block-size:15px;
    fill:none;
    stroke:currentColor;
    stroke-linecap:round;
    stroke-linejoin:round;
    stroke-width:2;
    transition:transform .18s ease;
}

.ofm-competition-hub__campaign-link:hover,
.ofm-competition-hub__campaign-link:focus-visible,
.ofm-competition-hub__archive-link a:hover,
.ofm-competition-hub__archive-link a:focus-visible,
.ofm-competition-hub__unavailable a:hover,
.ofm-competition-hub__unavailable a:focus-visible{
    color:#fff4c9;
    outline:0;
}

.ofm-competition-hub__campaign-link:hover svg,
.ofm-competition-hub__campaign-link:focus-visible svg,
.ofm-competition-hub__archive-link a:hover svg,
.ofm-competition-hub__archive-link a:focus-visible svg{
    transform:translateX(3px);
}

.ofm-competition-hub__empty,
.ofm-competition-hub__unavailable{
    display:grid;
    min-block-size:300px;
    align-items:center;
    margin-block:clamp(12px,3vw,30px);
    padding:clamp(30px,6vw,74px);
    border:1px dashed rgb(244 196 48 / .42);
    border-radius:26px;
    background:
        radial-gradient(60% 110% at 100% 50%,rgb(244 196 48 / .08),transparent 72%),
        rgb(20 20 19 / .72);
}

.ofm-competition-hub__empty h2{
    margin:8px 0 10px;
    color:#fff;
    font-size:clamp(2rem,5vw,3.75rem);
    letter-spacing:-.055em;
    line-height:.98;
}

.ofm-competition-hub__empty p{
    max-inline-size:480px;
    margin:0;
    color:#c3c0b5;
    font-size:.94rem;
    line-height:1.55;
}

.ofm-competition-hub__empty-copy{
    margin:0;
    padding:18px;
    border:1px dashed rgb(255 255 255 / .18);
    border-radius:16px;
    color:#aaa9a3;
    font-size:.82rem;
    line-height:1.5;
}

.ofm-competition-hub__archive-link{
    display:flex;
    justify-content:flex-end;
    margin:0;
}

.ofm-competition-hub__crumb{
    display:flex;
    width:min(1200px,calc(100% - var(--ofm-public-page-edge,clamp(18px,3vw,42px)) - var(--ofm-public-page-edge,clamp(18px,3vw,42px))));
    margin:0 auto;
    padding-block:clamp(25px,4vw,46px) 0;
    gap:8px;
    color:#999792;
    font-size:.75rem;
    line-height:1.4;
}

.ofm-competition-hub__crumb a{
    color:#d9c878;
    text-decoration:none;
}

.ofm-competition-hub__crumb a:hover,
.ofm-competition-hub__crumb a:focus-visible{
    color:#fff1b5;
    outline:0;
}

.ofm-competition-hub__detail-hero{
    padding-block:clamp(24px,5vw,60px) clamp(30px,5vw,76px);
}

.ofm-competition-hub__detail-hero-grid{
    display:grid;
    grid-template-columns:minmax(210px,.55fr) minmax(0,1.4fr);
    align-items:center;
    gap:clamp(26px,5vw,74px);
}

.ofm-competition-hub__detail-cover{
    aspect-ratio:1;
    overflow:hidden;
    border:1px solid rgb(255 255 255 / .14);
    border-radius:26px;
    background:#151515;
    box-shadow:0 24px 58px rgb(0 0 0 / .34);
}

.ofm-competition-hub__detail-cover img{
    display:block;
    inline-size:100%;
    block-size:100%;
    object-fit:cover;
}

.ofm-competition-hub__detail-cover>span{
    color:#f4c430;
}

.ofm-competition-hub__detail-status-row{
    display:flex;
    flex-wrap:wrap;
    gap:7px;
    margin:0 0 15px;
}

.ofm-competition-hub__detail-copy h1{
    margin:0;
    color:#fff;
    font-size:clamp(2.7rem,6vw,5.8rem);
    font-weight:850;
    letter-spacing:-.07em;
    line-height:.93;
    overflow-wrap:anywhere;
}

.ofm-competition-hub__detail-season{
    margin:11px 0 0;
    color:#f0d76f;
    font-size:clamp(.9rem,1.6vw,1.08rem);
    font-weight:780;
}

.ofm-competition-hub__detail-description{
    max-inline-size:680px;
    margin:17px 0 0;
    color:#c4c3bd;
    font-size:clamp(.94rem,1.6vw,1.06rem);
    line-height:1.62;
}

.ofm-competition-hub__detail-sponsor{
    margin:14px 0 0;
    color:#dfc764;
    font-size:.78rem;
    font-weight:730;
}

.ofm-competition-hub__detail-content{
    padding-block:clamp(16px,3vw,38px);
}

.ofm-competition-hub__detail-overview{
    padding-block-start:0;
}

.ofm-competition-hub__detail-facts{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:12px;
}

.ofm-competition-hub__detail-facts article{
    display:grid;
    align-content:start;
    gap:7px;
    min-block-size:142px;
    padding:18px;
    border:1px solid rgb(255 255 255 / .11);
    border-radius:18px;
    background:linear-gradient(140deg,rgb(30 30 31 / .88),rgb(17 18 20 / .94));
}

.ofm-competition-hub__detail-facts span{
    color:#a29f96;
    font-size:.66rem;
    font-weight:820;
    letter-spacing:.11em;
    line-height:1.2;
    text-transform:uppercase;
}

.ofm-competition-hub__detail-facts strong{
    color:#f6f4ec;
    font-size:.94rem;
    line-height:1.38;
    overflow-wrap:anywhere;
}

.ofm-competition-hub__detail-facts p{
    margin:0;
    color:#aaa9a4;
    font-size:.75rem;
    line-height:1.48;
}
.ofm-competition-hub__detail-rules{
    grid-column:1 / -1;
}

.ofm-competition-hub__detail-rules > div{
    display:grid;
    gap:7px;
}

.ofm-competition-hub__detail-rules a{
    color:#ffd95d;
    font-size:.78rem;
    font-weight:800;
}

.ofm-competition-hub__bracket{
    padding-block-start:clamp(32px,5vw,62px);
}

.ofm-competition-hub__rounds{
    display:flex;
    gap:10px;
    margin:0 0 18px;
    padding:0;
    overflow-x:auto;
    list-style:none;
    scrollbar-width:none;
}

.ofm-competition-hub__rounds::-webkit-scrollbar{
    display:none;
}

.ofm-competition-hub__rounds li{
    display:grid;
    flex:0 0 min(238px,76vw);
    gap:5px;
    min-block-size:92px;
    padding:14px;
    border:1px solid rgb(255 255 255 / .1);
    border-radius:15px;
    background:rgb(255 255 255 / .025);
}

.ofm-competition-hub__rounds strong{
    color:#f1efe8;
    font-size:.84rem;
    line-height:1.25;
}

.ofm-competition-hub__rounds li>span{
    color:#cfb95d;
    font-size:.69rem;
    font-weight:730;
}

.ofm-competition-hub__rounds .ofm-competition-hub__time{
    margin-block-start:auto;
    font-size:.65rem;
}

.ofm-competition-hub__matches{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:12px;
}

.ofm-competition-hub__match{
    overflow:hidden;
    border:1px solid rgb(255 255 255 / .11);
    border-radius:15px;
    background:#151619;
}

.ofm-competition-hub__match>div{
    display:flex;
    min-inline-size:0;
    min-block-size:44px;
    padding:10px 12px;
    align-items:center;
    justify-content:space-between;
    gap:10px;
    color:#b7b6b0;
    font-size:.77rem;
    line-height:1.25;
}

.ofm-competition-hub__match>div + div{
    border-block-start:1px solid rgb(255 255 255 / .08);
}

.ofm-competition-hub__match span{
    min-inline-size:0;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
}

.ofm-competition-hub__match b{
    flex:0 0 auto;
    color:#eee8ce;
    font-variant-numeric:tabular-nums;
}

.ofm-competition-hub__match .is-winner{
    background:rgb(244 196 48 / .09);
    color:#fff0ad;
}

.ofm-competition-hub__entries{
    padding-block-end:0;
}

.ofm-competition-hub__entry-grid{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:12px;
}

.ofm-competition-hub__entry{
    display:grid;
    min-inline-size:0;
    overflow:hidden;
    border:1px solid rgb(255 255 255 / .11);
    border-radius:17px;
    background:linear-gradient(145deg,#202022,#131416);
}

.ofm-competition-hub__entry.is-winner{
    border-color:rgb(244 196 48 / .52);
    box-shadow:0 0 0 3px rgb(244 196 48 / .05);
}

.ofm-competition-hub__entry-cover{
    position:relative;
    aspect-ratio:1.22 / 1;
    overflow:hidden;
    background:#21201b;
}

.ofm-competition-hub__entry-play{
    position:absolute;
    z-index:1;
    inset:auto 10px 10px auto;
    display:inline-flex;
    min-block-size:38px;
    padding:7px 10px 7px 8px;
    align-items:center;
    gap:7px;
    border:1px solid rgb(255 237 161 / .78);
    border-radius:999px;
    background:rgb(15 15 14 / .8);
    box-shadow:0 7px 20px rgb(0 0 0 / .28);
    color:#fff5ca;
    font:inherit
    font-size:.68rem;
    font-weight:750;
    line-height:1;
    letter-spacing:.025em;
    cursor:pointer;
    transition:background .18s ease,border-color .18s ease,color .18s ease,transform .18s ease;
}

.ofm-competition-hub__entry-play:hover,
.ofm-competition-hub__entry-play:focus-visible{
    border-color:#f4c430;
    background:#f4c430;
    color:#1a1608;
    outline:0;
    transform:translateY(-1px);
}

.ofm-competition-hub__entry-play-icon{
    display:grid;
    inline-size:19px;
    block-size:19px;
    place-items:center;
}

.ofm-competition-hub__entry-play-icon svg{
    grid-area:1 / 1;
    inline-size:100%;
    block-size:100%;
    fill:none;
    stroke:currentColor;
    stroke-linecap:round;
    stroke-linejoin:round;
    stroke-width:2.3;
}

.ofm-competition-hub__entry-play-icon .icon-play{
    fill:currentColor;
    stroke:none;
}

.ofm-competition-hub__entry-play-icon .icon-pause{
    display:none;
}

.ofm-competition-hub__entry.is-playing .ofm-competition-hub__entry-play-icon .icon-play{
    display:none;
}

.ofm-competition-hub__entry.is-playing .ofm-competition-hub__entry-play-icon .icon-pause{
    display:block;
}

.ofm-competition-hub__entry-cover img{
    display:block;
    inline-size:100%;
    block-size:100%;
    object-fit:cover;
}

.ofm-competition-hub__entry-cover>span{
    color:#cdb04e;
}

.ofm-competition-hub__entry-cover>span svg{
    inline-size:32%;
    block-size:32%;
    fill:currentColor;
}

.ofm-competition-hub__entry-copy{
    display:grid;
    align-content:start;
    gap:5px;
    padding:13px;
}

.ofm-competition-hub__entry-copy h3{
    margin:0;
    color:#fff;
    font-size:.94rem;
    letter-spacing:-.02em;
    line-height:1.2;
    overflow-wrap:anywhere;
}

.ofm-competition-hub__entry-copy p{
    margin:0;
    color:#c5c3bb;
    font-size:.76rem;
    line-height:1.35;
    overflow-wrap:anywhere;
}

.ofm-competition-hub__entry-copy small{
    color:#92918c;
    font-size:.66rem;
    font-weight:700;
    line-height:1.32;
}

.ofm-competition-hub__entry-winner{
    margin-block-end:2px;
}

.ofm-competition-hub__entry-result{
    display:inline-flex;
    width:max-content;
    max-inline-size:100%;
    margin-block-start:6px;
    padding:5px 7px;
    overflow:hidden;
    border:1px solid rgb(255 255 255 / .13);
    border-radius:999px;
    color:#e0dcbf;
    font-size:.64rem;
    font-weight:760;
    line-height:1;
    text-overflow:ellipsis;
    white-space:nowrap;
}

.ofm-competition-hub__archive-hero{
    padding-block:clamp(68px,11vw,136px) clamp(36px,6vw,76px);
}

.ofm-competition-hub__archive-hero h1{
    max-inline-size:670px;
}

.ofm-competition-hub__unavailable{
    min-block-size:calc(100dvh - var(--ofm-app-shell-header-clearance,var(--ofm-app-shell-header-height,72px)));
    margin:0;
    border:0;
    border-radius:0;
    background:transparent;
}

.ofm-competition-hub__unavailable h1{
    max-inline-size:720px;
}

.ofm-competition-hub__unavailable a{
    min-block-size:42px;
    margin-block-start:22px;
    padding:11px 15px;
    border:1px solid rgb(244 196 48 / .55);
    border-radius:999px;
    background:rgb(244 196 48 / .1);
}

@media(max-width:980px){
    .ofm-competition-hub__campaign-grid,
    .ofm-competition-hub__campaign-grid.is-featured{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }

    .ofm-competition-hub__entry-grid{
        grid-template-columns:repeat(3,minmax(0,1fr));
    }

    .ofm-competition-hub__matches{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
}

@media(max-width:760px){
    .ofm-competition-hub__hero{
        padding-block:58px 32px;
    }

    .ofm-competition-hub__hero-grid{
        grid-template-columns:1fr;
        align-items:start;
        gap:25px;
    }

    .ofm-competition-hub__hero-note{
        max-inline-size:580px;
    }

    .ofm-competition-hub__detail-hero-grid{
        grid-template-columns:minmax(0,250px) minmax(0,1fr);
        gap:24px;
    }

    .ofm-competition-hub__detail-facts{
        grid-template-columns:1fr;
    }

    .ofm-competition-hub__detail-facts article{
        min-block-size:0;
    }
}

@media(max-width:580px){
    .ofm-competition-hub__hero,
    .ofm-competition-hub__archive-hero{
        padding-block:48px 26px;
    }

    .ofm-competition-hub__hero h1,
    .ofm-competition-hub__archive-hero h1,
    .ofm-competition-hub__unavailable h1{
        font-size:clamp(2.7rem,14vw,4.25rem);
        letter-spacing:-.075em;
    }

    .ofm-competition-hub__tabs{
        margin-inline:calc(var(--ofm-public-page-edge,16px) * -1);
        padding-inline:var(--ofm-public-page-edge,16px);
    }

    .ofm-competition-hub__section{
        padding-block:28px;
    }

    .ofm-competition-hub__section-heading{
        align-items:start;
        flex-direction:column;
        gap:9px;
        margin-block-end:16px;
    }

    .ofm-competition-hub__section-heading h2{
        font-size:clamp(1.82rem,8.6vw,2.45rem);
    }

    .ofm-competition-hub__section-heading>p{
        max-inline-size:500px;
        text-align:start;
    }

    .ofm-competition-hub__campaign-grid,
    .ofm-competition-hub__campaign-grid.is-featured{
        grid-template-columns:1fr;
    }

    .ofm-competition-hub__campaign-card{
        grid-template-columns:minmax(108px,.7fr) minmax(0,1.3fr);
        min-block-size:168px;
    }

    .ofm-competition-hub__campaign-cover{
        aspect-ratio:auto;
        block-size:100%;
    }

    .ofm-competition-hub__campaign-copy{
        padding:14px;
    }

    .ofm-competition-hub__campaign-copy h3{
        font-size:1.1rem;
    }

    .ofm-competition-hub__campaign-summary{
        display:-webkit-box;
        overflow:hidden;
        -webkit-box-orient:vertical;
        -webkit-line-clamp:3;
    }

    .ofm-competition-hub__detail-hero{
        padding-block:20px 34px;
    }

    .ofm-competition-hub__detail-hero-grid{
        grid-template-columns:106px minmax(0,1fr);
        gap:17px;
        align-items:start;
    }

    .ofm-competition-hub__detail-cover{
        border-radius:16px;
    }

    .ofm-competition-hub__detail-copy h1{
        font-size:clamp(2rem,10vw,3rem);
    }

    .ofm-competition-hub__detail-season{
        margin-block-start:7px;
        font-size:.78rem;
    }

    .ofm-competition-hub__detail-description{
        grid-column:1 / -1;
        margin-block-start:18px;
    }

    .ofm-competition-hub__detail-sponsor{
        grid-column:1 / -1;
    }

    .ofm-competition-hub__detail-copy .ofm-competition-hub__time{
        grid-column:1 / -1;
    }

    .ofm-competition-hub__matches{
        grid-template-columns:1fr;
    }

    .ofm-competition-hub__entry-grid{
        grid-template-columns:repeat(2,minmax(0,1fr));
        gap:10px;
    }

    .ofm-competition-hub__entry{
        border-radius:14px;
    }

    .ofm-competition-hub__entry-copy{
        padding:10px;
    }

    .ofm-competition-hub__entry-copy h3{
        font-size:.84rem;
    }

    .ofm-competition-hub__entry-copy p{
        font-size:.7rem;
    }

    .ofm-competition-hub__empty{
        min-block-size:248px;
        padding:27px;
        border-radius:20px;
    }

    .ofm-competition-hub__crumb{
        padding-block-start:22px;
    }
}

@media(prefers-reduced-motion:reduce){
    .ofm-competition-hub *,
    .ofm-competition-hub *::before,
    .ofm-competition-hub *::after{
        scroll-behavior:auto!important;
        transition-duration:.01ms!important;
        animation-duration:.01ms!important;
        animation-iteration-count:1!important;
    }
}

/* Public entry guidance and official challenge-track controls. */
.ofm-competition-hub__join-panel,
.ofm-competition-hub__official-beat{
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(290px,.88fr);
    gap:clamp(22px,4vw,48px);
    align-items:start;
    margin-block:clamp(28px,5vw,54px);
    padding:clamp(22px,4vw,38px);
    border:1px solid rgb(244 196 48 / .3);
    border-radius:24px;
    background:linear-gradient(135deg,rgb(48 39 12 / .46),rgb(21 22 24 / .96) 50%,rgb(15 16 18 / .98));
    box-shadow:0 22px 52px rgb(0 0 0 / .17),inset 0 1px rgb(255 255 255 / .035);
}

.ofm-competition-hub__join-panel h2,
.ofm-competition-hub__official-beat h2{
    margin:9px 0 10px;
    color:#fff;
    font-size:clamp(1.6rem,3.4vw,2.5rem);
    letter-spacing:-.05em;
    line-height:1;
}

.ofm-competition-hub__join-panel>div>p:not(.ofm-eyebrow),
.ofm-competition-hub__official-beat-copy>p:not(.ofm-eyebrow){
    max-inline-size:610px;
    margin:0;
    color:#c4c2bb;
    font-size:.93rem;
    line-height:1.58;
}

.ofm-competition-hub__join-steps{
    display:grid;
    gap:10px;
    margin:0;
    padding:0;
    list-style:none;
}

.ofm-competition-hub__join-steps li{
    display:grid;
    grid-template-columns:30px minmax(0,1fr);
    gap:10px;
    padding:11px;
    border:1px solid rgb(255 255 255 / .1);
    border-radius:13px;
    background:rgb(0 0 0 / .16);
}

.ofm-competition-hub__join-steps b{
    display:grid;
    inline-size:25px;
    block-size:25px;
    place-items:center;
    border:1px solid rgb(244 196 48 / .62);
    border-radius:50%;
    color:#ffdc67;
    font-size:.72rem;
    font-variant-numeric:tabular-nums;
}

.ofm-competition-hub__join-steps span,
.ofm-competition-hub__official-beat-player>div{
    display:grid;
    gap:3px;
    min-inline-size:0;
}

.ofm-competition-hub__join-steps strong,
.ofm-competition-hub__official-beat-player strong{
    color:#f9f7f0;
    font-size:.84rem;
    line-height:1.25;
}

.ofm-competition-hub__join-steps small,
.ofm-competition-hub__official-beat-player span,
.ofm-competition-hub__official-beat-player small{
    color:#aaa8a1;
    font-size:.73rem;
    line-height:1.45;
}

.ofm-competition-hub__join-action,
.ofm-competition-hub__official-beat-download button{
    display:inline-flex;
    min-block-size:43px;
    inline-size:max-content;
    max-inline-size:100%;
    margin-block-start:16px;
    padding:11px 15px;
    align-items:center;
    justify-content:center;
    gap:10px;
    border:1px solid rgb(244 196 48 / .75);
    border-radius:999px;
    background:#f4c430;
    box-shadow:0 10px 28px rgb(0 0 0 / .22);
    color:#201a06;
    font:inherit;
    font-size:.78rem;
    font-weight:850;
    line-height:1;
    text-decoration:none;
    cursor:pointer;
    transition:transform .18s ease,background .18s ease,border-color .18s ease;
}

.ofm-competition-hub__join-action:hover,
.ofm-competition-hub__join-action:focus-visible,
.ofm-competition-hub__official-beat-download button:hover,
.ofm-competition-hub__official-beat-download button:focus-visible{
    border-color:#fff2ae;
    background:#fff1a9;
    outline:0;
    transform:translateY(-1px);
}

.ofm-competition-hub__join-closed,
.ofm-competition-hub__official-beat-note{
    margin:16px 0 0;
    color:#c0b682;
    font-size:.78rem;
    line-height:1.5;
}

.ofm-competition-hub__official-beat{
    grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);
    border-color:rgb(244 196 48 / .46);
    background:linear-gradient(135deg,rgb(65 51 12 / .62),rgb(27 25 17 / .98) 58%,rgb(17 17 18 / .98));
}

.ofm-competition-hub__official-beat-player{
    display:grid;
    grid-template-columns:auto minmax(0,1fr);
    gap:14px;
    align-items:center;
    min-block-size:92px;
    padding:15px;
    border:1px solid rgb(255 255 255 / .11);
    border-radius:17px;
    background:rgb(0 0 0 / .18);
}

.ofm-competition-hub__official-beat-play{
    display:inline-flex;
    min-block-size:48px;
    padding:9px 13px 9px 10px;
    align-items:center;
    gap:9px;
    border:1px solid rgb(255 237 161 / .78);
    border-radius:999px;
    background:rgb(15 15 14 / .8);
    color:#fff5ca;
    font:inherit;
    font-size:.74rem;
    font-weight:800;
    line-height:1;
    cursor:pointer;
    transition:background .18s ease,border-color .18s ease,color .18s ease,transform .18s ease;
}

.ofm-competition-hub__official-beat-play:hover,
.ofm-competition-hub__official-beat-play:focus-visible,
.ofm-competition-hub__official-beat.is-playing .ofm-competition-hub__official-beat-play{
    border-color:#f4c430;
    background:#f4c430;
    color:#1a1608;
    outline:0;
    transform:translateY(-1px);
}

.ofm-competition-hub__official-beat-play-icon{
    display:grid;
    inline-size:22px;
    block-size:22px;
    place-items:center;
}

.ofm-competition-hub__official-beat-play-icon svg{
    grid-area:1 / 1;
    inline-size:100%;
    block-size:100%;
    fill:none;
    stroke:currentColor;
    stroke-linecap:round;
    stroke-linejoin:round;
    stroke-width:2.3;
}

.ofm-competition-hub__official-beat-play-icon .icon-play{
    fill:currentColor;
    stroke:none;
}

.ofm-competition-hub__official-beat-play-icon .icon-pause,
.ofm-competition-hub__official-beat.is-playing .ofm-competition-hub__official-beat-play-icon .icon-play{
    display:none;
}

.ofm-competition-hub__official-beat.is-playing .ofm-competition-hub__official-beat-play-icon .icon-pause{
    display:block;
}

.ofm-competition-hub__official-beat-download{
    grid-column:2;
    margin:0;
}

@media(max-width:760px){
    .ofm-competition-hub__join-panel,
    .ofm-competition-hub__official-beat{
        grid-template-columns:1fr;
        gap:20px;
        border-radius:20px;
    }

    .ofm-competition-hub__official-beat-download{
        grid-column:auto;
    }
}

@media(max-width:460px){
    .ofm-competition-hub__official-beat-player{
        grid-template-columns:1fr;
        gap:12px;
    }

    .ofm-competition-hub__official-beat-play{
        inline-size:100%;
        justify-content:center;
    }
}

/* Direct Artist entry stays inside the public battle page. */
.ofm-competition-hub__entry-intake{
    grid-template-columns:minmax(0,.8fr) minmax(330px,1.12fr);
    align-items:start;
    scroll-margin-top:calc(var(--ofm-app-shell-header-clearance,var(--ofm-app-shell-header-height,72px)) + 20px);
}

.ofm-competition-hub__entry-intake-copy{
    display:grid;
    align-content:start;
    gap:0;
}

.ofm-competition-hub__entry-intake .ofm-competition-hub__join-steps{
    margin-block:20px 0;
}

.ofm-competition-hub__entry-intake-body{
    display:grid;
    gap:13px;
    min-inline-size:0;
}

.ofm-competition-hub__entry-notice,
.ofm-competition-hub__entry-status,
.ofm-competition-hub__entry-return-note,
.ofm-competition-hub__entry-status-copy{
    margin:0;
    border:1px solid rgb(255 255 255 / .12);
    border-radius:14px;
    background:rgb(0 0 0 / .17);
}

.ofm-competition-hub__entry-notice{
    padding:12px 13px;
    color:#e9e7df;
    font-size:.79rem;
    font-weight:700;
    line-height:1.45;
}

.ofm-competition-hub__entry-notice.is-success{
    border-color:rgb(102 211 151 / .5);
    background:rgb(20 74 46 / .28);
    color:#c0f4d1;
}

.ofm-competition-hub__entry-notice.is-error{
    border-color:rgb(237 127 115 / .58);
    background:rgb(98 28 24 / .28);
    color:#ffd0c8;
}

.ofm-competition-hub__entry-status{
    display:grid;
    gap:4px;
    padding:14px;
}

.ofm-competition-hub__entry-status strong{
    color:#fff0a6;
    font-size:.84rem;
    line-height:1.3;
}

.ofm-competition-hub__entry-status span,
.ofm-competition-hub__entry-status-copy{
    color:#c3c0b5;
    font-size:.78rem;
    line-height:1.48;
}

.ofm-competition-hub__entry-status-copy{
    padding:13px;
}

.ofm-competition-hub__entry-return-note{
    padding:13px;
}

.ofm-competition-hub__entry-return-note strong{
    display:block;
    margin-block-end:4px;
    color:#fff0a6;
    font-size:.72rem;
    font-weight:820;
    letter-spacing:.06em;
    text-transform:uppercase;
}

.ofm-competition-hub__entry-return-note p{
    margin:0;
    color:#c9c6bc;
    font-size:.78rem;
    line-height:1.5;
}

.ofm-competition-hub__entry-form{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:12px;
    padding:15px;
    border:1px solid rgb(244 196 48 / .32);
    border-radius:17px;
    background:linear-gradient(140deg,rgb(39 33 16 / .58),rgb(15 16 18 / .82));
}

.ofm-competition-hub__entry-field{
    display:grid;
    align-content:start;
    gap:7px;
    min-inline-size:0;
    color:#dedbd0;
    font-size:.72rem;
    font-weight:780;
    line-height:1.35;
}

.ofm-competition-hub__entry-field--wide{
    grid-column:1 / -1;
}

.ofm-competition-hub__entry-field span{
    color:#e7e3d5;
}

.ofm-competition-hub__entry-field em{
    color:#a8a69d;
    font-size:.66rem;
    font-style:normal;
    font-weight:680;
}

.ofm-competition-hub__entry-field small{
    color:#97958d;
    font-size:.65rem;
    font-weight:600;
    line-height:1.42;
}

.ofm-competition-hub__entry-field input[type="text"],
.ofm-competition-hub__entry-field input[type="file"]{
    inline-size:100%;
    min-block-size:42px;
    padding:9px 11px;
    border:1px solid rgb(255 255 255 / .17);
    border-radius:10px;
    background:rgb(5 6 8 / .58);
    color:#f5f2e8;
    font:inherit;
    font-size:.79rem;
    line-height:1.2;
}

.ofm-competition-hub__entry-field input[type="file"]{
    padding:7px;
    color:#bdbab0;
    cursor:pointer;
}

.ofm-competition-hub__entry-field input[type="file"]::file-selector-button{
    margin-inline-end:9px;
    padding:6px 9px;
    border:1px solid rgb(244 196 48 / .45);
    border-radius:7px;
    background:rgb(244 196 48 / .12);
    color:#ffe491;
    font:inherit;
    font-size:.68rem;
    font-weight:800;
    cursor:pointer;
}

.ofm-competition-hub__entry-field input:focus-visible{
    border-color:#f4c430;
    outline:2px solid rgb(244 196 48 / .23);
    outline-offset:1px;
}

.ofm-competition-hub__entry-terms{
    margin:0 0 11px;
    padding:10px 11px;
    border:1px solid rgb(255 255 255 / .1);
    border-radius:11px;
    background:rgb(0 0 0 / .16);
    color:#bdbab1;
    font-size:.72rem;
    font-weight:600;
    line-height:1.48;
}

.ofm-competition-hub__entry-terms summary{
    color:#f1e5ae;
    font-size:.73rem;
    font-weight:820;
    cursor:pointer;
}

.ofm-competition-hub__entry-terms>div{
    margin-block:10px 3px;
}

.ofm-competition-hub__entry-terms p{
    margin:0 0 8px;
}

.ofm-competition-hub__entry-terms a{
    color:#ffe18a;
    font-weight:780;
}

.ofm-competition-hub__entry-check{
    display:flex;
    align-items:flex-start;
    gap:8px;
    margin-block:9px 0;
    color:#c8c5bb;
    font-size:.71rem;
    font-weight:620;
    line-height:1.43;
    cursor:pointer;
}

.ofm-competition-hub__entry-check input{
    flex:0 0 auto;
    inline-size:16px;
    block-size:16px;
    margin:1px 0 0;
    accent-color:#f4c430;
}

.ofm-competition-hub__entry-submit{
    grid-column:1 / -1;
    display:inline-flex;
    min-block-size:44px;
    inline-size:max-content;
    max-inline-size:100%;
    padding:11px 16px;
    align-items:center;
    justify-content:center;
    border:1px solid rgb(244 196 48 / .78);
    border-radius:999px;
    background:#f4c430;
    box-shadow:0 10px 24px rgb(0 0 0 / .2);
    color:#1b1607;
    font:inherit;
    font-size:.78rem;
    font-weight:850;
    line-height:1;
    cursor:pointer;
    transition:transform .18s ease,background .18s ease,border-color .18s ease;
}

.ofm-competition-hub__entry-submit:hover,
.ofm-competition-hub__entry-submit:focus-visible{
    border-color:#fff2ae;
    background:#fff1a9;
    outline:0;
    transform:translateY(-1px);
}

@media(max-width:760px){
    .ofm-competition-hub__entry-intake{
        grid-template-columns:1fr;
    }
}

@media(max-width:520px){
    .ofm-competition-hub__entry-form{
        grid-template-columns:1fr;
        padding:13px;
    }

    .ofm-competition-hub__entry-field--wide,
    .ofm-competition-hub__entry-submit{
        grid-column:auto;
    }

    .ofm-competition-hub__entry-submit{
        inline-size:100%;
    }
}

/* Public Battle Billboard. It receives only the core's explicit, Admin-released
 * position/rating projection; private review and tie-break data never render here. */
.ofm-competition-hub__entry-grid--chart,
.ofm-competition-hub__battle-billboard{
    display:grid;
    grid-template-columns:minmax(0,1fr);
    gap:8px;
    margin:0;
    padding:0;
    list-style:none;
}

.ofm-competition-hub__battle-billboard .ofm-competition-hub__battle-billboard-row{
    grid-template-columns:52px clamp(78px,10vw,96px) minmax(0,1fr) max-content;
    align-items:stretch;
    scroll-margin-top:120px;
    min-block-size:96px;
    overflow:hidden;
    border-color:rgb(255 255 255 / .12);
    border-radius:14px;
    background:linear-gradient(100deg,rgb(31 31 31 / .98),rgb(18 19 21 / .99));
}

.ofm-competition-hub__battle-billboard .ofm-competition-hub__battle-billboard-row.is-charted{
    border-color:rgb(244 196 48 / .48);
    box-shadow:0 12px 28px rgb(0 0 0 / .16),inset 3px 0 #f4c430;
}

.ofm-competition-hub__battle-billboard-rank{
    display:grid;
    min-inline-size:0;
    padding:10px 5px;
    align-content:center;
    justify-items:center;
    gap:3px;
    border-inline-end:1px solid rgb(255 255 255 / .09);
    background:rgb(0 0 0 / .18);
    color:#aaa89f;
    text-align:center;
}

.ofm-competition-hub__battle-billboard-row.is-charted .ofm-competition-hub__battle-billboard-rank{
    background:linear-gradient(160deg,rgb(96 75 11 / .72),rgb(43 36 14 / .56));
    color:#f4d365;
}

.ofm-competition-hub__battle-billboard-rank span:not(.screen-reader-text){
    color:inherit;
    font-size:.55rem;
    font-weight:820;
    letter-spacing:.075em;
    line-height:1.2;
    text-transform:uppercase;
}

.ofm-competition-hub__battle-billboard-rank strong{
    color:#dedbd0;
    font-size:1.13rem;
    font-variant-numeric:tabular-nums;
    line-height:1;
}

.ofm-competition-hub__battle-billboard-row.is-charted .ofm-competition-hub__battle-billboard-rank strong{
    color:#fff1ad;
}

.ofm-competition-hub__battle-billboard-artwork{
    position:relative;
    min-block-size:96px;
    aspect-ratio:1;
    overflow:hidden;
    isolation:isolate;
    background:#24231e;
}

.ofm-competition-hub__battle-billboard-artwork>img,
.ofm-competition-hub__battle-billboard-artwork>span{
    position:absolute;
    inset:0;
    display:block;
    inline-size:100%;
    block-size:100%;
}

.ofm-competition-hub__battle-billboard-artwork>img{
    object-fit:cover;
    transition:transform .35s cubic-bezier(.2,.7,.2,1);
}

.ofm-competition-hub__battle-billboard-row:hover .ofm-competition-hub__battle-billboard-artwork>img,
.ofm-competition-hub__battle-billboard-row:focus-within .ofm-competition-hub__battle-billboard-artwork>img{
    transform:scale(1.045);
}

.ofm-competition-hub__battle-billboard-artwork>span{
    display:grid;
    place-items:center;
    color:#cdb04e;
}

.ofm-competition-hub__battle-billboard-artwork>span svg{
    inline-size:32%;
    block-size:32%;
    fill:currentColor;
}

.ofm-competition-hub__battle-billboard-artwork::after{
    position:absolute;
    z-index:1;
    inset:0;
    content:"";
    background:linear-gradient(135deg,rgb(0 0 0 / .03),rgb(0 0 0 / .52));
    pointer-events:none;
}

.ofm-competition-hub__battle-billboard-artwork .ofm-competition-hub__battle-billboard-play{
    position:absolute;
    z-index:2;
    inset:50% auto auto 50%;
    display:grid;
    inline-size:42px;
    min-block-size:42px;
    padding:0;
    place-items:center;
    border-color:rgb(255 237 161 / .9);
    border-radius:50%;
    background:rgb(15 15 14 / .78);
    box-shadow:0 8px 22px rgb(0 0 0 / .36);
    color:#fff5ca;
    transform:translate(-50%,-50%);
}

.ofm-competition-hub__battle-billboard-artwork .ofm-competition-hub__battle-billboard-play:hover,
.ofm-competition-hub__battle-billboard-artwork .ofm-competition-hub__battle-billboard-play:focus-visible,
.ofm-competition-hub__battle-billboard-row.is-playing .ofm-competition-hub__battle-billboard-play{
    border-color:#f4c430;
    background:#f4c430;
    color:#1a1608;
    outline:0;
    transform:translate(-50%,-50%) scale(1.05);
}

.ofm-competition-hub__battle-billboard-artwork .ofm-competition-hub__entry-play-icon{
    inline-size:20px;
    block-size:20px;
}

.ofm-competition-hub__battle-billboard-copy{
    display:grid;
    min-block-size:96px;
    padding:14px 17px;
    align-content:center;
    gap:7px;
}

.ofm-competition-hub__battle-billboard-copy-primary{
    display:grid;
    gap:4px;
    min-inline-size:0;
}

.ofm-competition-hub__battle-billboard-copy h3{
    margin:0;
    color:#fff;
    font-size:1rem;
    letter-spacing:-.025em;
    line-height:1.18;
    overflow-wrap:anywhere;
}

.ofm-competition-hub__battle-billboard-copy p{
    margin:0;
    color:#c5c3bb;
    font-size:.77rem;
    line-height:1.35;
    overflow-wrap:anywhere;
}

.ofm-competition-hub__battle-billboard-copy .ofm-competition-hub__entry-winner{
    margin-block-end:1px;
}

.ofm-competition-hub__battle-billboard-meta{
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    gap:6px;
    min-inline-size:0;
}

.ofm-competition-hub__battle-billboard-meta small{
    color:#92918c;
    font-size:.65rem;
    font-weight:700;
    line-height:1.32;
}

.ofm-competition-hub__battle-billboard-meta .ofm-competition-hub__entry-result{
    margin:0;
}

.ofm-competition-hub__battle-billboard-stat{
    display:grid;
    min-inline-size:104px;
    margin:0;
    padding:14px 17px;
    align-content:center;
    justify-items:end;
    border-inline-start:1px solid rgb(255 255 255 / .1);
    background:rgb(255 255 255 / .018);
}

.ofm-competition-hub__battle-billboard-stat div{
    display:grid;
    gap:3px;
    text-align:end;
}

.ofm-competition-hub__battle-billboard-stat dt{
    color:#96948c;
    font-size:.56rem;
    font-weight:780;
    letter-spacing:.055em;
    line-height:1.2;
    text-transform:uppercase;
}

.ofm-competition-hub__battle-billboard-stat dd{
    margin:0;
    color:#fff0ad;
    font-size:1rem;
    font-weight:830;
    font-variant-numeric:tabular-nums;
    line-height:1.08;
    white-space:nowrap;
}

.ofm-competition-hub__battle-billboard-stat dd small{
    color:#cfc297;
    font-size:.62em;
    font-weight:760;
}

@media(max-width:700px){
    .ofm-competition-hub__battle-billboard .ofm-competition-hub__battle-billboard-row{
        grid-template-columns:48px 78px minmax(0,1fr);
        min-block-size:88px;
    }

    .ofm-competition-hub__battle-billboard-artwork,
    .ofm-competition-hub__battle-billboard-copy{
        min-block-size:88px;
    }

    .ofm-competition-hub__battle-billboard-stat{
        grid-column:2 / -1;
        min-inline-size:0;
        min-block-size:48px;
        padding:10px 14px;
        align-content:center;
        justify-items:start;
        border-block-start:1px solid rgb(255 255 255 / .1);
        border-inline-start:0;
    }

    .ofm-competition-hub__battle-billboard-stat div{
        text-align:start;
    }
}

@media(max-width:430px){
    .ofm-competition-hub__battle-billboard .ofm-competition-hub__battle-billboard-row{
        grid-template-columns:43px 68px minmax(0,1fr);
    }

    .ofm-competition-hub__battle-billboard-rank{
        padding-inline:3px;
    }

    .ofm-competition-hub__battle-billboard-rank strong{
        font-size:1rem;
    }

    .ofm-competition-hub__battle-billboard-copy{
        padding:12px;
    }

    .ofm-competition-hub__battle-billboard-stat{
        grid-column:1 / -1;
        padding-inline:12px;
    }
}

/* Challenge-scoped public standings. These rows use only the explicit
 * Admin-released public chart projection and point to the playable chart below. */
.ofm-competition-hub__public-standings{scroll-margin-top:120px}
.ofm-competition-hub__public-standings-table-wrap{overflow-x:auto;border:1px solid rgb(255 255 255 / .12);border-radius:14px;background:linear-gradient(120deg,rgb(22 24 23 / .98),rgb(15 17 16 / .98))}
.ofm-competition-hub__public-standings-table-wrap:focus-visible{outline:2px solid #f4c430;outline-offset:3px}
.ofm-competition-hub__public-standings-table{inline-size:100%;min-inline-size:620px;border-collapse:collapse;color:#e7e3d7}
.ofm-competition-hub__public-standings-table th,.ofm-competition-hub__public-standings-table td{padding:12px 14px;border-block-end:1px solid rgb(255 255 255 / .09);text-align:start;vertical-align:middle}
.ofm-competition-hub__public-standings-table thead th{color:#b9b6ab;font-size:.61rem;font-weight:820;letter-spacing:.07em;line-height:1.2;text-transform:uppercase;white-space:nowrap}
.ofm-competition-hub__public-standings-table tbody tr:last-child th,.ofm-competition-hub__public-standings-table tbody tr:last-child td{border-block-end:0}
.ofm-competition-hub__public-standings-table tbody tr{transition:background .18s ease}
.ofm-competition-hub__public-standings-table tbody tr:hover{background:rgb(244 196 48 / .055)}
.ofm-competition-hub__public-standings-position{color:#ffe89b;font-size:.9rem;font-weight:860;font-variant-numeric:tabular-nums;white-space:nowrap}
.ofm-competition-hub__public-standings-performance{min-inline-size:260px;font-weight:inherit}
.ofm-competition-hub__public-standings-performance-link{display:grid;grid-template-columns:44px minmax(0,1fr);align-items:center;gap:11px;color:inherit;text-decoration:none}
.ofm-competition-hub__public-standings-performance-link>img,.ofm-competition-hub__public-standings-cover-fallback{display:block;inline-size:44px;block-size:44px;overflow:hidden;border-radius:7px;background:#292821;object-fit:cover}
.ofm-competition-hub__public-standings-cover-fallback{display:grid;place-items:center;color:#d4b94e}
.ofm-competition-hub__public-standings-cover-fallback svg{inline-size:18px;block-size:18px;fill:currentColor}
.ofm-competition-hub__public-standings-performance-link>span:last-child{display:grid;min-inline-size:0;gap:3px}
.ofm-competition-hub__public-standings-performance-link strong{overflow:hidden;color:#fff;font-size:.86rem;line-height:1.25;text-overflow:ellipsis;white-space:nowrap}
.ofm-competition-hub__public-standings-performance-link small{overflow:hidden;color:#b8b5aa;font-size:.7rem;font-weight:650;line-height:1.25;text-overflow:ellipsis;white-space:nowrap}
.ofm-competition-hub__public-standings-performance-link:hover strong,.ofm-competition-hub__public-standings-performance-link:focus-visible strong{color:#fff1af}
.ofm-competition-hub__public-standings-performance-link:focus-visible{border-radius:8px;outline:2px solid #f4c430;outline-offset:3px}
.ofm-competition-hub__public-standings-rating{color:#fff0ad;font-size:.9rem;font-weight:830;font-variant-numeric:tabular-nums;white-space:nowrap}
.ofm-competition-hub__public-standings-rating small{color:#cfc297;font-size:.68em;font-weight:760}
.ofm-competition-hub__public-standings-empty{margin:0;padding:17px 18px;border:1px dashed rgb(244 196 48 / .32);border-radius:12px;background:rgb(244 196 48 / .035);color:#d1cec2;font-size:.87rem;line-height:1.55}
@media(max-width:600px){
    .ofm-competition-hub__public-standings-table{min-inline-size:540px}
    .ofm-competition-hub__public-standings-table th,.ofm-competition-hub__public-standings-table td{padding:10px 11px}
    .ofm-competition-hub__public-standings-performance-link{grid-template-columns:38px minmax(0,1fr);gap:9px}
    .ofm-competition-hub__public-standings-performance-link>img,.ofm-competition-hub__public-standings-cover-fallback{inline-size:38px;block-size:38px}
}
/* Automatic qualification score cards on the public Battle chart. */
.ofm-competition-hub__battle-billboard .ofm-competition-hub__battle-billboard-row.has-score-card{
    grid-template-columns:52px clamp(78px,10vw,96px) minmax(170px,1fr) minmax(320px,.95fr);
}

.ofm-competition-hub__battle-billboard-scores{
    display:grid;
    grid-template-columns:repeat(5,minmax(44px,1fr));
    min-inline-size:0;
    margin:0;
    padding:11px 13px;
    align-content:center;
    gap:6px;
    border-inline-start:1px solid rgb(255 255 255 / .1);
    background:linear-gradient(120deg,rgb(255 255 255 / .04),rgb(255 255 255 / .012));
}

.ofm-competition-hub__battle-billboard-scores div{
    display:grid;
    min-inline-size:0;
    min-block-size:57px;
    padding:7px 5px;
    align-content:center;
    gap:4px;
    border:1px solid rgb(255 255 255 / .105);
    border-radius:8px;
    background:rgb(5 6 6 / .22);
    text-align:center;
}

.ofm-competition-hub__battle-billboard-scores div:nth-child(4){
    border-color:rgb(244 196 48 / .54);
    background:linear-gradient(155deg,rgb(111 83 8 / .38),rgb(39 31 9 / .3));
}

.ofm-competition-hub__battle-billboard-scores dt{
    overflow:hidden;
    color:#a7a49a;
    font-size:.52rem;
    font-weight:820;
    letter-spacing:.045em;
    line-height:1.1;
    text-overflow:ellipsis;
    text-transform:uppercase;
    white-space:nowrap;
}

.ofm-competition-hub__battle-billboard-scores dd{
    margin:0;
    color:#f6f2e4;
    font-size:.91rem;
    font-weight:860;
    font-variant-numeric:tabular-nums;
    line-height:1;
    white-space:nowrap;
}

.ofm-competition-hub__battle-billboard-scores div:nth-child(4) dd{color:#fff0a8}
.ofm-competition-hub__battle-billboard-scores small{color:#bdb69b;font-size:.6em;font-weight:760}

.ofm-competition-hub__public-standings-table{min-inline-size:900px}
.ofm-competition-hub__public-standings-score{
    color:#e5e1d2;
    font-size:.83rem;
    font-weight:760;
    font-variant-numeric:tabular-nums;
    text-align:center !important;
    white-space:nowrap;
}
.ofm-competition-hub__public-standings-table thead th:nth-child(n+3){text-align:center}
.ofm-competition-hub__public-standings-rating{text-align:center !important}

@media(max-width:980px){
    .ofm-competition-hub__battle-billboard .ofm-competition-hub__battle-billboard-row.has-score-card{
        grid-template-columns:48px 78px minmax(0,1fr);
    }

    .ofm-competition-hub__battle-billboard-scores{
        grid-column:2 / -1;
        padding:10px 14px;
        border-block-start:1px solid rgb(255 255 255 / .1);
        border-inline-start:0;
    }
}

@media(max-width:600px){
    .ofm-competition-hub__public-standings-table{min-inline-size:790px}
}

@media(max-width:430px){
    .ofm-competition-hub__battle-billboard-scores{
        grid-column:1 / -1;
        gap:4px;
        padding:9px 8px;
    }

    .ofm-competition-hub__battle-billboard-scores div{
        min-block-size:52px;
        padding-inline:3px;
    }

    .ofm-competition-hub__battle-billboard-scores dt{font-size:.47rem}
    .ofm-competition-hub__battle-billboard-scores dd{font-size:.82rem}
}