.winner-page{
    max-width:980px;margin:0 auto;padding:10px 0 40px;
}
.winner-hero{
    position:relative;overflow:hidden;border-radius:28px;
    background:linear-gradient(135deg,#1e1b4b 0%,#6d28d9 45%,#ec4899 100%);
    color:#fff;padding:30px 22px;margin-bottom:22px;
    box-shadow:0 30px 80px rgba(109,40,217,.4);
}
.winner-hero::before{
    content:"";position:absolute;inset:0;
    background:
            radial-gradient(circle at 15% 20%,rgba(251,191,36,.35),transparent 40%),
            radial-gradient(circle at 85% 80%,rgba(34,211,238,.3),transparent 45%);
    pointer-events:none;
}
.winner-hero-inner{position:relative;z-index:2;display:grid;grid-template-columns:1fr;gap:24px;align-items:center}
@media(min-width:760px){
    .winner-hero{padding:48px 40px}
    .winner-hero-inner{grid-template-columns:1.1fr .9fr;gap:36px}
}
.winner-photo-wrap{
    position:relative;display:flex;justify-content:center;align-items:center;
}
.winner-photo-frame{
    position:relative;width:100%;max-width:360px;aspect-ratio:1/1;
    border-radius:24px;overflow:hidden;
    box-shadow:0 25px 60px rgba(0,0,0,.45);
    border:5px solid rgba(255,255,255,.22);
    background:linear-gradient(135deg,#0f172a,#1e1b4b);
}
.winner-photo-frame img{width:100%;height:100%;object-fit:cover;display:block}
.winner-photo-placeholder{
    width:100%;height:100%;display:flex;align-items:center;justify-content:center;
    font-size:120px;color:rgba(255,255,255,.35);
}
.winner-photo-glow{
    position:absolute;inset:-30px;border-radius:50%;
    background:radial-gradient(circle,rgba(251,191,36,.45),transparent 60%);
    filter:blur(30px);z-index:-1;animation:winGlow 3s ease-in-out infinite;
}
@keyframes winGlow{0%,100%{opacity:.6;transform:scale(1)}50%{opacity:1;transform:scale(1.08)}}

.winner-body{text-align:center}
@media(min-width:760px){.winner-body{text-align:left}}
.winner-crown{display:inline-flex;color:#fbbf24;filter:drop-shadow(0 6px 18px rgba(251,191,36,.55));margin-bottom:10px}
.winner-kicker{
    display:inline-flex;align-items:center;gap:6px;
    background:rgba(255,255,255,.2);backdrop-filter:blur(8px);
    color:#fff;padding:6px 14px;border-radius:999px;
    font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;
}
.winner-page-name{
    font-size:32px;font-weight:800;line-height:1.1;margin:14px 0 10px;
    text-shadow:0 4px 20px rgba(0,0,0,.3);
}
@media(min-width:760px){.winner-page-name{font-size:46px}}
.winner-prize-card{
    display:inline-flex;align-items:center;gap:10px;
    background:rgba(255,255,255,.18);backdrop-filter:blur(8px);
    padding:12px 20px;border-radius:14px;
    font-size:16px;font-weight:600;margin:6px 0 12px;
    border:1px solid rgba(255,255,255,.25);
}
.winner-code-card{
    display:inline-flex;align-items:center;gap:8px;
    background:rgba(0,0,0,.25);padding:8px 16px;border-radius:10px;
    font-family:monospace;font-size:14px;margin:4px 0;
}
.winner-code-card b{font-size:20px;letter-spacing:3px;color:#fbbf24}
.winner-date{font-size:14px;opacity:.85;margin-top:8px}
.winner-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:20px;justify-content:center}
@media(min-width:760px){.winner-actions{justify-content:flex-start}}

.winner-prize-img{
    margin-top:20px;border-radius:16px;overflow:hidden;
    border:3px solid rgba(255,255,255,.2);
    max-width:100%;
}
.winner-prize-img img{width:100%;display:block}

.winner-confetti{
    position:absolute;inset:0;pointer-events:none;z-index:1;
    background-image:
            radial-gradient(circle,#fbbf24 2px,transparent 2px),
            radial-gradient(circle,#ec4899 2px,transparent 2px),
            radial-gradient(circle,#22d3ee 2px,transparent 2px),
            radial-gradient(circle,#84cc16 2px,transparent 2px);
    background-size:80px 80px,100px 100px,120px 120px,90px 90px;
    background-position:0 0,30px 40px,60px 20px,15px 60px;
    opacity:.5;animation:winConfetti 12s linear infinite;
}
@keyframes winConfetti{from{background-position:0 0,30px 40px,60px 20px,15px 60px}to{background-position:0 300px,30px 340px,60px 320px,15px 360px}}

.winner-stats{
    display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px;
    margin-top:18px;
}
.winner-stat{
    background:#fff;border:1px solid var(--border);border-radius:14px;
    padding:14px;text-align:center;box-shadow:var(--shadow-sm);
}
.winner-stat span{display:block;font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.05em;font-weight:600}
.winner-stat b{display:block;font-size:22px;color:var(--primary);margin-top:4px;font-weight:800}