/* Shared company final: the team championship owns the trophy and the colour.
   Every rule is scoped to Cup result components; no normal scorecard rules. */
.cup-celebration{--final-gold:#ffe18a;--final-pink:#ff3394;--final-cyan:#69e9ff;position:relative;isolation:isolate;overflow:hidden;padding:24px;border:1px solid #913569;border-radius:24px;background:radial-gradient(ellipse at 0 0,rgba(202,26,124,.25),transparent 57%),radial-gradient(ellipse at 100% 29%,rgba(30,165,196,.13),transparent 47%),linear-gradient(150deg,#25102d,#131020 56%,#10131f);box-shadow:0 14px 55px #0005,0 0 26px #ec208014;color:#fff;text-align:left}
.cup-celebration::before{content:"";height:3px;position:absolute;inset:0 18px auto;background:linear-gradient(90deg,#ff3394,#ffdc81 50%,#69e9ff);border-radius:0 0 6px 6px}
.cup-celebration-heading{display:grid;grid-template-columns:minmax(0,1fr) 68px;gap:12px;align-items:center;position:relative}
.cup-final-eyebrow{display:flex;align-items:center;gap:8px;color:#ff8abd;font-size:10px;font-weight:850;letter-spacing:.16em;line-height:1.4}
.cup-final-eyebrow i{width:6px;height:6px;flex:none;background:#ff54a5;border-radius:100%;box-shadow:0 0 12px #ff369b}
.cup-celebration .cup-celebration-heading h2{font-size:clamp(29px,5.9vw,48px);line-height:1.06;margin:10px 0 8px;letter-spacing:-.045em;font-weight:900;color:#fff;overflow-wrap:break-word}
.cup-celebration .cup-company-name{font-size:15px;font-weight:650;color:#eee1f2;margin:0;line-height:1.4;overflow-wrap:anywhere}
.cup-trophy-art{display:block;width:100%;height:auto;filter:drop-shadow(0 0 16px #ffc54b38)}
.cup-final-emblem{width:68px;transform:rotate(7deg)}
.cup-final-meta{display:flex;flex-wrap:wrap;gap:6px;margin-top:19px}
.cup-final-meta>span{padding:5px 9px;color:#cec8dc;border:1px solid #8e729a55;border-radius:7px;background:#ffffff05;font-size:10px;font-weight:650}
.cup-podium-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;align-items:stretch;margin:33px 0 25px}
.cup-podium-place{--place-accent:#c9acff;min-width:0;position:relative;display:flex;flex-direction:column;align-items:center;text-align:center;justify-content:flex-start;border-radius:18px;border:1px solid #765d95;background:linear-gradient(175deg,#503262a8,#241a3440);padding:22px 9px 18px}
.cup-podium-place.cup-place-1{--place-accent:#ffe18a;border-color:#d3a347;background:linear-gradient(170deg,#86612778,#66304855 58%,#342036);box-shadow:0 0 25px #dca02313}
.cup-podium-place.cup-place-2{--place-accent:#8cf0ff;border-color:#4092aa;background:linear-gradient(170deg,#1e62787a,#1a263740)}
.cup-podium-place.cup-place-3{--place-accent:#dfbbff;border-color:#8660b3;background:linear-gradient(170deg,#65409085,#2f1f4140)}
.cup-classic-podium .cup-place-1{grid-column:2;grid-row:1;margin-top:-12px;padding-top:29px}
.cup-classic-podium .cup-place-2{grid-column:1;grid-row:1;margin-top:18px}
.cup-classic-podium .cup-place-3{grid-column:3;grid-row:1;margin-top:32px}
.cup-podium-medallion{height:44px;width:44px;display:grid;place-items:center;background:linear-gradient(145deg,#ffffff1f,#ffffff03);border:1px solid var(--place-accent);border-radius:50%;color:var(--place-accent);font-size:25px;font-weight:900;box-shadow:0 0 18px #0002;flex:none;margin:0 0 12px}
.cup-place-1 .cup-podium-medallion{width:52px;height:52px;background:linear-gradient(140deg,#fff1b2,#f6ba4a);color:#49300c;border-color:#ffefb1;box-shadow:0 0 25px #ffd25135;font-size:32px}
.cup-podium-label{font-size:9px;color:var(--place-accent);line-height:1.35;font-weight:850;min-height:25px;display:flex;align-items:center;justify-content:center;text-transform:uppercase;letter-spacing:.035em}
.cup-podium-place h3{font-size:clamp(13px,2.8vw,18px);font-weight:800;letter-spacing:-.015em;line-height:1.24;overflow-wrap:anywhere;width:100%;margin:7px 0 14px;flex:1;color:#fff}
.cup-podium-score{font-size:clamp(24px,5.2vw,33px);font-weight:900;letter-spacing:-.055em;font-variant-numeric:tabular-nums;line-height:1.1;color:var(--place-accent);white-space:nowrap}
.cup-podium-place small{font-size:9px;line-height:1.3;color:#ddd0e5;margin-top:4px}
.cup-your-team{font-size:9px;font-weight:850;color:#fff;border:1px solid #ffffff38;border-radius:20px;line-height:1.3;padding:4px 7px;margin-top:11px;background:#ffffff12}
.cup-team-list-heading{display:flex;justify-content:space-between;align-items:baseline;gap:12px;margin:6px 0 10px}
.cup-team-list-heading h3{font-size:15px;color:#fff;margin:0;line-height:1.3;font-weight:800}
.cup-team-list-heading>span{font-size:10px;font-weight:600;color:#c6b9cf}
.cup-team-standings{display:grid;gap:7px}
.cup-team-standings .cup-team-row{display:grid;grid-template-columns:35px minmax(0,1fr) auto;gap:11px;align-items:center;padding:12px 11px;border:1px solid #62596f55;border-radius:12px;background:#ffffff04;position:relative}
.cup-team-standings .cup-own-team{border-color:#54d9ee85;background:linear-gradient(90deg,#208ba822,#ffffff03);box-shadow:inset 3px 0 #68e4f8}
.cup-team-standings .cup-row-champion{background:linear-gradient(90deg,#ce913514,#ffffff03)}
.cup-rank-badge{width:32px;height:32px;border:1px solid #68627355;border-radius:10px;display:grid;place-items:center;font-size:14px;color:#c4bccc;background:#17121f}
.cup-rank-badge.cup-rank-1{background:#4a361d;border-color:#c5983a;color:#ffe597}
.cup-rank-badge.cup-rank-2{background:#203946;border-color:#5093ad;color:#a9eeff}
.cup-rank-badge.cup-rank-3{background:#3c2850;border-color:#8964b6;color:#dfbaff}
.cup-team-name{min-width:0;display:flex;flex-direction:column;gap:4px}
.cup-team-name>b{font-size:14px;line-height:1.35;overflow-wrap:anywhere;color:#fff;font-weight:750}
.cup-team-name>small{font-size:10px;line-height:1.3;color:#bfb5ce}
.cup-own-team .cup-team-name>small{color:#8be8f7}
.cup-score{font-size:19px;line-height:1.15;font-weight:850;letter-spacing:-.03em;color:#fff;font-variant-numeric:tabular-nums;white-space:nowrap;text-align:right}
.cup-celebration p.cup-scoring-note{margin:13px 0 0;font-size:10px;line-height:1.55;color:#bab0ca}
.cup-waiting-message{padding:22px 0 4px;margin-top:20px;border-top:1px solid #a86e9a44;line-height:1.5}
.cup-waiting-message strong{font-size:19px;color:#ffe6a1}
.cup-waiting-message p,.cup-final-empty{font-size:14px;color:#cfc1d8;line-height:1.65;margin:8px 0 0}
.cup-individual-board{color:#f5f1fc;background:linear-gradient(130deg,#1c182c,#13151f);border:1px solid #72608e6b;border-radius:20px;padding:21px}
.cup-secondary-heading{display:flex;gap:12px;align-items:flex-start}
.cup-secondary-symbol{width:33px;height:33px;flex:none;display:grid;place-items:center;background:#654da425;border:1px solid #b596fb55;border-radius:10px;color:#cdb6ff;font-size:17px}
.cup-individual-board .cup-secondary-heading h2{font-size:clamp(18px,4.3vw,24px);line-height:1.25;font-weight:800;letter-spacing:-.025em;color:#f5f1fc;margin:0}
.cup-individual-board .cup-secondary-heading p{font-size:11px;line-height:1.5;color:#b4adc6;margin:5px 0 0}
.cup-individual-list{display:grid;gap:0;margin-top:15px}
.cup-individual-list .cup-individual-row{display:grid;grid-template-columns:25px minmax(0,1fr) auto;gap:10px;align-items:center;padding:11px 1px;border:0;border-top:1px solid #71668038;border-radius:0;background:transparent}
.cup-single-rank{font-size:13px;color:#bca7e0;font-weight:750}
.cup-player-name{display:flex;flex-direction:column;gap:3px;min-width:0}
.cup-player-name>b{font-size:13px;line-height:1.25;overflow-wrap:anywhere;color:#f6f1fc;font-weight:700}
.cup-player-name>small{font-size:10px;color:#a7a0ba;font-weight:400;line-height:1.4}
.cup-single-score{display:flex;align-items:baseline;gap:6px;font-size:16px;font-variant-numeric:tabular-nums;color:#eee7f7}
.cup-single-score>small{font-size:9px;font-weight:500;color:#9e96b1}
.cup-individual-board .cup-tie-note{font-size:10px;line-height:1.5;color:#aea4c0;margin:9px 0 0}
.cup-sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
/* The same final component is used on the closed event screen and in admin. */
.cup-final.cup-final-modern{padding:0;background:none;border:0;box-shadow:none;text-align:left}
.cup-panel.cup-top5-modern{background:none;border:0;box-shadow:none;padding:0;max-width:880px;margin:20px auto 0}
.cup-final-modern .cup-celebration{max-width:1100px;margin:auto;padding:32px}
.cup-final-modern .cup-podium-grid{gap:20px;margin:40px 0 30px}
.cup-final-modern .cup-podium-place{padding:28px 18px 25px}
.cup-final-modern .cup-podium-place h3{font-size:clamp(16px,2.5vw,27px)}
.cup-final-modern .cup-podium-score{font-size:38px}
.cup-final-modern .cup-podium-label{font-size:11px}
.cup-final-modern .cup-team-name>b{font-size:17px}
.cup-final-modern .cup-score{font-size:23px}
@media(max-width:420px){.cup-celebration{padding:19px 15px;border-radius:21px}.cup-celebration-heading{grid-template-columns:minmax(0,1fr) 54px;gap:8px}.cup-final-emblem{width:54px}.cup-final-eyebrow{font-size:8px;letter-spacing:.12em}.cup-celebration .cup-celebration-heading h2{font-size:30px}.cup-celebration .cup-company-name{font-size:13px}.cup-podium-grid{gap:7px}.cup-podium-place{border-radius:14px;padding:17px 5px 14px}.cup-podium-label{font-size:8px;letter-spacing:0;min-height:24px}.cup-podium-place h3{font-size:12px}.cup-podium-score{font-size:24px}.cup-podium-medallion{width:35px;height:35px;font-size:21px}.cup-place-1 .cup-podium-medallion{width:43px;height:43px;font-size:27px}.cup-individual-board{padding:18px 15px}.cup-team-standings .cup-team-row{gap:9px;padding:11px 9px;grid-template-columns:31px minmax(0,1fr) auto}.cup-team-name>b{font-size:13px}.cup-score{font-size:18px}.cup-your-team{font-size:8px;padding:4px 5px}.cup-final-modern .cup-celebration{padding:20px 15px}.cup-final-modern .cup-podium-grid{gap:7px}.cup-final-modern .cup-podium-place{padding:20px 6px}.cup-final-modern .cup-podium-place h3{font-size:13px}.cup-final-modern .cup-podium-score{font-size:25px}.cup-final-modern .cup-podium-label{font-size:8px}}
@media(max-width:345px){.cup-celebration{padding:17px 11px}.cup-celebration .cup-celebration-heading h2{font-size:27px}.cup-final-meta>span{font-size:9px}.cup-podium-score{font-size:21px}.cup-podium-place h3{font-size:11px}.cup-podium-label{font-size:7px}.cup-podium-place small{font-size:8px}.cup-team-standings .cup-team-row{grid-template-columns:28px minmax(0,1fr) auto;gap:7px}.cup-team-name>b{font-size:12px}.cup-rank-badge{width:27px;height:29px}.cup-single-score>small{display:none}}
@media(prefers-reduced-motion:reduce){.cup-celebration *,.cup-individual-board *{animation:none!important;transition:none!important}}

.cup-podium-grid.cup-podium-count-2{grid-template-columns:repeat(2,minmax(0,1fr))}.cup-podium-grid.cup-podium-count-1{grid-template-columns:minmax(0,1fr);max-width:280px;margin-left:auto;margin-right:auto}
.cup-screen-heading.cup-screen-final{padding:0 0 20px;text-align:left;display:flex;align-items:center;flex-wrap:wrap;gap:8px 14px}.cup-screen-final h1{font-size:20px;flex:1;min-width:0;overflow-wrap:anywhere}.cup-screen-final h2{display:none}.cup-screen-final .cup-overline{font-size:10px;width:100%;margin-bottom:0}.cup-screen-final .cup-tag{font-size:10px}
