/* Local cup: the next match leads; the full draw remains available on demand. */
.circuit-content { display:grid; align-content:start; gap:20px; }
.circuit-content > .cup-option { max-width:340px; }
.circuit-intro { max-width:760px; color:#b4c3d8; font-size:16px; line-height:1.6; }
.circuit-cards { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
.circuit-card { position:relative; overflow:hidden; min-width:0; min-height:380px; border:1px solid #d5e6ff30; border-radius:6px; background:#13253d; }
.circuit-card-backdrop { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; opacity:.2; }
.circuit-card-body { position:relative; display:flex; flex-direction:column; gap:15px; height:100%; padding:26px; background:linear-gradient(0deg,#0b192cf5,#0b192c55); }
.circuit-number { color:#d6e8ff55; font-size:44px; line-height:1; font-weight:800; }
.circuit-card h2,.trophy-card h2 { font-size:clamp(25px,2.5vw,36px); line-height:1.12; overflow-wrap:anywhere; }
.circuit-card .cup-route { display:flex; flex-direction:column; gap:12px; }
.circuit-card .cup-route li { gap:12px; }
.circuit-card .cup-route span { font-size:14px; }
.circuit-card .cup-route small { font-size:11px; }
.circuit-unlock { flex:1; color:#acbcd2; font-size:13px; line-height:1.5; }
.circuit-card button { width:100%; min-height:48px; }
.circuit-card.is-locked .circuit-card-backdrop { filter:grayscale(1); opacity:.09; }
.circuit-card.is-locked .a-kicker { color:#95a7bd; }
.circuit-card.is-won { border-color:#f5d66370; }
.circuit-resume { display:flex; align-items:center; justify-content:space-between; gap:20px; padding:22px 26px; border:1px solid #ffda3960; border-radius:5px; background:#bca03a12; }
.circuit-resume h2 { margin:7px 0; font-size:27px; }
.circuit-resume p { color:#b4c3d8; font-size:13px; }
.circuit-buttons { display:flex; align-items:center; flex-wrap:wrap; gap:12px; }
.circuit-confirm { display:grid; gap:14px; padding:24px; border:1px solid #f3b59580; border-radius:5px; background:#30241e; }
.circuit-confirm p { color:#f4d6c3; font-size:14px; line-height:1.5; }
.circuit-save-error { position:fixed; z-index:50; left:15px; right:15px; bottom:12px; padding:15px 20px; border:1px solid #ffbc94; border-radius:4px; background:#462e25; color:#ffe0ce; font-size:14px; line-height:1.5; box-shadow:0 5px 25px #0009; }
.trophy-card { min-width:0; display:flex; align-items:center; flex-direction:column; padding:25px; border:1px solid #ffffff20; border-radius:6px; background:radial-gradient(ellipse at 50% 20%,#d5c07415,transparent 65%),#0c1b31da; text-align:center; }
.circuit-trophy { display:block; width:165px; height:165px; color:var(--metal,#68809a); filter:drop-shadow(0 6px 13px #0008); }
.metal-bronze { --metal:#d19a67; }
.metal-silver { --metal:#c7d4e5; }
.metal-gold { --metal:#f2cf5c; }
.metal-platinum { --metal:#9aeee7; }
.metal-locked { --metal:#50647c; }
.trophy-halo { fill:currentColor; opacity:.06; }
.trophy-handles { stroke:currentColor; stroke-width:5; }
.trophy-bowl,.trophy-stem { fill:currentColor; }
.trophy-shine { stroke:#fff; stroke-width:4; stroke-linecap:round; opacity:.35; }
.trophy-engraving { fill:#071426; font:700 23px system-ui,sans-serif; }
.trophy-card.is-locked .circuit-trophy { opacity:.35; }
.trophy-card > .a-kicker { margin:10px 0; }
.trophy-best { margin:12px 0 20px; color:#c6d4e7; font-size:15px; }
.trophy-difficulties { display:flex; flex-wrap:wrap; justify-content:center; gap:8px; padding-top:16px; border-top:1px solid #ffffff20; }
.trophy-difficulties span { color:#7d91ad; font-size:11px; }
.trophy-difficulties .earned { color:#f2d77c; }
.circuit-badges { padding:26px; border:1px solid #ffffff20; border-radius:5px; background:#0c1b31b0; }
.circuit-badges h2 { margin:8px 0; font-size:25px; }
.circuit-badges p:not(.a-kicker) { color:#aabbd3; font-size:14px; }
.badge-list { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:12px; margin-top:22px; }
.circuit-badge { display:flex; align-items:center; flex-direction:column; gap:8px; padding:17px 10px; border:1px solid #ffffff20; border-radius:5px; text-align:center; color:#8192aa; }
.circuit-badge > span { font-size:38px; line-height:1; }
.circuit-badge > strong { font-size:14px; }
.circuit-badge > small { font-size:11px; }
.circuit-badge.earned { color:var(--metal); border-color:var(--metal); background:#ffffff07; }
.champion-prize { display:flex; align-items:center; gap:16px; }
.champion-prize .circuit-trophy { width:100px; height:100px; }
.champion-prize strong { font-size:23px; }
.cup-fixed-difficulty { color:#ffda39!important; }
.cup-saved-controls { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:12px; }
@media(max-width:700px) {
 .circuit-cards { grid-template-columns:1fr; gap:15px; }
 .circuit-card { min-height:0; }
 .circuit-card-body { padding:22px; gap:12px; }
 .circuit-card .cup-route { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; }
 .circuit-card .cup-route li { gap:6px; }
 .circuit-card .cup-route span { font-size:12px; }
 .circuit-card .cup-route small { font-size:10px; }
 .circuit-resume { flex-direction:column; align-items:stretch; padding:20px; }
 .circuit-resume .circuit-buttons { flex-direction:column; align-items:stretch; }
 .circuit-badges { padding:20px; }
 .badge-list { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .circuit-trophy { width:130px; height:130px; }
 .trophy-card { padding:20px; }
 .champion-prize { gap:10px; }
 .champion-prize .circuit-trophy { width:70px; height:70px; }
 .champion-prize strong { font-size:18px; }
 .circuit-save-error { font-size:12px; }
}
@media(min-width:701px) and (max-height:650px) {
 .circuit-content { gap:14px; }
 .circuit-card { min-height:330px; }
 .circuit-card-body { padding:18px; gap:10px; }
 .circuit-number { font-size:30px; }
 .circuit-card h2 { font-size:26px; }
 .circuit-trophy { width:110px; height:110px; }
 .trophy-card { padding:18px; }
}
.c-cup-selection .c-selection-main { grid-template-columns:minmax(0,1.35fr) minmax(300px,.85fr); gap:18px; }
.c-cup-selection .c-participants { display:none; }
.c-cup-selection .c-player-editor { grid-template-columns:minmax(140px,.7fr) minmax(0,1.3fr); }
.cup-setup { display:grid; align-content:start; gap:12px; min-width:0; padding:22px; border:1px solid #ffffff18; border-radius:5px; background:#0c1b31cc; }
.cup-setup h2 { font-size:25px; line-height:1.15; }
.cup-setup > p { color:#aab9d2; font-size:13px; line-height:1.5; }
.cup-setup .a-kicker { color:#ffda39; }
.cup-option > span { display:block; margin-bottom:7px; color:#bac7dc; font-size:12px; }
.cup-cycle { display:flex; min-height:44px; border:1px solid #ffffff30; border-radius:4px; }
.console-stage .cup-cycle button { min-width:44px; min-height:44px; padding:8px; font-size:14px; text-align:center; }
.console-stage .cup-cycle button:nth-child(2) { flex:1; font-weight:700; }
.console-stage .cup-cycle button:focus-visible { outline:3px solid #f3f6ff; outline-offset:-3px; }
.cup-route { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; margin:3px 0; padding:12px 0 0; list-style:none; border-top:1px solid #ffffff20; }
.cup-route li { display:flex; align-items:start; gap:7px; min-width:0; }
.cup-route strong { color:#ffda39; font-size:16px; }
.cup-route li > div { display:grid; gap:3px; }
.cup-route span { font-size:12px; }
.cup-route small { color:#8194b2; font-size:10px; line-height:1.4; }
.cup-session-note { color:#8194b2; font-size:12px; line-height:1.4; }
.cup-setup .cup-session-note { font-size:11px; }
.cup-round-progress { color:#aab9d2; font-size:14px; font-variant-numeric:tabular-nums; }
.cup-content { display:grid; align-content:start; gap:20px; }
.cup-next-match { position:relative; display:grid; grid-template-columns:minmax(0,1fr) minmax(160px,.65fr) minmax(0,1fr); min-height:360px; overflow:hidden; border-radius:6px; border:1px solid #ffffff30; background:#162a43; }
.cup-venue-backdrop { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; opacity:.22; }
.cup-next-match:after { content:""; position:absolute; inset:0; background:linear-gradient(0deg,#091527 0%,#09152733 80%); pointer-events:none; }
.cup-match-player { position:relative; z-index:1; display:flex; flex-direction:column; align-items:center; justify-content:end; min-width:0; padding:24px; text-align:center; }
.cup-match-player > img { display:block; width:100%; height:300px; margin-top:-8px; object-fit:contain; filter:drop-shadow(0 15px 16px #0009); }
.cup-match-player > span { margin-top:-12px; color:#ffda39; font-size:11px; font-weight:700; letter-spacing:.13em; }
.cup-match-player > h2 { margin-top:5px; font-size:clamp(22px,3vw,36px); line-height:1.05; overflow-wrap:anywhere; }
.cup-match-rival > span { color:#d7e2f4; }
.cup-match-center { position:relative; z-index:2; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:12px; padding:16px 0; text-align:center; }
.cup-match-center > strong { font-size:clamp(44px,6vw,76px); line-height:1; font-style:italic; color:#ffda39; text-shadow:0 5px 15px #0006; }
.cup-match-center > span { font-size:21px; font-weight:700; }
.cup-match-center > small { color:#bac7dc; font-size:12px; text-transform:capitalize; }
.cup-profile { color:#aab9d2; font-size:13px; line-height:1.5; }
.cup-notice { padding:14px 18px; border:1px solid #f3b59570; border-radius:4px; color:#ffd0b8; font-size:14px; }
.cup-draw { border:1px solid #ffffff24; border-radius:5px; background:#0c1b31a8; }
.cup-draw > summary { min-height:52px; padding:17px 18px; cursor:pointer; font-size:15px; font-weight:700; }
.cup-draw > summary > span { float:right; color:#8194b2; font-size:12px; font-weight:400; }
.cup-draw > summary:focus-visible { outline:3px solid #f3f6ff; outline-offset:-3px; }
.cup-draw[open] > summary { border-bottom:1px solid #ffffff20; }
.cup-bracket { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; padding:22px; }
.cup-round > h2 { margin-bottom:16px; color:#8194b2; font-size:12px; letter-spacing:.1em; }
.cup-round > div { display:flex; flex-direction:column; justify-content:space-around; gap:14px; min-height:380px; }
.cup-fixture { overflow:hidden; border:1px solid #ffffff20; border-radius:4px; background:#15263f; }
.cup-fixture > div { display:flex; align-items:center; gap:8px; padding:10px 12px; min-height:38px; font-size:13px; }
.cup-fixture > div + div { border-top:1px solid #ffffff14; }
.cup-fixture > div > span { flex:1; min-width:0; overflow-wrap:anywhere; }
.cup-fixture b { font-variant-numeric:tabular-nums; }
.cup-fixture i { font-size:11px; font-style:normal; }
.cup-fixture.cup-human { border-left:3px solid #ffda39; }
.cup-fixture .cup-winner { color:#ffda39; font-weight:700; }
.cup-champion { display:grid; grid-template-columns:minmax(240px,1fr) minmax(0,1.2fr); min-height:360px; align-items:center; overflow:hidden; border:1px solid #ffda3955; border-radius:6px; background:radial-gradient(ellipse at 25% 70%,#8a70282e,transparent 65%),#0c1b31d9; }
.cup-champion-art { position:relative; min-width:0; display:grid; place-items:center; }
.cup-champion-art > img { position:relative; z-index:1; width:100%; height:340px; object-fit:contain; filter:drop-shadow(0 12px 18px #0007); }
.cup-champion-art > span { position:absolute; left:50%; top:50%; transform:translate(-50%,-50%); color:#ffda391c; font-size:300px; line-height:1; }
.cup-champion > div:last-child { padding:28px; }
.cup-champion h2 { margin:12px 0; font-size:clamp(36px,5vw,66px); line-height:1.02; }
.cup-champion p:not(.a-kicker) { color:#b4bfdb; font-size:17px; line-height:1.6; }
.cup-trophy-count { display:inline-block; margin-top:24px; padding:10px 15px; border:1px solid #ffda3950; border-radius:4px; color:#ffda39; font-size:14px; }
.cup-screen .a-actions > p { flex:1; text-align:center; }
@media(max-width:1100px) {
 .c-cup-selection .c-selection-main { grid-template-columns:minmax(0,1fr); }
 .cup-setup { grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px 20px; }
 .cup-setup > .a-kicker,.cup-setup > h2,.cup-setup > p,.cup-route { grid-column:1/-1; }
 .cup-route { grid-template-columns:repeat(3,minmax(0,1fr)); }
 .cup-match-player { padding:18px; }
 .cup-match-player > img { height:260px; }
 .cup-next-match { min-height:320px; }
}
@media(max-width:700px) {
 .cup-next-match { grid-template-columns:minmax(0,1fr) minmax(80px,.7fr) minmax(0,1fr); min-height:270px; }
 .cup-match-player { padding:18px 9px; }
 .cup-match-player > img { height:210px; }
 .cup-match-player > h2 { font-size:22px; }
 .cup-match-center { gap:8px; }
 .cup-match-center > .a-kicker { font-size:9px; letter-spacing:.06em; }
 .cup-match-center > strong { font-size:40px; }
 .cup-match-center > span { font-size:15px; }
 .cup-match-center > small { font-size:10px; line-height:1.5; }
 .cup-bracket { gap:12px; padding:14px; grid-template-columns:1fr; }
 .cup-round > div { min-height:0; gap:8px; }
 .cup-round > h2 { margin-bottom:10px; }
 .cup-fixture > div { padding:8px 12px; }
 .cup-draw > summary > span { display:none; }
 .cup-champion { grid-template-columns:minmax(120px,.7fr) minmax(0,1.3fr); min-height:290px; }
 .cup-champion-art > img { height:255px; }
 .cup-champion-art > span { font-size:190px; }
 .cup-champion > div:last-child { padding:20px 18px 20px 0; }
 .cup-champion h2 { font-size:34px; }
 .cup-champion p:not(.a-kicker) { font-size:14px; }
 .cup-trophy-count { margin-top:16px; padding:8px; font-size:12px; }
 .cup-screen .a-actions > p { order:-1; flex-basis:100%; text-align:left; }
 .cup-profile { font-size:12px; }
}
@media(min-width:1000px) {
 .c-cup-selection .c-selection-content { grid-template-columns:minmax(0,1.35fr) minmax(230px,.85fr) minmax(250px,.9fr); grid-template-rows:minmax(0,1fr); gap:18px; }
 .c-cup-selection .c-selection-main { display:contents; }
 .c-cup-selection .c-player-editor { grid-column:1; grid-row:1; grid-template-columns:minmax(110px,.65fr) minmax(0,1.35fr); }
 .c-cup-selection .c-roster-wrap { grid-column:2; grid-row:1; }
 .c-cup-selection .cup-setup { grid-column:3; grid-row:1; display:flex; flex-direction:column; min-height:0; overflow:auto; padding:18px; gap:12px; }
 .c-cup-selection .cup-setup h2 { font-size:23px; }
 .c-cup-selection .cup-route { display:flex; flex-direction:column; gap:12px; }
 .c-cup-selection .cup-route li { gap:12px; }
 .c-cup-selection .cup-route span { font-size:13px; }
 .c-cup-selection .cup-route small { font-size:11px; }
 .c-cup-selection .c-editor-actions { flex-direction:column; }
 .c-cup-selection .c-control-row { flex-wrap:wrap; }
 .c-cup-selection .c-control-row .c-choice-label { flex-basis:100%; padding:6px 8px 0; font-size:12px; }
 .c-cup-selection .c-control-row .c-choice-value { flex:1; font-size:13px; }
 .c-cup-selection .c-roster-grid { gap:5px; }
}
@media(min-width:1000px) and (max-height:800px) {
 .c-cup-selection .cup-setup > p:not(.a-kicker) { display:none; }
 .c-cup-selection .cup-setup { gap:10px; padding:14px; }
 .c-cup-selection .cup-route { gap:10px; }
}
@media(min-width:701px) and (max-width:999px) and (max-height:600px) {
 .c-cup-selection .c-selection-content { grid-template-rows:minmax(0,1fr); }
 .c-cup-selection .c-selection-main { grid-column:1; grid-row:1; display:grid; grid-template-columns:minmax(0,1fr); min-height:0; overflow:auto; align-content:start; gap:12px; }
 .c-cup-selection .c-player-editor { min-height:220px; }
 .c-cup-selection .c-roster-wrap { grid-column:2; grid-row:1; }
 .c-cup-selection .cup-setup { grid-template-columns:1fr; padding:16px; }
}
@media(max-height:600px) and (min-width:701px) {
 .cup-next-match { min-height:240px; }
 .cup-match-player > img { height:210px; }
 .cup-match-player { padding:12px; }
 .cup-match-player > h2 { font-size:27px; }
 .cup-match-center > strong { font-size:50px; }
 .cup-content { gap:14px; }
 .cup-champion { min-height:240px; }
 .cup-champion-art > img { height:250px; }
 .cup-champion-art > span { font-size:230px; }
 .cup-champion h2 { font-size:44px; }
}
