:root {
  --bg: #f6f2e9;
  --surface: rgba(255, 255, 255, 0.86);
  --surface-strong: #ffffff;
  --ink: #17221f;
  --muted: #68736f;
  --line: rgba(23, 34, 31, 0.12);
  --green: #0f6a4f;
  --green-dark: #0a4f3c;
  --gold: #d6a536;
  --red: #b8453d;
  --shadow: 0 22px 70px rgba(35, 48, 43, 0.12);
  --radius-xl: 32px;
  --radius-lg: 24px;
  --radius-md: 18px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  min-height: 100vh;
  color: var(--ink);
  background:
    radial-gradient(circle at 15% 0%, rgba(214, 165, 54, .18), transparent 30%),
    radial-gradient(circle at 90% 12%, rgba(15, 106, 79, .14), transparent 28%),
    var(--bg);
  font-family: "SF Arabic", "Segoe UI", Tahoma, Arial, sans-serif;
}
button, input, select { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
a { color: inherit; text-decoration: none; }
[hidden] { display: none !important; }

.page-glow { position: fixed; width: 420px; height: 420px; border-radius: 50%; filter: blur(80px); opacity: .18; pointer-events: none; z-index: -1; }
.page-glow-one { background: #e6b64b; top: -220px; right: -120px; }
.page-glow-two { background: #3ca07e; bottom: -240px; left: -160px; }

.public-shell, .admin-shell, .draw-shell, .audit-shell { width: min(1180px, calc(100% - 32px)); margin: 0 auto; }
.public-shell { padding: 34px 0 70px; }
.hero-card {
  display: grid;
  grid-template-columns: 1.4fr .6fr;
  gap: 28px;
  align-items: center;
  padding: 48px;
  border-radius: var(--radius-xl);
  background: linear-gradient(135deg, #113d31, #0f6a4f 68%, #188366);
  color: white;
  box-shadow: var(--shadow);
  overflow: hidden;
  position: relative;
}
.hero-card::after {
  content: "";
  position: absolute;
  inset: auto -12% -62% auto;
  width: 520px;
  height: 520px;
  border-radius: 50%;
  border: 1px solid rgba(255,255,255,.16);
}
.eyebrow { display: inline-block; font-size: .78rem; font-weight: 800; letter-spacing: .08em; color: var(--gold); text-transform: uppercase; }
.hero-card h1, .audit-header h1, .admin-topbar h1 { margin: 8px 0 12px; font-size: clamp(2.2rem, 6vw, 4.8rem); line-height: 1; letter-spacing: -.04em; }
.hero-card p { max-width: 690px; margin: 0; color: rgba(255,255,255,.78); font-size: 1.08rem; line-height: 1.9; }
.hero-meta { display: flex; gap: 12px; flex-wrap: wrap; margin-top: 24px; align-items: center; }
.hero-meta > span:first-child { padding: 10px 14px; border: 1px solid rgba(255,255,255,.2); border-radius: 999px; }
.hero-meta strong { font-size: 1.2rem; }
.trophy-wrap { min-height: 260px; display: grid; place-items: center; position: relative; }
.trophy { font-size: clamp(6rem, 12vw, 10rem); filter: drop-shadow(0 24px 30px rgba(0,0,0,.25)); animation: float 4s ease-in-out infinite; z-index: 2; }
.trophy-orbit { position: absolute; width: 230px; aspect-ratio: 1; border: 1px solid rgba(255,255,255,.25); border-radius: 50%; }
.trophy-orbit::after { content: ""; position: absolute; width: 14px; height: 14px; border-radius: 50%; background: var(--gold); top: 22px; right: 35px; box-shadow: 0 0 28px rgba(214,165,54,.9); }
@keyframes float { 0%,100%{ transform: translateY(0) rotate(-2deg);} 50%{ transform: translateY(-12px) rotate(2deg);} }

.status-chip { display: inline-flex; align-items: center; gap: 7px; padding: 8px 12px; border-radius: 999px; font-size: .82rem; font-weight: 800; }
.status-chip.open { background: rgba(72, 202, 147, .16); color: #aaf1cd; border: 1px solid rgba(133,233,190,.24); }
.status-chip.closed { background: rgba(255,255,255,.1); color: rgba(255,255,255,.78); border: 1px solid rgba(255,255,255,.16); }
.admin-page .status-chip.open, .audit-page .status-chip.open { color: var(--green); background: rgba(15,106,79,.1); border-color: rgba(15,106,79,.16); }
.admin-page .status-chip.closed { color: var(--red); background: rgba(184,69,61,.08); border-color: rgba(184,69,61,.14); }

.result-banner, .prediction-section, .form-card, .closed-card, .trust-strip, .admin-card, .draw-control-card, .audit-card {
  margin-top: 24px;
  background: var(--surface);
  border: 1px solid rgba(255,255,255,.72);
  border-radius: var(--radius-lg);
  box-shadow: 0 16px 45px rgba(41, 54, 49, .08);
  backdrop-filter: blur(18px);
}
.result-banner { display: flex; align-items: center; gap: 16px; padding: 18px 22px; }
.result-banner .result-flag { font-size: 2.5rem; }
.result-banner div:nth-child(2) { display: flex; flex-direction: column; gap: 4px; flex: 1; }
.result-banner span { color: var(--muted); font-size: .82rem; }
.prediction-section, .form-card { padding: 30px; }
.section-heading, .card-header { display: flex; align-items: center; justify-content: space-between; gap: 18px; }
.section-heading h2, .admin-card h2, .audit-card h2, .draw-control-card h3 { margin: 4px 0 0; font-size: 1.45rem; }
.step-pill { background: #eef5f1; color: var(--green); border-radius: 999px; padding: 8px 12px; font-weight: 800; font-size: .82rem; }
.country-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; margin-top: 22px; }
.country-card {
  border: 1px solid var(--line);
  background: rgba(255,255,255,.8);
  border-radius: 22px;
  padding: 22px 16px;
  min-height: 190px;
  cursor: pointer;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 10px;
  transition: .22s ease;
  color: var(--ink);
}
.country-card:hover, .country-card.selected { transform: translateY(-5px); border-color: rgba(15,106,79,.45); box-shadow: 0 18px 34px rgba(15,106,79,.12); background: white; }
.country-flag { font-size: 4.6rem; line-height: 1; }
.country-name { font-weight: 900; font-size: 1.05rem; }
.pick-label { color: var(--green); font-size: .8rem; font-weight: 800; }
.form-card { scroll-margin-top: 24px; }
.compact { margin-bottom: 20px; }
.icon-button, .ghost-button { border: 0; background: transparent; color: var(--green); font-weight: 800; cursor: pointer; }
.selected-country { display: none; }
.score-panel { display: grid; grid-template-columns: 1fr 120px auto 120px 1fr; gap: 14px; align-items: end; padding: 22px; background: #f3f6f4; border: 1px solid var(--line); border-radius: 20px; }
.score-side { display: flex; flex-direction: column; align-items: center; gap: 8px; text-align: center; }
.score-side span { font-size: 2.8rem; }
.score-side.muted { opacity: .58; }
.score-input-wrap { display: flex; flex-direction: column; gap: 8px; color: var(--muted); font-size: .78rem; font-weight: 800; text-align: center; }
.score-input-wrap input { width: 100%; height: 78px; border-radius: 18px; border: 1px solid var(--line); background: white; text-align: center; font-size: 2rem; font-weight: 900; color: var(--ink); }
.score-divider { align-self: center; padding-bottom: 11px; font-size: 2.2rem; font-weight: 900; color: var(--muted); }
.form-grid, .mini-score-grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 14px; }
.form-grid { margin-top: 18px; }
.field { display: flex; flex-direction: column; gap: 8px; color: var(--muted); font-size: .84rem; font-weight: 800; }
.field input, .field select {
  width: 100%;
  min-height: 50px;
  border: 1px solid var(--line);
  border-radius: 14px;
  background: rgba(255,255,255,.92);
  padding: 0 14px;
  color: var(--ink);
  outline: none;
}
.field input:focus, .field select:focus { border-color: rgba(15,106,79,.55); box-shadow: 0 0 0 4px rgba(15,106,79,.08); }
.consent-row { display: flex; gap: 10px; align-items: flex-start; margin: 16px 0; color: var(--muted); font-size: .84rem; line-height: 1.7; }
.consent-row input { margin-top: 5px; accent-color: var(--green); }
.primary-button, .secondary-button, .danger-button, .light-button {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  gap: 8px;
  min-height: 48px;
  border-radius: 14px;
  border: 0;
  padding: 0 18px;
  font-weight: 900;
  cursor: pointer;
  transition: .2s ease;
}
.primary-button { background: var(--green); color: white; box-shadow: 0 12px 24px rgba(15,106,79,.18); }
.primary-button:hover { background: var(--green-dark); transform: translateY(-1px); }
.secondary-button { background: white; color: var(--green); border: 1px solid rgba(15,106,79,.18); }
.secondary-button:hover { background: #f3f8f5; }
.danger-button { background: #fff3f1; color: var(--red); border: 1px solid rgba(184,69,61,.16); }
.light-button { background: white; color: #103d31; }
.full { width: 100%; }
.large { min-height: 60px; font-size: 1rem; }
.small { min-height: 40px; padding-inline: 13px; font-size: .82rem; }
button:disabled { opacity: .45; cursor: not-allowed; transform: none !important; }
.form-note { margin: 12px 0 0; text-align: center; color: var(--muted); font-size: .78rem; }
.honeypot { position: absolute !important; inset-inline-start: -10000px !important; width: 1px; height: 1px; overflow: hidden; }
.closed-card { padding: 52px 24px; text-align: center; }
.closed-icon { font-size: 4rem; }
.closed-card h2 { margin: 10px 0 8px; font-size: 1.8rem; }
.closed-card p { color: var(--muted); margin: 0 auto 20px; max-width: 560px; line-height: 1.8; }
.trust-strip { display: grid; grid-template-columns: repeat(3,1fr); padding: 20px; gap: 12px; }
.trust-strip div { display: grid; grid-template-columns: auto 1fr; column-gap: 10px; align-items: center; padding: 12px; }
.trust-strip div > span { grid-row: 1 / span 2; font-size: 1.6rem; }
.trust-strip strong { font-size: .9rem; }
.trust-strip small { color: var(--muted); }

.success-modal { position: fixed; inset: 0; background: rgba(12,28,23,.72); display: grid; place-items: center; padding: 20px; z-index: 100; backdrop-filter: blur(10px); }
.success-card { width: min(440px,100%); background: white; border-radius: 28px; padding: 34px; text-align: center; box-shadow: var(--shadow); }
.success-icon { width: 72px; height: 72px; display: grid; place-items: center; border-radius: 50%; background: #e8f6ef; color: var(--green); font-size: 2.2rem; font-weight: 900; margin: 0 auto 14px; }
.success-card h2 { margin: 0 0 8px; }
.success-card p { color: var(--muted); }
.ticket-box { display: flex; flex-direction: column; gap: 5px; border: 1px dashed rgba(15,106,79,.35); background: #f5faf7; padding: 16px; border-radius: 16px; margin: 18px 0; }
.ticket-box span { color: var(--muted); font-size: .78rem; }
.ticket-box strong { letter-spacing: .12em; }

.toast-stack { position: fixed; top: 18px; left: 50%; transform: translateX(-50%); z-index: 120; width: min(520px,calc(100% - 28px)); display: grid; gap: 8px; }
.toast { padding: 14px 16px; border-radius: 14px; background: white; box-shadow: var(--shadow); font-weight: 800; text-align: center; }
.toast-success { color: var(--green); }
.toast-error { color: var(--red); }

.login-shell { min-height: 100vh; display: grid; place-items: center; padding: 24px; }
.login-card { width: min(430px,100%); background: var(--surface); border: 1px solid rgba(255,255,255,.74); border-radius: 28px; padding: 34px; box-shadow: var(--shadow); }
.admin-mark { font-size: 3.8rem; }
.login-card h1 { margin: 5px 0 24px; }
.stack-form { display: grid; gap: 14px; }

.admin-topbar { width: min(1180px,calc(100% - 32px)); margin: 0 auto; padding: 28px 0 8px; display: flex; align-items: center; justify-content: space-between; gap: 18px; }
.admin-topbar h1 { font-size: clamp(1.8rem,4vw,3.2rem); }
.topbar-actions { display: flex; align-items: center; gap: 10px; }
.admin-shell { padding: 18px 0 70px; }
.stats-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 14px; }
.stat-card { background: rgba(255,255,255,.82); border: 1px solid rgba(255,255,255,.72); border-radius: 20px; padding: 20px; box-shadow: 0 12px 35px rgba(41,54,49,.07); display: flex; flex-direction: column; gap: 7px; }
.stat-card span, .stat-card small { color: var(--muted); }
.stat-card strong { font-size: 2rem; }
.status-text { font-size: 1.25rem !important; }
.good { color: var(--green); }
.muted-text { color: var(--muted); }
.admin-grid.two-columns { display: grid; grid-template-columns: 1fr 1.35fr; gap: 18px; }
.admin-card { padding: 24px; }
.admin-card p { color: var(--muted); line-height: 1.8; }
.locked-message { border-radius: 14px; padding: 13px 14px; background: #f4f4f1; color: var(--muted); margin-top: 12px; }
.official-result { display: flex; align-items: center; gap: 12px; margin-top: 16px; padding: 14px; border-radius: 16px; background: #f3f8f5; }
.official-result span { font-size: 2rem; }
.country-admin-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 14px; margin-top: 18px; }
.country-admin-card { border: 1px solid var(--line); border-radius: 18px; padding: 16px; background: rgba(255,255,255,.72); display: grid; gap: 12px; }
.country-admin-flag { text-align: center; font-size: 3.4rem; }
.checkbox-field { display: flex; align-items: center; justify-content: center; gap: 8px; border: 1px solid var(--line); border-radius: 14px; min-height: 50px; color: var(--muted); font-weight: 800; }
.checkbox-field input { accent-color: var(--green); }
.draw-callout { display: flex; align-items: center; justify-content: space-between; gap: 22px; background: linear-gradient(135deg, rgba(15,106,79,.98), rgba(17,61,49,.98)); color: white; }
.draw-callout p { color: rgba(255,255,255,.72); margin-bottom: 0; }
.draw-callout .eyebrow { color: #f2cf73; }
.table-wrap { overflow: auto; margin-top: 18px; border: 1px solid var(--line); border-radius: 16px; }
table { width: 100%; border-collapse: collapse; min-width: 760px; background: rgba(255,255,255,.62); }
th, td { padding: 14px 15px; text-align: right; border-bottom: 1px solid var(--line); font-size: .86rem; }
th { color: var(--muted); background: #f5f7f5; }
tr:last-child td { border-bottom: 0; }
code { direction: ltr; unicode-bidi: isolate; overflow-wrap: anywhere; font-family: ui-monospace, SFMono-Regular, Menlo, monospace; }
.empty-cell { text-align: center; color: var(--muted); padding: 30px; }

.draw-page { background: #0d211b; color: white; }
.draw-page .page-glow-one { opacity: .28; }
.draw-topbar { color: white; }
.draw-topbar .secondary-button { background: rgba(255,255,255,.08); color: white; border-color: rgba(255,255,255,.14); }
.draw-shell { padding: 20px 0 70px; }
.draw-hero { text-align: center; padding: 34px 20px; }
.draw-trophy { font-size: 6rem; filter: drop-shadow(0 22px 28px rgba(0,0,0,.35)); }
.draw-hero h2 { font-size: clamp(1.5rem,4vw,2.8rem); margin: 10px auto; }
.eligible-counter { display: inline-flex; align-items: center; gap: 12px; margin-top: 12px; padding: 10px 16px; border-radius: 999px; background: rgba(255,255,255,.08); border: 1px solid rgba(255,255,255,.12); }
.eligible-counter strong { font-size: 1.5rem; }
.draw-control-card { max-width: 760px; margin-inline: auto; padding: 28px; color: var(--ink); }
.draw-control-card p { color: var(--muted); line-height: 1.8; }
.proof-grid { display: grid; grid-template-columns: repeat(2,1fr); gap: 14px; max-width: 920px; margin: 0 auto 18px; }
.proof-grid article { background: rgba(255,255,255,.07); border: 1px solid rgba(255,255,255,.1); border-radius: 18px; padding: 16px; display: flex; flex-direction: column; gap: 7px; }
.proof-grid span { color: rgba(255,255,255,.55); font-size: .78rem; }
.proof-grid code { color: #f1cf75; font-size: .72rem; }
.live-card { position: relative; overflow: hidden; }
.live-card::before { content: ""; position: absolute; inset: 0 auto 0 0; width: 6px; background: var(--gold); }
.live-dot { display: inline-flex; align-items: center; gap: 7px; color: var(--red); font-weight: 900; font-size: .82rem; }
.live-dot::before { content: ""; width: 8px; height: 8px; background: var(--red); border-radius: 50%; box-shadow: 0 0 0 6px rgba(184,69,61,.1); animation: pulse 1.4s infinite; }
@keyframes pulse { 50% { box-shadow: 0 0 0 12px rgba(184,69,61,0); } }
.text-link { color: var(--green); font-weight: 900; font-size: .88rem; }
.draw-page .text-link { display: inline-block; margin-top: 16px; }
.winner-admin-card { max-width: 680px; margin: 0 auto; padding: 36px; text-align: center; background: linear-gradient(135deg,#f0c35c,#d99d24); color: #2f240d; border-radius: 28px; }
.winner-badge { display: inline-flex; padding: 7px 12px; border-radius: 999px; background: rgba(255,255,255,.45); font-weight: 900; font-size: .78rem; }
.winner-flag { font-size: 4rem; margin-top: 12px; }
.winner-admin-card h2 { font-size: 2.3rem; margin: 6px 0; }
.draw-empty { text-align: center; padding: 80px 20px; }
.draw-empty div { font-size: 5rem; }

.draw-stage { position: fixed; inset: 0; z-index: 500; background: radial-gradient(circle at center, #17664f 0%, #0d211b 58%, #07110e 100%); display: grid; place-items: center; overflow: hidden; }
.stage-content, .winner-reveal { text-align: center; padding: 24px; z-index: 2; }
.stage-kicker { color: #eac861; font-weight: 900; letter-spacing: .08em; }
.rolling-name { min-height: 1.4em; margin: 18px 0; font-size: clamp(2.3rem,8vw,6.4rem); font-weight: 950; letter-spacing: -.04em; text-shadow: 0 12px 35px rgba(0,0,0,.34); }
.stage-counter { color: rgba(255,255,255,.58); }
.winner-reveal .winner-cup { font-size: 8rem; animation: winnerPop .8s cubic-bezier(.2,.9,.25,1.3); }
@keyframes winnerPop { from { transform: scale(.2) rotate(-18deg); opacity: 0; } to { transform: scale(1) rotate(0); opacity: 1; } }
.winner-reveal > span { color: #efcf78; font-weight: 900; }
.winner-reveal h2 { font-size: clamp(2.4rem,8vw,6rem); margin: 8px 0; }
.winner-reveal p { color: rgba(255,255,255,.7); font-size: 1.1rem; }
.winner-ticket { display: inline-flex; margin: 10px 0 22px; padding: 12px 18px; border: 1px solid rgba(255,255,255,.18); border-radius: 999px; font-weight: 900; letter-spacing: .12em; }
.confetti-layer { position: absolute; inset: 0; pointer-events: none; overflow: hidden; }
.confetti { position: absolute; top: -10%; width: 10px; height: 18px; border-radius: 3px; animation: confettiFall linear forwards; }
@keyframes confettiFall { to { transform: translate3d(var(--drift),115vh,0) rotate(900deg); } }

.audit-page { background: #f3f0e8; }
.audit-shell { padding: 40px 0 70px; max-width: 980px; }
.audit-header { text-align: center; margin-bottom: 22px; }
.audit-header h1 { font-size: clamp(2rem,6vw,4rem); }
.audit-header p { color: var(--muted); max-width: 700px; margin: 0 auto; line-height: 1.8; }
.audit-status { display: flex; align-items: center; gap: 14px; padding: 18px 20px; border-radius: 18px; }
.audit-status.completed { background: #eaf7f0; border: 1px solid rgba(15,106,79,.14); }
.audit-status.prepared { background: #fff7e6; border: 1px solid rgba(214,165,54,.18); }
.audit-status-icon { width: 48px; height: 48px; border-radius: 50%; display: grid; place-items: center; background: white; font-weight: 900; color: var(--green); }
.audit-status div:last-child { display: flex; flex-direction: column; gap: 4px; }
.audit-status span, .audit-result small { color: var(--muted); font-size: .78rem; }
.audit-result { display: flex; align-items: center; gap: 14px; margin-top: 14px; padding: 16px 18px; border-radius: 18px; background: white; }
.audit-result > span { font-size: 2.8rem; }
.audit-result div { display: flex; flex-direction: column; gap: 4px; }
.audit-grid { display: grid; grid-template-columns: repeat(2,1fr); gap: 12px; margin-top: 18px; }
.audit-grid article { background: white; border: 1px solid var(--line); border-radius: 16px; padding: 16px; display: flex; flex-direction: column; gap: 7px; }
.audit-grid article.wide { grid-column: 1/-1; }
.audit-grid span { color: var(--muted); font-size: .76rem; }
.public-winner-card { margin-top: 18px; border-radius: 28px; padding: 34px; text-align: center; background: linear-gradient(135deg,#f5d77e,#dca62e); color: #2d220b; box-shadow: var(--shadow); }
.public-winner-card .winner-cup { font-size: 5rem; }
.public-winner-card h2 { font-size: 2.4rem; margin: 10px 0 4px; }
.audit-card { padding: 24px; }
.candidate-list { display: grid; gap: 8px; margin-top: 18px; max-height: 520px; overflow: auto; }
.candidate-row { display: grid; grid-template-columns: 48px 1fr 120px 150px; gap: 12px; align-items: center; padding: 12px; border: 1px solid var(--line); border-radius: 13px; background: rgba(255,255,255,.68); }
.candidate-row.selected { border-color: rgba(214,165,54,.65); background: #fff8df; box-shadow: inset 0 0 0 2px rgba(214,165,54,.12); }
.candidate-index { width: 32px; height: 32px; display: grid; place-items: center; border-radius: 10px; background: #edf2ef; font-weight: 900; }
.method-card p { color: var(--muted); line-height: 1.9; }
.verification-box { display: flex; justify-content: space-between; gap: 14px; padding: 14px; border-radius: 14px; background: #edf8f2; color: var(--green); }

@media (max-width: 900px) {
  .hero-card { grid-template-columns: 1fr; padding: 34px; }
  .trophy-wrap { min-height: 190px; }
  .country-grid, .country-admin-grid { grid-template-columns: repeat(2,1fr); }
  .stats-grid { grid-template-columns: repeat(2,1fr); }
  .admin-grid.two-columns { grid-template-columns: 1fr; }
  .score-panel { grid-template-columns: 1fr 92px auto 92px 1fr; }
  .candidate-row { grid-template-columns: 42px 1fr 110px; }
  .candidate-row code { grid-column: 2/-1; }
}

@media (max-width: 640px) {
  .public-shell, .admin-shell, .draw-shell, .audit-shell, .admin-topbar { width: min(100% - 20px,1180px); }
  .public-shell { padding-top: 10px; }
  .hero-card { padding: 26px 22px; border-radius: 24px; }
  .hero-card h1 { font-size: 2.75rem; }
  .hero-card p { font-size: .95rem; }
  .trophy-wrap { min-height: 155px; }
  .trophy { font-size: 6.2rem; }
  .trophy-orbit { width: 170px; }
  .prediction-section, .form-card, .admin-card { padding: 18px; border-radius: 20px; }
  .country-grid { gap: 10px; }
  .country-card { min-height: 150px; padding: 14px 10px; }
  .country-flag { font-size: 3.6rem; }
  .score-panel { grid-template-columns: 1fr 1fr; align-items: stretch; }
  .score-side { grid-column: span 1; }
  .score-side.muted { order: 2; }
  .score-input-wrap { order: 3; }
  .score-divider { display: none; }
  .score-input-wrap input { height: 66px; }
  .form-grid, .mini-score-grid, .proof-grid, .audit-grid { grid-template-columns: 1fr; }
  .trust-strip { grid-template-columns: 1fr; }
  .result-banner, .draw-callout, .admin-topbar { flex-direction: column; align-items: stretch; }
  .result-banner .secondary-button { width: 100%; }
  .topbar-actions { flex-wrap: wrap; }
  .topbar-actions > * { flex: 1; }
  .stats-grid { grid-template-columns: 1fr 1fr; gap: 10px; }
  .stat-card { padding: 15px; }
  .stat-card strong { font-size: 1.6rem; }
  .country-admin-grid { grid-template-columns: 1fr; }
  .audit-grid article.wide { grid-column: auto; }
  .candidate-row { grid-template-columns: 38px 1fr; }
  .candidate-row span:not(.candidate-index), .candidate-row code { grid-column: 2; }
  .proof-grid article { min-width: 0; }
  .draw-control-card { padding: 20px; }
  .rolling-name { font-size: 2.2rem; }
  .winner-reveal .winner-cup { font-size: 6rem; }
}
.verification-list { display: grid; gap: 10px; margin-top: 18px; }

/* V2.1 visual draw + testing lab */
.test-lab-card { background: linear-gradient(135deg,#fffaf0,#f8f1df); border-color: rgba(214,165,54,.28); }
.test-count-badge, .test-inline-badge { display:inline-flex;align-items:center;padding:6px 10px;border-radius:999px;background:#fff1c7;color:#815d08;font-weight:900;font-size:.76rem; }
.test-inline-badge { padding:3px 7px;margin-inline-start:6px;font-size:.67rem; }
.test-plan { display:flex;flex-wrap:wrap;gap:8px;margin:16px 0; }
.test-plan span { padding:8px 10px;border-radius:12px;background:white;border:1px solid rgba(214,165,54,.22);font-size:.78rem;font-weight:800; }
.test-actions { display:flex;flex-wrap:wrap;gap:10px;align-items:center; }
.test-actions form { margin:0; }
.test-help { display:block;margin-top:14px;color:var(--muted);line-height:1.7; }
.test-row { background:rgba(243,205,102,.075); }

.draw-prepare-card { text-align:center; }
.visual-lock-icon { width:78px;height:78px;margin:0 auto 12px;border-radius:24px;display:grid;place-items:center;font-size:2.2rem;background:#eef7f2;box-shadow:inset 0 0 0 1px rgba(15,106,79,.08); }
.human-proof-row { display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin:18px 0; }
.human-proof-row span { padding:8px 11px;border-radius:999px;background:#edf8f2;color:var(--green);font-weight:900;font-size:.76rem; }
.draw-public-proof { display:grid;grid-template-columns:repeat(4,1fr);gap:12px;max-width:980px;margin:0 auto 18px; }
.draw-public-proof article { padding:16px;border-radius:18px;background:rgba(255,255,255,.075);border:1px solid rgba(255,255,255,.12);display:flex;flex-direction:column;gap:7px; }
.draw-public-proof span { color:rgba(255,255,255,.58);font-size:.76rem; }
.draw-public-proof strong { color:white; }
.broadcast-card { text-align:center; }
.draw-launch-button { font-size:1.1rem;display:flex;align-items:center;justify-content:center;gap:10px; }

.broadcast-watermark { position:absolute;top:22px;inset-inline:24px;display:flex;align-items:center;justify-content:space-between;z-index:5;color:rgba(255,255,255,.8);font-size:.8rem; }
.broadcast-watermark span { color:#ff766e;font-weight:950;letter-spacing:.08em; }
.countdown-scene { text-align:center;z-index:3; }
.countdown-scene span { display:block;color:rgba(255,255,255,.62);font-weight:850;font-size:1.05rem; }
.countdown-scene strong { display:block;font-size:clamp(8rem,24vw,18rem);line-height:.95;color:#f3cd66;text-shadow:0 22px 60px rgba(0,0,0,.35); }
.count-pop { animation:countPop .72s cubic-bezier(.2,.9,.25,1.35); }
@keyframes countPop { from{transform:scale(.25);opacity:.15} to{transform:scale(1);opacity:1} }
.draw-arena { width:min(1100px,94vw);text-align:center;z-index:3;transition:opacity .7s,transform .7s; }
.arena-fade-out { opacity:0;transform:scale(.92); }
.phase-track { display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:0 auto 22px;max-width:760px; }
.phase-step { display:flex;align-items:center;justify-content:center;gap:8px;padding:10px;border-radius:999px;color:rgba(255,255,255,.42);background:rgba(255,255,255,.055);border:1px solid rgba(255,255,255,.08);font-size:.78rem;font-weight:900; }
.phase-step i { width:8px;height:8px;border-radius:50%;background:rgba(255,255,255,.3); }
.phase-step.active { color:white;background:rgba(243,205,102,.15);border-color:rgba(243,205,102,.42); }
.phase-step.active i { background:#f3cd66;box-shadow:0 0 0 7px rgba(243,205,102,.12); }
.phase-step.done { color:#9de3c5; }
.phase-step.done i { background:#4ccf9b; }
.lottery-drum { position:relative;width:min(700px,84vw);aspect-ratio:1.7/1;margin:0 auto;border-radius:50%;overflow:hidden;background:radial-gradient(circle at 50% 46%,rgba(255,255,255,.18),rgba(255,255,255,.045) 44%,rgba(0,0,0,.23) 72%);border:3px solid rgba(243,205,102,.52);box-shadow:inset 0 0 70px rgba(255,255,255,.08),0 35px 90px rgba(0,0,0,.38); }
.lottery-drum::before,.lottery-drum::after { content:"";position:absolute;inset:8%;border-radius:50%;border:1px dashed rgba(255,255,255,.18); }
.lottery-drum::after { inset:18%;border-color:rgba(243,205,102,.2); }
.candidate-cloud { position:absolute;inset:0;overflow:hidden; }
.candidate-ball { position:absolute;left:var(--x);top:var(--y);max-width:150px;padding:7px 10px;border-radius:999px;background:rgba(255,255,255,.94);color:#123c30;font-size:.68rem;font-weight:950;white-space:nowrap;box-shadow:0 8px 22px rgba(0,0,0,.22);animation:ballFloat var(--duration) ease-in-out var(--delay) infinite alternate;transform:translate(-50%,-50%); }
.candidate-cloud.is-mixing .candidate-ball { animation-name:ballMix;animation-duration:1.1s; }
.candidate-cloud.is-finalizing .candidate-ball { animation-duration:2.4s;filter:blur(.4px);opacity:.72; }
@keyframes ballFloat { to{transform:translate(calc(-50% + 24px),calc(-50% - 18px)) rotate(4deg)} }
@keyframes ballMix { 0%{transform:translate(-50%,-50%) rotate(0)} 50%{transform:translate(calc(-50% + 80px),calc(-50% - 55px)) rotate(12deg)} 100%{transform:translate(calc(-50% - 70px),calc(-50% + 45px)) rotate(-10deg)} }
.drum-core { position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:150px;height:150px;border-radius:50%;display:grid;place-items:center;background:radial-gradient(circle,#f5dc8e,#dca52d);color:#342607;box-shadow:0 0 0 14px rgba(243,205,102,.1),0 20px 45px rgba(0,0,0,.35);z-index:2; }
.drum-core span { font-size:4.2rem;line-height:1; }
.drum-core small { font-size:.68rem;font-weight:950;max-width:120px; }
.rolling-window { width:min(760px,92vw);margin:18px auto 8px;padding:12px 18px;border-radius:20px;background:rgba(0,0,0,.22);border:1px solid rgba(255,255,255,.12);overflow:hidden; }
.rolling-window .rolling-name { margin:0;font-size:clamp(2rem,7vw,5.4rem);white-space:nowrap;overflow:hidden;text-overflow:ellipsis; }
.name-flip { animation:nameFlip .18s ease-out; }
@keyframes nameFlip { from{transform:translateY(18px);opacity:.25} to{transform:translateY(0);opacity:1} }
.draw-session-line { display:flex;justify-content:center;gap:14px;color:rgba(255,255,255,.56);font-size:.78rem; }
.draw-session-line strong { color:#f3cd66;letter-spacing:.08em; }
.winner-reveal { position:relative; }
.winner-light-ring { position:absolute;left:50%;top:43%;width:360px;height:360px;transform:translate(-50%,-50%);border-radius:50%;border:2px solid rgba(243,205,102,.5);box-shadow:0 0 80px 30px rgba(243,205,102,.2);animation:ringPulse 1.8s infinite;z-index:-1; }
@keyframes ringPulse { 50%{transform:translate(-50%,-50%) scale(1.12);opacity:.45} }
.winner-actions { display:flex;justify-content:center;gap:10px;flex-wrap:wrap;margin-top:18px; }
.winner-actions .secondary-button { color:white;background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.16); }

.public-verification-grid { display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin:18px 0; }
.public-check { display:flex;align-items:center;gap:13px;padding:16px;border-radius:18px;background:#edf8f2;border:1px solid rgba(15,106,79,.12); }
.public-check i { width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:white;color:var(--green);font-style:normal;font-weight:950; }
.public-check div { display:flex;flex-direction:column;gap:4px; }
.public-check span { color:var(--muted);font-size:.74rem; }
.technical-proof { margin-top:18px;border-top:1px solid var(--line);padding-top:14px; }
.technical-proof summary { cursor:pointer;font-weight:900;color:var(--green); }
.technical-proof[open] summary { margin-bottom:14px; }

@media (max-width:760px){
  .draw-public-proof{grid-template-columns:repeat(2,1fr)}
  .phase-step span{display:none}
  .lottery-drum{aspect-ratio:1.2/1}
  .drum-core{width:112px;height:112px}.drum-core span{font-size:3rem}
  .candidate-ball{max-width:110px;font-size:.58rem}
  .public-verification-grid{grid-template-columns:1fr}
  .test-actions{align-items:stretch}.test-actions form,.test-actions button{width:100%}
}


/* V2.2 polish mobile + brand palette */
:root {
  --bg: #f7fbfb;
  --surface: rgba(255, 255, 255, 0.94);
  --surface-strong: #ffffff;
  --ink: #183134;
  --muted: #5e7578;
  --line: rgba(24, 49, 52, 0.10);
  --green: #85c9c9;
  --green-dark: #63b4b4;
  --gold: #d6a536;
  --red: #c45a53;
  --shadow: 0 22px 70px rgba(77, 132, 132, 0.14);
}
body {
  font-family: "Cairo", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  background:
    radial-gradient(circle at 15% 0%, rgba(214, 165, 54, .14), transparent 30%),
    radial-gradient(circle at 90% 12%, rgba(133, 201, 201, .22), transparent 28%),
    var(--bg);
}
.page-glow-one { background: #d8bb69; }
.page-glow-two { background: #85c9c9; }
.hero-card {
  background: linear-gradient(135deg, #6cb9b9, #85c9c9 68%, #9fd7d7);
}
.eyebrow { color: #f4d37f; }
.status-chip.open, .admin-page .status-chip.open, .audit-page .status-chip.open { color: #2b6565; background: rgba(133,201,201,.18); border-color: rgba(133,201,201,.35); }
.step-pill, .pick-label, .icon-button, .ghost-button, .text-link { color: #2f7272; }
.step-pill { background: #edf8f8; }
.country-card:hover, .country-card.selected { border-color: rgba(133,201,201,.68); box-shadow: 0 18px 34px rgba(133,201,201,.20); }
.hero-logo { max-width:150px; max-height:64px; object-fit:contain; margin-bottom:16px; }
.hero-trophy-image { width: min(220px, 65vw); filter: drop-shadow(0 24px 30px rgba(0,0,0,.18)); z-index:2; animation: float 4s ease-in-out infinite; }
.draw-trophy-image { width:min(180px, 56vw); filter: drop-shadow(0 18px 30px rgba(0,0,0,.25)); margin-bottom: 12px; }
.draw-page { background: linear-gradient(180deg,#6ab9b9 0%, #2b5b5f 48%, #18363b 100%); }
.draw-prize-banner, .prize-banner-card { margin-top: 18px; background: var(--surface); border: 1px solid rgba(255,255,255,.72); border-radius: 24px; box-shadow: 0 16px 45px rgba(41,54,49,.08); padding: 14px; }
.prize-banner-card .eyebrow { color: #7f6117; margin-bottom: 10px; }
.prize-banner-image, .draw-prize-banner img, .admin-banner-preview img { display:block; width:100%; height:auto; border-radius:18px; }
.draw-public-proof.simplified-proof article { background: rgba(255,255,255,.09); border-color: rgba(255,255,255,.12); }
.draw-control-card.live-card::before { background: #f0ce77; }
.drum-core span, .winner-cup { display:none; }
.drum-core img { width: 74px; height: auto; filter: drop-shadow(0 12px 16px rgba(0,0,0,.22)); }
.winner-cup img { width:min(120px, 34vw); height:auto; }
.admin-banner-preview { margin-top: 14px; }
.mobile-first-shell { width: min(720px, calc(100% - 18px)); }
.sticky-mobile-submit { min-height: 56px; }
@media (max-width: 640px) {
  .public-shell, .admin-shell, .draw-shell, .audit-shell, .admin-topbar { width: min(100% - 14px, 760px); }
  .public-shell { padding-top: 8px; padding-bottom: 40px; }
  .hero-card { padding: 22px 18px; gap: 16px; border-radius: 22px; grid-template-columns: 1fr; }
  .hero-card h1 { font-size: 2.15rem; line-height: 1.08; }
  .hero-card p { font-size: .93rem; line-height: 1.75; }
  .trophy-wrap { min-height: 125px; }
  .hero-trophy-image { width: 142px; }
  .hero-meta { gap: 8px; margin-top: 18px; }
  .prediction-section, .form-card, .admin-card, .draw-control-card, .winner-admin-card { padding: 16px; border-radius: 18px; }
  .country-grid { grid-template-columns: repeat(2, 1fr); gap: 10px; }
  .country-card { min-height: 126px; padding: 14px 10px; border-radius: 18px; }
  .country-flag { font-size: 3.3rem; }
  .country-name { font-size: .98rem; }
  .score-panel { grid-template-columns: 1fr 1fr; gap: 10px; }
  .score-side { grid-column: 1 / -1; }
  .score-input-wrap input { height: 58px; font-size: 1.3rem; }
  .field input, .field select { min-height: 52px; border-radius: 14px; }
  .primary-button, .secondary-button, .danger-button, .ghost-button { min-height: 52px; }
  .trust-strip { grid-template-columns: 1fr; gap: 10px; }
  .draw-hero { padding: 22px 8px; }
  .draw-trophy-image { width: 128px; }
  .draw-public-proof, .proof-grid { grid-template-columns: 1fr 1fr; gap: 10px; }
  .draw-public-proof article { padding: 14px 12px; border-radius: 16px; }
  .rolling-name { font-size: clamp(1.9rem, 10vw, 2.7rem); }
  .draw-stage { padding: env(safe-area-inset-top) 8px env(safe-area-inset-bottom); }
  .phase-track { gap: 6px; }
  .phase-step span { font-size: .72rem; }
  .lottery-drum { width: min(92vw, 390px); height: min(92vw, 390px); }
  .candidate-ball { font-size: .72rem; padding: 7px 10px; }
  .winner-admin-card h2 { font-size: 1.9rem; }
  .winner-actions { display:flex; flex-direction:column; gap:10px; }
  .center-actions > * { width: 100%; }
  .topbar-actions { width:100%; display:grid; grid-template-columns:1fr 1fr; gap:8px; }
  .topbar-actions form { grid-column: 1 / -1; }
  .topbar-actions .ghost-button { width:100%; }
  .stats-grid { grid-template-columns: 1fr 1fr; }
  .admin-grid.two-columns { grid-template-columns: 1fr; }
  .draw-topbar h1, .admin-topbar h1 { font-size: 2rem; }
}

/* V2.3 final polish brand-first + mobile-first */
:root {
  --bg: #f4f7f7;
  --surface: rgba(255,255,255,.96);
  --surface-strong: #ffffff;
  --ink: #10373a;
  --muted: #5e7b7d;
  --line: rgba(16,55,58,.10);
  --green: #85c9c9;
  --green-dark: #68b8b8;
  --green-deep: #2f8f8f;
  --hero-deep: #166b61;
  --hero-mid: #1b8b73;
  --gold: #d7b05e;
  --shadow: 0 24px 70px rgba(39, 99, 100, .14);
}
body { font-family: "Cairo", system-ui, sans-serif; color: var(--ink); background: linear-gradient(180deg, #f5f9f9 0%, #eef6f6 100%); }
.page-glow-one { background: rgba(133,201,201,.7); filter: blur(120px); }
.page-glow-two { background: rgba(215,176,94,.28); filter: blur(120px); }
.hero-card, .brand-hero-card {
  position: relative; overflow: hidden; isolation: isolate;
  display: grid; grid-template-columns: 180px 1fr; gap: 24px;
  background: linear-gradient(135deg, #0d584a 0%, #136d57 38%, #1c8b70 100%);
  color: #fff; border: 1px solid rgba(255,255,255,.09); box-shadow: 0 26px 70px rgba(7, 47, 41, .22);
}
.brand-hero-card::before, .brand-draw-hero::before {
  content: ""; position: absolute; inset: auto -16% -30% auto; width: 340px; height: 340px; border-radius: 50%; border: 1px solid rgba(255,255,255,.13);
}
.brand-hero-card::after, .brand-draw-hero::after {
  content: ""; position: absolute; inset: 18% auto auto 5%; width: 220px; height: 220px; border-radius: 50%; border: 1px solid rgba(255,255,255,.14);
}
.hero-copy, .brand-hero-badge { position: relative; z-index: 1; }
.hero-card h1, .draw-topbar h1, .admin-topbar h1 { font-family: "Cairo", system-ui, sans-serif; font-weight: 900; }
.hero-card h1 { font-size: clamp(2.35rem, 5vw, 4.6rem); line-height: 1.02; letter-spacing: -.03em; margin: 4px 0 10px; }
.hero-card p { max-width: 560px; color: rgba(255,255,255,.92); font-size: 1.06rem; line-height: 1.85; }
.hero-meta-tight { gap: 10px; margin-top: 18px; }
.hero-meta > span:first-child { background: rgba(255,255,255,.10); border: 1px solid rgba(255,255,255,.18); color: #fff; }
.eyebrow { color: #f1cf7c; font-weight: 800; letter-spacing: 0; }
.brand-hero-badge { display: flex; align-items: center; justify-content: center; min-height: 210px; }
.brand-logo-wrap { position: relative; width: 148px; height: 148px; border-radius: 50%; background: rgba(9, 70, 63, .38); border: 1px solid rgba(255,255,255,.14); display:flex; align-items:center; justify-content:center; backdrop-filter: blur(8px); box-shadow: inset 0 0 24px rgba(255,255,255,.04), 0 16px 36px rgba(0,0,0,.18); }
.brand-logo-wrap.compact-brand-wrap { width: 128px; height: 128px; }
.brand-logo-orbit { position:absolute; width: 192px; height: 192px; border-radius:50%; border: 1px solid rgba(255,255,255,.18); animation: slowSpin 16s linear infinite; }
.hero-logo-large, .draw-logo-image { width: 84%; height: 84%; object-fit: contain; filter: drop-shadow(0 10px 18px rgba(0,0,0,.18)); }
.logo-fallback { width: 82px; height: 82px; border-radius: 50%; display:grid; place-items:center; background: rgba(255,255,255,.16); color:#fff; font-size: 2rem; font-weight: 900; }
.logo-fallback.small { width: 58px; height: 58px; font-size: 1.35rem; }
.status-chip.open { background: rgba(133,201,201,.16); border-color: rgba(133,201,201,.38); color: #e9ffff; }
.status-chip.closed { background: rgba(255,255,255,.10); border-color: rgba(255,255,255,.18); color: #fff; }
.prize-banner-card, .draw-prize-banner { background: var(--surface); border:1px solid rgba(255,255,255,.8); border-radius: 24px; padding: 12px; box-shadow: var(--shadow); }
.banner-eyebrow { color: #7e6426; display:block; margin-bottom:10px; }
.prize-banner-image, .draw-prize-banner img, .admin-banner-preview img, .admin-logo-preview img { display:block; width:100%; height:auto; border-radius:16px; }
.admin-logo-preview { margin-top:14px; background: #f2f8f8; border:1px solid var(--line); border-radius:18px; padding:10px; }
.admin-logo-preview img { max-height: 140px; object-fit: contain; }
.country-card.selected, .country-card:hover { border-color: rgba(104,184,184,.75); box-shadow: 0 18px 40px rgba(104,184,184,.2); }
.country-card .pick-label { color: var(--green-deep); }
.primary-button { background: linear-gradient(135deg, #68b8b8 0%, #85c9c9 100%); color:#103739; box-shadow: 0 16px 32px rgba(104,184,184,.28); }
.primary-button:hover { filter: brightness(.98); transform: translateY(-1px); }
.secondary-button, .ghost-button, .icon-button { color: var(--green-deep); }
.result-banner { background: linear-gradient(135deg, rgba(255,255,255,.98), rgba(241,250,250,.98)); }
.draw-page { background: radial-gradient(circle at 15% 10%, rgba(133,201,201,.18), transparent 24%), linear-gradient(180deg, #0f584f 0%, #11433d 100%); }
.brand-draw-hero { position: relative; overflow: hidden; background: linear-gradient(135deg, rgba(255,255,255,.12), rgba(255,255,255,.06)); border: 1px solid rgba(255,255,255,.12); }
.draw-brand-mark { display:flex; justify-content:center; margin-bottom: 6px; }
.draw-hero h2 { color: #fff; max-width: 560px; }
.draw-hero .eligible-counter { background: rgba(255,255,255,.1); border-color: rgba(255,255,255,.15); }
.draw-public-proof.simplified-proof article { background: rgba(255,255,255,.08); color: #fff; border:1px solid rgba(255,255,255,.1); }
.draw-control-card, .winner-admin-card { box-shadow: 0 24px 50px rgba(10,29,31,.18); }
.broadcast-card p, .draw-control-card p { color: var(--muted); }
.draw-stage {
  position: fixed; inset: 0; z-index: 9999; background:
    radial-gradient(circle at 50% 18%, rgba(255,255,255,.12), transparent 24%),
    radial-gradient(circle at 50% 48%, rgba(133,201,201,.18), transparent 35%),
    linear-gradient(180deg, #072d31 0%, #0e3b3f 45%, #082629 100%);
  display:grid; place-items:center; padding: 20px 12px max(20px, env(safe-area-inset-bottom));
}
.broadcast-watermark { background: rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.12); backdrop-filter: blur(12px); }
.countdown-scene strong { text-shadow: 0 0 25px rgba(133,201,201,.55), 0 0 70px rgba(133,201,201,.35); }
.draw-arena { width: min(100%, 760px); display:grid; justify-items:center; gap: 18px; }
.phase-track { width:min(100%, 620px); }
.phase-step { background: rgba(255,255,255,.07); border:1px solid rgba(255,255,255,.08); color:#dff6f6; }
.phase-step.done, .phase-step.active { background: rgba(133,201,201,.14); }
.lottery-drum {
  position: relative; width: min(90vw, 450px); height: min(90vw, 450px); border-radius: 50%;
  background: radial-gradient(circle at 50% 35%, rgba(255,255,255,.14), rgba(255,255,255,.03) 58%, rgba(255,255,255,.01) 74%),
              radial-gradient(circle at 50% 50%, rgba(133,201,201,.16), rgba(18,46,49,.32) 72%);
  border: 1px solid rgba(255,255,255,.15); box-shadow: inset 0 0 80px rgba(255,255,255,.04), 0 24px 70px rgba(0,0,0,.35);
  overflow: hidden; transform-style: preserve-3d;
}
.lottery-drum.is-rattling { animation: drumShake .26s linear infinite; }
.lottery-drum.is-vortex .candidate-cloud { animation: cloudSpin .85s linear infinite; }
.lottery-drum.is-final-rush { animation: drumShakeSlow .42s linear infinite; }
.drum-ring { position:absolute; inset: 7%; border-radius:50%; border:1px solid rgba(255,255,255,.11); pointer-events:none; }
.ring-two { inset: 16%; border-color: rgba(133,201,201,.22); }
.shock-wave { position:absolute; inset: 25%; border-radius:50%; border:1px solid rgba(215,176,94,.18); animation: shockPulse 2.2s ease-in-out infinite; }
.candidate-cloud { position:absolute; inset:0; transform-style: preserve-3d; perspective: 1000px; }
.candidate-ball {
  position:absolute; top:50%; left:50%; transform-origin: center center;
  display:inline-flex; align-items:center; justify-content:center; white-space:nowrap;
  padding: 9px 14px; border-radius: 999px; font-size: .88rem; font-weight: 800;
  color:#eaffff; background: linear-gradient(135deg, rgba(133,201,201,.22), rgba(255,255,255,.08));
  border:1px solid rgba(255,255,255,.14); box-shadow: 0 6px 20px rgba(0,0,0,.16);
  animation: orbitName var(--duration) linear infinite; animation-delay: var(--delay);
}
.drum-core {
  position:absolute; inset:50% auto auto 50%; transform: translate(-50%, -50%);
  width: 118px; height:118px; border-radius:50%; display:flex; flex-direction:column; align-items:center; justify-content:center;
  background: radial-gradient(circle at 35% 30%, rgba(255,255,255,.35), rgba(255,255,255,.12) 52%, rgba(9,31,33,.88));
  border:1px solid rgba(255,255,255,.18); box-shadow: 0 12px 28px rgba(0,0,0,.32), inset 0 0 18px rgba(255,255,255,.08); z-index: 2;
}
.drum-core img { width: 62%; height: 62%; object-fit: contain; filter: drop-shadow(0 8px 14px rgba(0,0,0,.25)); }
.drum-core small { margin-top: 6px; color:#dff8f8; font-weight:700; }
.rolling-window { width:min(100%, 620px); background: rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.12); box-shadow: inset 0 0 24px rgba(255,255,255,.04); }
.rolling-name { color:#fff; text-shadow: 0 0 18px rgba(133,201,201,.28); }
.draw-session-line { color:#dff2f2; }
.winner-reveal { position: relative; background: rgba(255,255,255,.07); border:1px solid rgba(255,255,255,.12); backdrop-filter: blur(10px); }
.winner-brand-burst {
  position:relative; width: 132px; height:132px; margin:0 auto 16px; border-radius:50%;
  background: radial-gradient(circle at 30% 30%, rgba(255,255,255,.35), rgba(255,255,255,.08) 55%, rgba(10,45,49,.74));
  display:grid; place-items:center; box-shadow: 0 0 0 14px rgba(133,201,201,.08), 0 0 0 34px rgba(133,201,201,.04), 0 16px 38px rgba(0,0,0,.28);
}
.winner-brand-burst img { width: 72%; height:72%; object-fit:contain; filter: drop-shadow(0 8px 14px rgba(0,0,0,.25)); }
.winner-admin-card h2, .winner-reveal h2 { color:#fff; }
.winner-admin-card p, .winner-reveal p { color: rgba(255,255,255,.88); }
.winner-light-ring { border-color: rgba(133,201,201,.28); }
.confetti { position:absolute; top:-30px; width: 8px; height: 18px; opacity: .95; animation: confettiDrop linear forwards; }
.text-link { display:inline-flex; align-items:center; gap:6px; }
@keyframes slowSpin { from { transform: rotate(0deg); } to { transform: rotate(360deg); } }
@keyframes orbitName {
  0% { transform: rotate(calc(var(--i) * 8deg)) translateX(138px) translateY(var(--jitterY,0px)) scale(var(--size)) rotate(calc(var(--i) * -8deg)) rotate(var(--tilt)); }
  50% { transform: rotate(calc(var(--i) * 8deg + 180deg)) translateX(152px) translateY(var(--jitterY,0px)) scale(calc(var(--size) * 1.06)) rotate(calc(var(--i) * -8deg - 180deg)) rotate(var(--tilt)); }
  100% { transform: rotate(calc(var(--i) * 8deg + 360deg)) translateX(138px) translateY(var(--jitterY,0px)) scale(var(--size)) rotate(calc(var(--i) * -8deg - 360deg)) rotate(var(--tilt)); }
}
@keyframes cloudSpin { from { transform: rotate(0deg); } to { transform: rotate(360deg); } }
@keyframes drumShake {
  0%,100% { transform: translate3d(0,0,0) rotate(0deg); }
  20% { transform: translate3d(-6px,2px,0) rotate(-1deg); }
  40% { transform: translate3d(6px,-2px,0) rotate(1deg); }
  60% { transform: translate3d(-5px,-1px,0) rotate(-.9deg); }
  80% { transform: translate3d(5px,1px,0) rotate(.9deg); }
}
@keyframes drumShakeSlow {
  0%,100% { transform: translate3d(0,0,0) scale(1); }
  25% { transform: translate3d(-3px,1px,0) scale(1.01); }
  50% { transform: translate3d(3px,-1px,0) scale(1.012); }
  75% { transform: translate3d(-2px,1px,0) scale(1.006); }
}
@keyframes shockPulse {
  0%,100% { transform: scale(.92); opacity: .16; }
  50% { transform: scale(1.08); opacity: .34; }
}
@media (max-width: 640px) {
  .public-shell, .admin-shell, .draw-shell, .audit-shell, .admin-topbar { width: min(100% - 12px, 760px); }
  .hero-card, .brand-hero-card { grid-template-columns: 1fr; gap: 12px; padding: 22px 16px; border-radius: 24px; }
  .brand-hero-badge { min-height: 124px; order: -1; }
  .brand-logo-wrap { width: 112px; height: 112px; }
  .brand-logo-orbit { width: 144px; height: 144px; }
  .hero-card h1 { font-size: 2.25rem; }
  .hero-card p { font-size: .97rem; line-height: 1.78; }
  .hero-meta { gap: 8px; }
  .hero-meta > span { font-size: .92rem; }
  .country-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
  .country-card { min-height: 120px; padding: 14px 10px; }
  .country-flag { font-size: 3rem; }
  .field input, .field select, .primary-button, .secondary-button, .ghost-button, .danger-button { min-height: 52px; }
  .score-panel { grid-template-columns: 1fr 1fr; gap: 10px; }
  .score-side { grid-column: 1 / -1; }
  .score-input-wrap input { height: 56px; font-size: 1.22rem; }
  .trust-strip { grid-template-columns: 1fr; gap: 10px; }
  .draw-topbar { margin-top: 6px; }
  .draw-hero { padding: 16px 12px 18px; }
  .draw-brand-mark { margin-bottom: 12px; }
  .brand-logo-wrap.compact-brand-wrap { width: 110px; height: 110px; }
  .draw-public-proof { grid-template-columns: 1fr 1fr; gap: 10px; }
  .draw-public-proof article { padding: 14px 10px; }
  .phase-track { gap: 8px; }
  .phase-step { padding: 10px 8px; }
  .phase-step span { font-size: .72rem; }
  .lottery-drum { width: min(92vw, 380px); height: min(92vw, 380px); }
  .candidate-ball { font-size: .74rem; padding: 7px 11px; }
  @keyframes orbitName {
    0% { transform: rotate(calc(var(--i) * 8deg)) translateX(110px) scale(var(--size)) rotate(calc(var(--i) * -8deg)) rotate(var(--tilt)); }
    50% { transform: rotate(calc(var(--i) * 8deg + 180deg)) translateX(120px) scale(calc(var(--size) * 1.05)) rotate(calc(var(--i) * -8deg - 180deg)) rotate(var(--tilt)); }
    100% { transform: rotate(calc(var(--i) * 8deg + 360deg)) translateX(110px) scale(var(--size)) rotate(calc(var(--i) * -8deg - 360deg)) rotate(var(--tilt)); }
  }
  .drum-core { width: 98px; height: 98px; }
  .rolling-window { padding: 18px 12px; }
  .rolling-name { font-size: clamp(1.8rem, 8vw, 2.55rem); }
  .winner-brand-burst { width: 110px; height: 110px; box-shadow: 0 0 0 10px rgba(133,201,201,.08), 0 0 0 24px rgba(133,201,201,.04), 0 16px 38px rgba(0,0,0,.28); }
  .winner-actions { display:grid; grid-template-columns: 1fr; gap: 10px; }
  .topbar-actions { display:grid; grid-template-columns: 1fr 1fr; gap: 8px; width:100%; }
  .topbar-actions form { grid-column: 1 / -1; }
  .stats-grid { grid-template-columns: 1fr 1fr; gap: 10px; }
  .admin-grid.two-columns { grid-template-columns: 1fr; }
}

/* V2.5 mobile event layout */
html,body{background:var(--page-bg)!important;color:var(--text)!important;font-family:"Cairo",system-ui,sans-serif!important}
.v25-page{min-height:100vh}.v25-shell{width:min(100% - 16px,760px);margin:0 auto;padding:10px 0 50px}.v25-shell>*+*{margin-top:16px}
.v25-hero{position:relative;min-height:420px;border-radius:30px;overflow:hidden;background:linear-gradient(160deg,var(--primary-dark),var(--primary));background-size:cover;background-position:center;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:34px 20px;color:var(--hero-text);box-shadow:0 22px 55px rgba(29,79,82,.18)}
.v25-hero-logo{width:min(78%,380px);max-height:170px;object-fit:contain;margin-bottom:30px;filter:drop-shadow(0 10px 20px rgba(0,0,0,.2))}.v25-hero-copy h1{font-size:clamp(2.3rem,9vw,4.2rem);line-height:1.05;margin:0;font-weight:900;letter-spacing:-.04em}.v25-hero-copy p{font-size:1.12rem;margin:16px 0 0;color:inherit;opacity:.96}
.v25-status-board{display:grid;grid-template-columns:1fr 2.2fr 1fr;background:var(--card-bg);border-radius:28px;padding:18px 10px;box-shadow:0 16px 45px rgba(44,81,83,.1);border:1px solid rgba(20,65,68,.08)}.status-cell{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;min-height:118px;padding:8px}.status-cell+.status-cell{border-right:1px solid rgba(20,65,68,.1)}.status-icon{width:46px;height:46px;border-radius:50%;display:grid;place-items:center;background:color-mix(in srgb,var(--primary) 22%,white);font-size:1.35rem}.status-cell>strong{font-size:2rem;line-height:1.15;margin-top:6px}.status-cell>small{color:var(--muted)}.countdown-label{font-size:.78rem;color:var(--muted);font-weight:700}.countdown-values{display:flex;align-items:flex-start;gap:7px;margin:8px 0}.countdown-values>div{display:flex;flex-direction:column;align-items:center;min-width:46px}.countdown-values strong{font-size:1.75rem;color:var(--primary-dark);line-height:1}.countdown-values small{font-size:.64rem;color:var(--muted);margin-top:5px}.countdown-values b{color:var(--primary-dark);font-size:1.5rem}.deadline-text{font-size:.68rem;color:var(--muted)}.open-cell strong{font-size:1.45rem;color:var(--primary-dark)}
.v25-prize-card,.v25-prediction-card,.v25-form-card,.v25-latest-card,.v25-result-card,.v25-closed-card{background:var(--card-bg);border-radius:28px;padding:20px;box-shadow:0 16px 42px rgba(44,81,83,.09);border:1px solid rgba(20,65,68,.07)}.v25-prize-card img{width:100%;display:block;border-radius:20px}.v25-section-kicker{color:var(--accent);font-weight:900}.v25-section-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.v25-section-head h2{margin:4px 0 0;font-size:1.75rem}.step-pill,.live-badge{display:inline-flex;padding:8px 12px;border-radius:999px;background:color-mix(in srgb,var(--primary) 18%,white);color:var(--primary-dark);font-weight:800;font-size:.8rem}
.v25-result-card{display:flex;gap:14px;align-items:center}.v25-result-card>span{font-size:3rem}.v25-result-card div{display:flex;flex-direction:column}.v25-result-card small{color:var(--muted)}.v25-result-card strong{font-size:1.1rem}
.v25-prediction-card .country-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-top:20px}.v25-prediction-card .country-card{min-height:145px;border-radius:22px;background:#fff;border:1px solid rgba(20,65,68,.1);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;color:var(--text)}.v25-prediction-card .country-card.selected{border-color:var(--primary-dark);box-shadow:0 12px 28px color-mix(in srgb,var(--primary) 28%,transparent)}.v25-prediction-card .country-flag{font-size:3.6rem}.v25-prediction-card .country-card strong{font-size:1rem}.v25-prediction-card .country-card small{color:var(--primary-dark);font-weight:800}
.v25-form-card{scroll-margin-top:12px}.text-button{border:0;background:transparent;color:var(--primary-dark);font-weight:800}.selected-team-row{display:flex;align-items:center;gap:10px;padding:14px;border-radius:18px;background:color-mix(in srgb,var(--primary) 12%,white);margin:18px 0}.selected-team-row span{font-size:2.1rem}.score-grid{display:grid;grid-template-columns:1fr auto 1fr;align-items:end;gap:10px;margin-bottom:14px}.score-grid label{display:flex;flex-direction:column;gap:7px;color:var(--muted);font-size:.8rem}.score-grid input,.field input{width:100%;height:58px;border-radius:16px;border:1px solid rgba(20,65,68,.14);background:#fff;padding:0 14px;font:inherit;color:var(--text)}.score-grid input{text-align:center;font-size:1.4rem;font-weight:900}.score-dash{font-size:2rem;padding-bottom:9px}.field{display:flex;flex-direction:column;gap:7px;margin-top:12px}.field span{font-size:.84rem;font-weight:800}.consent-row{display:flex;align-items:flex-start;gap:9px;margin:15px 0;font-size:.78rem;color:var(--muted)}.primary-button{background:linear-gradient(135deg,var(--primary-dark),var(--primary))!important;color:var(--button-text)!important;border:0;border-radius:16px;padding:14px 18px;font-weight:900;min-height:54px}.full{width:100%}.honeypot{position:absolute;left:-9999px}
.v25-latest-card .latest-list{display:grid;gap:10px;margin-top:18px}.latest-row{display:grid;grid-template-columns:48px 1fr auto;align-items:center;gap:12px;padding:12px;border:1px solid rgba(20,65,68,.08);border-radius:17px}.avatar{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(135deg,var(--primary-dark),var(--primary));color:var(--button-text);font-weight:900}.latest-copy{display:flex;flex-direction:column}.latest-copy small,time{color:var(--muted);font-size:.72rem}.empty-latest{text-align:center;color:var(--muted);padding:22px}.v25-closed-card{text-align:center}
.success-modal{position:fixed;inset:0;background:rgba(8,27,29,.62);display:grid;place-items:center;padding:16px;z-index:999}.success-card{background:#fff;border-radius:26px;padding:28px;width:min(100%,420px);text-align:center}.success-icon{width:64px;height:64px;border-radius:50%;display:grid;place-items:center;background:var(--primary);margin:0 auto;font-size:2rem}.ticket-box{padding:14px;border-radius:16px;background:#f3f8f8;margin:16px 0;display:flex;flex-direction:column}.ticket-box span{color:var(--muted);font-size:.75rem}
@media(max-width:640px){.v25-hero{min-height:390px;border-radius:26px}.v25-hero-logo{width:82%;max-height:145px;margin-bottom:26px}.v25-status-board{grid-template-columns:.8fr 2.3fr .8fr;padding:12px 4px;border-radius:24px}.status-cell{padding:5px;min-height:116px}.status-cell>strong{font-size:1.55rem}.status-icon{width:38px;height:38px;font-size:1.05rem}.countdown-values{gap:3px}.countdown-values>div{min-width:36px}.countdown-values strong{font-size:1.45rem}.countdown-values b{font-size:1.15rem}.countdown-label{font-size:.65rem}.deadline-text{font-size:.58rem}.open-cell strong{font-size:1.1rem}.v25-prize-card,.v25-prediction-card,.v25-form-card,.v25-latest-card,.v25-result-card{padding:16px;border-radius:24px}.v25-section-head h2{font-size:1.45rem}.v25-prediction-card .country-card{min-height:128px}.v25-prediction-card .country-flag{font-size:3rem}.latest-row{grid-template-columns:44px 1fr}.latest-row time{grid-column:2}.score-grid input{height:54px}.v25-hero-copy h1{font-size:2.45rem}.v25-hero-copy p{font-size:.98rem}}
.theme-editor-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:16px}.theme-editor-grid input[type=color]{height:52px;padding:4px}.theme-editor-grid .primary-button{grid-column:1/-1}.danger-zone-card{border-color:rgba(190,72,61,.22)!important}.danger-actions-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.danger-actions-grid form{display:flex;flex-direction:column;gap:10px}.admin-banner-preview{margin:14px 0}.admin-banner-preview img{width:100%;border-radius:16px;max-height:240px;object-fit:cover}@media(max-width:700px){.theme-editor-grid,.danger-actions-grid{grid-template-columns:1fr}.theme-editor-grid .primary-button{grid-column:auto}}

/* V2.6 official shirts + crowd distribution + footer */
.shirt-country-card { min-height: 210px; position: relative; overflow: hidden; }
.shirt-visual { width: 100%; height: 128px; display: grid; place-items: center; }
.shirt-visual img { max-width: 112px; max-height: 122px; object-fit: contain; filter: drop-shadow(0 14px 18px rgba(17,44,47,.14)); transition: transform .28s ease; }
.shirt-country-card:hover .shirt-visual img, .shirt-country-card.selected .shirt-visual img { transform: translateY(-5px) scale(1.08) rotate(-1deg); }
.shirt-fallback { font-size: 4.8rem; }
.team-stars { color: var(--color-accent, #d7b05e); letter-spacing: 2px; font-size: .82rem; }
.shirt-country-card.selected::after { content: "✓"; position: absolute; top: 10px; left: 10px; width: 28px; height: 28px; display:grid; place-items:center; border-radius:50%; background: var(--color-primary, #85c9c9); color: #fff; font-weight: 900; box-shadow: 0 8px 18px rgba(0,0,0,.15); }
.selected-shirt-preview { width: 74px; height: 74px; display:grid; place-items:center; }
.selected-shirt-preview img { max-width: 70px; max-height: 70px; object-fit: contain; }
.latest-shirt { width: 52px; height: 52px; border-radius: 14px; background: #f4f8f8; display:grid; place-items:center; flex: 0 0 auto; }
.latest-shirt img { max-width: 44px; max-height: 48px; object-fit: contain; }
.latest-shirt span { font-size: 1.8rem; }
.v26-distribution-card { margin-top: 18px; padding: 18px; background: var(--color-card-bg, #fff); border-radius: 22px; box-shadow: 0 18px 46px rgba(36,73,75,.08); border: 1px solid rgba(16,55,58,.08); }
.distribution-list { display:grid; gap: 13px; margin-top: 16px; }
.distribution-row { display:grid; grid-template-columns: minmax(105px, 1fr) minmax(100px, 2fr) 44px; align-items:center; gap: 10px; }
.distribution-team { display:flex; align-items:center; gap:8px; min-width:0; }
.distribution-team img { width: 34px; height: 42px; object-fit:contain; }
.distribution-team span { font-size: 1.6rem; }
.distribution-team strong { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:.86rem; }
.distribution-track { height: 10px; border-radius:999px; overflow:hidden; background:#eaf2f2; direction:ltr; }
.distribution-track i { display:block; height:100%; border-radius:999px; background: linear-gradient(90deg, var(--color-primary-dark, #68b8b8), var(--color-primary, #85c9c9)); transition: width .5s ease; }
.distribution-row b { font-size:.84rem; text-align:left; }
.site-footer { margin: 22px 0 8px; padding: 20px 12px calc(20px + env(safe-area-inset-bottom)); display:flex; align-items:center; justify-content:center; flex-wrap:wrap; gap:9px; color: var(--color-muted, #627b7d); font-size:.84rem; }
.site-footer a { color: var(--color-text, #173a3d); font-weight:800; }
.admin-shirt-preview { height: 150px; display:grid; place-items:center; background:#f4f8f8; border-radius:18px; margin-bottom:12px; }
.admin-shirt-preview img { max-width:120px; max-height:138px; object-fit:contain; }
.admin-shirt-preview span { font-size:4rem; }
.shirt-upload-form { margin-top:12px; padding-top:12px; border-top:1px solid var(--line); }
@media (max-width: 640px) {
  .shirt-country-card { min-height: 180px; }
  .shirt-visual { height: 106px; }
  .shirt-visual img { max-width: 92px; max-height: 104px; }
  .distribution-row { grid-template-columns: 100px 1fr 38px; gap:8px; }
  .distribution-team strong { font-size:.78rem; }
  .latest-shirt { width:46px; height:46px; }
}


/* V2.6.1 footer alignment, distribution order and all predictions page */
.site-footer {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: nowrap;
  gap: 16px;
  padding-inline: 8px;
}
.site-footer .footer-brand-link { text-align: right; }
.site-footer .footer-dev-link { text-align: left; }
.all-predictions-button {
  margin-top: 16px;
  min-height: 52px;
  border-radius: 16px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  border: 1px solid color-mix(in srgb, var(--primary) 38%, transparent);
  background: color-mix(in srgb, var(--primary) 10%, white);
  color: var(--text);
  font-weight: 900;
}
.all-predictions-button b { font-size: 1.25rem; transition: transform .2s ease; }
.all-predictions-button:hover b { transform: translateX(-4px); }
.predictions-shell { padding-top: 16px; }
.predictions-page-header {
  border-radius: 28px;
  padding: 26px 20px;
  background: linear-gradient(135deg, color-mix(in srgb, var(--primary-dark) 85%, #173a3d), var(--primary));
  color: var(--hero-text);
  box-shadow: 0 18px 45px rgba(32,79,81,.14);
}
.predictions-page-header h1 { margin: 5px 0 8px; font-size: clamp(2rem, 8vw, 3.2rem); }
.predictions-page-header p { margin: 0; opacity: .86; line-height: 1.8; }
.back-home-link { display: inline-flex; margin-bottom: 16px; font-weight: 800; color: inherit; opacity: .9; }
.predictions-total { display: inline-flex; align-items: baseline; gap: 8px; margin-top: 18px; padding: 9px 13px; border: 1px solid rgba(255,255,255,.2); border-radius: 999px; background: rgba(255,255,255,.1); }
.predictions-total strong { font-size: 1.3rem; }
.predictions-search { margin-top: 16px; display: grid; grid-template-columns: 1fr auto auto; gap: 8px; padding: 12px; background: var(--card-bg); border-radius: 20px; box-shadow: 0 14px 38px rgba(44,81,83,.08); }
.predictions-search input { min-width: 0; height: 52px; border-radius: 15px; border: 1px solid rgba(20,65,68,.12); padding: 0 14px; font: inherit; color: var(--text); }
.predictions-search .primary-button, .predictions-search .secondary-button { min-height: 52px; padding-inline: 16px; display: grid; place-items: center; }
.all-predictions-card { margin-top: 16px; padding: 14px; border-radius: 24px; background: var(--card-bg); box-shadow: 0 16px 42px rgba(44,81,83,.09); border: 1px solid rgba(20,65,68,.07); }
.all-predictions-list { display: grid; gap: 10px; }
.all-prediction-row { display: grid; grid-template-columns: 52px 1fr auto; align-items: center; gap: 12px; padding: 12px; border: 1px solid rgba(20,65,68,.08); border-radius: 17px; }
.all-prediction-copy { min-width: 0; display: flex; flex-direction: column; gap: 2px; }
.all-prediction-copy strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.all-prediction-copy small, .all-prediction-row time { color: var(--muted); font-size: .73rem; }
.all-prediction-copy code { color: var(--primary-dark); font-size: .68rem; direction: ltr; text-align: right; }
.predictions-pagination { margin: 16px 0 4px; display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 10px; padding: 12px; background: var(--card-bg); border-radius: 18px; text-align: center; }
.predictions-pagination a, .predictions-pagination span { min-height: 44px; display: grid; place-items: center; border-radius: 13px; border: 1px solid rgba(20,65,68,.1); font-weight: 800; }
.predictions-pagination .disabled { opacity: .42; }
@media (max-width: 640px) {
  .site-footer { padding-inline: 4px; font-size: .78rem; }
  .predictions-search { grid-template-columns: 1fr 82px; }
  .predictions-search .secondary-button { grid-column: 1 / -1; }
  .all-prediction-row { grid-template-columns: 46px 1fr; }
  .all-prediction-row time { grid-column: 2; }
}

/* =========================================================
   V2.6.2 DRAW PAGE REBUILD — isolated from public theme
   ========================================================= */
body.draw-page-v262{
  --draw-accent: var(--primary, #85c9c9);
  --draw-gold: var(--accent, #d7b05e);
  margin:0;
  min-height:100vh;
  color:#f6fbfb;
  background:
    radial-gradient(circle at 16% 10%, rgba(133,201,201,.18), transparent 26rem),
    radial-gradient(circle at 84% 20%, rgba(215,176,94,.11), transparent 22rem),
    linear-gradient(155deg,#06181f 0%,#0a2b34 46%,#06171d 100%);
  font-family:"Cairo",system-ui,sans-serif;
}
body.draw-page-v262::before{
  content:"";
  position:fixed;
  inset:0;
  z-index:-1;
  pointer-events:none;
  opacity:.14;
  background-image:
    linear-gradient(rgba(255,255,255,.08) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.08) 1px,transparent 1px);
  background-size:72px 72px;
  mask-image:linear-gradient(to bottom,black,transparent 82%);
}
.draw-v262-page{min-height:100vh;padding:20px 0 70px}
.draw-v262-topbar,
.draw-v262-shell{width:min(1120px,calc(100% - 28px));margin-inline:auto}
.draw-v262-topbar{
  min-height:84px;
  display:grid;
  grid-template-columns:auto 1fr auto;
  align-items:center;
  gap:18px;
  padding:12px 0 22px;
}
.draw-v262-brand{
  width:62px;height:62px;border-radius:18px;
  display:grid;place-items:center;overflow:hidden;
  background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.12);
  box-shadow:0 18px 40px rgba(0,0,0,.22)
}
.draw-v262-brand img{width:82%;height:82%;object-fit:contain}
.draw-v262-brand span{font-size:1.4rem;font-weight:1000;color:var(--draw-accent)}
.draw-v262-heading span{display:block;color:var(--draw-gold);font-size:.76rem;font-weight:900;letter-spacing:.08em}
.draw-v262-heading h1{margin:2px 0 0;font-size:clamp(1.75rem,4vw,2.55rem);line-height:1.1;color:#fff}
.draw-v262-actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}
.draw-v262-actions a,
.draw-v262-secondary{
  min-height:44px;padding:0 16px;border-radius:13px;
  display:inline-flex;align-items:center;justify-content:center;
  color:#ecf8f8;background:rgba(255,255,255,.07);
  border:1px solid rgba(255,255,255,.13);font-weight:800;font-size:.84rem;
  transition:.2s ease
}
.draw-v262-actions a:hover,.draw-v262-secondary:hover{background:rgba(255,255,255,.12);transform:translateY(-1px)}
.draw-v262-shell{display:grid;gap:18px}
.draw-v262-alert,.draw-v262-note{
  border-radius:16px;padding:13px 16px;background:rgba(133,201,201,.1);
  border:1px solid rgba(133,201,201,.2);color:#dff8f8;font-weight:700
}
.draw-v262-note.warning,.draw-v262-alert{background:rgba(215,176,94,.1);border-color:rgba(215,176,94,.22);color:#ffe4a7}
.draw-v262-hero{
  position:relative;isolation:isolate;overflow:hidden;
  min-height:330px;border-radius:34px;padding:42px;
  display:grid;grid-template-columns:1.35fr .65fr;align-items:center;gap:28px;
  background:
    linear-gradient(110deg,rgba(3,20,27,.96),rgba(8,70,78,.84)),
    radial-gradient(circle at 72% 42%,rgba(133,201,201,.28),transparent 34%);
  border:1px solid rgba(255,255,255,.13);
  box-shadow:0 34px 80px rgba(0,0,0,.28)
}
.draw-v262-hero::after{
  content:"";position:absolute;inset:auto -10% -72% -10%;height:100%;z-index:-1;
  border:1px solid rgba(255,255,255,.12);border-radius:50% 50% 0 0;
  box-shadow:inset 0 40px 100px rgba(133,201,201,.08)
}
.draw-v262-stadium-lines{position:absolute;inset:0;z-index:-2;opacity:.18;background:
  linear-gradient(90deg,transparent 49.8%,rgba(255,255,255,.3) 50%,transparent 50.2%),
  radial-gradient(ellipse at 50% 100%,transparent 0 36%,rgba(255,255,255,.32) 36.3% 36.6%,transparent 37%),
  linear-gradient(180deg,transparent 0 72%,rgba(255,255,255,.18) 72.2%,transparent 72.5%)}
.draw-v262-kicker{display:inline-block;color:var(--draw-gold);font-size:.78rem;font-weight:1000;letter-spacing:.08em}
.draw-v262-result-copy h2{margin:8px 0 12px;color:#fff;font-size:clamp(2.1rem,5.5vw,4.2rem);line-height:1.08;letter-spacing:-.04em}
.draw-v262-result-copy p{max-width:610px;margin:14px 0 0;color:rgba(236,248,248,.73);font-size:.95rem;line-height:1.9}
.draw-v262-score{display:flex;align-items:center;gap:14px;color:#fff;direction:ltr}
.draw-v262-score strong{font-size:clamp(2rem,5vw,3.35rem);line-height:1}
.draw-v262-score i{font-style:normal;color:var(--draw-gold);font-size:1.4rem}
.draw-v262-team-visual{min-height:230px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px}
.draw-v262-team-visual strong{font-size:1rem;color:#fff}
.draw-v262-shirt{width:min(225px,100%);height:210px;object-fit:contain;filter:drop-shadow(0 22px 32px rgba(0,0,0,.35))}
.draw-v262-flag{font-size:8rem;filter:drop-shadow(0 22px 32px rgba(0,0,0,.28))}
.draw-v262-prize{
  display:grid;grid-template-columns:180px 1fr;align-items:center;gap:18px;
  padding:14px;border-radius:24px;background:rgba(255,255,255,.96);color:#12383c;
  box-shadow:0 22px 55px rgba(0,0,0,.18)
}
.draw-v262-prize>div{padding-inline:10px;display:flex;flex-direction:column;gap:4px}
.draw-v262-prize>div span{color:#9a7528;font-size:.78rem;font-weight:900}
.draw-v262-prize>div strong{font-size:1.15rem}
.draw-v262-prize img{width:100%;height:170px;object-fit:cover;border-radius:17px;display:block}
.draw-v262-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.draw-v262-stats article,.draw-v262-proof article{
  min-height:104px;padding:18px;border-radius:21px;
  display:flex;flex-direction:column;justify-content:center;gap:7px;
  background:rgba(255,255,255,.075);border:1px solid rgba(255,255,255,.115);
  box-shadow:0 15px 34px rgba(0,0,0,.12)
}
.draw-v262-stats span,.draw-v262-proof span{color:rgba(231,246,246,.58);font-size:.76rem;font-weight:700}
.draw-v262-stats strong,.draw-v262-proof strong{color:#fff;font-size:1.23rem}
.draw-v262-stats article:first-child strong{font-size:2rem;color:var(--draw-accent)}
.draw-v262-panel{
  width:min(760px,100%);margin-inline:auto;padding:32px;border-radius:28px;text-align:center;
  background:#f9fcfc;color:#173a3d;border:1px solid rgba(255,255,255,.75);
  box-shadow:0 30px 70px rgba(0,0,0,.24)
}
.draw-v262-panel-icon{width:58px;height:58px;border-radius:18px;margin:0 auto 12px;display:grid;place-items:center;background:rgba(133,201,201,.2);color:#165a5e;font-size:1.5rem;font-weight:1000}
.draw-v262-panel h3{margin:7px 0 8px;font-size:clamp(1.55rem,4vw,2.15rem);color:#173a3d}
.draw-v262-panel p{max-width:620px;margin:0 auto 19px;color:#657d7f;line-height:1.8}
.draw-v262-checks{display:flex;justify-content:center;gap:8px;flex-wrap:wrap;margin:0 0 20px}
.draw-v262-checks span{padding:8px 11px;border-radius:999px;background:#edf7f7;color:#27585b;font-size:.74rem;font-weight:800}
.draw-v262-primary{
  width:100%;min-height:54px;border:0;border-radius:16px;padding:0 22px;
  display:inline-flex;align-items:center;justify-content:center;
  background:linear-gradient(135deg,var(--draw-accent),#5cb4b4);color:#0f383b;
  font-family:inherit;font-weight:1000;font-size:.98rem;cursor:pointer;
  box-shadow:0 14px 30px rgba(92,180,180,.24);transition:.2s ease
}
.draw-v262-primary:hover{transform:translateY(-2px);filter:brightness(1.04)}
.draw-v262-primary:disabled{opacity:.45;cursor:not-allowed;transform:none}
.draw-v262-live-badge{display:inline-flex;align-items:center;gap:7px;padding:8px 12px;border-radius:999px;background:rgba(30,171,106,.11);color:#19744e;font-size:.78rem;font-weight:900}
.draw-v262-live-badge i{width:8px;height:8px;border-radius:50%;background:#27b873;box-shadow:0 0 0 6px rgba(39,184,115,.11);animation:v262Pulse 1.4s infinite}
@keyframes v262Pulse{50%{box-shadow:0 0 0 10px rgba(39,184,115,0)}}
.draw-v262-proof{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.draw-v262-winner{
  position:relative;overflow:hidden;width:min(760px,100%);margin-inline:auto;padding:38px 26px;
  text-align:center;border-radius:30px;background:linear-gradient(145deg,#f8f4e8,#fff);
  color:#183c40;box-shadow:0 30px 75px rgba(0,0,0,.26)
}
.draw-v262-winner::before{content:"";position:absolute;inset:-50% auto auto -15%;width:420px;height:420px;border-radius:50%;background:rgba(215,176,94,.18);filter:blur(1px)}
.draw-v262-winner-label{position:relative;display:inline-flex;padding:7px 13px;border-radius:999px;background:#f3e6bf;color:#8a6622;font-size:.78rem;font-weight:1000}
.draw-v262-winner-visual{position:relative;width:150px;height:150px;margin:16px auto 8px;display:grid;place-items:center}
.draw-v262-winner-visual img{width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 18px 24px rgba(0,0,0,.2))}
.draw-v262-winner-visual span{font-size:6rem}
.draw-v262-winner h2{position:relative;margin:4px 0;font-size:clamp(2rem,6vw,3.4rem);color:#163c40}
.draw-v262-winner p{position:relative;margin:0;color:#657d7f;font-weight:700}
.draw-v262-ticket{position:relative;width:max-content;max-width:100%;margin:18px auto 0;padding:11px 18px;border-radius:15px;background:#eaf6f6;display:flex;align-items:center;gap:10px}
.draw-v262-ticket span{color:#668083;font-size:.74rem}.draw-v262-ticket strong{direction:ltr;color:#164d51;font-size:1.05rem;letter-spacing:.04em}
.draw-v262-winner-actions{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:18px}
.draw-v262-winner-actions .draw-v262-secondary{color:#27565a;background:#fff;border-color:rgba(23,58,61,.14)}
.draw-v262-empty{
  width:min(720px,100%);margin:8vh auto 0;padding:48px 28px;border-radius:30px;text-align:center;
  background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.12);box-shadow:0 30px 70px rgba(0,0,0,.2)
}
.draw-v262-empty-icon{font-size:3.5rem}.draw-v262-empty>span{color:var(--draw-gold);font-size:.8rem;font-weight:1000}.draw-v262-empty h2{margin:7px 0;color:#fff;font-size:2rem}.draw-v262-empty p{margin:0;color:rgba(236,248,248,.68);line-height:1.8}

/* Keep the full-screen draw broadcast independent from user-selected light colors. */
body.draw-page-v262 .draw-stage{background:radial-gradient(circle at center,#11636d 0%,#062831 52%,#03151a 100%)!important;color:#fff}
body.draw-page-v262 .winner-reveal{color:#fff;background:rgba(2,24,30,.72)!important;border:1px solid rgba(255,255,255,.13)!important;border-radius:30px;padding:34px!important;max-width:min(680px,92vw)}
body.draw-page-v262 .winner-reveal h2{color:#fff!important}
body.draw-page-v262 .winner-reveal p{color:rgba(255,255,255,.76)!important}
body.draw-page-v262 .ticket-box{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.12);color:#fff}
body.draw-page-v262 .ticket-box strong{direction:ltr}

@media(max-width:760px){
  .draw-v262-page{padding-top:max(10px,env(safe-area-inset-top))}
  .draw-v262-topbar{grid-template-columns:auto 1fr;padding-bottom:14px}
  .draw-v262-brand{width:52px;height:52px;border-radius:15px}
  .draw-v262-heading h1{font-size:1.6rem}
  .draw-v262-actions{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr}
  .draw-v262-actions a{min-height:42px}
  .draw-v262-hero{min-height:auto;grid-template-columns:1fr;padding:26px 20px;text-align:center;border-radius:26px}
  .draw-v262-result-copy p{margin-inline:auto}.draw-v262-score{justify-content:center}
  .draw-v262-team-visual{min-height:145px}.draw-v262-shirt{height:145px;width:165px}.draw-v262-flag{font-size:5.2rem}
  .draw-v262-prize{grid-template-columns:1fr;padding:11px}.draw-v262-prize>div{display:none}.draw-v262-prize img{height:auto;max-height:185px;object-fit:cover}
  .draw-v262-stats{grid-template-columns:repeat(3,1fr);gap:7px}
  .draw-v262-stats article{min-height:92px;padding:12px 8px;text-align:center;border-radius:17px}
  .draw-v262-stats span{font-size:.65rem}.draw-v262-stats strong{font-size:.9rem}.draw-v262-stats article:first-child strong{font-size:1.55rem}
  .draw-v262-panel{padding:24px 17px;border-radius:24px}.draw-v262-panel h3{font-size:1.55rem}
  .draw-v262-proof{grid-template-columns:1fr}.draw-v262-proof article{min-height:80px;padding:14px 16px}
  .draw-v262-winner{padding:30px 17px;border-radius:25px}.draw-v262-winner-actions{grid-template-columns:1fr}
}
@media(max-width:430px){
  .draw-v262-topbar,.draw-v262-shell{width:min(100% - 18px,1120px)}
  .draw-v262-heading span{font-size:.65rem}.draw-v262-heading h1{font-size:1.38rem}
  .draw-v262-result-copy h2{font-size:2rem}.draw-v262-result-copy p{font-size:.82rem}
  .draw-v262-score strong{font-size:2rem}.draw-v262-team-visual{min-height:120px}.draw-v262-shirt{height:120px}
  .draw-v262-stats{grid-template-columns:1fr}.draw-v262-stats article{min-height:72px;display:grid;grid-template-columns:1fr auto;align-items:center;text-align:right}.draw-v262-stats article:first-child strong{font-size:1.35rem}
}


/* =========================================================
   V2.6.3 participant cards + public privacy cleanup
   ========================================================= */
.latest-row{
  grid-template-columns:52px minmax(0,1fr) auto!important;
  direction:rtl;
}
.latest-copy{min-width:0;gap:2px}
.latest-copy strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.latest-copy small{color:var(--muted);font-size:.72rem}
.latest-copy code{
  direction:ltr;text-align:right;color:var(--primary-dark);
  font-size:.66rem;font-weight:800;letter-spacing:.025em
}
.latest-score,.all-prediction-score{
  min-width:78px;padding:9px 12px;border-radius:14px;
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;
  background:color-mix(in srgb,var(--primary) 14%,white);
  border:1px solid color-mix(in srgb,var(--primary-dark) 16%,transparent);
  direction:ltr;text-align:center
}
.latest-score span,.all-prediction-score span{font-size:.62rem;color:var(--muted);font-weight:800}
.latest-score strong,.all-prediction-score strong{font-size:1.05rem;color:var(--text);line-height:1.1}
.all-prediction-row{
  grid-template-columns:52px minmax(0,1fr) auto!important;
  direction:rtl;
}
.all-prediction-copy small{color:var(--muted);font-size:.73rem}
/* Public timestamps are intentionally hidden. Admin exports keep their timestamps. */
.v25-latest-card time,.all-predictions-card time{display:none!important}
@media(max-width:640px){
  .latest-row,.all-prediction-row{grid-template-columns:46px minmax(0,1fr) 74px!important;gap:9px}
  .latest-score,.all-prediction-score{min-width:70px;padding:8px 7px;border-radius:12px}
  .latest-score strong,.all-prediction-score strong{font-size:.98rem}
}


/* =========================================================
   V2.6.4 draw readability + unified hero + public privacy
   ========================================================= */
html,body{font-variant-numeric:tabular-nums lining-nums}
.countdown-values,.predictions-total,.distribution-row>b,.latest-score strong,.all-prediction-score strong,.draw-v262-score,.draw-v262-stats strong,.draw-v262-proof strong{font-family:"Cairo",system-ui,sans-serif;font-variant-numeric:tabular-nums lining-nums}

/* Public participant identifiers stay private. */
.public-page .latest-copy code,
.predictions-page .all-prediction-copy code,
.draw-page-v262 .draw-v262-ticket,
.draw-page-v262 .draw-session-line strong,
.draw-page-v262 .ticket-box{display:none!important}

/* Draw page uses the same configurable public theme instead of a separate dark theme. */
body.draw-page-v262{
  margin:0!important;
  min-height:100vh;
  color:var(--text)!important;
  background:var(--page-bg)!important;
}
body.draw-page-v262::before{display:none!important}
.draw-v262-page{color:var(--text)!important}
.draw-v262-brand{
  background:var(--card-bg)!important;
  border:1px solid color-mix(in srgb,var(--text) 10%,transparent)!important;
  box-shadow:0 16px 38px color-mix(in srgb,var(--text) 10%,transparent)!important;
}
.draw-v262-heading h1{color:var(--text)!important}
.draw-v262-heading span,.draw-v262-kicker{color:var(--accent)!important}
.draw-v262-actions a,.draw-v262-secondary{
  color:var(--text)!important;
  background:var(--card-bg)!important;
  border-color:color-mix(in srgb,var(--text) 12%,transparent)!important;
}
.draw-v262-actions a:hover,.draw-v262-secondary:hover{background:color-mix(in srgb,var(--primary) 12%,var(--card-bg))!important}
.draw-v262-alert,.draw-v262-note{color:var(--text)!important;background:color-mix(in srgb,var(--primary) 13%,var(--card-bg))!important;border-color:color-mix(in srgb,var(--primary-dark) 22%,transparent)!important}
.draw-v262-note.warning,.draw-v262-alert{color:var(--text)!important;background:color-mix(in srgb,var(--accent) 14%,var(--card-bg))!important;border-color:color-mix(in srgb,var(--accent) 28%,transparent)!important}

/* The draw hero follows the exact same hero image/color settings as the home page. */
.draw-v262-hero{
  background:linear-gradient(160deg,var(--primary-dark),var(--primary));
  background-position:center!important;
  background-size:cover!important;
  color:var(--hero-text)!important;
  border-color:color-mix(in srgb,var(--hero-text) 18%,transparent)!important;
  box-shadow:0 22px 55px color-mix(in srgb,var(--text) 18%,transparent)!important;
}
.draw-v262-hero::after,.draw-v262-stadium-lines{display:none!important}
.draw-v262-result-copy h2,.draw-v262-score,.draw-v262-team-visual strong{color:var(--hero-text)!important}
.draw-v262-result-copy p{color:color-mix(in srgb,var(--hero-text) 78%,transparent)!important}
.draw-v262-score i{color:var(--accent)!important}

.draw-v262-prize{background:var(--card-bg)!important;color:var(--text)!important;box-shadow:0 16px 42px color-mix(in srgb,var(--text) 12%,transparent)!important}
.draw-v262-prize>div span{color:var(--accent)!important}

/* Stats use dedicated readable text colors, never hero text or the accent color. */
.draw-v262-stats article,.draw-v262-proof article{
  background:var(--card-bg)!important;
  border-color:color-mix(in srgb,var(--text) 9%,transparent)!important;
  box-shadow:0 14px 34px color-mix(in srgb,var(--text) 9%,transparent)!important;
}
.draw-v262-stats span,.draw-v262-proof span{color:var(--muted)!important}
.draw-v262-stats strong,.draw-v262-proof strong,.draw-v262-stats article:first-child strong{color:var(--text)!important}
.draw-v262-stats article:first-child strong{font-size:2rem}
.draw-v262-panel{background:var(--card-bg)!important;color:var(--text)!important;border-color:color-mix(in srgb,var(--text) 8%,transparent)!important;box-shadow:0 22px 56px color-mix(in srgb,var(--text) 14%,transparent)!important}
.draw-v262-panel h3{color:var(--text)!important}.draw-v262-panel p{color:var(--muted)!important}
.draw-v262-checks span{background:color-mix(in srgb,var(--primary) 14%,var(--card-bg))!important;color:var(--text)!important}
.draw-v262-empty{background:var(--card-bg)!important;border-color:color-mix(in srgb,var(--text) 9%,transparent)!important;color:var(--text)!important;box-shadow:0 22px 56px color-mix(in srgb,var(--text) 13%,transparent)!important}
.draw-v262-empty h2{color:var(--text)!important}.draw-v262-empty p{color:var(--muted)!important}
.draw-v262-winner{background:var(--card-bg)!important;color:var(--text)!important}.draw-v262-winner h2{color:var(--text)!important}.draw-v262-winner p{color:var(--muted)!important}

/* Full-screen broadcast stays cinematic; no participant/session codes are exposed. */
body.draw-page-v262 .draw-stage{background:radial-gradient(circle at center,#11636d 0%,#062831 52%,#03151a 100%)!important;color:#fff!important}
body.draw-page-v262 .draw-stage .draw-session-line{justify-content:center!important}

/* V2.6.6 live-source corrective deployment with fixed isolated runtime. */
/* V2.6.6 live-source deployment marker */


/* V2.6.7 no-stack draw slots */
body.draw-page-v262 .draw-stage{
  background:
    radial-gradient(circle at 50% 20%,color-mix(in srgb,var(--hero-text) 16%,transparent),transparent 34%),
    linear-gradient(145deg,var(--primary),var(--primary-dark))!important;
  color:var(--hero-text)!important;
}
body.draw-page-v262 .phase-step{
  color:var(--hero-text)!important;
  background:color-mix(in srgb,var(--card-bg) 16%,transparent)!important;
  border-color:color-mix(in srgb,var(--hero-text) 20%,transparent)!important;
}
body.draw-page-v262 .phase-step.active,
body.draw-page-v262 .phase-step.done{
  background:color-mix(in srgb,var(--accent) 24%,transparent)!important;
  border-color:color-mix(in srgb,var(--accent) 64%,transparent)!important;
}
body.draw-page-v262 .lottery-drum{
  background:
    radial-gradient(circle at 50% 46%,color-mix(in srgb,var(--card-bg) 22%,transparent),transparent 52%),
    color-mix(in srgb,var(--primary-dark) 74%,transparent)!important;
  border:2px solid color-mix(in srgb,var(--hero-text) 26%,transparent)!important;
  box-shadow:inset 0 0 70px color-mix(in srgb,var(--card-bg) 12%,transparent),0 24px 65px rgba(0,0,0,.20)!important;
}
body.draw-page-v262 .lottery-drum.is-vortex .candidate-cloud{
  animation:none!important;
}
body.draw-page-v262 .candidate-cloud{
  position:absolute!important;
  inset:0!important;
  transform:none!important;
  animation:none!important;
}
body.draw-page-v262 .candidate-ball,
body.draw-page-v262 .candidate-slot{
  position:absolute!important;
  left:var(--x)!important;
  top:var(--y)!important;
  width:auto!important;
  min-width:72px!important;
  max-width:116px!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
  padding:7px 10px!important;
  border-radius:13px!important;
  font-size:clamp(.66rem,1.7vw,.82rem)!important;
  line-height:1.25!important;
  color:var(--text)!important;
  background:color-mix(in srgb,var(--card-bg) 92%,var(--primary) 8%)!important;
  border:1px solid color-mix(in srgb,var(--text) 12%,transparent)!important;
  box-shadow:0 8px 18px rgba(0,0,0,.14)!important;
  transform:translate(-50%,-50%)!important;
  transform-origin:center!important;
  animation:candidateSlotFloat 2.2s ease-in-out var(--slot-delay,0s) infinite alternate!important;
  opacity:.94!important;
  z-index:3!important;
}
body.draw-page-v262 .candidate-ball.is-active-slot{
  border-color:var(--accent)!important;
  box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 22%,transparent),0 10px 24px rgba(0,0,0,.18)!important;
  opacity:1!important;
}
body.draw-page-v262 .drum-core{
  z-index:5!important;
  background:color-mix(in srgb,var(--card-bg) 84%,var(--primary) 16%)!important;
  color:var(--text)!important;
}
body.draw-page-v262 .drum-core small{color:var(--text)!important}
body.draw-page-v262 .rolling-window{
  background:color-mix(in srgb,var(--card-bg) 18%,transparent)!important;
  border-color:color-mix(in srgb,var(--hero-text) 22%,transparent)!important;
}
body.draw-page-v262 .rolling-name{color:var(--hero-text)!important}
@keyframes candidateSlotFloat{
  from{transform:translate(-50%,-50%) translateY(-3px) scale(.98)}
  to{transform:translate(-50%,-50%) translateY(3px) scale(1.02)}
}
@media(max-width:640px){
  body.draw-page-v262 .candidate-ball,
  body.draw-page-v262 .candidate-slot{
    min-width:62px!important;
    max-width:88px!important;
    padding:6px 7px!important;
    font-size:.62rem!important;
  }
}


/* V2.6.8 realistic collision-free motion + winner colors */
body.draw-page-v262 .candidate-cloud{
  position:absolute!important;
  inset:0!important;
  overflow:hidden!important;
  animation:none!important;
  transform:none!important;
}
body.draw-page-v262 .lottery-drum.is-vortex .candidate-cloud,
body.draw-page-v262 .lottery-drum.is-final-rush .candidate-cloud{
  animation:none!important;
  transform:none!important;
}
body.draw-page-v262 .candidate-ball,
body.draw-page-v262 .candidate-slot{
  position:absolute!important;
  min-width:72px!important;
  max-width:116px!important;
  padding:7px 10px!important;
  border-radius:13px!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  color:var(--text)!important;
  background:color-mix(in srgb,var(--card-bg) 94%,var(--primary) 6%)!important;
  border:1px solid color-mix(in srgb,var(--text) 13%,transparent)!important;
  box-shadow:0 8px 20px rgba(0,0,0,.15)!important;
  animation:none!important;
  transition:border-color .16s ease,box-shadow .16s ease,filter .16s ease!important;
  transform:translate(-50%,-50%) scale(var(--depth-scale,1))!important;
  transform-origin:center!important;
  will-change:left,top,transform,opacity!important;
}
body.draw-page-v262 .candidate-ball.is-active-slot{
  border-color:var(--accent)!important;
  box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 22%,transparent),0 10px 25px rgba(0,0,0,.2)!important;
}
body.draw-page-v262 .candidate-ball.is-winner-slot{
  background:color-mix(in srgb,var(--accent) 22%,var(--card-bg))!important;
  border-color:var(--accent)!important;
  filter:brightness(1.04)!important;
}

/* The changing-name announcement uses the admin card/background colors. */
body.draw-page-v262 .rolling-window{
  background:var(--card-bg)!important;
  color:var(--text)!important;
  border:1px solid color-mix(in srgb,var(--text) 12%,transparent)!important;
  box-shadow:0 18px 44px color-mix(in srgb,var(--text) 18%,transparent)!important;
}
body.draw-page-v262 .rolling-window .rolling-name{
  color:var(--text)!important;
  text-shadow:none!important;
}

/* The final winner announcement also follows the admin colors. */
body.draw-page-v262 .winner-reveal{
  width:min(720px,92vw)!important;
  max-width:720px!important;
  padding:36px 28px!important;
  border-radius:30px!important;
  background:var(--card-bg)!important;
  color:var(--text)!important;
  border:1px solid color-mix(in srgb,var(--text) 12%,transparent)!important;
  box-shadow:0 28px 80px color-mix(in srgb,var(--text) 24%,transparent)!important;
  backdrop-filter:none!important;
}
body.draw-page-v262 .winner-reveal h2{color:var(--text)!important;text-shadow:none!important}
body.draw-page-v262 .winner-reveal p{color:var(--muted)!important}
body.draw-page-v262 .winner-reveal .winner-badge{
  display:inline-flex!important;
  padding:8px 14px!important;
  border-radius:999px!important;
  background:color-mix(in srgb,var(--accent) 24%,var(--card-bg))!important;
  color:var(--text)!important;
}
body.draw-page-v262 .winner-brand-burst{
  background:color-mix(in srgb,var(--primary) 18%,var(--card-bg))!important;
  border-color:color-mix(in srgb,var(--primary-dark) 20%,transparent)!important;
}
body.draw-page-v262 .winner-light-ring{
  border-color:color-mix(in srgb,var(--accent) 70%,transparent)!important;
  box-shadow:0 0 80px 30px color-mix(in srgb,var(--accent) 24%,transparent)!important;
}

@media(max-width:640px){
  body.draw-page-v262 .candidate-ball,
  body.draw-page-v262 .candidate-slot{
    min-width:60px!important;
    max-width:88px!important;
    padding:6px 7px!important;
    font-size:.62rem!important;
  }
  body.draw-page-v262 .winner-reveal{padding:28px 18px!important}
}


/* V2.6.9 visible moving names - override old important positions */
body.draw-page-v262 .candidate-cloud{
  position:absolute!important;
  inset:0!important;
  overflow:hidden!important;
  transform:none!important;
  animation:none!important;
  z-index:4!important;
}
body.draw-page-v262 .lottery-drum.is-vortex .candidate-cloud,
body.draw-page-v262 .lottery-drum.is-final-rush .candidate-cloud{
  transform:none!important;
  animation:none!important;
}
body.draw-page-v262 .candidate-ball,
body.draw-page-v262 .candidate-slot{
  display:inline-flex!important;
  visibility:visible!important;
  position:absolute!important;
  left:var(--motion-x,50%)!important;
  top:var(--motion-y,50%)!important;
  width:auto!important;
  min-width:58px!important;
  max-width:96px!important;
  padding:7px 9px!important;
  border-radius:12px!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
  line-height:1.25!important;
  font-size:clamp(.66rem,1.65vw,.80rem)!important;
  font-weight:900!important;
  color:var(--text)!important;
  background:color-mix(in srgb,var(--card-bg) 94%,var(--primary) 6%)!important;
  border:1px solid color-mix(in srgb,var(--text) 14%,transparent)!important;
  box-shadow:0 7px 18px rgba(0,0,0,.16)!important;
  transform:translate(-50%,-50%) scale(var(--motion-scale,1))!important;
  transform-origin:center!important;
  animation:none!important;
  opacity:var(--motion-opacity,1)!important;
  z-index:var(--motion-z,10)!important;
  will-change:left,top,transform,opacity!important;
  pointer-events:none!important;
}
body.draw-page-v262 .candidate-ball.is-active-slot{
  border-color:var(--accent)!important;
  box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 24%,transparent),0 10px 24px rgba(0,0,0,.20)!important;
}
body.draw-page-v262 .candidate-ball.is-winner-slot{
  background:color-mix(in srgb,var(--accent) 22%,var(--card-bg))!important;
  border-color:var(--accent)!important;
}

/* The changing-name and final-winner panels follow the editable theme colors. */
body.draw-page-v262 .rolling-window,
body.draw-page-v262 .winner-reveal{
  background:color-mix(in srgb,var(--primary-dark) 90%,#000 10%)!important;
  color:var(--hero-text)!important;
  border-color:color-mix(in srgb,var(--hero-text) 22%,transparent)!important;
  box-shadow:0 22px 58px color-mix(in srgb,var(--primary-dark) 42%,transparent)!important;
}
body.draw-page-v262 .rolling-window .rolling-name,
body.draw-page-v262 .winner-reveal h2{
  color:var(--hero-text)!important;
  text-shadow:none!important;
}
body.draw-page-v262 .winner-reveal p{
  color:color-mix(in srgb,var(--hero-text) 82%,transparent)!important;
}

@media(max-width:640px){
  body.draw-page-v262 .candidate-ball,
  body.draw-page-v262 .candidate-slot{
    min-width:54px!important;
    max-width:80px!important;
    padding:6px 7px!important;
    font-size:.61rem!important;
  }
}


/* V2.7.0 natural collision-free motion and colored core */
body.draw-page-v262 .candidate-cloud{
  position:absolute!important;
  inset:0!important;
  overflow:visible!important;
  transform:none!important;
  animation:none!important;
  z-index:7!important;
}
body.draw-page-v262 .lottery-drum{
  overflow:hidden!important;
}
body.draw-page-v262 .lottery-drum.is-vortex .candidate-cloud,
body.draw-page-v262 .lottery-drum.is-final-rush .candidate-cloud{
  transform:none!important;
  animation:none!important;
}
body.draw-page-v262 .candidate-ball,
body.draw-page-v262 .candidate-slot{
  display:inline-flex!important;
  visibility:visible!important;
  position:absolute!important;
  left:var(--motion-x,50%)!important;
  top:var(--motion-y,50%)!important;
  min-width:58px!important;
  max-width:96px!important;
  padding:7px 10px!important;
  border-radius:13px!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
  line-height:1.25!important;
  font-size:clamp(.66rem,1.65vw,.80rem)!important;
  font-weight:900!important;
  color:var(--text)!important;
  background:color-mix(in srgb,var(--card-bg) 94%,var(--primary) 6%)!important;
  border:1px solid color-mix(in srgb,var(--text) 14%,transparent)!important;
  box-shadow:0 8px 20px rgba(0,0,0,.17)!important;
  transform:translate(-50%,-50%) rotate(var(--motion-tilt,0deg)) scale(var(--motion-scale,1))!important;
  transform-origin:center!important;
  animation:none!important;
  transition:border-color .16s ease,box-shadow .16s ease,background .16s ease!important;
  opacity:var(--motion-opacity,1)!important;
  z-index:var(--motion-z,10)!important;
  will-change:left,top,transform,opacity!important;
  pointer-events:none!important;
}
body.draw-page-v262 .candidate-ball.is-active-slot{
  border-color:var(--accent)!important;
  background:color-mix(in srgb,var(--card-bg) 86%,var(--accent) 14%)!important;
  box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 22%,transparent),0 11px 26px rgba(0,0,0,.20)!important;
}
body.draw-page-v262 .candidate-ball.is-winner-slot{
  background:color-mix(in srgb,var(--accent) 24%,var(--card-bg))!important;
  border-color:var(--accent)!important;
}

/* Restore a strong themed center instead of the washed-out white disk. */
body.draw-page-v262 .drum-core{
  z-index:30!important;
  background:
    radial-gradient(circle at 32% 24%,color-mix(in srgb,var(--hero-text) 18%,transparent),transparent 34%),
    linear-gradient(145deg,var(--primary-dark),color-mix(in srgb,var(--primary-dark) 76%,#000 24%))!important;
  color:var(--hero-text)!important;
  border:1px solid color-mix(in srgb,var(--hero-text) 28%,transparent)!important;
  box-shadow:0 0 0 12px color-mix(in srgb,var(--primary-dark) 22%,transparent),0 20px 42px rgba(0,0,0,.28)!important;
}
body.draw-page-v262 .drum-core small,
body.draw-page-v262 .drum-core strong,
body.draw-page-v262 .drum-core span{
  color:var(--hero-text)!important;
}
body.draw-page-v262 .drum-core img{
  opacity:1!important;
  filter:none!important;
}

/* Winner and rolling panels use the same controllable dark theme color. */
body.draw-page-v262 .rolling-window,
body.draw-page-v262 .winner-reveal{
  background:linear-gradient(145deg,var(--primary-dark),color-mix(in srgb,var(--primary-dark) 78%,#000 22%))!important;
  color:var(--hero-text)!important;
  border:1px solid color-mix(in srgb,var(--hero-text) 22%,transparent)!important;
  box-shadow:0 22px 58px color-mix(in srgb,var(--primary-dark) 46%,transparent)!important;
}
body.draw-page-v262 .rolling-window .rolling-name,
body.draw-page-v262 .winner-reveal h2{
  color:var(--hero-text)!important;
  text-shadow:none!important;
}
body.draw-page-v262 .winner-reveal p{
  color:color-mix(in srgb,var(--hero-text) 84%,transparent)!important;
}

@media(max-width:640px){
  body.draw-page-v262 .candidate-ball,
  body.draw-page-v262 .candidate-slot{
    min-width:52px!important;
    max-width:78px!important;
    padding:6px 7px!important;
    font-size:.61rem!important;
  }
}

/* === V275_DRAW_UI_FIX_BEGIN === */
.draw-page {
  background: var(--brand-primary, #85C9C9) !important;
  color: var(--text-main, #173A3D) !important;
}

.draw-page .lottery-drum {
  position: relative !important;
  overflow: visible !important;
  isolation: isolate !important;
}

.draw-page .lottery-drum::before,
.draw-page .lottery-drum::after {
  border-color: color-mix(in srgb, var(--brand-dark, #173A3D) 36%, transparent) !important;
  background: radial-gradient(circle, color-mix(in srgb, var(--brand-primary, #85C9C9) 80%, white 20%), color-mix(in srgb, var(--brand-dark, #173A3D) 18%, transparent)) !important;
}

.draw-page .drum-core,
.draw-page .lottery-core,
.draw-page .center-core {
  background: radial-gradient(circle at 35% 25%, color-mix(in srgb, var(--brand-primary, #85C9C9) 70%, white 30%), var(--brand-dark, #173A3D) 82%) !important;
  color: var(--button-text, #fff) !important;
  border: 1px solid color-mix(in srgb, var(--gold, #C89B3C) 35%, transparent) !important;
  box-shadow: 0 18px 48px color-mix(in srgb, var(--brand-dark, #173A3D) 38%, transparent), inset 0 0 0 1px rgba(255,255,255,.15) !important;
}

.draw-page .drum-core small,
.draw-page .drum-core span:not(.brand-mark),
.draw-page .drum-core b,
.draw-page .drum-core em,
.draw-page .draw-session-line,
.draw-page .eligible-counter,
.draw-page .stage-counter,
.draw-page .draw-stage p,
.draw-page .draw-guidance,
.draw-page .draw-hint,
.draw-page .lottery-caption {
  display: none !important;
}

.draw-page .candidate-ball:not(.v275-real-bubble) {
  opacity: 0 !important;
  pointer-events: none !important;
}

.draw-page .candidate-ball.v275-real-bubble {
  opacity: 1 !important;
  position: absolute !important;
  left: 50% !important;
  top: 50% !important;
  max-width: 112px !important;
  min-width: 54px !important;
  padding: 6px 10px !important;
  border-radius: 999px !important;
  background: color-mix(in srgb, var(--card-bg, #fff) 94%, var(--brand-primary, #85C9C9) 6%) !important;
  color: var(--text-main, #173A3D) !important;
  border: 1px solid color-mix(in srgb, var(--brand-dark, #173A3D) 18%, transparent) !important;
  box-shadow: 0 10px 22px color-mix(in srgb, var(--brand-dark, #173A3D) 18%, transparent) !important;
  font-size: clamp(.52rem, .82vw, .72rem) !important;
  line-height: 1.15 !important;
  font-weight: 950 !important;
  white-space: nowrap !important;
  text-align: center !important;
  will-change: transform, opacity, filter !important;
  pointer-events: none !important;
}

.draw-page .candidate-ball.v275-real-bubble.is-hot {
  border-color: color-mix(in srgb, var(--gold, #C89B3C) 72%, transparent) !important;
  box-shadow: 0 10px 24px color-mix(in srgb, var(--gold, #C89B3C) 28%, transparent) !important;
}

.draw-page .rolling-name,
.draw-page .draw-rolling-name,
.draw-page .draw-v262-name,
.draw-page .winner-reveal h2,
.draw-page .winner-name,
.draw-page .final-winner-name {
  font-size: clamp(2.2rem, 8vw, 5.6rem) !important;
  line-height: 1.08 !important;
  letter-spacing: -0.05em !important;
}

.draw-page .winner-reveal,
.draw-page .winner-admin-card,
.draw-page .draw-winner-card,
.draw-page .final-winner-card,
.draw-page .winner-result-card {
  background: linear-gradient(135deg, color-mix(in srgb, var(--brand-dark, #173A3D) 82%, var(--brand-primary, #85C9C9) 18%), color-mix(in srgb, var(--brand-dark, #173A3D) 70%, black 30%)) !important;
  color: var(--button-text, #fff) !important;
}

.draw-page .winner-reveal [class*="logo"],
.draw-page .winner-reveal [class*="brand"],
.draw-page .winner-admin-card [class*="logo"],
.draw-page .winner-admin-card [class*="brand"],
.draw-page .draw-winner-card [class*="logo"],
.draw-page .draw-winner-card [class*="brand"],
.draw-page .final-winner-card [class*="logo"],
.draw-page .final-winner-card [class*="brand"],
.draw-page .winner-result-card [class*="logo"],
.draw-page .winner-result-card [class*="brand"] {
  background: radial-gradient(circle at 35% 25%, color-mix(in srgb, var(--brand-primary, #85C9C9) 66%, white 34%), var(--brand-dark, #173A3D) 86%) !important;
  color: var(--button-text, #fff) !important;
  border-color: color-mix(in srgb, var(--gold, #C89B3C) 42%, transparent) !important;
}

@media (max-width: 720px) {
  .draw-page .candidate-ball.v275-real-bubble {
    max-width: 92px !important;
    padding: 5px 8px !important;
    font-size: .58rem !important;
  }
  .draw-page .rolling-name,
  .draw-page .draw-rolling-name,
  .draw-page .draw-v262-name,
  .draw-page .winner-reveal h2,
  .draw-page .winner-name,
  .draw-page .final-winner-name {
    font-size: clamp(1.95rem, 10vw, 4.2rem) !important;
  }
}
/* === V275_DRAW_UI_FIX_END === */

