﻿        * { margin: 0; padding: 0; box-sizing: border-box; }
        :root {
            --bg-dark: #07041f;
            --bg-secondary: #140b3d;
            --violet: #7c3aed;
            --violet-light: #a78bfa;
            --yellow: #facc15;
            --text: #0f172a;
            --muted: #64748b;
            --border: #e5e7eb;
            --green: #16a34a;
            --red: #dc2626;
            --orange: #ea580c;
        }
        body {
            font-family: "Inter", sans-serif;
            background: #f5f7fb;
            color: var(--text);
            -webkit-font-smoothing: antialiased;
        }
        .hero {
            position: relative;
            overflow: hidden;
            min-height: 610px;
            background:
                radial-gradient(circle at 78% 16%, rgba(124,58,237,.40), transparent 26%),
                radial-gradient(circle at 18% 38%, rgba(37,99,235,.30), transparent 32%),
                linear-gradient(135deg, #05021a 0%, #0b0630 42%, #14083c 100%);
        }
        .container {
            width: min(1180px, calc(100% - 40px));
            margin: 0 auto;
            position: relative;
            z-index: 2;
        }
        .navbar {
            display: flex;
            align-items: center;
            justify-content: space-between;
            padding: 18px 0;
        }
        .brand {
            display: flex;
            align-items: center;
            gap: 12px;
            color: white;
            text-decoration: none;
        }
        .brand-svg {
            width: 52px;
            height: 52px;
            color: var(--yellow);
            stroke-width: 2.2;
            flex-shrink: 0;
        }
        .brand-text {
            display: flex;
            flex-direction: column;
            line-height: .9;
            font-weight: 900;
            letter-spacing: -.5px;
        }
        .brand-text span:first-child { font-size: 18px; color: white; }
        .brand-text span:last-child { font-size: 32px; color: var(--yellow); }
        .nav-links {
            display: flex;
            gap: 42px;
            color: #fff;
            font-weight: 700;
            font-size: 15px;
        }
        .nav-links a {
            color: #fff;
            opacity: .92;
            text-decoration: none;
        }
        .btn-primary {
            border: 0;
            border-radius: 14px;
            background: linear-gradient(135deg, #7c3aed, #9333ea);
            color: white;
            padding: 16px 24px;
            font-weight: 800;
            font-size: 15px;
            text-decoration: none;
            box-shadow: 0 18px 40px rgba(124,58,237,.35);
            display: inline-flex;
            align-items: center;
            gap: 10px;
        }
        .hero-cta { flex-shrink: 0; }
        .btn-icon { width: 18px; height: 18px; color: white; }
        .hero-grid {
            display: grid;
            grid-template-columns: 350px 1fr;
            gap: 42px;
            align-items: center;
            padding-top: 34px;
            padding-bottom: 120px;
        }
        .count-card {
            width: 100%;
            max-width: 350px;
            background: rgba(255,255,255,.05);
            border: 1px solid rgba(255,255,255,.08);
            backdrop-filter: blur(16px);
            border-radius: 32px;
            padding: 30px 24px;
            color: white;
            box-shadow: 0 24px 60px rgba(0,0,0,.35);
        }
        .small-title {
            display: block;
            text-align: center;
            text-transform: uppercase;
            font-size: 13px;
            font-weight: 800;
            letter-spacing: .8px;
            color: #ddd6fe;
        }
        .timer {
            display: grid;
            grid-template-columns: repeat(4, minmax(0, 1fr));
            gap: 12px;
            margin-top: 18px;
        }
        .timer-unit {
            display: flex;
            flex-direction: column;
            align-items: center;
            justify-content: space-between;
            min-height: 94px;
            padding: 14px 10px 12px;
            border-radius: 18px;
            background: rgba(255,255,255,.06);
            border: 1px solid rgba(255,255,255,.08);
        }
        .timer-value {
            display: flex;
            align-items: center;
            justify-content: center;
            flex: 1 1 auto;
            width: 100%;
        }
        .timer-unit span {
            min-width: 2ch;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            font-size: clamp(28px, 3.1vw, 36px);
            line-height: 1;
            font-weight: 900;
            letter-spacing: -1.5px;
            color: white;
            font-variant-numeric: tabular-nums;
        }
        .timer-unit small {
            color: #c4b5fd;
            font-size: 10px;
            font-weight: 800;
            text-transform: uppercase;
            letter-spacing: .8px;
            line-height: 1;
        }
        .divider {
            margin: 28px 0;
            height: 1px;
            background: rgba(255,255,255,.08);
        }
        .participants {
            display: flex;
            flex-direction: column;
            align-items: center;
            text-align: center;
        }
        .side-icon {
            width: 54px;
            height: 54px;
            color: #8b5cf6;
            margin-bottom: 10px;
        }
        .participants strong {
            display: block;
            margin-top: 8px;
            color: #8b5cf6;
            font-size: 52px;
            font-weight: 900;
            letter-spacing: -2px;
        }
        .count-campaign-badge {
            margin-top: 18px;
            display: inline-flex;
            flex-direction: column;
            align-items: center;
            justify-content: center;
            gap: 2px;
            padding: 10px 18px 12px;
            border-radius: 18px;
            background: linear-gradient(135deg, #fff7cc 0%, #ffe082 100%);
            border: 1px solid #facc15;
            box-shadow: 0 12px 28px rgba(250, 204, 21, .22);
            text-align: center;
            margin-inline: auto;
        }
        .count-campaign-badge span {
            color: #854d0e;
            font-size: 11px;
            font-weight: 900;
            text-transform: uppercase;
            letter-spacing: .9px;
        }
        .count-campaign-badge strong {
            margin-top: 0;
            color: #1e293b;
            font-size: 16px;
            font-weight: 900;
            letter-spacing: 0;
            overflow-wrap: anywhere;
        }
        .hero-content {
            display: grid;
            grid-template-columns: 1fr 280px;
            align-items: center;
            gap: 20px;
            min-width: 0;
        }
        .hero-copy .eyebrow {
            color: white;
            font-size: 28px;
            font-weight: 900;
            text-transform: uppercase;
        }
        .hero-copy h1 {
            margin-top: 10px;
            color: white;
            font-size: clamp(58px, 7vw, 92px);
            line-height: .92;
            text-transform: uppercase;
            letter-spacing: -4px;
            font-weight: 900;
        }
        .hero-copy h1 span { display: block; color: var(--yellow); }
        .hero-copy h1 .hero-prize-value {
            display: block;
            margin-top: 10px;
            color: #fde68a;
            font-size: clamp(24px, 3vw, 38px);
            line-height: 1.05;
            letter-spacing: -1px;
            font-weight: 800;
        }
        .hero-copy p {
            margin-top: 26px;
            max-width: 560px;
            color: #f3f4f6;
            font-size: 22px;
            line-height: 1.55;
            font-weight: 500;
        }
        .trophy-wrap {
            position: relative;
            width: 320px;
            height: 320px;
            display: flex;
            align-items: center;
            justify-content: center;
        }
        .trophy-glow {
            position: absolute;
            width: 240px;
            height: 240px;
            border-radius: 50%;
            background: radial-gradient(circle, rgba(250,204,21,.28), transparent 70%);
            filter: blur(10px);
        }
        .big-trophy {
            width: 260px;
            height: 260px;
            position: relative;
            z-index: 2;
            filter: drop-shadow(0 35px 50px rgba(250,204,21,.18));
        }
        .trophy-base {
            position: absolute;
            bottom: 25px;
            width: 170px;
            height: 34px;
            border-radius: 18px;
            background: rgba(124,58,237,.5);
            filter: blur(12px);
        }
        .winner-panel, .draw-live-panel {
            margin-top: -74px;
            position: relative;
            z-index: 12;
        }
        .winner-card, .draw-card {
            background: white;
            border-radius: 34px;
            padding: 34px;
            border: 1px solid #ececf0;
            box-shadow: 0 30px 90px rgba(15,23,42,.12);
        }
        .winner-card {
            display: grid;
            grid-template-columns: minmax(0, 1.15fr) minmax(300px, 360px);
            gap: 34px;
            align-items: center;
            position: relative;
            padding-top: 54px;
        }
        .winner-campaign-badge {
            position: absolute;
            top: -18px;
            left: 50%;
            transform: translateX(-50%);
            display: flex;
            flex-direction: column;
            align-items: center;
            gap: 2px;
            padding: 10px 18px 12px;
            border-radius: 18px;
            background: linear-gradient(135deg, #fff7cc 0%, #ffe082 100%);
            border: 1px solid #facc15;
            box-shadow: 0 12px 28px rgba(250, 204, 21, .25);
            text-align: center;
            z-index: 2;
        }
        .winner-campaign-badge span {
            color: #854d0e;
            font-size: 11px;
            font-weight: 900;
            text-transform: uppercase;
            letter-spacing: .9px;
        }
        .winner-campaign-badge strong {
            color: #1e293b;
            font-size: 18px;
            font-weight: 900;
            line-height: 1.05;
            overflow-wrap: anywhere;
        }
        .winner-left {
            display: flex;
            align-items: center;
            gap: 22px;
            min-width: 0;
        }
        .winner-avatar {
            width: 120px;
            height: 120px;
            border-radius: 999px;
            background: #f3e8ff;
            display: flex;
            align-items: center;
            justify-content: center;
            font-size: 60px;
            color: var(--violet);
            flex-shrink: 0;
        }
        .badge {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            padding: 10px 16px;
            border-radius: 12px;
            background: var(--violet);
            color: white;
            font-size: 12px;
            font-weight: 900;
            text-transform: uppercase;
            letter-spacing: .7px;
        }
        .winner-name {
            margin-top: 16px;
            max-width: 14ch;
            font-size: clamp(30px, 3.5vw, 48px);
            line-height: .98;
            font-weight: 900;
            letter-spacing: -1.4px;
            overflow-wrap: anywhere;
            text-wrap: balance;
        }
        .winner-copy {
            min-width: 0;
            max-width: 560px;
        }
        .winner-meta {
            display: grid;
            gap: 8px;
            margin-top: 16px;
            color: #475569;
            font-size: 16px;
            font-weight: 700;
        }
        .notice {
            margin-top: 18px;
            padding: 16px 18px;
            border-radius: 18px;
            background: #f5f3ff;
            border: 1px solid #ddd6fe;
            color: #334155;
            line-height: 1.55;
            font-size: 14px;
            max-width: 440px;
            display: flex;
            gap: 12px;
            align-items: flex-start;
        }
        .notice-icon { color: #7c3aed; font-size: 18px; font-weight: 900; }
        .winner-right {
            border: 1px solid #e5e7eb;
            border-radius: 28px;
            padding: 28px 28px 30px;
            text-align: center;
            display: flex;
            flex-direction: column;
            justify-content: center;
            min-width: 0;
            min-height: 272px;
            background: linear-gradient(180deg, #ffffff 0%, #fcfbff 100%);
        }
        .nsu-label {
            color: #475569;
            text-transform: uppercase;
            font-size: 13px;
            font-weight: 900;
            letter-spacing: .8px;
        }
        .nsu-text {
            margin-top: 16px;
            color: var(--violet);
            font-size: clamp(36px, 4vw, 64px);
            line-height: .9;
            font-weight: 900;
            letter-spacing: -1.6px;
            overflow-wrap: anywhere;
            word-break: break-word;
            text-wrap: balance;
        }
        .status {
            margin: 22px auto 0;
            display: inline-flex;
            align-items: center;
            gap: 8px;
            border-radius: 14px;
            padding: 14px 18px;
            font-weight: 900;
        }
        .status-awaiting { background: #fff7ed; color: #c2410c; }
        .status-approved { background: #ecfdf5; color: #15803d; }
        .status-rejected { background: #fef2f2; color: #b91c1c; }
        .status-drawing { background: #eff6ff; color: #1d4ed8; }
        .section { padding: 48px 0; }
        .section-title {
            text-align: center;
            font-size: 34px;
            font-weight: 900;
            letter-spacing: -1px;
            text-transform: uppercase;
            margin-bottom: 28px;
            color: #111827;
        }
        .details-section .section-title {
            display: flex;
            align-items: center;
            justify-content: center;
            gap: 16px;
        }
        .details-section .section-title svg {
            width: 44px;
            height: 44px;
            flex-shrink: 0;
        }
        .history-heading {
            display: flex;
            flex-direction: column;
            align-items: center;
            justify-content: center;
            gap: 10px;
            margin-bottom: 28px;
            text-align: center;
        }
        .history-heading svg {
            width: 72px;
            height: 72px;
            flex-shrink: 0;
        }
        .history-heading .section-title {
            margin-bottom: 0;
        }
        .stats-grid {
            display: grid;
            grid-template-columns: repeat(5,1fr);
            gap: 18px;
            align-items: stretch;
        }
        .stat-card {
            background: white;
            border: 1px solid #ececf0;
            border-radius: 24px;
            padding: 28px 20px;
            min-height: 202px;
            display: flex;
            flex-direction: column;
            align-items: center;
            justify-content: flex-start;
            text-align: center;
            box-shadow: 0 10px 24px rgba(15,23,42,.04);
        }
        .stat-icon {
            width: 42px;
            height: 42px;
            color: #7c3aed;
            margin-bottom: 12px;
        }
        .stat-icon.green { color: #16a34a; }
        .orange { color: #f59e0b; }
        .stat-card small {
            color: #64748b;
            text-transform: uppercase;
            font-size: 12px;
            font-weight: 900;
            letter-spacing: .6px;
        }
        .stat-card strong {
            display: block;
            margin-top: 12px;
            font-size: clamp(28px, 2.4vw, 32px);
            font-weight: 900;
            letter-spacing: -1px;
            line-height: 1.05;
            text-wrap: balance;
        }
        .stat-card span {
            display: block;
            margin-top: 6px;
            color: #64748b;
            font-weight: 700;
        }
        .stat-card-status strong {
            max-width: 170px;
        }
        .steps-box {
            background: linear-gradient(135deg, #10092f, #1b0d4d);
            border-radius: 30px;
            padding: 34px;
            color: white;
            box-shadow: 0 26px 70px rgba(16,9,47,.24);
        }
        .steps-title {
            text-transform: uppercase;
            font-size: 24px;
            font-weight: 900;
            margin-bottom: 28px;
        }
        .steps-grid {
            display: grid;
            grid-template-columns: repeat(4,1fr);
            gap: 22px;
        }
        .step { display: flex; gap: 16px; }
        .step-icon {
            width: 60px;
            height: 60px;
            border-radius: 999px;
            background: #7c3aed;
            display: flex;
            align-items: center;
            justify-content: center;
            flex-shrink: 0;
            box-shadow: 0 18px 35px rgba(0,0,0,.24);
        }
        .step-icon svg { width: 28px; height: 28px; color: white; }
        .step-arrow {
            display: flex;
            align-items: center;
            justify-content: center;
            color: #a78bfa;
            font-size: 38px;
            font-weight: 300;
        }
        .step h3 { font-size: 15px; font-weight: 900; margin-bottom: 6px; }
        .step p { color: #ddd6fe; font-size: 13px; line-height: 1.55; }
        .history-card {
            background: white;
            border-radius: 24px;
            overflow: hidden;
            border: 1px solid #ececf0;
            box-shadow: 0 10px 24px rgba(15,23,42,.04);
        }
        table { width: 100%; border-collapse: collapse; }
        thead { background: #f8fafc; }
        th {
            padding: 18px;
            text-align: left;
            color: #64748b;
            text-transform: uppercase;
            font-size: 12px;
            font-weight: 900;
        }
        td {
            padding: 18px;
            border-top: 1px solid #f1f5f9;
            color: #334155;
            font-weight: 700;
            vertical-align: top;
        }
        .history-date { white-space: nowrap; width: 180px; }
        .history-prize strong,
        .history-winner-name {
            display: block;
            line-height: 1.2;
        }
        .history-prize span,
        .history-winner-meta {
            display: block;
            margin-top: 4px;
            color: #475569;
            font-size: 15px;
            line-height: 1.35;
        }
        .history-winner { min-width: 290px; max-width: 320px; }
        .history-winner-name {
            max-width: 18ch;
            overflow-wrap: anywhere;
        }
        .history-nsu {
            white-space: nowrap;
            font-size: 28px;
            letter-spacing: -1px;
            color: #111827;
        }
        .validado, .aguardando, .rejeitado {
            border-radius: 12px;
            padding: 10px 14px;
            font-size: 13px;
            font-weight: 900;
            display: inline-flex;
        }
        .validado { background: #ecfdf5; color: #15803d; }
        .aguardando { background: #fff7ed; color: #c2410c; }
        .rejeitado { background: #fef2f2; color: #b91c1c; }
        footer {
            margin-top: 26px;
            background: linear-gradient(135deg, #08051f, #12083a);
            padding: 34px 0;
            color: white;
        }
        .footer-grid {
            display: grid;
            grid-template-columns: repeat(4,1fr);
            gap: 22px;
        }
        .footer-item { display: flex; gap: 14px; }
        .footer-icon {
            width: 34px;
            height: 34px;
            color: #a78bfa;
            flex-shrink: 0;
        }
        .outline-button {
            margin: 24px auto 0;
            width: fit-content;
            display: flex;
            align-items: center;
            gap: 10px;
            padding: 14px 22px;
            border-radius: 14px;
            border: 1px solid #d4d4d8;
            background: white;
            color: #111827;
            font-weight: 800;
            text-decoration: none;
        }
        .confetti {
            position: absolute;
            width: 12px;
            height: 12px;
            border-radius: 3px;
            opacity: .9;
        }
        .confetti:nth-child(odd) { background: #7c3aed; }
        .confetti:nth-child(even) { background: #facc15; }
        .confetti-1 { top: 130px; right: 230px; transform: rotate(25deg); }
        .confetti-2 { top: 160px; right: 330px; }
        .confetti-3 { top: 210px; right: 180px; }
        .confetti-4 { top: 250px; right: 300px; }
        .confetti-5 { top: 320px; right: 120px; }
        .confetti-6 { top: 180px; right: 80px; }
        .confetti-7 { top: 120px; right: 120px; }
        .confetti-8 { top: 280px; right: 380px; }
        .confetti-9 { top: 340px; right: 260px; }
        .confetti-10 { top: 390px; right: 190px; }
        .side-button {
            margin-top: 24px;
            display: flex;
            align-items: center;
            justify-content: space-between;
            padding: 18px;
            border-radius: 18px;
            background: rgba(255,255,255,.05);
            border: 1px solid rgba(255,255,255,.08);
            color: white;
            text-decoration: none;
            font-weight: 700;
        }
        .muted-white { color: #ddd6fe; font-size: 14px; font-weight: 700; }
        .footer-item strong { display: block; margin-bottom: 5px; }
        .footer-item p { color: #ddd6fe; font-size: 13px; line-height: 1.55; }
        .draw-live-panel { display: none; }
        body.is-drawing .winner-panel { display: none; }
        body.is-drawing .draw-live-panel { display: block; }
        .draw-overlay {
            position: fixed;
            inset: 0;
            z-index: 95;
            display: flex;
            align-items: center;
            justify-content: center;
            padding: 24px;
        }
        .draw-overlay-backdrop {
            position: absolute;
            inset: 0;
            background:
                radial-gradient(circle at top, rgba(124,58,237,.22), transparent 28%),
                rgba(7, 4, 31, .76);
            backdrop-filter: blur(9px);
        }
        .draw-overlay-stage {
            position: relative;
            z-index: 1;
            width: min(760px, 100%);
            transition: opacity .35s ease, transform .35s ease;
        }
        .draw-overlay-stage[hidden] {
            display: none;
        }
        .draw-card {
            text-align: center;
            overflow: hidden;
        }
        .draw-intro-card {
            background: white;
            border-radius: 34px;
            padding: 34px;
            border: 1px solid #ececf0;
            box-shadow: 0 30px 90px rgba(15,23,42,.18);
            text-align: center;
        }
        .draw-intro-badge {
            display: inline-flex;
            align-items: center;
            gap: 10px;
            padding: 10px 16px;
            border-radius: 999px;
            background: #ede9fe;
            color: #6d28d9;
            font-size: 12px;
            font-weight: 900;
            text-transform: uppercase;
            letter-spacing: .08em;
        }
        .draw-intro-badge svg {
            width: 16px;
            height: 16px;
        }
        .draw-intro-title {
            margin-top: 20px;
            font-size: clamp(34px, 5vw, 56px);
            line-height: .95;
            font-weight: 900;
            letter-spacing: -2px;
            color: #111827;
        }
        .draw-intro-copy {
            margin: 16px auto 0;
            max-width: 520px;
            color: #475569;
            font-size: 17px;
            line-height: 1.65;
            font-weight: 600;
        }
        .draw-intro-pills {
            margin-top: 24px;
            display: flex;
            flex-wrap: wrap;
            justify-content: center;
            gap: 12px;
        }
        .draw-intro-pill {
            padding: 12px 16px;
            border-radius: 999px;
            background: #f8fafc;
            border: 1px solid #e2e8f0;
            color: #334155;
            font-size: 14px;
            font-weight: 800;
            overflow-wrap: anywhere;
        }
        .draw-badge {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            gap: 10px;
            padding: 10px 16px;
            border-radius: 999px;
            background: #fff7ed;
            color: #ea580c;
            font-size: 13px;
            font-weight: 900;
            text-transform: uppercase;
            letter-spacing: .7px;
        }
        .pulse-dot {
            width: 10px;
            height: 10px;
            border-radius: 999px;
            background: #f97316;
            box-shadow: 0 0 0 rgba(249,115,22,.6);
            animation: pulseDot 1.2s infinite;
        }
        @keyframes pulseDot {
            0% { box-shadow: 0 0 0 0 rgba(249,115,22,.55); }
            70% { box-shadow: 0 0 0 12px rgba(249,115,22,0); }
            100% { box-shadow: 0 0 0 0 rgba(249,115,22,0); }
        }
        .draw-card h2 {
            margin-top: 18px;
            font-size: clamp(32px, 5vw, 58px);
            line-height: 1;
            font-weight: 900;
            letter-spacing: -2px;
            color: #111827;
        }
        .draw-card p {
            margin-top: 12px;
            color: #64748b;
            font-size: 17px;
            font-weight: 600;
        }
        .nsu-machine {
            position: relative;
            margin: 34px auto 0;
            max-width: 760px;
            height: 138px;
            border-radius: 28px;
            background: linear-gradient(180deg, #0f082e, #1a0b4a);
            border: 1px solid rgba(124,58,237,.35);
            box-shadow: inset 0 0 0 1px rgba(255,255,255,.06), 0 22px 60px rgba(30,11,82,.24);
            overflow: hidden;
            display: flex;
            align-items: center;
        }
        .nsu-machine::before,
        .nsu-machine::after {
            content: "";
            position: absolute;
            top: 0;
            width: 130px;
            height: 100%;
            z-index: 3;
            pointer-events: none;
        }
        .nsu-machine::before { left: 0; background: linear-gradient(90deg, #0f082e, transparent); }
        .nsu-machine::after { right: 0; background: linear-gradient(270deg, #0f082e, transparent); }
        .center-marker {
            position: absolute;
            top: 14px;
            bottom: 14px;
            left: 50%;
            width: 205px;
            transform: translateX(-50%);
            border: 2px solid #facc15;
            border-radius: 22px;
            box-shadow: 0 0 28px rgba(250,204,21,.34);
            z-index: 4;
            pointer-events: none;
        }
        .nsu-track {
            display: flex;
            gap: 18px;
            width: max-content;
            animation: nsuRoll 2.2s linear infinite;
            padding-left: 18px;
            will-change: transform;
        }
        .draw-overlay.is-draw-finished .nsu-track {
            animation: none;
            opacity: .4;
            filter: blur(.4px);
        }
        .nsu-chip {
            min-width: 205px;
            height: 82px;
            border-radius: 20px;
            background: rgba(255,255,255,.08);
            border: 1px solid rgba(255,255,255,.12);
            color: white;
            display: grid;
            place-items: center;
            font-size: 32px;
            font-weight: 900;
            letter-spacing: 1px;
            box-shadow: 0 12px 34px rgba(0,0,0,.18);
        }
        @keyframes nsuRoll {
            from { transform: translateX(0); }
            to { transform: translateX(-892px); }
        }
        .draw-live-note {
            margin: 22px auto 0;
            max-width: 620px;
            border-radius: 18px;
            background: #f8fafc;
            border: 1px solid #e5e7eb;
            padding: 16px;
            color: #475569;
            font-size: 14px;
            line-height: 1.6;
        }
        .draw-result-panel {
            position: relative;
            margin: 26px auto 0;
            max-width: 520px;
            border-radius: 28px;
            padding: 28px 22px 24px;
            background: linear-gradient(135deg, #fff7ed, #ffffff);
            border: 1px solid #fde68a;
            box-shadow: 0 24px 70px rgba(250,204,21,.18);
            overflow: hidden;
        }
        .draw-result-label {
            color: #7c3aed;
            font-size: 12px;
            font-weight: 900;
            letter-spacing: .16em;
            text-transform: uppercase;
        }
        .draw-result-chip {
            margin-top: 14px;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            min-width: min(100%, 380px);
            min-height: 88px;
            padding: 18px 26px;
            border-radius: 24px;
            background: linear-gradient(135deg, #7c3aed, #9333ea);
            color: white;
            font-size: clamp(30px, 4vw, 44px);
            line-height: 1;
            font-weight: 900;
            letter-spacing: 1px;
            box-shadow: 0 26px 50px rgba(124,58,237,.28);
            border: 2px solid rgba(255,255,255,.38);
            overflow-wrap: anywhere;
            word-break: break-word;
            text-align: center;
        }
        .draw-result-copy {
            margin-top: 14px;
            color: #475569;
            font-size: 14px;
            line-height: 1.6;
            font-weight: 700;
        }
        .draw-result-confetti {
            position: absolute;
            inset: 0;
            pointer-events: none;
            overflow: hidden;
        }
        .draw-result-confetti-piece {
            position: absolute;
            top: -12px;
            width: 12px;
            height: 18px;
            border-radius: 999px;
            opacity: 0;
            animation: winnerConfetti 1.2s ease-out forwards;
        }
        .draw-result-confetti-piece:nth-child(odd) { background: #facc15; }
        .draw-result-confetti-piece:nth-child(even) { background: #7c3aed; }
        .confetti-piece-1 { left: 10%; animation-delay: .02s; }
        .confetti-piece-2 { left: 18%; animation-delay: .06s; }
        .confetti-piece-3 { left: 25%; animation-delay: .12s; }
        .confetti-piece-4 { left: 33%; animation-delay: .18s; }
        .confetti-piece-5 { left: 41%; animation-delay: .04s; }
        .confetti-piece-6 { left: 48%; animation-delay: .10s; }
        .confetti-piece-7 { left: 56%; animation-delay: .16s; }
        .confetti-piece-8 { left: 63%; animation-delay: .08s; }
        .confetti-piece-9 { left: 70%; animation-delay: .14s; }
        .confetti-piece-10 { left: 77%; animation-delay: .02s; }
        .confetti-piece-11 { left: 84%; animation-delay: .20s; }
        .confetti-piece-12 { left: 90%; animation-delay: .12s; }
        .confetti-piece-13 { left: 52%; animation-delay: .24s; }
        .confetti-piece-14 { left: 28%; animation-delay: .22s; }
        @keyframes winnerConfetti {
            0% {
                transform: translateY(0) rotate(0deg) scale(.7);
                opacity: 0;
            }
            10% {
                opacity: 1;
            }
            100% {
                transform: translateY(200px) rotate(220deg) scale(1);
                opacity: 0;
            }
        }
        .draw-overlay-progress {
            margin: 22px auto 0;
            width: min(320px, 100%);
            height: 8px;
            border-radius: 999px;
            background: #e9d5ff;
            overflow: hidden;
        }
        .draw-overlay-progress-bar {
            width: 100%;
            height: 100%;
            border-radius: inherit;
            background: linear-gradient(90deg, #7c3aed, #facc15);
            transform-origin: left center;
            animation: drawIntroBar var(--draw-intro-ms, 2400ms) linear forwards;
        }
        @keyframes drawIntroBar {
            from { transform: scaleX(1); }
            to { transform: scaleX(0); }
        }
        .registration-card {
            background: white;
            border-radius: 30px;
            border: 1px solid #ececf0;
            box-shadow: 0 20px 60px rgba(15,23,42,.08);
            display: grid;
            grid-template-columns: 1fr 1.1fr;
            gap: 28px;
            padding: 34px;
        }
        .registration-copy {
            padding: 18px;
            border-radius: 26px;
            color: white;
            background: linear-gradient(135deg, #0c082a, #1e1060);
        }
        .registration-copy p { margin-top: 14px; line-height: 1.7; color: #ddd6fe; font-size: 15px; }
        .registration-copy ul { margin-top: 18px; display: grid; gap: 12px; color: #fff; font-weight: 700; }
        .registration-copy li { list-style: none; }
        .registration-form { display: grid; gap: 18px; }
        .form-submit { justify-content: center; }
        .field { display: grid; gap: 8px; }
        .field label {
            font-size: 13px;
            font-weight: 900;
            text-transform: uppercase;
            letter-spacing: .7px;
            color: #334155;
        }
        .field input {
            width: 100%;
            border: 1px solid #dbe2ea;
            border-radius: 16px;
            padding: 15px 16px;
            font: inherit;
            color: #0f172a;
            background: #f8fafc;
        }
        .field input:focus {
            outline: 2px solid rgba(124,58,237,.22);
            border-color: var(--violet);
            background: white;
        }
        .help-text, .error-text {
            font-size: 13px;
            line-height: 1.5;
        }
        .help-text { color: #64748b; }
        .error-text { color: var(--red); }
        .alert-success, .alert-error {
            margin-bottom: 20px;
            border-radius: 18px;
            padding: 16px 18px;
            font-weight: 700;
        }
        .alert-success { background: #ecfdf5; color: #166534; border: 1px solid #bbf7d0; }
        .alert-error { background: #fef2f2; color: #991b1b; border: 1px solid #fecaca; }
        .flash-modal {
            position: fixed;
            inset: 0;
            z-index: 90;
            display: flex;
            align-items: center;
            justify-content: center;
            padding: 20px;
        }
        .flash-modal[hidden] { display: none; }
        .flash-modal-backdrop {
            position: absolute;
            inset: 0;
            background:
                radial-gradient(circle at top, rgba(124,58,237,.20), transparent 30%),
                rgba(7, 4, 31, .72);
            backdrop-filter: blur(8px);
        }
        .flash-modal-card {
            position: relative;
            z-index: 1;
            width: min(560px, 100%);
            border-radius: 32px;
            overflow: hidden;
            border: 1px solid rgba(124,58,237,.16);
            background: white;
            box-shadow: 0 36px 100px rgba(15,23,42,.28);
        }
        .flash-modal-head {
            padding: 28px 28px 18px;
            background:
                radial-gradient(circle at top right, rgba(250,204,21,.28), transparent 32%),
                linear-gradient(135deg, #12083a, #29106b);
            color: white;
        }
        .flash-modal-badge {
            display: inline-flex;
            align-items: center;
            gap: 8px;
            padding: 10px 14px;
            border-radius: 999px;
            background: rgba(255,255,255,.12);
            border: 1px solid rgba(255,255,255,.14);
            color: #fde68a;
            font-size: 12px;
            font-weight: 900;
            letter-spacing: .08em;
            text-transform: uppercase;
        }
        .flash-modal-badge svg {
            width: 16px;
            height: 16px;
            color: #facc15;
        }
        .flash-modal-title {
            margin-top: 18px;
            font-size: clamp(30px, 5vw, 42px);
            line-height: .96;
            font-weight: 900;
            letter-spacing: -1.8px;
        }
        .flash-modal-subtitle {
            margin-top: 12px;
            color: #e9ddff;
            font-size: 16px;
            line-height: 1.65;
        }
        .flash-modal-body {
            padding: 24px 28px 28px;
        }
        .flash-modal-list {
            display: grid;
            gap: 12px;
            color: #334155;
        }
        .flash-modal-item {
            display: flex;
            gap: 12px;
            align-items: flex-start;
            padding: 14px 16px;
            border-radius: 18px;
            background: #f8fafc;
            border: 1px solid #e2e8f0;
        }
        .flash-modal-item-mark {
            width: 28px;
            height: 28px;
            border-radius: 999px;
            flex-shrink: 0;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            background: rgba(124,58,237,.12);
            color: #7c3aed;
            font-weight: 900;
        }
        .flash-modal-item strong {
            display: block;
            margin-bottom: 3px;
            color: #0f172a;
            font-size: 15px;
        }
        .flash-modal-item span {
            display: block;
            color: #475569;
            font-size: 14px;
            line-height: 1.55;
        }
        .flash-modal-actions {
            margin-top: 22px;
            display: flex;
            justify-content: flex-end;
        }
        .flash-modal-close {
            border: 0;
            border-radius: 14px;
            background: linear-gradient(135deg, #7c3aed, #9333ea);
            color: white;
            padding: 14px 18px;
            font-weight: 900;
            font-size: 15px;
            box-shadow: 0 18px 36px rgba(124,58,237,.24);
        }
        .promo-modal {
            position: fixed;
            inset: 0;
            z-index: 92;
            display: flex;
            align-items: center;
            justify-content: center;
            padding: 20px;
        }
        .promo-modal[hidden] { display: none; }
        .promo-modal-backdrop {
            position: absolute;
            inset: 0;
            background:
                radial-gradient(circle at top, rgba(250,204,21,.18), transparent 28%),
                rgba(7, 4, 31, .78);
            backdrop-filter: blur(9px);
        }
        .promo-modal-card {
            position: relative;
            z-index: 1;
            width: min(760px, 100%);
            overflow: hidden;
            border-radius: 32px;
            background: white;
            border: 1px solid rgba(124,58,237,.16);
            box-shadow: 0 36px 100px rgba(15,23,42,.3);
        }
        .promo-modal-with-media {
            display: grid;
            grid-template-columns: minmax(240px, 320px) minmax(0, 1fr);
            align-items: stretch;
        }
        .promo-modal-no-media {
            width: min(680px, 100%);
        }
        .promo-modal-dismiss {
            position: absolute;
            top: 16px;
            right: 16px;
            z-index: 2;
            width: 42px;
            height: 42px;
            border: 0;
            border-radius: 999px;
            background: rgba(15,23,42,.78);
            color: white;
            font-size: 28px;
            line-height: 1;
        }
        .promo-modal-media {
            min-height: 100%;
            background:
                radial-gradient(circle at top left, rgba(250,204,21,.28), transparent 34%),
                linear-gradient(135deg, #12083a, #29106b);
        }
        .promo-modal-image-link,
        .promo-modal-image {
            display: block;
            width: 100%;
        }
        .promo-modal-image {
            height: 100%;
            min-height: 340px;
            object-fit: cover;
            background: #ede9fe;
        }
        .promo-modal-body {
            padding: 28px;
            display: flex;
            flex-direction: column;
            justify-content: center;
        }
        .promo-modal-badge {
            display: inline-flex;
            align-items: center;
            padding: 8px 14px;
            border-radius: 999px;
            background: rgba(124,58,237,.12);
            color: #7c3aed;
            font-size: 12px;
            font-weight: 900;
            text-transform: uppercase;
            letter-spacing: .08em;
        }
        .promo-modal-title {
            margin-top: 16px;
            font-size: clamp(28px, 4vw, 40px);
            line-height: .98;
            font-weight: 900;
            letter-spacing: -1.4px;
            color: #0f172a;
        }
        .promo-modal-subtitle {
            margin-top: 10px;
            color: #7c3aed;
            font-size: 18px;
            font-weight: 800;
        }
        .promo-modal-copy {
            margin-top: 14px;
            color: #475569;
            font-size: 16px;
            line-height: 1.7;
            overflow-wrap: anywhere;
        }
        .promo-modal-actions {
            margin-top: 24px;
            display: flex;
            justify-content: flex-start;
        }
        .promo-modal-button {
            border: 0;
            border-radius: 14px;
            background: linear-gradient(135deg, #7c3aed, #9333ea);
            color: white;
            padding: 15px 20px;
            font-weight: 900;
            font-size: 15px;
            text-decoration: none;
            box-shadow: 0 18px 36px rgba(124,58,237,.24);
        }
        .empty-card {
            background: white;
            border: 1px dashed #cbd5e1;
            border-radius: 24px;
            padding: 28px;
            text-align: center;
            color: #475569;
        }
        .hero-system-badge {
            display: inline-flex;
            padding: 10px 14px;
            border-radius: 999px;
            background: rgba(250,204,21,.14);
            border: 1px solid rgba(250,204,21,.26);
            color: #fde68a;
            font-size: 13px;
            font-weight: 900;
            text-transform: uppercase;
            letter-spacing: .7px;
        }
        @media (max-width: 1024px) {
            .hero-grid, .hero-content, .winner-card, .footer-grid, .registration-card {
                grid-template-columns: 1fr;
            }
            .stats-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
            .steps-grid { grid-template-columns: 1fr; }
            .step-arrow { display: none; }
            .nav-links { display: none; }
            .trophy-wrap {
                width: 240px;
                height: 240px;
                margin: 0 auto;
            }
            .big-trophy { width: 200px; height: 200px; }
            .hero-grid { gap: 26px; padding-bottom: 80px; }
            .count-card { max-width: none; }
            .winner-right { margin-top: 8px; }
        }
        @media (max-width: 640px) {
            .container { width: min(1180px, calc(100% - 24px)); }
            .hero { min-height: auto; }
            .navbar {
                display: grid;
                gap: 14px;
                justify-items: stretch;
                padding: 16px 0 6px;
            }
            .brand { justify-content: center; }
            .brand-svg { width: 44px; height: 44px; }
            .brand-text span:first-child { font-size: 15px; }
            .brand-text span:last-child { font-size: 26px; }
            .hero-cta,
            .form-submit {
                width: 100%;
                justify-content: center;
                padding: 15px 18px;
            }
            .hero-grid {
                grid-template-columns: 1fr;
                gap: 22px;
                padding-top: 20px;
                padding-bottom: 54px;
            }
            .hero-content { gap: 18px; }
            .trophy-wrap {
                width: 180px;
                height: 180px;
                margin: 0 auto;
            }
            .trophy-glow { width: 160px; height: 160px; }
            .big-trophy { width: 150px; height: 150px; }
            .trophy-base { width: 112px; bottom: 18px; }
            .hero-copy .eyebrow { font-size: 20px; }
            .hero-copy h1 {
                font-size: clamp(38px, 12vw, 54px);
                letter-spacing: -2px;
            }
            .hero-copy p {
                margin-top: 18px;
                font-size: 16px;
                line-height: 1.55;
            }
            .hero-system-badge { font-size: 11px; }
            .count-card {
                padding: 22px 16px;
                border-radius: 24px;
            }
            .small-title { font-size: 12px; }
            .divider { margin: 22px 0; }
            .participants strong { font-size: 44px; }
            .count-campaign-badge {
                width: 100%;
                max-width: 100%;
                padding: 10px 14px;
                border-radius: 16px;
            }
            .count-campaign-badge span { font-size: 10px; }
            .count-campaign-badge strong { font-size: 15px; }
            .side-button { padding: 16px; }
            .winner-panel, .draw-live-panel { margin-top: -28px; }
            .winner-card, .draw-card, .registration-card, .steps-box {
                border-radius: 24px;
                padding: 22px;
            }
            .winner-left {
                flex-direction: column;
                align-items: flex-start;
            }
            .winner-card {
                gap: 20px;
                padding-top: 58px;
            }
            .winner-campaign-badge {
                top: -14px;
                width: calc(100% - 52px);
                max-width: 340px;
            }
            .winner-campaign-badge span { font-size: 10px; }
            .winner-campaign-badge strong { font-size: 16px; }
            .winner-avatar {
                width: 92px;
                height: 92px;
            }
            .winner-copy,
            .notice { max-width: 100%; }
            .winner-name { max-width: 100%; font-size: 32px; }
            .winner-meta { font-size: 16px; }
            .winner-right {
                min-height: auto;
                padding: 24px 20px;
            }
            .nsu-text { font-size: 42px; }
            .section { padding: 34px 0; }
            .section-title { font-size: 26px; margin-bottom: 20px; }
            .details-section .section-title {
                gap: 10px;
                flex-direction: column;
            }
            .details-section .section-title svg {
                width: 34px;
                height: 34px;
            }
            .history-heading {
                gap: 8px;
                margin-bottom: 20px;
            }
            .history-heading svg {
                width: 58px;
                height: 58px;
            }
            .stats-grid { grid-template-columns: 1fr; gap: 14px; }
            .stat-card {
                padding: 22px 18px;
                border-radius: 20px;
                min-height: auto;
            }
            .registration-copy h3 { font-size: 28px !important; }
            .registration-copy p,
            .registration-copy li { font-size: 14px; }
            table { min-width: 560px; }
            .history-card {
                overflow-x: auto;
                -webkit-overflow-scrolling: touch;
            }
            .history-date { width: 150px; }
            .history-winner { min-width: 220px; max-width: 240px; }
            .history-nsu { font-size: 22px; }
            .draw-card { padding: 22px 18px; }
            .draw-intro-card { border-radius: 24px; padding: 24px; }
            .draw-intro-title {
                margin-top: 16px;
                font-size: clamp(28px, 9vw, 40px);
                letter-spacing: -1.4px;
            }
            .draw-intro-copy { font-size: 14px; }
            .draw-intro-pills { flex-direction: column; gap: 10px; }
            .draw-intro-pill {
                width: 100%;
                border-radius: 18px;
                text-align: center;
                font-size: 13px;
                padding: 11px 14px;
            }
            .draw-badge { font-size: 12px; padding: 10px 14px; }
            .draw-card h2 {
                margin-top: 14px;
                font-size: clamp(28px, 10vw, 38px);
                letter-spacing: -1.4px;
            }
            .draw-card p { font-size: 15px; }
            .draw-overlay { padding: 14px; }
            .nsu-machine { height: 104px; margin-top: 24px; }
            .nsu-chip { min-width: 156px; height: 64px; font-size: 22px; }
            .center-marker { width: 156px; }
            .draw-live-note {
                margin-top: 18px;
                padding: 14px;
                font-size: 13px;
            }
            .draw-result-panel {
                margin-top: 20px;
                padding: 22px 16px 18px;
                border-radius: 22px;
            }
            .draw-result-chip {
                min-width: 100%;
                min-height: 76px;
                padding: 14px 16px;
                border-radius: 18px;
                font-size: clamp(24px, 8vw, 32px);
                letter-spacing: .4px;
            }
            .draw-result-copy { font-size: 13px; }
            .timer { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; }
            .timer-unit { min-height: 82px; padding: 12px 6px 10px; }
            .timer-unit span { font-size: 26px; }
            .timer-unit small { font-size: 9px; }
            .flash-modal { padding: 16px; }
            .flash-modal-card { border-radius: 26px; }
            .flash-modal-head,
            .flash-modal-body { padding-left: 20px; padding-right: 20px; }
            .flash-modal-actions { justify-content: stretch; }
            .flash-modal-close { width: 100%; }
            .promo-modal { padding: 16px; }
            .promo-modal-card {
                border-radius: 26px;
                max-height: calc(100vh - 32px);
                overflow-y: auto;
            }
            .promo-modal-with-media { grid-template-columns: 1fr; }
            .promo-modal-media { min-height: 0; }
            .promo-modal-image { min-height: 180px; }
            .promo-modal-body { padding: 22px 20px 24px; }
            .promo-modal-actions { justify-content: stretch; }
            .promo-modal-button { width: 100%; text-align: center; }
            .footer-grid { grid-template-columns: 1fr; }
        }
        @media (max-width: 420px) {
            .container { width: calc(100% - 18px); }
            .brand-text span:first-child { font-size: 14px; }
            .brand-text span:last-child { font-size: 22px; }
            .hero-copy .eyebrow { font-size: 18px; }
            .hero-copy h1 {
                font-size: clamp(34px, 11vw, 44px);
                letter-spacing: -1.6px;
            }
            .hero-copy p { font-size: 15px; }
            .count-card { padding: 18px 14px; }
            .timer { gap: 6px; }
            .timer-unit { min-height: 74px; padding: 10px 4px 8px; }
            .timer-unit span { font-size: 23px; }
            .participants strong { font-size: 38px; }
            .count-campaign-badge strong,
            .winner-campaign-badge strong { font-size: 14px; }
            .winner-card, .draw-card, .registration-card, .steps-box { padding: 18px; }
            .winner-card { padding-top: 52px; }
            .winner-avatar {
                width: 78px;
                height: 78px;
            }
            .winner-name { font-size: 28px; }
            .notice {
                padding: 14px;
                font-size: 13px;
            }
            .nsu-text { font-size: 34px; }
            table { min-width: 500px; }
            .history-date,
            .history-prize span,
            .history-winner-meta { font-size: 13px; }
            .history-nsu { font-size: 20px; }
            .draw-intro-card { padding: 20px 16px; }
            .draw-intro-badge,
            .draw-badge {
                font-size: 11px;
                gap: 8px;
            }
            .draw-intro-title { font-size: clamp(24px, 9vw, 32px); }
            .draw-intro-pill { font-size: 12px; }
            .nsu-machine {
                height: 94px;
                border-radius: 22px;
            }
            .nsu-chip {
                min-width: 138px;
                height: 56px;
                font-size: 19px;
            }
            .center-marker { width: 138px; }
            .draw-result-chip {
                min-height: 68px;
                font-size: clamp(21px, 7vw, 28px);
            }
            .registration-copy h3 { font-size: 24px !important; }
            .promo-modal-title,
            .flash-modal-title { font-size: clamp(24px, 8vw, 30px); }
        }
