/*
 * 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-body{
    display:grid;
    min-inline-size:0;
    align-content:center;
}

.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-body{
        display:contents;
    }

    .ofm-competition-hub__detail-body > :is(
        .ofm-competition-hub__detail-description,
        .ofm-competition-hub__detail-sponsor,
        .ofm-competition-hub__time
    ){
        grid-column:1 / -1;
    }

    .ofm-competition-hub__detail-description{
        margin-block-start:18px;
    }

    .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:44px;
    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-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;
    }
}

/* Keep the official beat on the same player contract as ordinary Song Station tracks. */
.ofm-competition-hub__official-beat{align-items:center}
.ofm-competition-hub__official-beat-actions{display:grid;gap:14px;min-inline-size:0}
.ofm-competition-hub__official-beat-player.ofm-station-track{display:block;width:100%;min-block-size:0;margin:0;padding:8px;border-color:rgb(255 255 255 / .13);border-radius:17px;background:rgb(0 0 0 / .2)}
/* The official-beat cover is the play target, matching the rest of the Station. */
.ofm-competition-hub__official-beat-player .ofm-station-track__trigger{grid-template-columns:52px minmax(0,1fr);min-block-size:56px;gap:10px;padding:4px;color:#fff;font:inherit}
.ofm-competition-hub__official-beat-artwork{position:relative;z-index:0;display:grid!important;grid-area:1 / 1;inline-size:52px;block-size:52px;place-items:center;overflow:hidden;border:1px solid rgb(255 255 255 / .13);border-radius:11px;background:radial-gradient(circle at 73% 23%,rgb(244 196 48 / .22),transparent 39%),linear-gradient(135deg,#24201a,#101114);color:#f4c430}
.ofm-competition-hub__official-beat-artwork img{display:block;inline-size:100%;block-size:100%;object-fit:cover}
.ofm-competition-hub__official-beat-artwork svg{inline-size:48%;block-size:48%;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.45}
.ofm-competition-hub__official-beat-player .ofm-station-track__play{inline-size:52px;block-size:52px;color:#fff;font-size:inherit;line-height:1}
.ofm-competition-hub__official-beat-player .ofm-station-track__details{display:grid;grid-area:1 / 2;align-content:center;align-items:start;gap:2px;min-inline-size:0}
.ofm-competition-hub__official-beat-player .ofm-competition-hub__official-beat-label{color:#f2ce57;font-size:.56rem;font-weight:850;letter-spacing:.11em;line-height:1.15;text-transform:uppercase}
.ofm-competition-hub__official-beat-player .ofm-station-track__title{overflow:hidden;max-inline-size:100%;color:#fff;font-size:.88rem;font-weight:840;line-height:1.2;text-overflow:ellipsis;white-space:nowrap}
.ofm-competition-hub__official-beat-player .ofm-competition-hub__official-beat-credit,.ofm-competition-hub__official-beat-player .ofm-competition-hub__official-beat-license{overflow:hidden;max-inline-size:100%;color:#aaa89f;font-size:.72rem;font-weight:650;line-height:1.35;text-overflow:ellipsis;white-space:nowrap}
.ofm-competition-hub__official-beat-player .ofm-competition-hub__official-beat-license{color:#c2b682;font-size:.67rem}
.ofm-competition-hub__official-beat-actions .ofm-competition-hub__official-beat-download,.ofm-competition-hub__official-beat-actions .ofm-competition-hub__official-beat-note{grid-column:auto;margin:0}
.ofm-competition-hub__official-beat-actions .ofm-competition-hub__official-beat-download button{margin:0}
/* Keep the official beat's two SVG states in a contained cover overlay. */
.ofm-competition-hub__official-beat-player .ofm-competition-hub__official-beat-control{position:relative!important;z-index:1;display:grid!important;grid-area:1 / 1;place-items:center!important;overflow:hidden!important;inline-size:52px!important;block-size:52px!important;min-inline-size:52px!important;min-block-size:52px!important;margin:0!important;padding:0!important;border-radius:11px!important;background:rgb(8 9 10 / .4)!important;color:#fff!important;line-height:0!important;box-shadow:none!important;animation:none!important}
.ofm-competition-hub__official-beat-player .ofm-competition-hub__official-beat-control svg{grid-area:1 / 1!important;position:static!important;display:block!important;inline-size:17px!important;block-size:17px!important;margin:0!important;padding:0!important;fill:currentColor!important;stroke:none!important;stroke-width:0!important;transform:none!important}
.ofm-competition-hub__official-beat-player .ofm-competition-hub__official-beat-control .icon-play{display:block!important}
.ofm-competition-hub__official-beat-player .ofm-competition-hub__official-beat-control .icon-pause{display:none!important;fill:none!important;stroke:currentColor!important;stroke-width:2.5!important;stroke-linecap:round!important}
.ofm-competition-hub__official-beat-player.ofm-station-track.is-playing .ofm-competition-hub__official-beat-control .icon-play{display:none!important}
.ofm-competition-hub__official-beat-player.ofm-station-track.is-playing .ofm-competition-hub__official-beat-control .icon-pause{display:block!important}
.ofm-competition-hub__official-beat-player .ofm-station-track__trigger:hover .ofm-competition-hub__official-beat-control,.ofm-competition-hub__official-beat-player .ofm-station-track__trigger:focus-visible .ofm-competition-hub__official-beat-control,.ofm-competition-hub__official-beat-player.ofm-station-track.is-playing .ofm-competition-hub__official-beat-control{background:rgb(8 9 10 / .58)!important;box-shadow:inset 0 0 0 1px rgb(244 196 48 / .55)!important}

@media(prefers-reduced-motion:no-preference){
    .ofm-competition-hub__official-beat-player.ofm-station-track.is-playing .ofm-competition-hub__official-beat-control{
        animation:ofm-competition-official-beat-pulse 1.8s ease-in-out infinite!important;
    }
}

@keyframes ofm-competition-official-beat-pulse{
    50%{transform:scale(1.035)}
}

@media(prefers-reduced-motion:reduce){
    .ofm-competition-hub__official-beat-player .ofm-competition-hub__official-beat-control{
        animation:none!important;
        transform:none!important;
    }
}

@media(max-width:460px){
    .ofm-competition-hub__official-beat-actions{gap:12px}
    .ofm-competition-hub__official-beat-player .ofm-station-track__trigger{grid-template-columns:46px minmax(0,1fr);gap:9px}
    .ofm-competition-hub__official-beat-artwork{inline-size:46px;block-size:46px;border-radius:10px}
    .ofm-competition-hub__official-beat-player .ofm-station-track__play,.ofm-competition-hub__official-beat-player .ofm-competition-hub__official-beat-control{inline-size:46px!important;block-size:46px!important;min-inline-size:46px!important;min-block-size:46px!important;border-radius:10px!important}
}

.ofm-competition-hub__standings-locked{display:grid;grid-template-columns:40px minmax(0,1fr);align-items:center;gap:12px;padding:14px 15px;border:1px solid rgb(244 196 48 / .28);border-radius:15px;background:linear-gradient(135deg,rgb(244 196 48 / .08),rgb(18 19 20 / .94) 48%);color:#dbd6c4}
.ofm-competition-hub__standings-locked-icon{position:relative!important;isolation:isolate;display:grid!important;flex:0 0 40px!important;inline-size:40px!important;block-size:40px!important;min-inline-size:40px!important;min-block-size:40px!important;place-items:center!important;overflow:hidden;border:1px solid rgb(244 196 48 / .48);border-radius:50%;background:rgb(244 196 48 / .1);color:#f4c430}
/* Parent-theme SVG rules must not pull this decorative lock out of its circle. */
.ofm-competition-hub__standings-locked-icon svg{position:static!important;inset:auto!important;display:block!important;flex:none!important;inline-size:19px!important;block-size:19px!important;margin:0!important;padding:0!important;fill:none!important;stroke:currentColor!important;stroke-linecap:round!important;stroke-linejoin:round!important;stroke-width:1.7!important;transform:none!important}
.ofm-competition-hub__standings-locked>div{display:grid;gap:3px;min-inline-size:0}
.ofm-competition-hub__standings-locked strong{color:#fff7d6;font-size:.84rem;line-height:1.2}
.ofm-competition-hub__standings-locked p{margin:0;color:#c6c0ac;font-size:.76rem;line-height:1.45}
/* 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-status-eyebrow{
    color:#aaa69b;
    font-size:.64rem;
    font-weight:820;
    letter-spacing:.1em;
    line-height:1.2;
    text-transform:uppercase;
}

.ofm-competition-hub__entry-status>strong{
    color:#faf7ed;
    font-size:.96rem;
}

.ofm-competition-hub__entry-status p{
    display:grid;
    gap:7px;
    margin:4px 0 0;
}

.ofm-competition-hub__entry-status p b{
    color:#fff0a6;
    font-size:.72rem;
    font-weight:820;
    line-height:1.25;
}

.ofm-competition-hub__entry-status p span{
    color:#c3c0b5;
    font-size:.78rem;
    line-height:1.48;
}

.ofm-competition-hub__entry-status.is-ready{
    border-color:rgb(102 211 151 / .43);
    background:linear-gradient(130deg,rgb(20 74 46 / .24),rgb(0 0 0 / .17));
}

.ofm-competition-hub__entry-status.is-ready p b{color:#bcf4cf}

.ofm-competition-hub__entry-status.is-action{
    border-color:rgb(244 196 48 / .58);
    background:linear-gradient(130deg,rgb(94 70 13 / .23),rgb(0 0 0 / .17));
}

.ofm-competition-hub__entry-status.is-closed{
    border-color:rgb(255 255 255 / .16);
    background:rgb(0 0 0 / .12);
}

.ofm-competition-hub__entry-status.is-closed p b{color:#c8c4b8}

.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-form-heading{
    grid-column:1 / -1;
    display:flex;
    align-items:start;
    justify-content:space-between;
    gap:10px;
    padding-block-end:1px;
}

.ofm-competition-hub__entry-form-heading>div{
    display:grid;
    gap:3px;
}

.ofm-competition-hub__entry-form-heading strong{
    color:#fff7dd;
    font-size:.84rem;
    line-height:1.25;
}

.ofm-competition-hub__entry-form-heading span{
    color:#aaa69b;
    font-size:.71rem;
    line-height:1.42;
}

.ofm-competition-hub__entry-form-heading a{
    flex:0 0 auto;
    color:#ffe18a;
    font-size:.7rem;
    font-weight:800;
    line-height:1.35;
    text-decoration:none;
}

.ofm-competition-hub__entry-form-heading a:hover,
.ofm-competition-hub__entry-form-heading a:focus-visible{
    color:#fff8d6;
    text-decoration:underline;
}

.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:44px;
    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;
    min-block-size:44px;
    margin-block:4px 0;
    padding-block:8px;
    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-consent-note{
    margin:4px 0 0 24px;
    color:#97958d;
    font-size:.65rem;
    font-weight:600;
    line-height:1.42;
}

.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);
}

.ofm-competition-hub__entry-form[aria-busy="true"] .ofm-competition-hub__entry-submit{
    cursor:wait;
    opacity:.82;
    transform:none;
}

.ofm-competition-hub__entry-submit-status{
    grid-column:1 / -1;
    margin:0;
    color:#d8d2b9;
    font-size:.72rem;
    font-weight:700;
    line-height:1.4;
}

@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 .ofm-release-row__cover.ofm-competition-hub__battle-billboard-artwork{
    inline-size:100%;
    block-size:100%;
    min-block-size:96px;
}

/* The battle chart deliberately keeps the standard Billboard player visible.
 * The full artwork remains the click target, while the inherited player
 * behavior still owns queueing, pause state, and the global bottom player. */
.ofm-competition-hub__battle-billboard-artwork .ofm-release-row__play{
    position:absolute!important;
    z-index:3!important;
    inset:0!important;
    display:grid!important;
    place-items:center!important;
    padding:0!important;
    border:0!important;
    border-radius:inherit!important;
    background:rgb(0 0 0 / .27)!important;
    color:#fff!important;
    opacity:1!important;
    visibility:visible!important;
}

.ofm-competition-hub__battle-billboard-artwork .ofm-release-row__play:hover,
.ofm-competition-hub__battle-billboard-artwork .ofm-release-row__play:focus-visible,
.ofm-competition-hub__battle-billboard-row.is-playing .ofm-release-row__play{
    background:rgb(0 0 0 / .5)!important;
    outline:0!important;
}

.ofm-competition-hub__battle-billboard-artwork .ofm-release-row__play svg{
    position:static!important;
    grid-area:1 / 1!important;
    display:block!important;
    inline-size:20px!important;
    block-size:20px!important;
    margin:0!important;
    fill:currentColor!important;
    stroke:none!important;
    stroke-width:0!important;
}

.ofm-competition-hub__battle-billboard-artwork .ofm-release-row__play .icon-pause{
    display:none!important;
    fill:none!important;
    stroke:currentColor!important;
    stroke-width:2.5!important;
    stroke-linecap:round!important;
}

.ofm-competition-hub__battle-billboard-row.is-playing .ofm-release-row__play .icon-play{
    display:none!important;
}

.ofm-competition-hub__battle-billboard-row.is-playing .ofm-release-row__play .icon-pause{
    display:block!important;
}


.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-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,
.ofm-competition-hub__battle-billboard .ofm-competition-hub__battle-billboard-row.has-private-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__battle-billboard-row.is-score-private .ofm-competition-hub__battle-billboard-rank{
    background:linear-gradient(160deg,rgb(42 42 42 / .76),rgb(24 24 24 / .62));
    color:#bbb8ae;
}

.ofm-competition-hub__battle-billboard-scores--private{
    background:linear-gradient(120deg,rgb(255 255 255 / .025),rgb(255 255 255 / .008));
}

.ofm-competition-hub__battle-billboard-scores--private div:nth-child(4){
    border-color:rgb(255 255 255 / .105);
    background:rgb(5 6 6 / .22);
}

.ofm-competition-hub__private-score{
    display:inline-block;
    min-inline-size:1.55em;
    color:#aaa79d;
    filter:blur(3px);
    letter-spacing:.08em;
    opacity:.8;
    user-select:none;
}

.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,
    .ofm-competition-hub__battle-billboard .ofm-competition-hub__battle-billboard-row.has-private-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}
}

/* Public competition lifecycle and official bracket presentation. */
.ofm-competition-hub__campaign-status.is-closed{
    border-color:rgb(216 153 75 / .62);
    background:rgb(83 47 15 / .78);
    color:#ffd29b;
}

.ofm-competition-hub__campaign-status.is-phase-qualification{
    border-color:rgb(115 181 235 / .63);
    background:rgb(20 54 83 / .79);
    color:#c0e6ff;
}

.ofm-competition-hub__lifecycle{
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(220px,.4fr);
    align-items:stretch;
    gap:20px;
    margin-block:clamp(28px,4vw,48px) 0;
    padding:clamp(20px,3vw,30px);
    border:1px solid rgb(244 196 48 / .36);
    border-radius:20px;
    background:
        radial-gradient(circle at 89% 8%,rgb(244 196 48 / .12),transparent 33%),
        linear-gradient(135deg,rgb(45 39 16 / .72),rgb(20 21 18 / .92));
}

.ofm-competition-hub__lifecycle.is-phase-qualification{
    border-color:rgb(104 185 244 / .36);
    background:
        radial-gradient(circle at 89% 8%,rgb(79 173 238 / .12),transparent 33%),
        linear-gradient(135deg,rgb(17 40 54 / .7),rgb(18 20 20 / .93));
}

.ofm-competition-hub__lifecycle.is-phase-results{
    border-color:rgb(153 126 237 / .42);
    background:
        radial-gradient(circle at 89% 8%,rgb(153 126 237 / .16),transparent 33%),
        linear-gradient(135deg,rgb(44 34 76 / .7),rgb(20 20 23 / .93));
}

.ofm-competition-hub__lifecycle h2,
.ofm-competition-hub__champion h2{
    margin:0;
    color:#fff;
    font-size:clamp(1.32rem,2vw,1.8rem);
    letter-spacing:-.035em;
    line-height:1.08;
}

.ofm-competition-hub__lifecycle>div>p:last-child{
    max-inline-size:700px;
    margin:9px 0 0;
    color:#d0ccc0;
    font-size:.91rem;
    line-height:1.55;
}

.ofm-competition-hub__lifecycle-round{
    display:grid;
    min-inline-size:0;
    padding:16px;
    align-content:center;
    gap:5px;
    border:1px solid rgb(255 255 255 / .12);
    border-radius:14px;
    background:rgb(6 7 7 / .27);
}

.ofm-competition-hub__lifecycle-round>span,
.ofm-competition-hub__lifecycle-round small{
    color:#bfb9a8;
    font-size:.62rem;
    font-weight:790;
    letter-spacing:.06em;
    line-height:1.2;
    text-transform:uppercase;
}

.ofm-competition-hub__lifecycle-round strong{
    overflow-wrap:anywhere;
    color:#fff0ad;
    font-size:.94rem;
    line-height:1.25;
}

.ofm-competition-hub__lifecycle-round .ofm-competition-hub__time{
    margin:4px 0 0;
    color:#d5c990;
}

.ofm-competition-hub__champion{
    display:grid;
    grid-template-columns:72px minmax(0,1fr);
    align-items:center;
    gap:18px;
    margin-block:20px 0;
    padding:22px 24px;
    border:1px solid rgb(244 196 48 / .62);
    border-radius:18px;
    background:
        radial-gradient(circle at 8% 50%,rgb(244 196 48 / .24),transparent 42%),
        linear-gradient(125deg,rgb(74 56 10 / .68),rgb(28 25 16 / .94));
    box-shadow:0 14px 34px rgb(0 0 0 / .19);
}

.ofm-competition-hub__champion-icon{
    display:grid;
    inline-size:72px;
    block-size:72px;
    place-items:center;
    border:1px solid rgb(255 227 125 / .75);
    border-radius:50%;
    background:linear-gradient(145deg,#ffdc59,#b98309);
    box-shadow:0 0 0 7px rgb(244 196 48 / .08);
    color:#332203;
}

.ofm-competition-hub__champion-icon svg{
    inline-size:35px;
    block-size:35px;
    fill:currentColor;
}

.ofm-competition-hub__champion .ofm-eyebrow{margin-block-end:6px}
.ofm-competition-hub__champion-performance{margin:5px 0 0;color:#e7dfbd;font-size:.89rem;font-weight:700}
.ofm-competition-hub__champion-result{display:inline-flex;margin-block-start:11px;padding:5px 8px;border:1px solid rgb(255 237 175 / .29);border-radius:999px;background:rgb(0 0 0 / .18);color:#ffefaa;font-size:.68rem;font-weight:820}
.ofm-competition-hub__champion-summary{margin:8px 0 0;color:#d3cdb9;font-size:.78rem;line-height:1.45}

.ofm-competition-hub__bracket-scroll{
    overflow-x:auto;
    padding:2px 2px 12px;
    scrollbar-color:rgb(244 196 48 / .58) rgb(255 255 255 / .06);
}

.ofm-competition-hub__bracket-scroll:focus-visible{
    outline:2px solid #f4c430;
    outline-offset:4px;
}

.ofm-competition-hub__bracket-grid{
    display:grid;
    grid-auto-flow:column;
    grid-auto-columns:minmax(250px,1fr);
    align-items:start;
    min-inline-size:max-content;
    gap:14px;
}

.ofm-competition-hub__bracket-stage{
    display:grid;
    min-inline-size:250px;
    max-inline-size:330px;
    gap:12px;
    padding:14px;
    border:1px solid rgb(255 255 255 / .12);
    border-radius:16px;
    background:linear-gradient(145deg,rgb(29 30 30 / .94),rgb(18 19 20 / .97));
}

.ofm-competition-hub__bracket-stage-header{
    display:flex;
    min-block-size:43px;
    align-items:flex-start;
    justify-content:space-between;
    gap:12px;
}

.ofm-competition-hub__bracket-stage-header>div{display:grid;gap:4px;min-inline-size:0}
.ofm-competition-hub__bracket-stage-header h3{margin:0;overflow-wrap:anywhere;color:#fff;font-size:.91rem;line-height:1.2}
.ofm-competition-hub__bracket-stage-header span{color:#d5bf61;font-size:.62rem;font-weight:790;letter-spacing:.045em;line-height:1.2;text-transform:uppercase}
.ofm-competition-hub__bracket-stage-header .ofm-competition-hub__time{margin:0;color:#bdb8a8;font-size:.62rem;text-align:end}
.ofm-competition-hub__bracket-stage-header .ofm-competition-hub__time span{display:block;color:#928d7e;font-size:.56rem}
.ofm-competition-hub__bracket-match-list{display:grid;margin:0;padding:0;gap:11px;list-style:none}
.ofm-competition-hub__bracket-match{overflow:hidden;border:1px solid rgb(255 255 255 / .11);border-radius:11px;background:#141517}
.ofm-competition-hub__bracket-contestants{margin:0;padding:0;list-style:none}
.ofm-competition-hub__bracket-contestants li{display:flex;min-block-size:53px;padding:9px 10px;align-items:center;justify-content:space-between;gap:10px;color:#c7c4ba}
.ofm-competition-hub__bracket-contestants li+li{border-block-start:1px solid rgb(255 255 255 / .08)}
.ofm-competition-hub__bracket-contestants li>span{display:grid;min-inline-size:0;gap:3px}
.ofm-competition-hub__bracket-contestants strong{overflow:hidden;color:inherit;font-size:.78rem;line-height:1.2;text-overflow:ellipsis;white-space:nowrap}
.ofm-competition-hub__bracket-contestants small{overflow:hidden;color:#97958e;font-size:.64rem;font-weight:650;line-height:1.2;text-overflow:ellipsis;white-space:nowrap}
.ofm-competition-hub__bracket-contestants b{flex:0 0 auto;color:#fff0a3;font-size:.62rem;font-weight:840;text-transform:uppercase}
.ofm-competition-hub__bracket-contestants .is-winner{background:rgb(244 196 48 / .1);color:#fff2b4}
.ofm-competition-hub__bracket-contestants .is-winner small{color:#eadb9e}
.ofm-competition-hub__bracket-result{display:grid;padding:9px 10px;gap:4px;border-block-start:1px solid rgb(244 196 48 / .2);background:rgb(244 196 48 / .055);color:#dfd3a8;font-size:.68rem;line-height:1.36}
.ofm-competition-hub__bracket-result strong{color:#fff0ad;font-size:.72rem}
.ofm-competition-hub__bracket-pending,.ofm-competition-hub__bracket-empty{margin:0;padding:10px;color:#a8a59b;font-size:.7rem;line-height:1.45}
.ofm-competition-hub__bracket-match>.ofm-competition-hub__time{margin:0;padding:0 10px 10px;color:#a09c90;font-size:.62rem}
.ofm-competition-hub__bracket-match>.ofm-competition-hub__time span{font-size:.56rem}

@media(max-width:680px){
    .ofm-competition-hub__lifecycle{grid-template-columns:1fr;gap:14px;padding:19px}
    .ofm-competition-hub__champion{grid-template-columns:56px minmax(0,1fr);gap:15px;padding:18px}
    .ofm-competition-hub__champion-icon{inline-size:56px;block-size:56px}
    .ofm-competition-hub__champion-icon svg{inline-size:29px;block-size:29px}
    .ofm-competition-hub__bracket-stage{min-inline-size:min(268px,76vw)}
}
/* Competition pages do not inherit the app-route screen-reader helper. */
.ofm-competition-hub .screen-reader-text{
    position:absolute!important;
    inline-size:1px!important;
    block-size:1px!important;
    margin:-1px!important;
    overflow:hidden!important;
    clip:rect(0,0,0,0)!important;
    clip-path:inset(50%)!important;
    white-space:nowrap!important;
}

/* Artist-owned Battle result card: outcome wording follows the explicit result-release boundary. */
.ofm-competition-hub__entry-result-card{
	display:grid;
	gap:6px;
	padding:14px;
	border:1px solid rgba(255,199,27,.32);
	border-radius:14px;
	background:linear-gradient(135deg,rgba(77,58,7,.12),rgba(0,0,0,.17));
}

.ofm-competition-hub__entry-result-card.is-released{
	border-color:rgba(102,211,151,.4);
	background:linear-gradient(135deg,rgba(20,74,46,.2),rgba(0,0,0,.17));
}

.ofm-competition-hub__entry-result-card-eyebrow{
	color:#d6c06b;
	font-size:.62rem;
	font-weight:820;
	letter-spacing:.09em;
	line-height:1.2;
	text-transform:uppercase;
}

.ofm-competition-hub__entry-result-card>strong{
	color:#fff;
	font-size:.93rem;
	line-height:1.3;
}

.ofm-competition-hub__entry-result-card>p{
	margin:1px 0 0;
	color:#c9c6bc;
	font-size:.78rem;
	line-height:1.48;
}

.ofm-competition-hub__entry-result-card-public{
	display:grid;
	gap:4px;
	margin-top:5px;
	padding:9px 10px;
	border:1px solid rgba(102,211,151,.2);
	border-radius:10px;
	background:rgba(0,0,0,.14);
}

.ofm-competition-hub__entry-result-card-public span{
	color:#d8f8e3;
	font-size:.75rem;
	font-weight:780;
	line-height:1.35;
}

.ofm-competition-hub__entry-result-card-public small{
	color:#b8b9ae;
	font-size:.7rem;
	line-height:1.4;
}

.ofm-competition-hub__entry-result-card-meta{
	display:flex;
	flex-wrap:wrap;
	align-items:center;
	justify-content:space-between;
	gap:8px;
	margin-top:7px;
}

.ofm-competition-hub__entry-result-card-meta>span{
	color:#aaa69b;
	font-size:.68rem;
	font-weight:710;
}

.ofm-competition-hub__entry-result-card-meta>span b{
	margin-left:3px;
	color:#f4efe0;
	font-weight:820;
}

.ofm-competition-hub__entry-result-card-meta a{
	display:inline-flex;
	align-items:center;
	gap:6px;
	min-height:38px;
	padding:7px 9px;
	border:1px solid rgba(102,211,151,.34);
	border-radius:999px;
	color:#c9f6d8;
	font-size:.7rem;
	font-weight:800;
	line-height:1.1;
	text-decoration:none;
}

.ofm-competition-hub__entry-result-card-meta a:hover{
	border-color:rgba(102,211,151,.68);
	background:rgba(102,211,151,.09);
	color:#effff4;
}

@media(max-width:560px){
	.ofm-competition-hub__entry-result-card-meta a{min-height:44px;}
}
