/* Use the bundled FundedXYZ brand fonts in guest and portal event views. */
@font-face {
    font-family: 'Inter';
    src: url('../fonts/Inter.ttf') format('truetype');
    font-style: normal;
    font-weight: 100 900;
    font-display: swap;
}

@font-face {
    font-family: 'Geist Mono';
    src: url('../fonts/GeistMono-SemiBold.ttf') format('truetype');
    font-style: normal;
    font-weight: 600;
    font-display: swap;
}

/* Arena presentation adapted from UIUX/pages/Competition.css. Data and entry actions remain server-owned. */
#fxyz-portal [data-fxyz="content"]:has(> .cup) {
    padding:0!important;
    background:#0b0e14
}

.cup-guest {
    margin:0;
    background:#0b0e14;
    color:#fff;
    font-family:Inter,Arial,sans-serif
}

.cup-public-header {
    height:64px;
    padding:0 28px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    background:#0b0b12;
    border-bottom:1px solid #ffffff12
}

.cup-public-header img {
    width:145px;
    max-height:42px;
    object-fit:contain
}

.cup-public-header a {
    color:#c9cfdb;
    text-decoration:none;
    font-size:13px
}

.cup {
    --cup-accent:#00f0ff;
    --cup-volt:#ccff00;
    --cup-muted:#8792a6;
    --cup-border:#94b2d21f;
    --cup-chrome:linear-gradient(180deg,#fff 0%,#c9fbff 40%,#00c6d6 55%,#e9fff6 75%,#7ad9e0 100%);
    width:100%;
    margin:0;
    background:#0b0e14;
    color:#fff;
    font-family:Inter,Arial,sans-serif;
    line-height:1.55;
    padding:0 0 30px;
    scroll-margin-top:74px
}

.cup * {
    box-sizing:border-box
}

.cup [hidden] {
    display:none!important
}

.cup a {
    color:inherit;
    text-decoration:none
}

.cup button,
.cup a {
    touch-action:manipulation
}

.cup button {
    font-family:inherit;
    cursor:pointer
}

.cup a:focus-visible,
.cup button:focus-visible {
    outline:3px solid var(--cup-volt);
    outline-offset:5px
}

.cup h1,
.cup h2,
.cup h3,
.cup p {
    margin:0
}

.cup p {
    max-width:none
}

.cup h2 {
    font-size:34px;
    font-weight:800;
    text-transform:uppercase;
    letter-spacing:-.01em;
    line-height:1.2
}

.cup h3 {
    font-size:18px
}

.cup-muted {
    color:var(--cup-muted);
    font-size:13px
}

.cup-center {
    text-align:center
}

.cup-eyebrow {
    display:block;
    color:var(--cup-accent);
    font-size:11px;
    font-weight:600;
    letter-spacing:.2em;
    text-transform:uppercase
}

.cup-notice {
    display:flex;
    align-items:center;
    justify-content:center;
    flex-wrap:wrap;
    gap:6px 18px;
    margin:0;
    padding:10px 20px;
    background:#282316;
    border-bottom:1px solid #79652c;
    color:#f2dc9d;
    font-size:12px
}

.cup-notice strong {
    font-weight:600
}

.cup-notice span {
    opacity:.85
}

.cup-hero {
    position:relative;
    isolation:isolate;
    overflow:hidden;
    border-bottom:1px solid #00f0ff38;
    background:radial-gradient(ellipse 60% 50% at 50% 18%,#00f0ff29,transparent 70%),radial-gradient(ellipse 50% 40% at 88% 92%,#9b5cff33,transparent 70%),radial-gradient(ellipse 40% 30% at 8% 92%,#ccff0014,transparent 70%),#0b0e14;
    text-align:center
}

.cup-hero::before {
    content:'';
    position:absolute;
    left:-50%;
    right:-50%;
    bottom:-8%;
    height:52%;
    background-image:linear-gradient(#00f0ff22 1px,transparent 1px),linear-gradient(90deg,#00f0ff22 1px,transparent 1px);
    background-size:48px 48px;
    transform:perspective(520px) rotateX(64deg);
    transform-origin:bottom;
    pointer-events:none;
    z-index:-1
}

.cup-hero-media {
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    object-fit:cover;
    pointer-events:none;
    z-index:-1
}

.cup-hero video {
    mix-blend-mode:screen;
    opacity:.85
}

.cup-hero-shade {
    position:absolute;
    inset:0;
    background:radial-gradient(ellipse 75% 65% at 50% 45%,transparent 40%,#000b 100%),linear-gradient(180deg,#0003,transparent 40%,#0b0e1444);
    z-index:-1;
    pointer-events:none
}

.cup-hero-content {
    display:flex;
    flex-direction:column;
    align-items:center;
    padding:64px 24px 52px;
    min-height:650px
}

.cup-badge {
    display:inline-flex;
    align-items:center;
    padding:7px 16px;
    border-radius:999px;
    background:#ffffff14;
    border:1px solid #ffffff14;
    color:#d8e5e8;
    font-size:12px;
    letter-spacing:.02em
}

.cup h1 {
    font-size:clamp(44px,7.5vw,110px);
    font-weight:900;
    line-height:1;
    letter-spacing:0;
    text-transform:uppercase;
    background:var(--cup-chrome);
    background-clip:text;
    -webkit-background-clip:text;
    color:transparent;
    filter:drop-shadow(0 0 22px #00f0ff59) drop-shadow(0 6px 24px #000e);
    margin:22px 0 0;
    overflow-wrap:anywhere;
    max-width:100%
}

.cup-season {
    margin-top:16px!important;
    font-size:14px;
    font-weight:600;
    letter-spacing:.5em;
    padding-left:.5em;
    color:var(--cup-volt);
    text-transform:uppercase;
    overflow-wrap:anywhere;
    max-width:100%
}

.cup-hero-description {
    margin-top:22px!important;
    font-size:16px;
    color:#c5d2d6;
    max-width:650px!important
}

.cup-featured-prize {
    margin-top:28px;
    max-width:760px
}

.cup-featured-prize>.cup-eyebrow {
    color:var(--cup-volt)
}

.cup-featured-prize>strong {
    display:block;
    margin:10px 0 4px;
    font:700 clamp(25px,4vw,48px)/1.25 'Geist Mono',Consolas,monospace;
    color:#99f8ff;
    text-shadow:0 0 24px #00f0ff44;
    overflow-wrap:anywhere
}

.cup-featured-prize>a {
    font-size:11px;
    color:var(--cup-accent);
    letter-spacing:.1em
}

.cup-stages {
    position:relative;
    list-style:none;
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    width:min(700px,100%);
    margin:32px 0 0;
    padding:0
}

.cup-stages li {
    position:relative;
    display:flex;
    flex-direction:column;
    align-items:center;
    gap:4px;
    padding:0 6px;
    min-width:0
}

.cup-stages li::before {
    content:'';
    position:absolute;
    top:10px;
    left:-50%;
    right:50%;
    height:2px;
    background:#94b2d233
}

.cup-stages li:first-child::before {
    display:none
}

.cup-stage-dot {
    position:relative;
    width:22px;
    height:22px;
    border-radius:50%;
    border:2px solid #00f0ff38;
    background:#0b0e14;
    margin-bottom:5px
}

.cup-stages .is-live .cup-stage-dot {
    background:var(--cup-volt);
    border-color:var(--cup-volt);
    box-shadow:0 0 0 5px #ccff0024,0 0 18px #ccff0099
}

.cup-stages .is-done .cup-stage-dot {
    background:var(--cup-accent);
    border-color:var(--cup-accent)
}

.cup-stages .is-done::before {
    background:var(--cup-accent)
}

.cup-stages strong {
    font-size:13px;
    font-weight:600;
    color:#e8eef7
}

.cup-stages small {
    font-size:11px;
    color:#9aabba
}

.cup-stage-state {
    font-size:10px;
    color:var(--cup-muted)
}

.is-live .cup-stage-state {
    color:var(--cup-volt)
}

.cup-countdown {
    margin-top:24px;
    padding:12px 24px;
    background:#00f0ff0d;
    border:1px solid #00f0ff38;
    clip-path:polygon(14px 0,calc(100% - 14px) 0,100% 14px,100% calc(100% - 14px),calc(100% - 14px) 100%,14px 100%,0 calc(100% - 14px),0 14px)
}

.cup-countdown>.cup-eyebrow {
    font-size:10px;
    color:#a6b8c3;
    letter-spacing:.2em
}

#cup-countdown {
    display:flex;
    align-items:baseline;
    justify-content:center;
    gap:9px;
    margin-top:4px;
    font-family:'Geist Mono',Consolas,monospace;
    font-variant-numeric:tabular-nums
}

#cup-countdown b {
    font-size:32px;
    color:#eaffff
}

#cup-countdown small {
    font-size:10px;
    color:var(--cup-accent);
    margin-left:3px
}

#cup-countdown i {
    font-style:normal;
    color:var(--cup-muted);
    font-size:22px
}

.cup-actions {
    display:flex;
    flex-wrap:wrap;
    justify-content:center;
    gap:12px;
    margin-top:28px
}

.cup .cup-button {
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:8px;
    min-height:46px;
    padding:12px 28px;
    border-radius:999px;
    border:0;
    background:linear-gradient(90deg,#00f0ff,#7dfbd0 50%,#ccff00);
    color:#0b1820;
    font-size:13px;
    font-weight:700;
    line-height:1.4;
    text-align:center
}

.cup .cup-button:hover {
    filter:brightness(1.12)
}

.cup .cup-button-secondary {
    background:linear-gradient(90deg,#cfcfcf,#fff 30%,#9c9c9c 60%,#e9e9e9);
    color:#111
}

.cup-button:disabled {
    opacity:.4;
    cursor:not-allowed
}

.cup-motion {
    position:absolute;
    right:16px;
    top:16px;
    padding:6px 10px;
    border:1px solid #ffffff30;
    border-radius:999px;
    background:#0b0e1480;
    color:#c6d3db;
    font-size:10px
}

.cup-section-nav {
    display:flex;
    justify-content:center;
    gap:4px;
    overflow:auto;
    background:#141414;
    border-top:1px solid var(--cup-border);
    border-bottom:1px solid var(--cup-border)
}

.cup-section-nav a {
    flex-shrink:0;
    padding:16px 20px;
    border-bottom:2px solid transparent;
    font-size:13px;
    color:#bfc7d4
}

.cup-section-nav a.is-active,
.cup-section-nav a:hover {
    color:var(--cup-accent);
    border-bottom-color:var(--cup-accent)
}

.cup-section {
    max-width:960px;
    width:100%;
    margin:0 auto;
    padding:72px 28px 8px;
    scroll-margin-top:90px
}

.cup-section-heading {
    text-align:center;
    margin-bottom:36px
}

.cup-section-heading p {
    margin:12px auto 0;
    max-width:560px;
    color:var(--cup-muted);
    font-size:14px
}

.cup-section-heading a {
    display:inline-block;
    margin-top:12px;
    color:var(--cup-accent);
    font-size:13px
}

.cup-section-heading .cup-eyebrow {
    margin-bottom:12px
}

.cup-prize-heading {
    text-align:center;
    margin:24px 0 10px!important;
    font-size:18px
}

.cup-prizes {
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    align-items:end;
    gap:16px;
    margin:54px auto 30px;
    max-width:760px
}

.cup-prize {
    position:relative;
    display:flex;
    flex-direction:column;
    align-items:center;
    text-align:center;
    min-height:180px;
    padding:40px 20px 24px;
    border:1px solid #c98a5a;
    background:linear-gradient(180deg,#c98a5a12,#10151f 70%);
    border-radius:16px;
    box-shadow:0 0 25px #c98a5a0d;
    overflow-wrap:anywhere;
    min-width:0
}

.cup-prize-first {
    min-height:205px;
    border-color:#e9c46a;
    box-shadow:0 0 35px #e9c46a16;
    background:linear-gradient(180deg,#00f0ff15,#10151f 70%)
}

.cup-prize-second {
    border-color:#cfd6e2;
    background:linear-gradient(180deg,#cfd6e215,#10151f 70%)
}

.cup-prize-medal {
    position:absolute;
    top:-24px;
    display:grid;
    place-items:center;
    min-width:48px;
    height:48px;
    padding:0 8px;
    border:2px solid #ba956c;
    border-radius:12px;
    background:linear-gradient(145deg,#30353e,#12151e);
    color:#d2ad86;
    font:700 13px 'Geist Mono',Consolas,monospace;
    box-shadow:0 0 15px #d2ad8626
}

.cup-prize-first .cup-prize-medal {
    color:#f2dc9e;
    border-color:#f2dc9e;
    font-size:30px
}

.cup-prize-second .cup-prize-medal {
    color:#d9e8ef;
    border-color:#d9e8ef
}

.cup-prize-rank {
    font-size:12px;
    color:var(--cup-muted);
    margin-bottom:12px
}

.cup-prize>strong {
    font-size:21px;
    line-height:1.35;
    font-weight:700
}

.cup-prize-first>strong {
    color:var(--cup-accent)
}

.cup-prize>small {
    color:var(--cup-muted);
    font-size:11px;
    margin-top:12px
}

.cup-passes {
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:18px;
    max-width:760px;
    margin:40px auto 0
}

.cup-passes-one {
    grid-template-columns:minmax(0,420px);
    justify-content:center
}

.cup-pass {
    position:relative;
    display:flex;
    flex-direction:column;
    align-items:center;
    padding:36px 28px 28px;
    text-align:center;
    background:radial-gradient(ellipse at 50% 0%,#ffffff0c,transparent 60%),#07090c;
    border:1px solid var(--cup-border);
    border-radius:20px
}

.cup-pass-x {
    border-color:#00f0ff55;
    background:linear-gradient(180deg,#101b27,#07090c);
    box-shadow:0 10px 44px #00f0ff12
}

.cup-pass h3 {
    font-size:13px;
    letter-spacing:.14em;
    text-transform:uppercase;
    font-weight:600;
    color:#d6dce4
}

.cup-pass-mult {
    display:block;
    font:800 80px/1.1 'Geist Mono',Consolas,monospace;
    background:var(--cup-chrome);
    background-clip:text;
    color:transparent;
    margin:16px 0 6px
}

.cup-pass .cup-eyebrow {
    font-size:10px;
    color:var(--cup-muted);
    letter-spacing:.1em
}

.cup-pass ul {
    list-style:none;
    margin:26px 0 0;
    padding:22px 0 0;
    border-top:1px solid var(--cup-border);
    display:flex;
    flex-direction:column;
    gap:14px;
    font-size:13px;
    color:#bfc9d7;
    width:100%;
    flex:1
}

.cup-pass-flag {
    position:absolute;
    top:-12px;
    padding:4px 14px;
    border-radius:999px;
    font-size:10px;
    font-weight:800;
    background:linear-gradient(90deg,#00f0ff,#ccff00);
    color:#0b0e14
}

.cup-pass-price {
    margin:28px 0 18px;
    font-size:20px
}

.cup-pass .cup-button {
    width:100%
}

.cup-rule {
    max-width:650px!important;
    margin:24px auto 0!important;
    text-align:center;
    font-size:12px;
    color:var(--cup-muted)
}

.cup-entry {
    max-width:904px;
    width:calc(100% - 56px);
    margin:64px auto 0;
    padding:30px;
    background:linear-gradient(120deg,#00f0ff0a,#10151f);
    border:1px solid #00f0ff38;
    border-radius:20px
}

.cup-entry>.cup-eyebrow {
    margin-bottom:14px
}

.cup-entry h2 {
    font-size:26px;
    text-transform:none;
    margin-bottom:14px
}

.cup-entry p {
    color:#a8b6c8;
    font-size:14px
}

.cup-entry-meta {
    display:flex;
    gap:12px;
    flex-wrap:wrap;
    margin:20px 0
}

.cup-entry-meta span {
    font-size:12px;
    padding:6px 12px;
    border-radius:8px;
    background:#ffffff09;
    border:1px solid var(--cup-border)
}

.cup-result {
    display:flex;
    flex-wrap:wrap;
    gap:40px;
    margin:25px 0
}

.cup-result span {
    display:block;
    font-size:12px;
    color:var(--cup-muted)
}

.cup-result strong {
    font-size:34px;
    color:var(--cup-accent)
}

.cup-entry .cup-award {
    font-size:22px;
    color:#fff
}

#cup-stats {
    position:relative;
    overflow:hidden;
    max-width:960px;
    width:calc(100% - 40px);
    margin:72px auto 0;
    padding:44px 20px;
    border-radius:28px;
    border:1px solid var(--cup-border);
    text-align:center;
    background:radial-gradient(ellipse 80% 70% at 30% 60%,#ffffff1a,transparent 70%),#0a0a0a
}

#cup-stats::before {
    content:'';
    position:absolute;
    inset:0;
    pointer-events:none;
    opacity:.5;
    background-image:radial-gradient(1px 1px at 12% 18%,#fff 50%,transparent 51%),radial-gradient(1px 1px at 28% 62%,#fff 50%,transparent 51%),radial-gradient(1px 1px at 78% 22%,#fff 50%,transparent 51%),radial-gradient(1px 1px at 94% 8%,#fff 50%,transparent 51%);
    background-size:420px 420px
}

.cup-stat-values {
    position:relative;
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:20px
}

.cup-stat-values:has(> :only-child) {
    grid-template-columns:1fr
}

:is(.cup,#fxyz-portal .cup) #cup-stats strong {
    display:block;
    font:600 34px/1.3 'Inter',sans-serif;
    font-variant-numeric:tabular-nums;
    color:#fff
}

#cup-stats .cup-stat-values span {
    display:block;
    margin-top:4px;
    font-size:14px;
    color:#bdbdbd
}

#cup-stats .cup-stat-note {
    position:relative;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:8px;
    margin:28px 0 0;
    padding-top:22px;
    border-top:1px solid var(--cup-border);
    font-size:14px;
    line-height:1.5;
    color:var(--cup-accent)
}

#cup-stats .cup-stat-note[hidden] {
    display:none
}

.cup-stat-note svg {
    flex-shrink:0
}

@media(max-width:540px) {
    #cup-stats {
        width:calc(100% - 32px);
        margin-top:56px;
        padding:32px 14px
    }

    #cup-stats .cup-stat-values {
        grid-template-columns:1fr;
        gap:22px
    }

    :is(.cup,#fxyz-portal .cup) #cup-stats strong {
        font-size:30px
    }

}

.cup-schedule {
    display:flex;
    flex-direction:column;
    gap:14px;
    max-width:760px;
    margin:0 auto
}

.cup-schedule article {
    display:flex;
    gap:22px;
    align-items:center
}

.cup-schedule-date {
    width:58px;
    flex-shrink:0;
    text-align:center
}

.cup-schedule-date span {
    display:block;
    font-size:11px;
    text-transform:uppercase;
    color:var(--cup-muted)
}

.cup-schedule-date strong {
    display:block;
    font:600 30px/1.2 'Geist Mono',Consolas,monospace
}

.cup-schedule-event {
    flex:1;
    padding:20px 24px;
    border:1px solid #00f0ff38;
    border-radius:12px;
    min-width:0
}

.cup-schedule h3 {
    font-size:15px;
    font-weight:600
}

.cup-schedule p {
    margin-top:8px;
    color:var(--cup-accent);
    font-size:12px
}

.cup-schedule small {
    display:block;
    margin-top:6px;
    font-size:11px;
    color:var(--cup-muted)
}

.cup-final-action {
    margin:36px 0
}

.cup-table-wrap {
    overflow-x:auto;
    border:1px solid var(--cup-border);
    border-radius:12px
}

.cup-table {
    border-collapse:collapse;
    width:100%;
    font-size:13px;
    background:#10151f;
    text-align:left
}

.cup-table th {
    padding:15px 18px;
    color:var(--cup-muted);
    font-size:11px;
    text-transform:uppercase;
    font-weight:550;
    background:#131c28
}

.cup-table td {
    padding:16px 18px;
    border-top:1px solid var(--cup-border);
    overflow-wrap:anywhere;
    max-width:260px
}

.cup-table td:first-child {
    color:var(--cup-accent);
    font-weight:700
}

.cup-table .cup-row-me {
    background:#00f0ff0e
}

.cup-footer {
    max-width:904px;
    margin:30px auto 0;
    padding:24px;
    text-align:center;
    border-top:1px solid var(--cup-border);
    color:var(--cup-muted);
    font-size:10px;
    letter-spacing:.1em
}

#cup-board-status {
    font-size:12px;
    color:var(--cup-muted);
    margin-bottom:14px
}

#cup-action-message {
    margin-top:16px;
    font-size:13px;
    color:#e9daab
}

.cup-empty {
    text-align:center;
    min-height:65vh;
    padding:80px 24px
}

.cup-empty h1 {
    font-size:42px
}

.cup-empty p {
    margin:24px auto;
    max-width:560px;
    color:var(--cup-muted)
}

@media(min-width:701px) {
    .cup-prizes:has(> :nth-child(3)):not(:has(> :nth-child(4))) .cup-prize-first {
        grid-column:2;
        grid-row:1
    }

    .cup-prizes:has(> :nth-child(3)):not(:has(> :nth-child(4))) .cup-prize-second {
        grid-column:1;
        grid-row:1
    }

}

@media(max-width:760px) {
    .cup-hero-content {
        padding:52px 18px 40px;
        min-height:600px
    }

    .cup h1 {
        font-size:clamp(40px,10vw,72px)
    }

    .cup-season {
        font-size:11px;
        letter-spacing:.35em
    }

    .cup-hero-description {
        font-size:14px
    }

    .cup-featured-prize>strong {
        font-size:30px
    }

    .cup-section {
        padding:52px 18px 8px
    }

    .cup h2 {
        font-size:26px
    }

    .cup-section-heading p {
        font-size:13px
    }

    .cup-section-nav {
        justify-content:flex-start
    }

    .cup-section-nav a {
        padding:14px 18px;
        font-size:12px
    }

    .cup-prizes {
        gap:10px
    }

    .cup-prize {
        padding:36px 12px 20px
    }

    .cup-prize>strong {
        font-size:16px
    }

    .cup-passes {
        gap:16px
    }

    .cup-pass {
        padding:30px 18px 24px
    }

    .cup-pass-mult {
        font-size:64px
    }

    .cup-entry {
        width:calc(100% - 36px);
        padding:24px
    }

    .cup-stat-band {
        width:calc(100% - 36px);
        padding:28px 16px;
        gap:14px
    }

    .cup-stat-band strong {
        font-size:20px
    }

    .cup-stat-band span {
        font-size:11px
    }

    .cup-schedule article {
        gap:14px
    }

    .cup-schedule-event {
        padding:16px
    }

    .cup-schedule-date {
        width:42px
    }

    .cup-footer {
        margin:24px 18px
    }

    .cup-motion {
        top:10px;
        right:10px;
        font-size:9px
    }

    .cup-notice {
        font-size:11px
    }

}

@media(max-width:540px) {
    .cup-passes {
        grid-template-columns:1fr;
        gap:30px
    }

    .cup-prizes {
        grid-template-columns:1fr;
        margin-top:48px;
        gap:40px
    }

    .cup-prize,
.cup-prize-first {
        min-height:160px
    }

    .cup-prize>strong {
        font-size:23px
    }

    .cup-stages strong {
        font-size:11px
    }

    .cup-stages small {
        font-size:10px
    }

    .cup-stage-state {
        font-size:9px
    }

    .cup-countdown {
        padding:12px 16px
    }

    #cup-countdown {
        gap:5px
    }

    #cup-countdown b {
        font-size:26px
    }

    .cup .cup-button {
        padding:12px 22px;
        font-size:12px
    }

    .cup-stat-band {
        grid-template-columns:1fr;
        gap:24px
    }

    .cup-stat-band strong {
        font-size:26px
    }

    .cup-public-header {
        padding:0 18px
    }

    .cup-public-header img {
        width:126px
    }

    .cup-hero-description {
        max-width:320px!important
    }

}

@media(prefers-reduced-motion:reduce) {
    .cup-hero video {
        display:none
    }

}

.cup-prizes:has(> :only-child) {
    grid-template-columns:minmax(0,420px);
    justify-content:center
}

.cup-prizes:has(> :nth-child(2)):not(:has(> :nth-child(3))) {
    grid-template-columns:repeat(2,minmax(0,1fr))
}

@media(max-width:540px) {
    .cup-prizes:has(> :nth-child(2)):not(:has(> :nth-child(3))) {
        grid-template-columns:1fr
    }

}

/* Preserve numeric typography against the portal's element-level font rules. */
:is(.cup, #fxyz-portal .cup) :is(#cup-countdown, #cup-countdown span, #cup-countdown b, #cup-countdown small, #cup-countdown i, .cup-featured-prize > strong, .cup-prize-medal, .cup-prize-rank, .cup-pass-mult, .cup-pass-price, .cup-result strong, .cup-schedule-date strong, .cup-odometer-tile b, .cup-odometer-separator) {
    font-family: 'Geist Mono', Consolas, monospace;
    font-variant-numeric: tabular-nums;
}

@media(max-width:900px) {
    #fxyz-portal [data-fxyz="content"]:has(> .cup) {
        padding-bottom:calc(70px + env(safe-area-inset-bottom))!important
    }

}

/* UIUX Arena odometer: fixed traditional prize totals,
not participant-dependent pools. */
.cup-prize-total {
    margin:16px 0 14px;
    max-width:100%
}

.cup-odometer {
    display:flex;
    align-items:flex-end;
    justify-content:center;
    gap:6px;
    flex-wrap:wrap
}

.cup-odometer-tile {
    position:relative;
    display:grid;
    place-items:center;
    width:clamp(34px,5.5vw,78px);
    height:clamp(52px,7.4vw,104px);
    overflow:hidden;
    border-radius:8px;
    border:1px solid #00f0ff59;
    background:linear-gradient(180deg,#202b2e 0%,#131b1c 49%,#070c0d 51%,#141d1f 100%);
    box-shadow:inset 0 1px 0 #ffffff24,0 0 26px #00f0ff2e,0 12px 24px #0009
}

.cup-odometer-tile::after {
    content:'';
    position:absolute;
    left:0;
    right:0;
    top:50%;
    height:1px;
    background:#000e
}

.cup-odometer-tile b {
    font:700 clamp(28px,4.5vw,64px)/1 'Geist Mono',Consolas,monospace;
    background:linear-gradient(180deg,#f2ffff,#7ff8ff 40%,#00c6d6 62%,#7dfbd0);
    background-clip:text;
    -webkit-background-clip:text;
    color:transparent
}

.cup-odometer-separator {
    font:700 clamp(26px,4vw,54px)/1 'Geist Mono',Consolas,monospace;
    color:var(--cup-accent);
    padding-bottom:4px
}

.cup-total-unit {
    display:block;
    margin-top:16px;
    font-size:13px;
    font-weight:600;
    letter-spacing:.22em;
    text-transform:uppercase;
    color:var(--cup-accent)
}

.cup-total-note {
    font-size:11px!important;
    color:#a4b6c2;
    margin:8px 0!important
}

.cup-featured-prize>a {
    display:inline-block;
    margin-top:8px
}

@media(max-width:540px) {
    .cup-odometer {
        gap:4px
    }

    .cup-odometer-tile {
        width:32px;
        height:48px
    }

    .cup-odometer-tile b {
        font-size:30px
    }

    .cup-odometer-separator {
        font-size:26px
    }

    .cup-total-unit {
        font-size:10px;
        letter-spacing:.16em
    }

}

.cup-pool {
    max-width:880px;
    margin:0 auto 54px;
}

.cup-pool .cup-section-heading p {
    max-width:620px;
    margin:12px auto 0;
}

.cup-pool .cup-section-heading strong {
    color:#00e5ed;
}

.cup-pool-summary {
    display:grid;
    grid-template-columns:1fr 180px 1fr;
    align-items:center;
    justify-items:center;
    max-width:620px;
    margin:35px auto 10px;
    text-align:center;
}

.cup-pool-summary strong {
    display:block;
    font-size:clamp(24px,3vw,38px);
    color:#f2f7fa;
}

.cup-pool-summary span {
    display:block;
    margin-top:8px;
    color:#899bb0;
    font-size:14px;
}

.cup-pool-trophy {
    width:180px;
    height:205px;
    filter:drop-shadow(0 8px 20px #00d9e022);
}

.cup .cup-pool-next {
    display:flex;
    align-items:center;
    justify-content:center;
    gap:6px;
    color:var(--cup-muted);
    text-align:center;
    margin:20px 0 0;
    font-size:14px;
}

.cup-pool-next b,
.cup-pool-next-icon {
    color:var(--cup-accent)
}

.cup-pool-next svg {
    width:14px;
    height:14px;
    flex-shrink:0;
    fill:none;
    stroke:var(--cup-accent);
    stroke-width:1.5
}

.cup-pool-next-icon {
    font-size:18px;
    line-height:1
}

.cup-pool-steps {
    display:grid;
    grid-template-columns:auto minmax(0,1fr);
    gap:18px;
    align-items:center;
    margin:30px auto 0
}

.cup-track-legend {
    display:flex;
    flex-direction:column;
    justify-content:space-between;
    gap:22px;
    font-size:13px;
    color:var(--cup-muted)
}

.cup-track-scroll {
    overflow-x:auto;
    scrollbar-width:none;
    padding:10px 0;
    position:relative
}

.cup-track-scroll::-webkit-scrollbar {
    display:none
}

.cup-track-scroll:focus-visible {
    outline:2px solid var(--cup-accent);
    outline-offset:2px
}

.cup-track-inner {
    min-width:calc(var(--n)*78px)
}

.cup-track-row {
    display:grid;
    grid-template-columns:repeat(var(--n),minmax(0,1fr));
    text-align:center;
    font-size:13.5px;
    font-weight:600;
    color:#5d6574;
    font-variant-numeric:tabular-nums
}

.cup-track-row .is-hit {
    color:#fff
}

.cup-track-row-pool .is-hit {
    color:var(--cup-accent)
}

.cup-track-bar {
    position:relative;
    height:8px;
    margin:12px calc(50%/var(--n));
    border-radius:3px;
    background:#ffffff1a
}

.cup-track-fill {
    position:absolute;
    inset:0 auto 0 0;
    border-radius:3px;
    background:linear-gradient(90deg,#0795a5,#00e5ed);
    box-shadow:0 0 10px #00e5edb3,0 0 22px #00e5ed66
}

.cup-track-bar i {
    position:absolute;
    top:50%;
    width:11px;
    height:11px;
    border:2px solid #45484f;
    border-radius:50%;
    background:#171c22;
    transform:translate(-50%,-50%)
}

.cup-track-bar i.is-hit {
    border-color:#00e5ed;
    background:#00e5ed;
    box-shadow:0 0 12px #00e5ed99
}

.cup-track-head {
    position:absolute;
    top:50%;
    width:15px;
    height:15px;
    border-radius:50%;
    background:#fff;
    transform:translate(-50%,-50%);
    box-shadow:0 0 10px #fff,0 0 22px #00f0ffcc
}

.cup .cup-pool-tier-lead {
    max-width:560px;
    margin:26px auto 14px;
    text-align:center;
    font-size:14px;
    color:var(--cup-muted)
}

.cup-pool-tiers {
    max-width:560px;
    margin:0 auto 18px;
    display:grid;
    gap:8px;
}

.cup-pool-tier {
    display:grid;
    grid-template-columns:76px minmax(0,1fr);
    align-items:center;
    gap:14px;
    padding:14px 16px;
    border:1px solid #94b2d21f;
    background:#10151f;
    border-radius:14px;
}

.cup-pool-tier:first-child {
    border-color:#0aa6b8;
    background:linear-gradient(90deg,#00f0ff1f,#10151f 70%);
}

.cup-pool-tier>span {
    font:600 17px 'Geist Mono',Consolas,monospace;
    color:var(--cup-accent);
    white-space:nowrap;
}

.cup-pool-tier strong {
    display:block;
    font-size:15px;
    color:#fff;
}

.cup-pool-tier small {
    display:block;
    font-size:12.5px;
    color:var(--cup-accent);
    margin-top:2px;
}

.cup-pool-tier.is-unlocked-later strong {
    color:var(--cup-muted);
}

.cup .cup-pool-highlight {
    color:var(--cup-accent);
    font-weight:800;
}

.cup-pool-ranks {
    max-width:760px;
    margin:64px auto 44px;
}

.cup .cup-pool-ranks h3 {
    text-align:center;
    font-size:22px;
    font-weight:600;
    margin:0 0 28px;
}

.cup-pool-podium {
    display:grid;
    grid-template-columns:1fr 1.15fr 1fr;
    gap:14px;
    align-items:end;
    padding-top:66px;
}

.cup-pool-podium-card {
    position:relative;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:flex-end;
    gap:12px;
    min-width:0;
    min-height:136px;
    padding:42px 14px 24px;
    text-align:center;
    border:1px solid #cfd6e2;
    border-radius:18px;
    background:radial-gradient(ellipse at 50% 0,#dce3ee3d,transparent 75%),linear-gradient(180deg,#cfd6e215,#10151b 85%);
    box-shadow:0 0 40px #cfd6e21c;
}

.cup-pool-podium-card-1 {
    min-height:166px;
    padding-top:64px;
    border-color:#e9c46a;
    background:radial-gradient(ellipse at 50% 0,#e9c46a52,transparent 75%),linear-gradient(180deg,#e9c46a15,#10151b 85%);
    box-shadow:0 0 0 1px #e9c46a40,0 0 50px #e9c46a26;
}

.cup-pool-podium-card-3 {
    border-color:#c98a5a;
    background:radial-gradient(ellipse at 50% 0,#c98a5a40,transparent 75%),linear-gradient(180deg,#c98a5a15,#10151b 85%);
    box-shadow:0 0 40px #c98a5a20;
}

.cup .cup-pool-podium-card strong {
    font-family:'Geist Mono',Consolas,monospace;
    font-size:26px;
    font-weight:600;
    color:#f7fbff;
    letter-spacing:.06em;
}

.cup .cup-pool-podium-card-1 strong {
    font-size:32px;
    color:var(--cup-accent);
}

.cup-pool-podium-card>span {
    color:var(--cup-muted);
    font-size:13px;
}

.cup-pool-winner-trophy {
    position:absolute;
    width:104px;
    height:104px;
    top:-62px;
    object-fit:contain;
    filter:drop-shadow(0 8px 12px #0009) drop-shadow(0 0 15px #00f0ff22);
}

.cup-pool-rank-medal {
    position:absolute;
    width:56px;
    height:60px;
    top:-32px;
    color:#cfd6e2;
    filter:drop-shadow(0 6px 10px #0009);
}

.cup-pool-podium-card-3 .cup-pool-rank-medal {
    color:#c98a5a;
}

.cup-pool-rank-summary {
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:14px;
    margin-top:14px;
}

.cup-pool-rank-summary>a,
.cup-pool-rank-summary>div {
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:12px;
    padding:18px 20px;
    border:1px solid #242e3a;
    border-radius:14px;
    background:#10151d;
    color:#c3cbd3;
    font-size:13px;
}

.cup-pool-rank-summary strong {
    font:600 13px 'Geist Mono',Consolas,monospace;
    color:var(--cup-muted);
    text-align:right;
}

.cup .cup-pool-prize-note {
    max-width:650px;
    margin:20px auto 0;
    text-align:center;
    font-size:12px;
    line-height:1.7;
    color:var(--cup-muted);
}

.cup .cup-pool-prize-note a {
    color:var(--cup-accent);
}

.cup-pool-terms {
    margin-top:18px;
    padding:14px 18px;
    border:1px solid #242e3a;
    border-radius:12px;
    color:var(--cup-muted);
    font-size:12px;
    line-height:1.7;
    scroll-margin-top:100px;
}

.cup-pool-terms summary {
    cursor:pointer;
    color:var(--cup-accent);
}

.cup-pool-terms p {
    margin-top:12px;
}

#cup-pool-tiers {
    scroll-margin-top:110px;
}

.cup-bonus-tiers {
    margin-top:60px;
}

.cup-bonus-current {
    margin:20px auto 30px;
    text-align:center;
    color:#00e6ee;
}

.cup-bonus-caption,
.cup-bonus-next {
    white-space:pre-wrap;
    overflow-wrap:anywhere;
}

.cup-bonus-next {
    color:#59dce9;
    font-size:18px;
    margin-top:4px!important;
}

.cup-bonus-table-wrap {
    overflow-x:auto;
}

.cup-bonus-table {
    width:100%;
    border-collapse:collapse;
    font-size:13px;
    text-align:left;
}

.cup-bonus-table th,
.cup-bonus-table td {
    min-width:170px;
    padding:15px;
    border-bottom:1px solid #24303b;
    white-space:pre-wrap;
    overflow-wrap:anywhere;
}

.cup-bonus-table th {
    color:#00e6ee;
}

.cup-bonus-table td {
    color:#c8d3dc;
}

/* Match the production rank list and roomy pass comparison. */
/* Unlocked prizes always stay visible, including ranks beyond the first four groups. */
.cup-pool-tiers.is-collapsed>.cup-pool-tier.is-unlocked-later:nth-child(n+5),
.cup-bonus-rows.is-collapsed>.cup-bonus-row:nth-child(n+5) {
    display:none
}

.cup .cup-pool-toggle {
    display:block;
    margin:18px auto 0;
    padding:12px 24px;
    min-height:44px;
    border:1px solid #35414e;
    border-radius:999px;
    background:#11151e;
    color:#67e8ed;
    font-size:14px;
    font-weight:600
}

.cup .cup-pool-toggle:hover {
    border-color:#59dce9;
    background:#15222a
}

.cup-bonus-tiers {
    max-width:560px;
    margin:64px auto 0
}

.cup .cup-bonus-tiers>.cup-prize-heading {
    font-size:22px;
    margin:0 0 28px!important
}

.cup-bonus-tiers>.cup-muted {
    font-size:14px;
    line-height:1.6
}

.cup-bonus-rows {
    display:flex;
    flex-direction:column;
    gap:8px;
    margin:16px auto 0
}

.cup-bonus-row {
    display:grid;
    grid-template-columns:76px minmax(0,1fr);
    align-items:center;
    gap:14px;
    padding:14px 16px;
    border:1px solid #94b2d21f;
    border-radius:14px;
    background:#10151f;
    text-align:left;
    min-width:0
}

.cup-bonus-row-first {
    border-color:#0aa6b8;
    background:linear-gradient(90deg,#00f0ff1f,#10151f 70%)
}

.cup-bonus-rank {
    font:600 17px/1.4 'Geist Mono',Consolas,monospace;
    color:var(--cup-accent);
    overflow-wrap:anywhere
}

.cup .cup-bonus-row strong {
    font-size:15px;
    line-height:1.55;
    color:#fff
}

.cup-bonus-all {
    grid-template-columns:max-content minmax(0,1fr);
    margin-top:8px
}

.cup-bonus-row small {
    display:block;
    margin-top:2px;
    font-size:12.5px;
    color:var(--cup-muted)
}

.cup .cup-bonus-next {
    font-size:12.5px;
    color:var(--cup-accent);
    margin-top:2px!important
}

.cup .cup-bonus-current {
    margin:14px auto 0;
    color:var(--cup-accent);
    font-size:12.5px;
    text-align:center
}

.cup .cup-passes {
    max-width:760px;
    align-items:stretch
}

.cup .cup-pass {
    padding:36px 28px 28px;
    border-radius:22px;
    background:linear-gradient(180deg,#161616,#050505);
    border-color:#284044;
    min-width:0
}

.cup .cup-pass-x {
    border:1px solid transparent;
    background:linear-gradient(180deg,#121d24,#0c0e16) padding-box,linear-gradient(135deg,#59dce9,#9f64ec 55%,#c8ff21) border-box
}

.cup .cup-pass h3 {
    font-size:15px
}

.cup .cup-pass-mult {
    font-size:88px;
    line-height:1.1
}

.cup .cup-pass-x .cup-pass-mult {
    background:linear-gradient(180deg,#d4ffff,#57dae8 65%,#b5ef4a);
    background-clip:text;
    -webkit-background-clip:text
}

.cup .cup-pass .cup-eyebrow {
    font-size:12px
}

.cup .cup-pass ul {
    flex:none;
    font-size:14px;
    line-height:1.55;
    gap:10px;
    color:#cfcfcf
}

.cup .cup-pass-flag {
    font-size:12px;
    padding:4px 14px
}

.cup .cup-pass-perkhead {
    margin:22px 0 10px;
    font-size:11px;
    line-height:1.5;
    letter-spacing:.12em;
    text-transform:uppercase;
    color:#59dce9
}

.cup .cup-pass .cup-pass-perks {
    margin:0;
    padding:0;
    border:0;
    color:#b4e4ed;
    white-space:pre-wrap;
    overflow-wrap:anywhere
}

.cup-pass-perks b,
.cup-pass-retention b {
    color:#fff;
    font-weight:600
}

.cup .cup-pass-upgrades:not(:empty) {
    border-top:1px dashed #ffffff17;
    padding-top:10px;
    margin-top:12px;
    color:var(--cup-muted);
    font-size:13px
}

.cup-pass-upgrades b {
    color:#59dce9
}

.cup .cup-pass-retention {
    margin-top:14px;
    font-size:14px;
    color:#b4e4ed
}

.cup-pass-retention a {
    text-decoration:underline
}

.cup .cup-pass-price {
    font-size:22px;
    margin:26px 0 14px
}

.cup .cup-pass-price-note {
    font-size:12px;
    color:#59dce9;
    margin:-4px 0 12px
}

.cup .cup-pass .cup-button {
    font-size:14px
}

@media(max-width:760px) {
    .cup .cup-pass {
        padding:30px 22px 24px
    }

    .cup .cup-pass-mult {
        font-size:72px
    }

}

@media(max-width:540px) {
    .cup-bonus-row {
        padding:15px;
        grid-template-columns:65px minmax(0,1fr)
    }

    .cup-bonus-rank {
        font-size:16px
    }

    .cup .cup-bonus-row strong {
        font-size:14px
    }

    .cup-bonus-all {
        grid-template-columns:1fr;
        gap:6px
    }

    .cup .cup-pass-mult {
        font-size:80px
    }

}

@media(max-width:560px) {
    .cup-pool-podium {
        gap:8px;
        padding-top:48px
    }

    .cup-pool-podium-card {
        padding:30px 6px 18px;
        min-height:116px;
        border-radius:14px
    }

    .cup-pool-podium-card-1 {
        min-height:142px;
        padding-top:50px
    }

    .cup .cup-pool-podium-card strong {
        font-size:18px
    }

    .cup .cup-pool-podium-card-1 strong {
        font-size:22px
    }

    .cup-pool-podium-card>span {
        font-size:11px
    }

    .cup-pool-winner-trophy {
        width:80px;
        height:80px;
        top:-46px
    }

    .cup-pool-rank-medal {
        width:44px;
        height:48px;
        top:-26px
    }

    .cup-pool-rank-summary {
        grid-template-columns:1fr;
        gap:8px
    }

    .cup-pool-rank-summary>a,
.cup-pool-rank-summary>div {
        padding:14px 16px
    }

}

@media(max-width:560px) {
    .cup-pool-summary {
        grid-template-columns:1fr 100px 1fr;
    }

    .cup-pool-trophy {
        width:100px;
        height:150px
    }

    .cup-pool-summary strong {
        font-size:23px
    }

    .cup-pool-summary span {
        font-size:11px
    }

    .cup-pool-tier {
        padding:15px;
        grid-template-columns:65px 1fr
    }

    .cup-pool-tier strong {
        font-size:14px
    }

}

.cup-pool-winner-trophy,
.cup-pool-rank-medal,
.cup-board-trophy {
    animation:cup-podium-float 3.6s ease-in-out infinite
}

@keyframes cup-podium-float {
    0%,
100% {
        translate:0 0
    }

    50% {
        translate:0 -5px
    }

}

@media(prefers-reduced-motion:reduce) {
    .cup-pool-winner-trophy,
.cup-pool-rank-medal,
.cup-board-trophy {
        animation:none
    }

}



/* Prize pool lighting and paired reward panels. */
.cup-pool-summary {
    background:radial-gradient(ellipse at center,#00d6df12,transparent 70%);
}
.cup-pool-trophy {
    filter:drop-shadow(0 0 22px #00d9e040);
}
#cup-pool-water {
    transition:y .7s ease,height .7s ease;
}
.cup-track-bar i.is-next {
    border-color:#c8ff00;
    box-shadow:0 0 0 7px #c8ff0012,0 0 20px #c8ff0066;
}
.cup-pool-rewards {
    display:grid;
    grid-template-columns:minmax(0,1fr);
    align-items:start;
    gap:18px;
    margin-top:28px;
}
.cup-pool-rewards.has-bonuses {
    grid-template-columns:repeat(2,minmax(0,1fr));
}
.cup-pool-prizes,
.cup-pool-rewards>.cup-bonus-tiers {
    position:relative;
    min-width:0;
    width:100%;
    max-width:none;
    margin:0;
    padding:20px 16px 16px;
    border:1px solid #23303a;
    border-radius:18px;
    background:linear-gradient(145deg,#10242a50,#0c111800 55%);
}
.cup .cup-pool-prizes>h3,
.cup .cup-pool-rewards .cup-prize-heading {
    margin:0 0 18px!important;
    font-size:20px;
    font-weight:700;
    text-align:center;
}
.cup .cup-pool-prizes-intro {
    margin:0 0 14px;
    font-size:14px;
    line-height:1.6;
    text-align:center;
    color:var(--cup-muted);
}
.cup .cup-pool-tier-lead {
    margin:0 0 14px;
    font-size:12px;
}
.cup-pool-rewards .cup-pool-tiers {
    max-width:none;
    margin-bottom:0;
}
.cup-pool-tier {
    border-color:#00bdd0;
    background:linear-gradient(110deg,#00d6df14,#10151f 65%);
    box-shadow:0 0 16px #00d6df12,inset 0 0 18px #00d6df05;
}
.cup-pool-tier:first-child {
    box-shadow:0 0 24px #00d6df29,inset 0 0 20px #00d6df0a;
}
.cup-pool-rewards>.cup-bonus-tiers {
    border-color:#0099a3;
    background:radial-gradient(ellipse at 70% 0,#c8ff0014,transparent 45%),linear-gradient(145deg,#10313999,#10151f 80%);
    box-shadow:0 -1px 0 #c8ff00,0 0 44px #00d6df0d,0 20px 55px #c8ff0009;
}
.cup-bonus-tiers {
    position:relative;
}
.cup-bonus-badge {
    position:absolute;
    top:-12px;
    right:16px;
    display:flex;
    align-items:center;
    gap:5px;
    padding:5px 12px;
    border-radius:999px;
    background:#c8ff00;
    color:#101600;
    box-shadow:0 0 20px #c8ff0066;
    font:700 10px/1.3 Inter,Arial,sans-serif;
    letter-spacing:.08em;
}
.cup-bonus-badge svg {
    width:13px;
    height:13px;
    fill:none;
    stroke:currentColor;
    stroke-width:1.5;
}
.cup-bonus-row {
    border-color:#008d9b;
    background:linear-gradient(110deg,#00d6df12,#10151f 75%);
}
.cup-bonus-row.is-locked {
    border-style:dashed;
}
.cup .cup-bonus-row.is-locked strong,
.cup-bonus-row.is-locked .cup-bonus-rank {
    color:var(--cup-muted);
}
.cup-bonus-row-first {
    border-color:#c8ff00;
    box-shadow:0 0 20px #c8ff0026;
}
.cup-bonus-row-first .cup-bonus-rank {
    color:#c8ff00;
}
.cup .cup-pool-toggle {
    border:1px dashed #007985;
    background:#0b141b;
    color:var(--cup-accent);
    font-size:13px;
    padding:9px 16px;
    margin-top:10px;
}
.cup .cup-pool-toggle[hidden] {
    display:none;
}
.cup .cup-pool-toggle:focus-visible {
    outline:2px solid #c8ff00;
    outline-offset:4px;
}
.cup-pool-podium-card-1 .cup-pool-winner-trophy {
    width:120px;
    height:120px;
    top:-76px;
    filter:drop-shadow(0 0 24px #e9c46a77);
}
.cup-pool-podium-card-2 .cup-pool-winner-trophy {
    width:88px;
    height:88px;
    top:-56px;
    filter:saturate(.25) drop-shadow(0 0 20px #cfd6e266);
}
.cup-pool-podium-card-3 .cup-pool-winner-trophy {
    width:88px;
    height:88px;
    top:-56px;
    filter:sepia(.65) saturate(1.3) drop-shadow(0 0 20px #c98a5a66);
}
.cup .cup-pool-podium-card-3 strong {
    color:#e6ad80;
}
@media(max-width:720px) {
    .cup-pool-rewards.has-bonuses {
        grid-template-columns:minmax(0,1fr);
        gap:28px;
    }
    .cup-pool-summary {
        grid-template-columns:minmax(0,1fr) 110px minmax(0,1fr);
    }
    .cup-pool-summary strong {
        font-size:clamp(18px,4.5vw,28px);
    }
    .cup-pool-trophy {
        width:110px;
        height:160px;
    }
    .cup-pool-steps {
        grid-template-columns:minmax(0,1fr);
        gap:4px;
    }
    .cup-track-legend {
        flex-direction:row;
        gap:10px;
        font-size:11px;
    }
    .cup-pool-rewards .cup-bonus-all {
        grid-template-columns:minmax(0,1fr);
        gap:4px;
    }
}
@media(max-width:560px) {
    .cup-pool-podium-card-1 .cup-pool-winner-trophy {
        width:88px;
        height:88px;
        top:-56px;
    }
    .cup-pool-podium-card-2 .cup-pool-winner-trophy,
    .cup-pool-podium-card-3 .cup-pool-winner-trophy {
        width:64px;
        height:64px;
        top:-40px;
    }
}
@media(prefers-reduced-motion:reduce) {
    #cup-pool-water { transition:none; }
}
