#qol-panel[data-results]{width:min(920px,94vw);background:linear-gradient(145deg,#102f54,#09182f);border-color:#4aa9bf}
.final-intro{text-align:center;color:#d7e9f4;margin:20px 0}
.final-ranking{list-style:none;padding:0;margin:0;display:grid;gap:12px}
.final-team{display:flex;align-items:center;gap:18px;padding:18px;border-radius:14px;background:#173553;border:1px solid #376180}
.final-winner{background:linear-gradient(110deg,#514324,#233c50);border-color:#f4c542}
.final-rank{min-width:65px;font-size:30px;text-align:center}
.final-rank small,.final-score small{display:block;font-size:13px;font-weight:400;color:#d7e9f4}
.final-team-info{flex:1;min-width:0;overflow-wrap:anywhere}.final-team-info>strong{font-size:22px}
.final-members{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px}.final-members span{background:#ffffff16;padding:4px 9px;border-radius:20px;font-size:14px}
.final-score{font-size:28px;text-align:right;color:#f4c542;white-space:nowrap}
.final-confetti{position:fixed;inset:0;pointer-events:none;overflow:hidden;z-index:10}
.final-confetti i{position:absolute;top:-20px;width:9px;height:16px;animation:final-confetti-fall 3s ease-in forwards}
@keyframes final-confetti-fall{from{transform:translate(0,-20px) rotate(0);opacity:1}to{transform:translate(var(--drift),110vh) rotate(var(--spin));opacity:0}}
@media(max-width:550px){.final-team{padding:12px;gap:10px}.final-rank{min-width:45px;font-size:25px}.final-team-info>strong{font-size:18px}.final-score{font-size:22px}}
@media(prefers-reduced-motion:reduce){.final-confetti{display:none}}
