/* Public award ceremony; admin charts retain their editing controls. */
.winner-stage .winner-backdrop{position:absolute;inset:-18px;width:calc(100% + 36px);height:calc(100% + 36px);max-width:none;object-fit:cover;filter:blur(2px);opacity:.65;z-index:-2;pointer-events:none}
.winner-stage.has-winner-image::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,#24132e70,#1b1028c9 65%,#160e22eb);z-index:-1;pointer-events:none}
.winner-image-editor{margin:22px 0;padding:18px;border:1px solid #c59bde42;border-radius:16px;background:#ac72db09}
.winner-image-editor h3{font-size:16px}
.winner-image-editor .help{line-height:1.6}
.winner-image-preview{margin:12px 0}
.winner-image-preview img{display:block;width:100%;height:145px;object-fit:cover;border-radius:12px;border:1px solid #bb91d44a}
.winner-file-label{display:block;font-size:13px;margin:16px 0 0}
.winner-file-label input{display:block;width:100%;margin-top:9px;padding:10px;font-size:12px}
.winner-image-editor .result-actions button{font-size:12px;padding:10px 13px}
.results-hero{position:relative;text-align:center;padding:70px 0 30px}
.results-hero .eyebrow{letter-spacing:3px;font-size:11px;color:#ceb1eb}
.results-hero h1{font-size:clamp(36px,5.5vw,74px);letter-spacing:-2px;line-height:1.16;margin:25px 0}
.results-hero h1 em{color:#e1bdff;text-shadow:0 0 40px #b86aff3b}
.results-hero p{max-width:520px;margin:0 auto;color:#baa7cc;line-height:1.8}
.results-hero-rule{display:flex;align-items:center;gap:20px;max-width:620px;margin:36px auto 0;color:#d5aaff;font-size:24px}
.results-hero-rule::before,.results-hero-rule::after{content:"";height:1px;flex:1;background:linear-gradient(90deg,transparent,#b57fdf77)}
.results-hero-rule::after{transform:rotate(180deg)}
.public-page .results-category{padding:40px 0 18px;border:0;min-width:0}
.results-category .section-head{margin:0 0 32px;flex-wrap:wrap}
.results-seal{margin-left:auto;font-size:10px;letter-spacing:2px;color:#b59bc7}
.awards-layout{display:grid;grid-template-columns:minmax(280px,.85fr) minmax(0,1.15fr);gap:38px;align-items:stretch}
.winner-stage{position:relative;isolation:isolate;overflow:hidden;padding:30px 24px 28px;text-align:center;border:1px solid #b48ad366;border-radius:30px;background:radial-gradient(ellipse at 50% 32%,#a55cdb40,transparent 65%),linear-gradient(150deg,#382346,#20172c);box-shadow:inset 0 0 45px #a26bce0c,0 20px 50px #0d061c55}
.winner-stage::before{content:"";position:absolute;inset:12px;border:1px solid #c99be21f;border-radius:22px;pointer-events:none;z-index:-1}
.winner-intro{font-size:11px;letter-spacing:3px;color:#e6c88d;margin:5px 0 36px}
.winner-portraits{display:flex;justify-content:center;flex-wrap:wrap;gap:32px}
.winner-feature{min-width:0;flex:1 1 160px}
.winner-halo{position:relative;width:190px;height:190px;display:grid;place-items:center;margin:0 auto}
.winner-halo::before{content:"";position:absolute;inset:0;border:1px solid #d9b1f152;border-radius:50%;outline:1px solid #d9b1f11c;outline-offset:10px;box-shadow:0 0 45px #ad62ff30}
.winner-portrait{position:relative;width:168px;height:168px}
.winner-portrait>img{display:block;width:100%;height:100%;object-fit:cover;border-radius:50%;border:3px solid #edce89;box-shadow:0 0 0 5px #dec08220,0 10px 35px #11071e80}
.winner-crown{position:absolute;width:68px;height:44px;top:-37px;left:50%;transform:translateX(-50%) rotate(-8deg);color:#efd18c;filter:drop-shadow(0 3px 8px #a9653266);overflow:visible}
.winner-feature h3{font-size:clamp(24px,3vw,36px);margin:22px 0 0;overflow-wrap:anywhere}
.winner-percent{font-size:clamp(44px,5vw,64px);line-height:1.2;color:#edd8ff;margin:8px 0 17px;font-weight:700;letter-spacing:-3px}
.winner-percent span{font-size:.42em;margin-left:5px;letter-spacing:0;color:#c59de1}
.result-clip{color:#c5a2de;font-size:12px;text-decoration:none;border-bottom:1px solid #c5a2de44;padding-bottom:3px}
.result-clip:hover{color:#f2dcff;border-color:currentColor}
.winner-footnote{display:block;font-size:10px;color:#ab92bd;margin-top:30px}
.shared-victory .winner-halo{width:120px;height:120px}.shared-victory .winner-portrait{width:104px;height:104px}.shared-victory h3{font-size:22px}.shared-victory .winner-percent{font-size:38px}
.results-ranking{padding:10px 0;min-width:0}
.ranking-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 0 12px;border-bottom:1px solid #c49cde33}
.ranking-heading h3{font-size:17px;margin:0;color:#d8c2e7}
.ranking-heading>span{font-size:9px;letter-spacing:1.5px;color:#a489b8}
.result-ranks{list-style:none;margin:0;padding:0}
.result-rank{display:grid;grid-template-columns:24px 60px minmax(0,1fr) auto;gap:16px;align-items:center;padding:24px 0;border-bottom:1px solid #c49cde22}
.result-place{color:#8e729f;font-size:12px}
.rank-avatar{position:relative;width:60px;height:60px}
.rank-avatar>img{display:block;width:60px;height:60px;object-fit:cover;border-radius:18px;border:1px solid #d4b4eb55}
.rank-winner .rank-avatar>img{border:2px solid #e6c788}
.rank-avatar .winner-crown{width:27px;height:20px;top:-15px}
.rank-info{min-width:0}.rank-info>strong{display:block;font-size:16px;overflow-wrap:anywhere}
.rank-track{display:block;width:100%;height:5px;margin:10px 0;border-radius:5px;background:#c49cde17;overflow:hidden}.track-fill{fill:#c59de8}.rank-winner .track-fill{fill:#eed397}
.rank-track>span{display:block;height:100%;border-radius:5px;background:linear-gradient(90deg,#8859bc,#dbb8ff)}
.rank-winner .rank-track>span{background:linear-gradient(90deg,#bb8a4e,#f4dba0)}
.rank-percent{font-size:clamp(23px,3vw,34px);color:#debfef;white-space:nowrap;letter-spacing:-1px}
.rank-percent>span{font-size:.48em;margin-left:3px;color:#a68bb9}
.rank-winner .rank-percent{color:#eed397}
.results-interlude{display:flex;justify-content:center;align-items:center;gap:22px;color:#b391ca;margin:40px 0 0;padding:30px 0;background:radial-gradient(ellipse,#9f60ce12,transparent 70%)}
.results-interlude p{font-size:9px;letter-spacing:3px;text-align:center}
.results-interlude>span{font-size:21px}
@media(max-width:850px){.awards-layout{grid-template-columns:1fr;gap:26px}.winner-stage{max-width:600px;width:100%;margin:0 auto}.results-seal{display:none}.results-category .section-head{margin-bottom:24px}}
@media(max-width:500px){.results-hero{padding-top:35px}.results-hero .eyebrow{letter-spacing:1.5px;font-size:9px}.results-hero h1{letter-spacing:-1px}.result-rank{grid-template-columns:18px 48px minmax(0,1fr) auto;gap:10px;padding:22px 0}.rank-avatar,.rank-avatar>img{width:48px;height:48px}.rank-info>strong{font-size:13px}.rank-percent{font-size:25px}.winner-stage{padding:28px 18px}.results-interlude{gap:12px}.results-interlude p{font-size:8px;letter-spacing:1.5px}.results-category .section-head h2{font-size:22px}}
