/* UTEC English SPB 2026 | v1.0.87 Bee & Honey Hexagon Grand Final winner scene.
   Strictly visual: podium identities, positions, and rank table stay API-driven.
   Overrides only .gf52-* celebration scene; no admin/judge/scoring changes. */
.gf52-celebration .gf52-scene{
 min-height:clamp(530px,50vw,665px);border-radius:23px;
 background:
   radial-gradient(ellipse 38% 50% at 51% 73%,rgba(255,195,50,.46),transparent 75%),
   radial-gradient(ellipse 38% 75% at 2% 58%,rgba(8,106,241,.65),transparent 78%),
   radial-gradient(ellipse 38% 75% at 98% 58%,rgba(18,93,217,.6),transparent 78%),
   radial-gradient(ellipse 60% 55% at 50% 15%,rgba(17,86,192,.82),transparent 90%),
   linear-gradient(165deg,#03163c 0%,#0b3b96 47%,#041640 100%);
 border:1px solid #1c65bc;
 box-shadow:inset 0 1px 0 #ffffff70,inset 0 -18px 58px #061239aa,0 14px 37px #032e6728;
}
.gf52-celebration .gf52-scene::before{
 content:"";position:absolute;inset:0;z-index:0;pointer-events:none;opacity:1;
 background-image:url('/assets/img/gf87-honey-hexagon.svg'),
  radial-gradient(ellipse 60% 45% at 50% 70%,rgba(135,200,255,.25),transparent 83%);
 background-repeat:no-repeat;background-position:center top,center center;background-size:100% auto,100% 100%;
}
.gf52-celebration .gf52-scene::after{
 content:"";position:absolute;inset:auto 0 0;height:125px;z-index:0;pointer-events:none;
 background:radial-gradient(ellipse 55% 100% at 50% 95%,#ffc44265 0%,transparent 75%),linear-gradient(180deg,transparent,#0016379c);
}
/* These two existing decorative curtain containers display approved bee art.
   No user-facing markup or competitor data is changed. */
.gf52-celebration .gf52-curtain{
 position:absolute;z-index:1;top:25%;height:57%;width:22%;max-width:300px;
 opacity:1;filter:drop-shadow(0 12px 22px #06152b92);border-radius:0;
 transform:none;box-shadow:none;pointer-events:none;
 background-position:center;background-repeat:no-repeat;background-size:contain;
}
.gf52-celebration .gf52-curtain-left{
 left:1%;background-image:url('/assets/img/gf87-bee-left.png');
}
.gf52-celebration .gf52-curtain-right{
 right:1%;background-image:url('/assets/img/gf87-bee-right.png');
}
.gf52-celebration .gf52-spotlight{
 opacity:.45;top:-19%;height:120%;width:30%;mix-blend-mode:screen;
 background:linear-gradient(180deg,#77dfff88 0%,#e0ecff28 43%,transparent 95%);
}
.gf52-celebration .gf52-light-left{left:8%;transform:rotate(-16deg)}
.gf52-celebration .gf52-light-right{right:8%;transform:rotate(16deg)}
.gf52-celebration .gf52-confetti{
 opacity:1;z-index:1;
 background-image:
  radial-gradient(circle,#ffed9e 0 2px,transparent 3px),
  radial-gradient(circle,#58ccff 0 2px,transparent 3px),
  radial-gradient(circle,#fff4d2 0 1.5px,transparent 3px),
  radial-gradient(circle,#ffd157 0 2px,transparent 3px),
  radial-gradient(circle,#69a8ff 0 2px,transparent 3px);
 background-size:127px 149px,211px 161px,173px 123px,249px 193px,291px 145px;
 background-position:13px 26px,70px 83px,40px 14px,107px 46px,121px 119px;
 mask-image:linear-gradient(#000 0%,#000 78%,transparent 99%);
}
.gf52-celebration .gf52-scene-title{padding:26px 140px 4px;z-index:3}
.gf52-celebration .gf52-eyebrow{font-size:clamp(10px,1.03vw,15px);letter-spacing:.115em;color:#ffde85}
.gf52-celebration .gf52-crown{font-size:26px;margin:0 auto -5px}
/* v1.0.88 visual-only hotfix: brighter gold heading, same size and layout. */
.gf52-celebration .gf52-scene-title h2{
 font-size:clamp(33px,4.15vw,61px);letter-spacing:-.045em;font-weight:950;
 margin:2px auto 4px;line-height:1.12;
 color:#ffe99a;
 background:linear-gradient(180deg,#fffefa 0%,#fff7da 17%,#ffeca9 38%,#ffdc71 60%,#ffd24f 78%,#ffe895 100%);
 -webkit-background-clip:text;background-clip:text;
 -webkit-text-fill-color:transparent;
 text-shadow:none;
 filter:drop-shadow(0 1px 1px #694219ba) drop-shadow(0 4px 5px #06153ab3) drop-shadow(0 0 11px #ffe17e91);
}
.gf52-celebration .gf52-scene-title p{color:#f6f9ff;font-size:clamp(11px,1.1vw,15px);max-width:750px;font-weight:550;text-shadow:0 2px 7px #001132}
.gf52-celebration .gf52-stage{
 width:100%;box-sizing:border-box;max-width:1090px;margin:0 auto;
 padding:38px clamp(20px,4.8vw,65px) 0;gap:7px;z-index:2;
 grid-template-columns:1fr 1.23fr 1fr;
}
.gf52-celebration .gf52-stage::before{
 content:"";position:absolute;z-index:-1;left:0;right:0;bottom:4px;height:72px;
 border-radius:50%;border:3px solid #ffd478e8;
 box-shadow:0 0 18px #ffe2907f,inset 0 0 22px #ffd36170;
 background:radial-gradient(ellipse at center,#ffd76e36,transparent 70%);
}
.gf52-celebration .gf52-medal{
 width:70px;height:70px;margin-bottom:11px;border:3px solid #edf6ff;
 box-shadow:0 0 0 2px #bdd8f9,0 0 21px #c8e1ff9e,0 8px 22px #001635cc;
 background:radial-gradient(circle at 27% 18%,#fff,#dbe8fe 36%,#7f9bbd 92%);
}
.gf52-celebration .gf52-medal span{font-size:36px}
.gf52-celebration .gf52-place-1 .gf52-medal{
 width:92px;height:92px;
 background:radial-gradient(circle at 25% 18%,#fff7d3,#ffdb65 37%,#d59519 84%);
 box-shadow:0 0 0 2px #ffe699,0 0 38px #ffd35ac4,0 9px 22px #001635dd;
}
.gf52-celebration .gf52-place-1 .gf52-medal span{font-size:44px}
.gf52-celebration .gf52-place-1 .gf52-medal::after{
 content:'♛';display:block;position:absolute;top:-49px;left:50%;right:auto;
 font-size:54px;line-height:1;transform:translateX(-50%);color:#ffdc65;
 text-shadow:0 2px 0 #a56c13,0 0 13px #ffdf72;opacity:1;
}
.gf52-celebration .gf52-place-3 .gf52-medal{
 background:radial-gradient(circle at 28% 23%,#ffebd9,#dda77e 47%,#a85e38 92%);
 border-color:#ffe7cd;box-shadow:0 0 0 2px #fbd6b8,0 0 20px #ffb38f9b,0 8px 22px #001635dd;
}
.gf52-celebration .gf52-identity{
 width:min(100%,295px);min-height:63px;margin-bottom:8px;padding:9px 9px;
 border-radius:15px;border:2px solid #f1f9ff;
 box-shadow:0 4px 17px #00153bd1,0 0 15px #9ec7ff60;
}
.gf52-celebration .gf52-identity strong{font-size:clamp(13px,1.53vw,20px);line-height:1.24}
.gf52-celebration .gf52-identity small{font-size:clamp(10px,1vw,13px);margin-top:2px}
.gf52-celebration .gf52-place-1 .gf52-identity{
 border-color:#fff3c2;background:linear-gradient(110deg,#ffe59b,#f9c65c 46%,#fff0b1);
 box-shadow:0 0 24px #ffce4c9e,0 5px 17px #00153ba9;
}
.gf52-celebration .gf52-place-3 .gf52-identity{background:linear-gradient(110deg,#f9d2b6,#ecaa83,#ffe7d3);border-color:#ffdcc7}
.gf52-celebration .gf52-platform{
 border-radius:18px 18px 1px 1px;height:148px;
 box-shadow:inset 0 4px 9px #ffffff9c,inset -8px 0 25px #0a2c6c4d,0 0 29px #c0dfff7f,0 10px 18px #0007;
}
.gf52-celebration .gf52-place-1 .gf52-platform{
 height:207px;background:linear-gradient(112deg,#b9730b,#f7c843 25%,#ffec99 42%,#d99b20 70%,#ae6b10);
 box-shadow:inset 0 4px 9px #fff4b3,inset -12px 0 23px #8d5313aa,0 -5px 31px #ffce73cb,0 7px 22px #0008;
}
.gf52-celebration .gf52-place-3 .gf52-platform{height:119px}
.gf52-celebration .gf52-platform-num{font-size:clamp(45px,5vw,70px)}
.gf52-celebration .gf52-place-1 .gf52-platform-num{font-size:clamp(58px,5.8vw,86px)}
.gf52-celebration .gf52-platform-label{font-size:clamp(11px,1.17vw,16px)}
.gf52-celebration .gf52-floor{
 background:linear-gradient(90deg,#074898,#82bbff 17%,#ffe9a8 48%,#69b8ff 82%,#0a4696);
 height:15px;box-shadow:0 -4px 18px #ffe298a6,0 2px 22px #031027;
}
@media(max-width:1050px){
 .gf52-celebration .gf52-scene{min-height:525px}
 .gf52-celebration .gf52-scene-title{padding:26px 80px 0}
 .gf52-celebration .gf52-curtain{height:48%;top:31%;width:22%}
 .gf52-celebration .gf52-stage{padding:35px 35px 0;max-width:930px}
 .gf52-celebration .gf52-platform{height:115px}
 .gf52-celebration .gf52-place-1 .gf52-platform{height:167px}
 .gf52-celebration .gf52-place-3 .gf52-platform{height:95px}
}
@media(max-width:720px){
 .gf52-celebration .gf52-scene{min-height:400px;border-radius:15px}
 .gf52-celebration .gf52-scene-title{padding:21px 12px 0}
 .gf52-celebration .gf52-scene-title h2{font-size:clamp(25px,6vw,40px)}
 .gf52-celebration .gf52-eyebrow{font-size:9px;letter-spacing:.08em}
 .gf52-celebration .gf52-scene-title p{font-size:10px;line-height:1.45}
 .gf52-celebration .gf52-curtain{height:37%;top:28%;width:21%;opacity:.8}
 .gf52-celebration .gf52-stage{padding:65px 8px 0;gap:4px;grid-template-columns:1fr 1.2fr 1fr}
 .gf52-celebration .gf52-medal{width:40px;height:40px;margin-bottom:6px;border-width:2px}
 .gf52-celebration .gf52-medal span{font-size:21px}
 .gf52-celebration .gf52-place-1 .gf52-medal{width:53px;height:53px}
 .gf52-celebration .gf52-place-1 .gf52-medal span{font-size:28px}
 .gf52-celebration .gf52-place-1 .gf52-medal::after{top:-29px;font-size:32px}
 .gf52-celebration .gf52-identity{min-height:53px;padding:6px 2px;margin-bottom:5px;border-width:1px;border-radius:8px}
 .gf52-celebration .gf52-identity strong{font-size:clamp(10px,2.25vw,15px)}
 .gf52-celebration .gf52-identity small{font-size:9px}
 .gf52-celebration .gf52-platform{height:83px;border-radius:10px 10px 0 0}
 .gf52-celebration .gf52-place-1 .gf52-platform{height:130px}
 .gf52-celebration .gf52-place-3 .gf52-platform{height:69px}
 .gf52-celebration .gf52-platform-num{font-size:32px}
 .gf52-celebration .gf52-place-1 .gf52-platform-num{font-size:39px}
 .gf52-celebration .gf52-platform-label{font-size:9px}
 .gf52-celebration .gf52-floor{height:10px}
}
@media(max-width:440px){
 .gf52-celebration .gf52-scene{min-height:350px}
 .gf52-celebration .gf52-curtain{width:20%;height:26%;top:29%;opacity:.55}
 .gf52-celebration .gf52-stage{padding:48px 6px 0}
 .gf52-celebration .gf52-scene-title h2{font-size:clamp(23px,5.7vw,29px)}
 .gf52-celebration .gf52-place-1 .gf52-platform{height:107px}
 .gf52-celebration .gf52-platform{height:72px}
 .gf52-celebration .gf52-place-3 .gf52-platform{height:58px}
 .gf52-celebration .gf52-identity strong{font-size:10px}
 .gf52-celebration .gf52-platform-num{font-size:28px}
 .gf52-celebration .gf52-place-1 .gf52-platform-num{font-size:33px}
}
@media(prefers-reduced-motion:reduce){.gf52-celebration .gf52-winner{animation:none;opacity:1}}


/* === v1.0.89 | Podium Refined | PUBLIC Grand Final ONLY ===
   This block overrides only the presentation of the existing .gf52 DOM.
   Dynamic names, race outcomes, published tables, score logic, timer and JS are untouched.
   v1.0.88 bright-gold title above remains unchanged. */
.gf52-celebration .gf52-scene{
 min-height:clamp(570px,54vw,738px);
}
.gf52-celebration .gf52-stage{
 max-width:1150px;width:100%;padding:22px clamp(25px,5vw,72px) 0;
 grid-template-columns:minmax(0,1fr) minmax(0,1.18fr) minmax(0,1fr);
 gap:12px;align-items:end;
}
.gf52-celebration .gf52-stage::before{
 left:0;right:0;bottom:-5px;height:100px;border-radius:50%;
 background:radial-gradient(ellipse at 50% 40%,#ffeecf47,#3d65a330 55%,transparent 72%);
 border:3px solid #ffcd5e;
 box-shadow:0 0 0 10px #041c493d,0 0 25px #ffd166b5,inset 0 0 22px #ffd3629c;
}
.gf52-celebration .gf52-stage::after{
 content:"";position:absolute;z-index:-2;left:-3%;right:-3%;bottom:-20px;height:94px;
 border:2px solid #ffd88fba;border-radius:50%;background:linear-gradient(180deg,#073575aa,#03183a 75%);
 box-shadow:0 10px 16px #0009,0 0 24px #ffd06d64;pointer-events:none;
}
.gf52-celebration .gf52-winner{filter:drop-shadow(0 9px 14px #00102d66)}
/* Ornate medals; rank numbers remain actual HTML text. */
.gf52-celebration .gf52-medal,
.gf52-celebration .gf52-place-1 .gf52-medal,
.gf52-celebration .gf52-place-3 .gf52-medal{
 position:relative;isolation:isolate;width:86px;height:86px;margin-bottom:18px;
 border:4px solid #f8fcff;box-shadow:inset 0 4px 7px #fff9,inset 0 -5px 10px #16344b4a,0 0 0 3px #ccdcef,0 0 30px #d5e9ffae,0 8px 19px #06112ed9;
 background:radial-gradient(circle at 32% 20%,#fff 0%,#e8f1fc 26%,#b8cce5 53%,#7295c0 100%);
 color:#1b487b;
}
.gf52-celebration .gf52-medal span{
 position:relative;z-index:2;font-size:44px;color:inherit;line-height:1;
 text-shadow:0 2px 0 #ffffffa6,0 3px 5px #092b5345;
}
.gf52-celebration .gf52-medal::before{
 content:"";position:absolute;inset:-30px -40px;z-index:-1;
 background:url('/assets/img/gf89-wreath-silver.svg') center/contain no-repeat;
 opacity:.95;filter:drop-shadow(0 2px 2px #001733a1);
}
.gf52-celebration .gf52-medal::after{content:none}
.gf52-celebration .gf52-place-1 .gf52-medal{
 width:112px;height:112px;margin-bottom:21px;
 border:4px solid #fffbd8;
 color:#8f5206;background:radial-gradient(circle at 29% 19%,#fffde5 0%,#ffe98e 24%,#ffce36 52%,#c88613 99%);
 box-shadow:inset 0 5px 6px #fff5dcaa,inset 0 -7px 12px #9e5f0780,0 0 0 4px #fac543,0 0 40px #ffd76ac2,0 9px 24px #07152fbd;
}
.gf52-celebration .gf52-place-1 .gf52-medal span{font-size:62px}
.gf52-celebration .gf52-place-1 .gf52-medal::before{
 background-image:url('/assets/img/gf89-wreath-gold.svg');inset:-35px -47px;
}
.gf52-celebration .gf52-place-1 .gf52-medal::after{
 content:"";display:block;position:absolute;left:50%;right:auto;top:-70px;
 width:86px;height:62px;transform:translateX(-50%);
 background:url('/assets/img/gf89-crown.svg') center/contain no-repeat;
 filter:drop-shadow(0 0 8px #ffd160cf) drop-shadow(0 5px 3px #2c1c0f8c);
 opacity:1;
}
.gf52-celebration .gf52-place-3 .gf52-medal{
 border-color:#ffe8d0;color:#824326;
 background:radial-gradient(circle at 28% 20%,#fff2e4,#efc19f 30%,#cc875c 65%,#9c5138);
 box-shadow:inset 0 4px 6px #ffe6d3a6,inset 0 -4px 11px #85402666,0 0 0 3px #efbb98,0 0 27px #ffba8ca0,0 8px 20px #08112bc2;
}
.gf52-celebration .gf52-place-3 .gf52-medal::before{background-image:url('/assets/img/gf89-wreath-bronze.svg')}
/* Glowing, balanced capsule name plates above each step. */
.gf52-celebration .gf52-identity,
.gf52-celebration .gf52-place-1 .gf52-identity,
.gf52-celebration .gf52-place-3 .gf52-identity{
 position:relative;z-index:3;box-sizing:border-box;width:min(100%,315px);min-height:79px;
 border-radius:999px;margin:0 auto 14px;padding:13px 14px;
 border:3px solid #f3faff;
 background:linear-gradient(120deg,#f6fbff 0%,#d2e1f6 34%,#f5faff 57%,#abc2df 100%);
 box-shadow:inset 0 2px 0 #ffffffd6,inset 0 -4px 5px #6e90bd52,0 7px 0 #284c7b78,0 10px 25px #001331ad,0 0 19px #dae9ffd1;
}
.gf52-celebration .gf52-identity strong{
 color:#082c61;font-size:clamp(15px,1.7vw,24px);font-weight:900;line-height:1.15;
 letter-spacing:-.025em;
}
.gf52-celebration .gf52-identity small{
 color:#4d698e;font-size:clamp(11px,1.05vw,15px);font-weight:550;margin-top:5px;
}
.gf52-celebration .gf52-place-1 .gf52-identity{
 width:min(100%,348px);min-height:86px;
 border-color:#fff6ca;
 background:linear-gradient(110deg,#fff0ad 0%,#ffe9a1 32%,#fff5c8 61%,#ffdb69 100%);
 box-shadow:inset 0 2px 0 #fffcea,inset 0 -4px 6px #dda3426e,0 7px 0 #af781fad,0 12px 25px #00122ca8,0 0 27px #ffe083d1;
}
.gf52-celebration .gf52-place-1 .gf52-identity strong{color:#112e63;font-size:clamp(17px,1.92vw,26px)}
.gf52-celebration .gf52-place-1 .gf52-identity small{color:#6a7291}
.gf52-celebration .gf52-place-3 .gf52-identity{
 border-color:#ffe3d1;background:linear-gradient(120deg,#ffe7d6 0%,#efb999 38%,#ffe2d3 62%,#d88e67 100%);
 box-shadow:inset 0 2px 0 #fff4ee,inset 0 -4px 6px #ab694d64,0 7px 0 #844c4177,0 10px 24px #001331bd,0 0 20px #ffbb9cc2;
}
.gf52-celebration .gf52-place-3 .gf52-identity strong{color:#512c26}
.gf52-celebration .gf52-place-3 .gf52-identity small{color:#765057}
/* Solid, more premium three-tier podium. No absolute positioning of names. */
.gf52-celebration .gf52-platform{
 height:177px;border:3px solid #e2f0ff;border-bottom:0;border-radius:24px 24px 2px 2px;gap:7px;
 background:linear-gradient(111deg,#718aaa 0%,#d7e6fa 23%,#edf7ff 38%,#b0c3df 60%,#7891b6 100%);
 box-shadow:inset 0 7px 8px #ffffffc9,inset 13px 0 21px #fff7,inset -16px 0 26px #587398a1,0 -4px 18px #e8f5ffdb,0 13px 17px #001533b0;
}
.gf52-celebration .gf52-platform::before{
 top:2px;left:5%;right:5%;height:12px;background:linear-gradient(90deg,transparent,#ffffffdd 32%,#fff 52%,transparent);
 filter:blur(5px);
}
.gf52-celebration .gf52-platform::after{
 height:19px;border-top:2px solid #ffffff9a;
 background:linear-gradient(180deg,#fff6 0%,#4268998c 100%);
}
.gf52-celebration .gf52-place-1 .gf52-platform{
 height:246px;border-color:#ffe59b;border-bottom:0;border-radius:30px 30px 2px 2px;
 background:linear-gradient(108deg,#bd780f 0%,#ffd75e 20%,#ffea97 39%,#ffcd46 63%,#b97716 100%);
 box-shadow:inset 0 9px 10px #fffbd5cf,inset 15px 0 29px #fff3bcac,inset -18px 0 31px #8b4c0780,0 -5px 26px #ffe290c9,0 13px 21px #001636cc;
}
.gf52-celebration .gf52-place-1 .gf52-platform::after{
 border-top-color:#fff2aa;background:linear-gradient(180deg,#ffe5a65e,#a9670b9e);
}
.gf52-celebration .gf52-place-3 .gf52-platform{
 height:151px;border-color:#f7c8ac;
 background:linear-gradient(111deg,#995339,#e8b391 26%,#ffd3b3 41%,#da956c 69%,#9b553a);
 box-shadow:inset 0 7px 9px #ffe6d7b9,inset 13px 0 24px #ffe1c57a,inset -17px 0 22px #7d3f2c85,0 -4px 20px #f6c3a9bd,0 13px 18px #001533ad;
}
.gf52-celebration .gf52-platform-num,
.gf52-celebration .gf52-place-1 .gf52-platform-num{
 position:relative;display:grid;place-items:center;flex:none;
 width:clamp(110px,13vw,170px);height:clamp(95px,11vw,135px);
 font-size:clamp(64px,6.9vw,100px);font-weight:950;line-height:1;
 color:#fff;text-shadow:0 3px 2px #294e8d88,0 8px 6px #00214878;
}
.gf52-celebration .gf52-platform-num::before{
 content:"";position:absolute;z-index:-1;inset:-12px -31px;
 background:url('/assets/img/gf89-wreath-silver.svg') center/contain no-repeat;
 filter:drop-shadow(0 2px 2px #12264c62);opacity:.95;
}
.gf52-celebration .gf52-place-1 .gf52-platform-num{
 color:#fff4ca;text-shadow:0 2px #a26c13,0 6px 8px #673c149c;
 width:clamp(130px,15vw,205px);height:clamp(112px,13vw,170px);
 font-size:clamp(77px,8vw,116px);
}
.gf52-celebration .gf52-place-1 .gf52-platform-num::before{background-image:url('/assets/img/gf89-wreath-gold.svg')}
.gf52-celebration .gf52-place-3 .gf52-platform-num::before{background-image:url('/assets/img/gf89-wreath-bronze.svg')}
.gf52-celebration .gf52-platform-label,
.gf52-celebration .gf52-place-1 .gf52-platform-label{
 display:block;box-sizing:border-box;position:relative;z-index:2;
 width:min(78%,245px);padding:9px 10px;border-radius:999px;border:2px solid #e8f2ff;
 background:linear-gradient(180deg,#759ac5,#426690 75%,#33587f);
 box-shadow:inset 0 2px 0 #fff8,0 4px 8px #04173a80;
 color:#fff;font-size:clamp(14px,1.65vw,22px);font-weight:900;text-align:center;
 text-shadow:0 2px 2px #001e4973;
}
.gf52-celebration .gf52-place-1 .gf52-platform-label{
 background:linear-gradient(180deg,#dba22f,#b87a08 77%,#86530e);
 border-color:#fff5c9;box-shadow:inset 0 2px 0 #fff8,0 5px 8px #71410a9c;
}
.gf52-celebration .gf52-place-3 .gf52-platform-label{
 background:linear-gradient(180deg,#c88966,#975639 78%,#713c2c);border-color:#ffdcc8;
}
.gf52-celebration .gf52-floor{
 position:relative;height:19px;
 background:linear-gradient(90deg,#022b6a 0%,#7fbeff 20%,#ffdf88 42%,#ffefb2 53%,#83c5ff 82%,#052f79);
 border-top:2px solid #ffe29d;
 box-shadow:0 -3px 21px #ffd773bb,0 6px 12px #061432;
}
@media(max-width:1050px){
 .gf52-celebration .gf52-scene{min-height:585px}
 .gf52-celebration .gf52-stage{padding:18px 31px 0;gap:8px}
 .gf52-celebration .gf52-medal,.gf52-celebration .gf52-place-3 .gf52-medal{width:68px;height:68px;margin-bottom:14px}
 .gf52-celebration .gf52-place-1 .gf52-medal{width:90px;height:90px;margin-bottom:16px}
 .gf52-celebration .gf52-medal span{font-size:36px}
 .gf52-celebration .gf52-place-1 .gf52-medal span{font-size:49px}
 .gf52-celebration .gf52-place-1 .gf52-medal::after{width:70px;height:48px;top:-55px}
 .gf52-celebration .gf52-identity,.gf52-celebration .gf52-place-3 .gf52-identity{min-height:65px;margin-bottom:10px}
 .gf52-celebration .gf52-place-1 .gf52-identity{min-height:71px}
 .gf52-celebration .gf52-platform{height:140px}
 .gf52-celebration .gf52-place-1 .gf52-platform{height:201px}
 .gf52-celebration .gf52-place-3 .gf52-platform{height:115px}
 .gf52-celebration .gf52-platform-num,.gf52-celebration .gf52-place-1 .gf52-platform-num{height:92px;font-size:67px}
 .gf52-celebration .gf52-place-1 .gf52-platform-num{height:124px;font-size:85px}
}
@media(max-width:720px){
 .gf52-celebration .gf52-scene{min-height:440px}
 .gf52-celebration .gf52-stage{padding:32px 12px 0;gap:5px;grid-template-columns:minmax(0,1fr) minmax(0,1.18fr) minmax(0,1fr)}
 .gf52-celebration .gf52-stage::before{height:56px;bottom:-4px;border-width:2px}
 .gf52-celebration .gf52-stage::after{height:46px;bottom:-13px}
 .gf52-celebration .gf52-medal,.gf52-celebration .gf52-place-3 .gf52-medal{width:45px;height:45px;border-width:2px;margin-bottom:9px}
 .gf52-celebration .gf52-place-1 .gf52-medal{width:59px;height:59px;border-width:3px;margin-bottom:11px}
 .gf52-celebration .gf52-medal span{font-size:24px}
 .gf52-celebration .gf52-place-1 .gf52-medal span{font-size:34px}
 .gf52-celebration .gf52-medal::before{inset:-18px -24px}
 .gf52-celebration .gf52-place-1 .gf52-medal::before{inset:-23px -26px}
 .gf52-celebration .gf52-place-1 .gf52-medal::after{width:51px;height:39px;top:-43px}
 .gf52-celebration .gf52-identity,.gf52-celebration .gf52-place-1 .gf52-identity,.gf52-celebration .gf52-place-3 .gf52-identity{
  min-height:59px;padding:7px 4px;border-width:2px;margin-bottom:6px;border-radius:15px;
 }
 .gf52-celebration .gf52-identity strong,.gf52-celebration .gf52-place-1 .gf52-identity strong{font-size:clamp(10px,2.4vw,15px)}
 .gf52-celebration .gf52-identity small{font-size:9px;margin-top:4px}
 .gf52-celebration .gf52-platform{height:104px;border-radius:13px 13px 1px 1px;border-width:2px}
 .gf52-celebration .gf52-place-1 .gf52-platform{height:151px;border-radius:15px 15px 1px 1px}
 .gf52-celebration .gf52-place-3 .gf52-platform{height:87px}
 .gf52-celebration .gf52-platform-num,.gf52-celebration .gf52-place-1 .gf52-platform-num{width:74px;height:60px;font-size:42px}
 .gf52-celebration .gf52-place-1 .gf52-platform-num{width:92px;height:90px;font-size:56px}
 .gf52-celebration .gf52-platform-num::before{inset:-7px -14px}
 .gf52-celebration .gf52-platform-label,.gf52-celebration .gf52-place-1 .gf52-platform-label{width:88%;font-size:clamp(9px,2.1vw,13px);border-width:1px;padding:5px 2px}
 .gf52-celebration .gf52-floor{height:13px}
}
@media(max-width:440px){
 .gf52-celebration .gf52-scene{min-height:365px}
 .gf52-celebration .gf52-stage{padding:42px 6px 0;gap:3px}
 .gf52-celebration .gf52-stage::before{height:45px}
 .gf52-celebration .gf52-stage::after{height:32px}
 .gf52-celebration .gf52-medal,.gf52-celebration .gf52-place-3 .gf52-medal{width:36px;height:36px;border-width:2px;margin-bottom:8px}
 .gf52-celebration .gf52-medal span{font-size:20px}
 .gf52-celebration .gf52-place-1 .gf52-medal{width:46px;height:46px;border-width:2px;margin-bottom:8px}
 .gf52-celebration .gf52-place-1 .gf52-medal span{font-size:27px}
 .gf52-celebration .gf52-place-1 .gf52-medal::after{top:-30px;width:37px;height:28px}
 .gf52-celebration .gf52-medal::before{inset:-14px -17px}
 .gf52-celebration .gf52-place-1 .gf52-medal::before{inset:-15px -20px}
 .gf52-celebration .gf52-identity,.gf52-celebration .gf52-place-1 .gf52-identity,.gf52-celebration .gf52-place-3 .gf52-identity{
  min-height:51px;padding:5px 2px;border-width:1px;margin-bottom:5px;border-radius:11px;
 }
 .gf52-celebration .gf52-identity strong,.gf52-celebration .gf52-place-1 .gf52-identity strong{font-size:10px;line-height:1.15}
 .gf52-celebration .gf52-identity small{font-size:8px;margin-top:3px}
 .gf52-celebration .gf52-platform{height:81px;border-radius:10px 10px 1px 1px}
 .gf52-celebration .gf52-place-1 .gf52-platform{height:121px;border-radius:11px 11px 1px 1px}
 .gf52-celebration .gf52-place-3 .gf52-platform{height:72px}
 .gf52-celebration .gf52-platform-num,.gf52-celebration .gf52-place-1 .gf52-platform-num{height:45px;width:60px;font-size:34px}
 .gf52-celebration .gf52-place-1 .gf52-platform-num{height:67px;width:78px;font-size:47px}
 .gf52-celebration .gf52-platform-num::before{inset:-5px -13px}
 .gf52-celebration .gf52-platform-label,.gf52-celebration .gf52-place-1 .gf52-platform-label{font-size:9px;padding:4px 2px;min-width:0}
 .gf52-celebration .gf52-floor{height:10px}
}
/* Ensure the Juara label is fully inside each step on wider screens. */
@media(min-width:1051px){
 .gf52-celebration .gf52-platform-num{height:118px}
 .gf52-celebration .gf52-place-1 .gf52-platform-num{height:170px}
 .gf52-celebration .gf52-place-3 .gf52-platform-num{height:96px}
}
@media(min-width:721px) and (max-width:1050px){
 .gf52-celebration .gf52-platform-num{height:80px}
 .gf52-celebration .gf52-place-1 .gf52-platform-num{height:124px}
 .gf52-celebration .gf52-place-3 .gf52-platform-num{height:63px}
}
@media(prefers-reduced-motion:reduce){.gf52-celebration .gf52-winner{animation:none;opacity:1}}


/* ================================================================
 UTEC SPB 2026 | v1.0.90 | EXACT-PREVIEW podium scene
 Only public Grand Final celebration .gf52-* is affected.
 Preview artwork used as decorative backdrop; identities remain
 live HTML from existing scoring API. No changes to API or JS.
================================================================ */
.gf52-celebration .gf52-scene {container-type:inline-size}
@media(min-width:701px){
 .gf52-celebration .gf52-scene{
  background:#061e4c url('/assets/img/gf90-grand-final-scene.webp') center top / 100% 100% no-repeat!important;
  width:100%;height:auto!important;min-height:0!important;aspect-ratio:1672 / 861;
  display:block;border:0;border-radius:20px;overflow:hidden;
  box-shadow:0 11px 26px #08245b2a;
 }
 .gf52-celebration .gf52-scene::before,
 .gf52-celebration .gf52-scene::after,
 .gf52-celebration .gf52-spotlight,
 .gf52-celebration .gf52-curtain,
 .gf52-celebration .gf52-confetti,
 .gf52-celebration .gf52-floor{display:none!important}
 /* Title is already rendered in the approved artwork, which contains
    no personal winner information. Original HTML remains in DOM. */
 .gf52-celebration .gf52-scene-title{position:absolute;opacity:0;pointer-events:none;inset:0; padding:0;overflow:hidden}
 .gf52-celebration .gf52-stage{
  position:absolute!important;inset:0!important;display:block!important;
  height:100%!important;width:100%!important;max-width:none!important;
  min-height:0!important;margin:0!important;padding:0!important;gap:0!important;
  background:transparent!important;z-index:3;
 }
 .gf52-celebration .gf52-stage::before,
 .gf52-celebration .gf52-stage::after{display:none!important}
 .gf52-celebration .gf52-winner{position:absolute!important;display:block!important;opacity:1!important;animation:none!important;transform:none!important;filter:none!important;min-width:0!important;min-height:0!important;margin:0!important;padding:0!important}
 .gf52-celebration .gf52-place-2{left:17.05%!important;top:49.20%!important;width:19.50%!important;height:10.82%!important}
 .gf52-celebration .gf52-place-1{left:37.74%!important;top:44.36%!important;width:23.46%!important;height:12.22%!important}
 .gf52-celebration .gf52-place-3{left:62.28%!important;top:49.65%!important;width:21.20%!important;height:10.70%!important}
 .gf52-celebration .gf52-medal,
 .gf52-celebration .gf52-platform,
 .gf52-celebration .gf52-platform-num,
 .gf52-celebration .gf52-platform-label{display:none!important}
 /* Cover old lettering beneath the plaque with opaque, matched material;
    only dynamic HTML names are shown. */
 .gf52-celebration .gf52-identity,
 .gf52-celebration .gf52-place-1 .gf52-identity,
 .gf52-celebration .gf52-place-3 .gf52-identity{
  position:absolute!important;inset:0!important;display:flex!important;flex-direction:column!important;
  align-items:center!important;justify-content:center!important;
  box-sizing:border-box!important;width:100%!important;height:100%!important;min-height:0!important;
  max-width:none!important;margin:0!important;padding:.1em .4em!important;
  border-radius:100px!important;border:clamp(1px,.23cqw,4px) solid #f8fbff!important;
  box-shadow:inset 0 2px 2px #ffffffb8,inset 0 -4px 6px #7f94c36b,0 3px 0 #4d6881,0 6px 10px #0016349c!important;
  background:linear-gradient(160deg,#f9fcff 0%,#d5e2f5 52%,#f2f8ff 100%)!important;
  text-align:center!important;overflow:hidden;
 }
 .gf52-celebration .gf52-place-1 .gf52-identity{
  border-color:#fff1a8!important;
  background:linear-gradient(160deg,#fff6ce 0%,#ffde81 52%,#fff0b0 100%)!important;
  box-shadow:inset 0 3px 2px #fffbe9,inset 0 -4px 4px #f2b94ca3,0 3px 0 #a46712,0 7px 16px #100e308c,0 0 15px #ffe08c55!important;
 }
 .gf52-celebration .gf52-place-3 .gf52-identity{
  border-color:#ffe7d9!important;
  background:linear-gradient(160deg,#ffe7da 0%,#efb89f 49%,#ffdfcf 100%)!important;
  box-shadow:inset 0 3px 2px #fff1e9,inset 0 -4px 4px #bb7b6381,0 3px 0 #995c45,0 6px 13px #1a162d8e!important;
 }
 .gf52-celebration .gf52-identity strong,
 .gf52-celebration .gf52-place-1 .gf52-identity strong,
 .gf52-celebration .gf52-place-3 .gf52-identity strong{
  display:block!important;font-family:Arial,Helvetica,sans-serif!important;
  font-size:clamp(11px,2.05cqw,38px)!important;font-weight:850!important;line-height:1.08!important;
  letter-spacing:-.032em!important;color:#092859!important;text-shadow:none!important;
  overflow-wrap:anywhere!important;max-width:96%!important;
 }
 .gf52-celebration .gf52-place-1 .gf52-identity strong{font-size:clamp(12px,2.18cqw,40px)!important}
 .gf52-celebration .gf52-place-3 .gf52-identity strong{font-size:clamp(11px,2.04cqw,37px)!important}
 .gf52-celebration .gf52-identity small,
 .gf52-celebration .gf52-place-1 .gf52-identity small,
 .gf52-celebration .gf52-place-3 .gf52-identity small{
  display:block!important;font-family:Arial,Helvetica,sans-serif!important;
  font-size:clamp(9px,1.28cqw,22px)!important;font-weight:450!important;line-height:1.3!important;
  margin-top:.12em!important;color:#496e9f!important;text-shadow:none!important;
 }
 .gf52-celebration .gf52-place-1 .gf52-identity small{color:#486a9e!important}
 .gf52-celebration .gf52-place-3 .gf52-identity small{color:#755d65!important}
}
/* Responsive, readable portrait layout: the same navy-gold/honeycomb
   theme and approved podium material, not a microscopic desktop poster. */
@media(max-width:700px){
 .gf52-celebration .gf52-scene{
  display:flex!important;flex-direction:column!important;aspect-ratio:auto!important;
  min-height:700px!important;height:auto!important;border-radius:16px;
  background:radial-gradient(ellipse 85% 53% at 50% 60%,#1554a1 0%,transparent 90%),linear-gradient(165deg,#061842 0%,#103d84 56%,#061c4c 100%)!important;
 }
 .gf52-celebration .gf52-scene::before{
  display:block!important;content:""!important;inset:0!important;position:absolute;
  background:url('/assets/img/gf87-honey-hexagon.svg') center top / cover no-repeat!important;opacity:.75;z-index:0;
 }
 .gf52-celebration .gf52-scene::after{display:none!important}
 .gf52-celebration .gf52-scene-title{display:block!important;position:relative!important;opacity:1!important;visibility:visible!important;padding:23px 16px 2px!important}
 .gf52-celebration .gf52-scene-title h2{font-size:clamp(29px,8cqw,45px)!important;white-space:normal;line-height:1.15}
 .gf52-celebration .gf52-scene-title p{font-size:clamp(11px,3.1cqw,14px)!important;line-height:1.45}
 .gf52-celebration .gf52-eyebrow{font-size:clamp(9px,2.5cqw,12px)!important;letter-spacing:.06em}
 .gf52-celebration .gf52-curtain{display:block!important;top:20%!important;width:25%!important;height:24%!important;opacity:.85!important}
 .gf52-celebration .gf52-curtain-left{left:-5%!important}
 .gf52-celebration .gf52-curtain-right{right:-5%!important}
 .gf52-celebration .gf52-spotlight{opacity:.20!important}
 .gf52-celebration .gf52-confetti{opacity:.7!important}
 .gf52-celebration .gf52-stage{
  position:relative!important;display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;
  grid-template-rows:auto auto!important;align-items:end!important;
  gap:36px 10px!important;flex:1!important;width:100%!important;max-width:none!important;
  margin:0!important;padding:75px 14px 34px!important;min-height:500px!important;
 }
 .gf52-celebration .gf52-stage::before,
 .gf52-celebration .gf52-stage::after{display:none!important}
 .gf52-celebration .gf52-winner{
  position:relative!important;left:auto!important;right:auto!important;top:auto!important;bottom:auto!important;
  display:flex!important;flex-direction:column!important;align-items:center!important;
  width:100%!important;height:auto!important;min-height:0!important;
  opacity:1!important;animation:none!important;filter:none!important;
 }
 .gf52-celebration .gf52-place-1{grid-column:1/-1!important;grid-row:1!important;justify-self:center;width:76%!important}
 .gf52-celebration .gf52-place-2{grid-column:1!important;grid-row:2!important}
 .gf52-celebration .gf52-place-3{grid-column:2!important;grid-row:2!important}
 .gf52-celebration .gf52-medal,
 .gf52-celebration .gf52-place-1 .gf52-medal,
 .gf52-celebration .gf52-place-3 .gf52-medal{
  display:grid!important;position:relative!important;width:56px!important;height:56px!important;
  margin:0 auto 9px!important;border:3px solid #f7fbff!important;
  box-shadow:inset 0 2px 5px #ffffffbb,0 0 0 2px #a4b8d9,0 0 19px #e2edffca,0 7px 12px #021e4bb1!important;
  background:radial-gradient(circle at 28% 20%,#fff,#d8e9fa 36%,#7799bf 100%)!important;
 }
 .gf52-celebration .gf52-place-1 .gf52-medal{
  width:74px!important;height:74px!important;border-color:#fff4bc!important;
  background:radial-gradient(circle at 28% 15%,#fffbdc 0%,#ffd85b 40%,#bf7611 100%)!important;
  box-shadow:0 0 0 2px #dca62f,0 0 27px #ffe57fc9,0 6px 15px #190a04bb!important;
 }
 .gf52-celebration .gf52-place-3 .gf52-medal{background:radial-gradient(circle at 28% 20%,#ffe9df,#e8ac8a 45%,#a55a3d 100%)!important;border-color:#ffe4d2!important}
 .gf52-celebration .gf52-medal span,
 .gf52-celebration .gf52-place-1 .gf52-medal span{font-size:33px!important;line-height:1!important}
 .gf52-celebration .gf52-place-1 .gf52-medal span{font-size:42px!important}
 .gf52-celebration .gf52-medal::before{display:none!important}
 .gf52-celebration .gf52-medal::after{display:none!important}
 .gf52-celebration .gf52-place-1 .gf52-medal::after{
  display:block!important;content:'👑'!important;position:absolute!important;top:-38px!important;left:50%!important;right:auto!important;
  transform:translateX(-50%)!important;width:auto!important;height:auto!important;
  font-size:34px!important;line-height:1!important;background:none!important;opacity:1!important;filter:none!important;
 }
 .gf52-celebration .gf52-identity,
 .gf52-celebration .gf52-place-1 .gf52-identity,
 .gf52-celebration .gf52-place-3 .gf52-identity{
  position:relative!important;inset:auto!important;box-sizing:border-box!important;width:100%!important;
  height:auto!important;min-height:55px!important;max-width:none!important;
  border-radius:100px!important;border:2px solid #f7faff!important;
  margin:0 0 9px!important;padding:7px 7px!important;
  background:linear-gradient(145deg,#fff,#d5e4f7,#edf7ff)!important;
  box-shadow:inset 0 2px 2px #fff,0 4px 10px #001435a8!important;
  overflow:visible!important;
 }
 .gf52-celebration .gf52-place-1 .gf52-identity{background:linear-gradient(160deg,#fff3c6,#ffdc7d,#fff2be)!important;border-color:#fff4ba!important}
 .gf52-celebration .gf52-place-3 .gf52-identity{background:linear-gradient(160deg,#ffe8d8,#efb99f,#ffe1ce)!important;border-color:#ffe9db!important}
 .gf52-celebration .gf52-identity strong,
 .gf52-celebration .gf52-place-1 .gf52-identity strong,
 .gf52-celebration .gf52-place-3 .gf52-identity strong{
  font-size:clamp(11px,3.9cqw,17px)!important;line-height:1.17!important;
  color:#082958!important;text-shadow:none!important;overflow-wrap:anywhere!important;
 }
 .gf52-celebration .gf52-place-1 .gf52-identity strong{font-size:clamp(15px,5cqw,21px)!important}
 .gf52-celebration .gf52-identity small{font-size:clamp(10px,2.7cqw,13px)!important;margin-top:3px!important}
 .gf52-celebration .gf52-platform,
 .gf52-celebration .gf52-place-1 .gf52-platform,
 .gf52-celebration .gf52-place-3 .gf52-platform{
  display:flex!important;position:relative!important;width:100%!important;
  min-height:0!important;height:108px!important;gap:5px!important;
  border-radius:18px 18px 3px 3px!important;border:3px solid #edf7ff!important;
  box-shadow:inset 0 5px 8px #fff9,inset -8px 0 20px #6880a990,0 0 18px #afccfa7c,0 7px 14px #001131b1!important;
  background:linear-gradient(109deg,#6888b0,#d8e6f7 34%,#a5c2e5 67%,#6a85ac)!important;
 }
 .gf52-celebration .gf52-place-1 .gf52-platform{
  height:137px!important;border-color:#ffe5a1!important;
  background:linear-gradient(115deg,#bf7618,#ffdb60 25%,#fff3ab 47%,#ffca41 70%,#b36c0e)!important;
  box-shadow:inset 0 6px 9px #fff4c6,0 0 26px #ffd874bf,0 8px 17px #05102cb0!important;
 }
 .gf52-celebration .gf52-place-3 .gf52-platform{
  background:linear-gradient(113deg,#985336,#f6c2a0 34%,#f0b693 67%,#aa6041)!important;
  border-color:#f5cbb9!important;
 }
 .gf52-celebration .gf52-platform-num,
 .gf52-celebration .gf52-place-1 .gf52-platform-num{
  position:relative!important;display:block!important;width:auto!important;height:auto!important;
  font-size:57px!important;line-height:1!important;color:#fff!important;text-shadow:0 3px 6px #041c4a99!important;
 }
 .gf52-celebration .gf52-place-1 .gf52-platform-num{font-size:80px!important;color:#fff6bd!important;text-shadow:0 4px 5px #89540dbd!important}
 .gf52-celebration .gf52-platform-num::before{display:none!important}
 .gf52-celebration .gf52-platform-label,
 .gf52-celebration .gf52-place-1 .gf52-platform-label,
 .gf52-celebration .gf52-place-3 .gf52-platform-label{
  display:block!important;box-sizing:border-box!important;width:82%!important;border-radius:999px!important;
  padding:6px 2px!important;font-size:clamp(11px,3.2cqw,16px)!important;
  border:2px solid #eef6ff!important;color:#fff!important;text-shadow:0 1px 3px #0005!important;
  background:linear-gradient(180deg,#6b91bf,#294e83)!important;
 }
 .gf52-celebration .gf52-place-1 .gf52-platform-label{background:linear-gradient(#df9e20,#975d09)!important;border-color:#ffeba8!important}
 .gf52-celebration .gf52-place-3 .gf52-platform-label{background:linear-gradient(#bf785b,#8b442f)!important;border-color:#ffe0d0!important}
 .gf52-celebration .gf52-floor{display:block!important;height:11px!important;flex:0 0 auto!important}
}
