.winners-callout { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 16px; margin-top: 18px; font-size: 20px; color: #fff; }
                        .winners-open { padding: 9px 20px; border: 2px solid #1bddcc; border-radius: 8px; background: #1bddcc; color: #062a3a; font: inherit; font-weight: 700; cursor: pointer; }
                        .winners-open:hover { background: #fff; }
                        .winners-open:focus-visible, .winners-close:focus-visible, .winners-table-scroll:focus-visible { outline: 3px solid #20b1d2; outline-offset: 4px; }
                        .winners-dialog { box-sizing: border-box; width: min(960px, calc(100vw - 32px)); max-height: 85dvh; padding: 32px 24px; border: 0; border-radius: 18px; color: #062a3a; background: #fff; box-shadow: 0 20px 70px #0006; }
                        .winners-dialog::backdrop { background: #001d2bd9; }
                        .winners-dialog #winners-title { margin: 0 38px 24px 0; color: #062a3a; font-size: clamp(22px, 4vw, 30px); line-height: 1.25; text-transform: none; }
                        .winners-close { position: absolute; top: 10px; right: 12px; width: 44px; height: 44px; border: 0; border-radius: 8px; color: #062a3a; background: #eef7f7; font-size: 32px; cursor: pointer; }
                        .winners-table-scroll { overflow-x: auto; }
                        .winners-table { width: 100%; min-width: 650px; border-collapse: collapse; text-align: left; font-size: 16px; line-height: 1.5; }
                        .winners-table th { padding: 14px; background: #062a3a; color: #fff; font-weight: 700; }
                        .winners-table td { padding: 16px 14px; border-bottom: 1px solid #cddfe6; vertical-align: top; }
                        .winners-table td:nth-child(2), .winners-table td:last-child { white-space: nowrap; }
                        @media (max-width: 600px) { .winners-callout { font-size: 18px; } .winners-dialog { padding: 24px 16px; } }